Selenium Conf 2016 Day 1

Fri, Jun 24
08:30

    Registration - 30 mins

09:45

    Welcome Note - 30 mins

10:15

    Coffee/Tea Break - 15 mins

10:30
11:30
  • Added to My Schedule
    keyboard_arrow_down
    Julian Harty

    [More] Reliable and Trustworthy Automated GUI Tests

    One of the perennial problems with automated tests is the amount of work many need to keep them working as the underlying application changes. This is particularly true of poorly designed and/or poorly implemented automated tests which can be brittle and prone to break when virtually anything changes in the system under test, the test conditions, or the environment.

     

    This session will help you learn or refresh your understanding of how automated GUI tests work, and then identify and discover various approaches to improving the quality of these tests, their interface(s) with the system being tested, and how to design and implement alternatives to existing 'flaky' tests. The concepts apply to both web and mobile app testing.

    The session will be based on my experiences of working with people who write and maintain automated tests, and on my own attempts to write trustworthy tests.

  • Added to My Schedule
    keyboard_arrow_down
    Luke Inman-Semerau

    Help me help you - contribute to the Selenium project

    Open source contributions come in different forms, bug reports, patches, answering forum questions, updating documentation.

     

    I want to give some guidance on how you can help me, help "you" (well, everyone really) with selenium.

  • Added to My Schedule
    keyboard_arrow_down
    Vivek Upreti

    Cross-platform, Multi-device Instant Communication Testing in Parallel using Appium and Docker

    Today over 100 million users share over 40 billion messages per month on Hike. Its not just simple 1:1 chat messages. Users can do a VoIP call or share rich multi-media content in 8 different languages in group chats with hundreds of members. User can transfer large (upto 100 MB) file using Wifi-Direct .i.e. device to device file transfer without using Internet. And many more features. How do you ensure that you can roll out a release every month without breaking any of these features?

    With such a large user based, which is very sensitive to frequent upgrades due to data consumption cost, rigorously testing the app becomes extremely critical.

    When we started our automation journey in 2014, we were looking for a device lab which can simplify our testing effort. However we gave up and ended up building our own setup. The reason being, we require multiple devices that can communicate with each other for a single test. And we have 6000+ such tests, which we want to run in parallel. While many device labs allow you to run tests in parallel, they don't allow the devices to communicate with each other. Also its not possible to run the same test across multiple devices. Imagine testing a group-chat flow with photo sharing or imagine the device to device file transfer using hotspot. How would you test these features?

     

    If this interests you, join us and we'll share our learning trying to achieve this at Hike.

12:30

    Lunch - 60 mins

01:30
02:30
  • Added to My Schedule
    keyboard_arrow_down
    Vinay Babu

    Web Scrapping with Selenium and Data Analysis using IPython Notebook

    Data Analysis is one of the upcoming field and as many of the data scientists says that the most of time they spend for analysis is on Data cleaning, So, In this short session we will see how one can pull the data from the web using Selenium Webdriver and will use this data further for the Data Analysis, The entire exercise will be executed on a IPython Notebook, which is a tool used to execute & save your code and perform data analysis using python data analysis libraries, it also provides a platform to massage the data and visualize it in the form of graphs and tables.

    This entire exercise would be helpful for anyone who wants to understand how data can be pulled with the help of Selenium Webdriver from a website and organized using python libraries for the data analysis. During this session we would be using an open source data for analysis and see how we can draw conclusions using this data.

  • Added to My Schedule
    keyboard_arrow_down
    Rajini Padmanaban

    It Is All About Prioritization, At The End Of The Day

    Whether it is Dallin Oaks quote that reads ““Desires dictate our priorities, priorities shape our choices, and choices determine our actions.” Or Mahatma Gandhi’s quote that goes “Action expresses priorities”, the message I want to bring to the audience is as simple as “It is all about prioritization at the end of the day”. While this applies to all of us in all disciplines, it is even more relevant for us as testers in today’s world of increasing task scope and complexity. Whether it be manual or automated testing, what test matrices to use, what test data to incorporate, what defects we want to pick to defend, what tests to automate, what tool to leverage for automation, the overall success of a quality effort, is based on smart choices that a tester makes. Smart choices are not possible without educated prioritization strategies. For example, if I were an attendee in the Selenium conference even deciding which track session to attend amongst the varied options I have, is a choice driven by an underlying prioritization technique. This proposal is aimed at discussing and presenting core prioritization strategies and mapping them with very specific software testing and test automation examples that the attendees can take back and apply in their day to day practices with immediate effect. One would be amazed to see the varied styles of prioritization that are available – being privy into them and understanding them with examples, will help the attendee choose which style of prioritization works best with their personality and leverage them right away.

  • Added to My Schedule
    keyboard_arrow_down
    Adolfo Luna

    Selenium integrated with IBM Rational Functional Tester

    Today, there are so many possibilities to automate our test, Can we use Selenium with others automation tools?
    In this session ,I'll explain how we can use Selenium integrated with IBM Rational Functional Tester creating test scripts in a demo.

