Can we Have it All! {Selenium for web, mobile and Everything what a Product needs}
Problem Statement
Expected Result: Mobile is taking over the world and wow! my product works awesomely everywhere.
Actual Result: OMG! it breaks on iOS 6 :-(
Holy Jesus! did we also test on firefox version 30.0 on Windows machine ?? 
Having an application on all major platforms(Desktop Web, Mobile Web, Mobile Native apps etc.) brings a daunting requirement of verifying every single feature before giving a +1 for release and so it becomes essential for the QA folk to test and provide proper feedback as quickly as possible, which immediately takes the complete reliance only on manual testing out of the question and pushes for the need for automated testing with scalable automation framework embracing any product need in the future.
We surely have 5 points to be answered before we think about such solution :
- Do we have a single test code which can test the product everywhere with a simple mechanism to trigger and manage them?
- Where is the plan to reduce Time To market having so many tests running before each code push?
- Do we have 1 click solution to monitor all the test results in one go to assert the state of ThumbsUp for release?
- Is continuos integration in place?
- How can I integrate all of the above 4 points using the same beautiful tool Selenium along with other aligned open-source projects like Appium, Shell and Jenkins?
Outline/Structure of the Experience Report
Scaling Test Automation Framework
1. Case Study - 10 min
Will be taking you through the real time problems from various products typically E-commerce and other large scale applications, and understand the dynamics of these problems with the respective precautions or solutions.
2. How to approach building Scalable Solution - 20 min
Will discuss step by step on how we kept building a scalable test framework and also it's evolution to solve most of our daily challenges. And will talk about to-do's and not to do's ( which rules to follow and which to break)
3. RSA and its benefits for qa, developer, devOps and everyone in the product lifecyle: - 10 min
Having many tests creates chaos for the gatekeeper & devOps for identifying what to take live and what to revert to. To solve this, we need a transparency layer for everyone involved in the product. So here, will take you through a live demo of RSA, have created on top of open-sourced technologies and discuss on how you can use it to meet your needs.
4. Questions & Answers - 5 min
Learning Outcome
1. Kick for identifying if your Test Framework is scalable and if not then how can you start making it?
2. Understanding how you can use and modify RSA for your specific need.
Target Audience
QA Leads, SDET, Test Engineer, Test Framework Architects, CTO, DevOps
schedule Submitted 4 years ago
People who liked this proposal, also liked:
-
keyboard_arrow_down
Naresh Jain - Q & A with the Selenium Committee
45 Mins
Keynote
Intermediate
Q & A with the Selenium Committee
-
keyboard_arrow_down
Simon Stewart - Selenium: State of the Union
45 Mins
Keynote
Intermediate
Selenium: State of the Union
-
keyboard_arrow_down
Kumar Pratyush / Naresh Jain - Performance Testing a Mobile App Used by 100M Users
45 Mins
Case Study
Intermediate
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.)
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
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.
-
keyboard_arrow_down
Robin Gupta - The Interviewer, Interviewee and vice-versa
20 Mins
Talk
Beginner
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 :
- The Interviewer
- The Interviewee
- Current Industry state
- 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.
-
keyboard_arrow_down
Priti Biyani - One page to test them all!
90 Mins
Case Study
Intermediate
These days we find most of the apps are being developed across different platform, iOS, android, windows and to keep the user base which uses web, mobile web and websites.
When apps are being developed for cross domains, most of the functionality provided by the app is very similar, varying thing is PLATFORM.
In rapid development cycle, where there are tools which allows you to write once and reuse across multiple platforms, makes development very faster.
But at the same time, if we have different automation suite for different platforms, it becomes very difficult to keep a pace with ongoing functionality.
This is the exact problem we faced, and the solution we came up with is "One Page to test them all! -A cross platform mobile automation framework! "Page Object Model
Well, Page Object Model was again a natural fit for this framework. Most implementations of POM recommend different POMs for each platform. But we wanted to have a single Page Object Model for all the 3 platforms to ensure maximum code reuse and reduce overall time spent in adding new automation.
Single Page Object Model across platforms
This was complicated because we had native screens as well as webview screens and so it was not possible to use the same Page Object. To solve this, we introduced abstractions for the elements on the screen and encapsulated the respective native driver implementations.
This also allowed us to implement common automation tasks in one place for e.g waiting for new pages to load, so that this code is not repeated across multiple step definitions and platforms. This helped us move to thinking in higher domain level concepts than in terms of low level UI interactions.
So, in summary, we write our tests for one platform and run them for all with an abstraction layer in place.
-
keyboard_arrow_down
Marcus Merrell - Automated Analytics Testing with Open Source Tools
45 Mins
Talk
Intermediate
Analytics are an increasingly important capability of any large web site or application. When a user selects an option or clicks a button, dozens—if not hundreds—of behavior-defining “beacons” fire off into a black box of “big data” to be correlated with the usage patterns of thousands of other users. In the end, all these little data points form a constellation of information your organization will use to determine its course. But what if it doesn’t work? A misconfigured site option or an errant variable might seem insignificant, but if 10,000 users are firing 10,000 incorrect values concerning their click patterns, it suddenly becomes a problem for the QA department―a department which is often left out of conversations involving analytics.
Join Marcus Merrell to learn how analytics work, how to get involved early, and how to integrate analytics testing into the normal QA process, using Selenium and other open source tools, to prevent those misfires from slipping through.
-
keyboard_arrow_down
Dakshinamurthy Karra - Java Swing, Java FX application testing using Selenium WebDriver
45 Mins
Demonstration
Intermediate
Marathon is a open source test automation suite for Java Swing and Java/FX applications. Marathon provides Selenium/WebDriver bindings for executing test scripts agains Java application.
In this workshop we explore steps by which you can set up an environment for testing a Java/Swing application.
-
keyboard_arrow_down
Vivek upreti / Naresh Jain - Cross-platform, Multi-device Instant Communication Testing in Parallel using Appium and Docker
45 Mins
Demonstration
Intermediate
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.
-
keyboard_arrow_down
Anand Bagmar - Test Data - Food for your Test Automation Framework!
45 Mins
Demonstration
Intermediate
Building a Test Automation Framework is easy - there are so many resources / guides / blogs / etc. available to help you get started and help solve the issues you get along the journey.
Teams already building 1000s of tests of various types - UI, web service-based, integration, unit, etc. is a proof of that.
However, building a "good" Test Automation Framework is not very easy. There are a lot of principles and practices you need to use, in the right context, with a good set of skills required to make the Test Automation Framework maintainable, scalable and reusable.
In this talk, we will focus on one of the critical aspects and patterns in building the Test Automation framework - Test Data!
We will look at different data patterns as options and techniques how to create, manage, use, reuse Test Data in a way to keep the tests running in an reliable and deterministic way. We will also discuss what questions to ask, what things to think about in selecting your approach for Test Data!
This discussion will be applicable for any type of Test Automation (web / mobile / desktop), but, we will focus primarily on UI automation frameworks, ex. using Selenium.
-
keyboard_arrow_down
Ankita Gupta / Jatin Makhija - Web Push Notification Automation Mystery Solved!
45 Mins
Demonstration
Intermediate
Push Notifications are the latest way of sending updates to our users. More and more Organisations are implementing Web Push Notifications along with emails and other notification systems.
So the Big Question that arises is "How do we automate them?"
We have come up with a library in various languages which can be integrated with your Automation suite and provide you everything you need about the notification triggered.
You can easily then trigger and verify the push notification sent and ship out the product without worries :)
-
keyboard_arrow_down
Dharmesh Vaya - Hands-on guide to Object Identification
45 Mins
Tutorial
Beginner
Often it is observed that new-comers jumping to Selenium have mastered the API but are stuck up with Object Identification. It becomes very essential that test automation engineers identify robust mechanisms to identify objects and make their scripts less fragile. This talk/tutorial deals with writing optimized Object locators and having best practices in identifying them.
-
keyboard_arrow_down
Dan Cuellar - Advanced Appium
45 Mins
Talk
Advanced
Over the last few years, Appium has become the choice automation tool for mobile application UI testing. Most people are familiar with the basics of Appium, but did you know that you Appium can identify elements using image recognition? Did you know you it's also possible to automate Windows phone and Desktop apps with Appium? Have you ever seen Appium run the same test on multiple operating systems, or seen an Appium test run using several devices at once?
The talk will cover advanced Appium topics such as these along with best practices to ensure you get the most out of Appium.
-
keyboard_arrow_down
Luke Inman-Semerau - Grid Workshop
480 Mins
Workshop
Advanced
Selenium Grid can be a bit daunting to get up and running. Starting it is quite easy, but using it effectively requires pulling in third party tools. In this workshop we’ll cover how you would realistically run your grid, using modern tooling to run a grid with docker containers or in a cloud service like AWS or theoretically your own VM provisioning environment.
-
keyboard_arrow_down
Pooja Shah - Step by Step Mobile Automation with maintainable element locators
480 Mins
Workshop
Beginner
This workshop will feature getting started with automating Android & iOS native apps and Mobile web using Appium with java.
We will learn :
- how to capture elements for all these 3 categories (Mobile Web, android, iOS)
- how to create tests
- how to give them a form of framework to have reporting/screenshots etc. benefits
- how to setup to run all of them in parallel to save time of testing
-
keyboard_arrow_down
Dharmesh Vaya - Selenium + SoapUI + JMeter : A complete framework
45 Mins
Talk
Beginner
This talk showcases how you can develop a framework in Java with all kinds of features like WebTesting with Selenium, Service Layer testing with SoapUI and Load Testing with JMeter - all packaged as a single testing solution. Above all, make use of open source libraries and get details HTML reports as well as Summary reports. This solution allows you to seamlessly integrate all your testing requirements under a single framework.
-
keyboard_arrow_down
Dharmesh Vaya - Practical tutorial in Test Framework development
480 Mins
Workshop
Intermediate
Advanced users in Selenium are given the challenging task of developing a framework from scratch. However, its best to understand the core requirements of how the framework is going to be utilized in order to develop the framework with minimal efforts. This tutorial teaches development of core-building blocks that can be implemented for any Selenium based framework with maximum flexibility and minimum efforts.
Public Feedback