03:00

    Coffee/Tea - 15 mins

03:15
04:15
05:15
07:00

    Snacks - 30 mins

07:30

    Thaalavattam Project - A music jam with 100 instruments - 90 mins

09:00

    Reception Dinner Sponsored by Sauce Labs - 90 mins

Selenium Conf 2016 Day 2

Sat, Jun 25
09:00
10:00

    Important Annoucements - 15 mins

10:15

    Coffee/Tea Break - 15 mins

10:30
  • Added to My Schedule
    keyboard_arrow_down
    Julian Harty

    Understanding UX, and approaches to measuring and testing UX

    UX is a widely used, and sometimes abused, term that represents 'User Experience', typically across a population - for instance all the iOS users.

    There are various ways to measure UX. For instance, aspects of UX can be measured digitally, for instance using web and/or mobile analytics, or inferred, for instance if an application crashes or is killed by the operating system the UX is unlikely to be positive for the user(s) who were affected. Other aspects of UX may be inferred from what people write about the app or software they're using. However what people write and what they think often differs and may conflict, so we need ways to interpret the feedback to use it appropriately and usefully. And finally for this section, what people say, do, and their facial expressions may provide further clues about their UX.

    The quality of UX may significantly affect revenues for some organisations, and therefore finding ways to measure and test UX may be vital for the long terms health of the organisation and those who work for it. Bad UX is Bad Business; and conversely Good UX is Good Business.

    This workshop describes the landscape of UX, including ways to measure UX and test aspects of UX. It is based on ongoing research, including interviews with various organisations, and leaders in the testing community in various countries.

  • Added to My Schedule
    keyboard_arrow_down
    AntonyMarcano

    The Trouble with Page Objects – Things you always knew were wrong but couldn’t explain why

    PageObjects have some common problems that many people see but not everyone can explain. Over time they can become harder and harder to maintain. In some cases, they become a tangled mess riddled with deep inheritance hierarchies. How can this happen?!

    PageObjects provide an easy-to-follow, simple structure that avoids early maintenance issues. But, they break some key OO design rules, making maintenance more difficult over time. This can result in flaky tests. PageObjects were introduced to help test-developers avoid mistaking flaky tests for problems with Selenium. It was a useful first step, so why did we stop there?

    In this session you’ll learn about the SOLID design principles that PageObjects disregard. You'll see why this leads to problems. You’ll see how and why PageObjects benefit from refactoring to SOLID design principles. Finally, you’ll meet the Screenplay Pattern; an alternative that can save you the effort.

  • Added to My Schedule
    keyboard_arrow_down
    Sarvesh Shrivastava

    Functional and Security Testing - An amalgamated automation approach

    With increasing cyber threats & online attacks, an unavoidable situation for continuous security testing has emerged. Making sure all vulnerabilities are unleashed regularly is highly significant.

    The paper hence proposes a solution where automated security testing could be achieved in conjunction with functional testing carried out using selenium API.

    It introduces a framework that caters to automated security testing along with functional which could provide an integrated testing elucidation.

    The paper, takes in these two premises to offer a solution where functional automation testers can now take on security testing. I propose a framework where automated security testing could be achieved in conjunction with functional testing using existing selenium API scripts.

    The framework covers the top vulnerabilities and provides intuitive results that help a non-security tester interpret and act on the output. At the very core of this framework is the open source tool, OWASP ZAP, which is easy to use and integrates well with Selenium automation frameworks.

    I bring in hands on project experience having implemented this framework for clients, who have been able to get the value of functional and security testing using the same set of scripts – it is this experience I would like to share with the SeleniumConf2016 audience, to help groom functional testers into security testing, with minimal cost and time, also enabling security testing to be performed every time functional automation is taken up.

  • Added to My Schedule
    keyboard_arrow_down
    Julian Harty

    Selenium 3 Bug Bash

11:30
  • Added to My Schedule
    keyboard_arrow_down
    Kumar Pratyush

    Performance Testing a Mobile App Used by 100M Users

    Hike is used by 100 Million users and many of our users have cheap smart phone (~ $120 USD) that can install no more than 3 mobile apps.

    So the questions is: Should testing of app be limited to its functionality? At Hike, we believe "Performance is Queen!" For our users, if we misuse the critical resources such as Battery, CPU, Network and Memory, its a deal-breaker. Hence pref-testing is very important.

    During the initial days of Hike, we were very reactive and only did (manual) perf testing, when our users reported issues.

    Now, every Sprint (2 weeks) and every public release (monthly), we run our automated perf tests. We measure our app's performance using several app specific use-cases on 4 key areas:

    • CPU,
    • Memory,
    • Battery and
    • Network (data consumption.)

    Hike's CPU Utilization

    We also benchmark the following scenarios for app latency:

    • App launch time upon Force Stop
    • App launch time upon Force Kill
    • App's busiest screen openning time
    • Scrolling latency in different parts of the app
    • Contact loading time in Compose screen

    Hike App Benchmark

    We still have a long way to go in terms of our pref-testing journey at Hike. But we feel, we've some key learnings, which would be worth while to share with the community. Join us, for a fast paced perf-testing session.

  • Added to My Schedule
    keyboard_arrow_down
    Roy Nuriel

    From Pyramids to hourglass - New approach and best practices for digital apps testing

    One of the first things that you learn when you enter the quality assurance space is the famous triangle braked down to Unit test at the lower, on top of it Acceptance Tests based on API (in some places this layer is integration tests but the idea is the same) and at the top of the Pyramid we have the User Interface (UI) Tests. This Pyramid, in the last two decades was the main principle on how to approach testing activities (mainly automation).

    In the last couple of year we are all taking part in the digital transformation that is taking place all over. Mobile Native applications as well as web applications take part in almost any activity that we are doing during the day, business are building their strategy on this channel and shifting resources and budgets to deliver applications maintained and expend their market share.

    So what changed?

    The users are no longer static, they are interacting with those apps while they are on the train on their way to the office, while waiting for a flight at the airport or drinking coffee while waiting for their next meeting – those “interactions” are done most of the time while they are on the go working with mobile device. In addition the application take advantage of the sensors that those devices provide in order to provide better user experience. The environment where our end users use our application has significant impact on the functionality and performance of our application which at the end of the day we call quality.

    During the last year we developed a new approach for digital application testing – The “Hourglass” – This new approach expend the known Pyramid and update it to the digital era – The client side is richer and contains many components that impact the quality of application. It redefine the definition of coverage. At the top of the pyramid we add 2 additional triangles (the gives the hourglass shape) – The first one is devices – what devices should we test, how we should approach the changes that happens in the devise market. The second is the environment, the places that our end users will use and interact with the application. We leverage the automation investment and get the real digital coverage which will help to reach high quality applications.   

     

  • Added to My Schedule
    keyboard_arrow_down
    Andy Palmer

    Robot Handles - Giving Selenium a Helping Hand

    By far the most common way to use Selenium to interact with an application is to code tests that have intimate knowledge of the underlying application. This is simple, but brittle. Others may try to make the test code intelligent, leading to a very complex testing framework. There is a middle ground.

     

    Imagine that we are building a robot to move eggs. A simple robot can deal with identical eggs, but is brittle as soon as new eggs are introduced. An intelligent robot could adapt to variations with sensitive touch sensors. Or, we could use egg-holders with a handle on top. Now all we need is a simple robot that understands handles. If we then want to move something instead of eggs, we just need a new holder – the handles and the robot remain the same.

     

    In this session you’ll learn the metaphor of Robot Handles, discuss ways that we can add meaningful interaction metadata into the application as we build it, and demonstrate how that can be just as helpful for humans as it is for robots

12:30

    Lunch - 60 mins

01:30
02:30
  • Added to My Schedule
    keyboard_arrow_down
    Robin Gupta

    The Interviewer, Interviewee and vice-versa

    This small talk is about the intricate fabric of discussion between an interviewer and an interviewee for the post of Automation Engineer.

    The audience would be taken through a maze of silly, run of the mill, subjective, bizarre and occasionally brilliant questions/answers/discussions found in an average interview for Automation Engineer/Selenium Engineer. 

    We'll try to look at the 4 quadrants of the Selenium Interview circle, covering it from the perspectives of :

    1. The Interviewer
    2. The Interviewee
    3. Current Industry state
    4. How can we improve?

    This might seem like a soft, non-technical, not-so-important topic of discussion but we must remember that bad interviews lead to bad candidates lead to bad deliverables. As they say, For want of a nail the battle was lost. 

    And in today's cut-throat world none of us can afford losing a good candidate to a bad interview.

    Lets gather around a fire of questions, on the beach of answers to surgically comprehend the What, How and Why of Selenium Interviews.

     

    The Candidate

     

03:00

    Coffee/Tea Break - 15 mins

03:15
04:15
  • Added to My Schedule
    keyboard_arrow_down
    Michal Vanek

    Breaking down the barriers: Testing desktop apps with Selenium

    Selenium was born for web-application testing. But have you ever thought it could be a great tool for testing Windows desktop apps too?

    Today, more and more desktop apps use a web-like approach to implement their UI. The methods vary from basic HTMLayout environment to complex designs in CEF (Chromium Embedded Framework). However traditional GUI automation tools seem to be a step behind or ignoring the trend completely. This situation calls for finding new ways of testing.

    In our talk we shall introduce to you a new way of utilizing Selenium for automated testing of desktop applications. No matter whether the HTML UI content is completely offline or loaded and updated dynamically, Selenium is able to access and navigate it just like in a web page. We’ll also show you how to build a small framework around it and plug it into your Continuous Integration process. All of this will be demonstrated using a real-life instance of Avast Antivirus for Windows.

     

  • There is a saying ..."Sukh baatne se badhta hai, dukh baatne se kam hota hai", translated as - "happiness increases & sadness reduces on sharing with others".

    We want to take this opportunity to share with our experiences - the good and the bad, in the journey of building a Test Automation framework for an AngularJS based application. 

    We will learn, by a case study, what thought process we applied on the given context (product, team, skills, capabilities, long term vision) to come up with an appropriate Test Automation Strategy. This Test Automation strategy covered all aspects of Test Automation - Unit, Integration, UI - i.e. End-2-End tests (E2E).

    Next, we will share how we went about narrowing-down, and eventually selecting a specific Tech Stack + Tools (Javascript / Jasmine / Protractor / Selenium-WebDriver) to accomplish the Test Automation for the product.

    Lastly, we will share the challenges that came up in the implementation of the Test Automation, and how we overcame them. This will also include how we managed to get the tests running in Jenkins - a Continuous Integration tool. 

    This discussion is applicable to all team members who are working on Test Automation!

    P.S. We will be attempting to make a sample protractor-based automation framework available on github for anyone to use as a starting point for setting up protractor-based Test Automation framework.

  • An eye with a sight can view the world, but an eye with a vision can transform it!


    Truly said, good ideas might yield success but great ones earn prestige too. In the corporate world, this journey of molding an idea from being different to distinct involves understanding of the market trends, competing with already established brands and above all, hitting the correct audiences. Majority of software products have world-wide acceptance and are huge hits but what makes some of them stand out is their peculiarity of serving specially able people, individuals who lack competent physical or mental faculties.
    In conjunction with delivering a product that caters to the need of specially able people, effective testing of the software is required to make sure all accessibility guidelines are implemented while product development and that the product complies to all accessibility standards facilitating a smooth user experience, both for individuals with abilities and disabilities.


    Keeping under consideration the need of continuous accessibility testing, cost involved in setting up the testing conditions, effort in executing relevant scenarios and significance of complying to government accessibility standards, the paper proposes a cost-effective solution that takes accessibility testing to next level where our existing functional automation shell can leverage to embed accessibility testing as well, leading to faster, comprehensive, authentic and integrated results. Hence the title, “An Automated itinerary to achieve accessibility”

  • Added to My Schedule
    keyboard_arrow_down

    Selenium 3 Bug Bash Wrap-up

05:15

    Selenium 3 Bug Bash Showcase - 30 mins

05:45

    Closing Talk - 15 mins

Post Conference Workshops

Sun, Jun 26
09:30

    Registration - 30 mins

10:00