SlideShare a Scribd company logo
1 of 10
Progressive Mobile Test Automation
PREPARED BY:-
Rakhi Jain
Progressive Mobile Test Automation
1. Contents
......................................................................................................................1
......................................................................................................................2
8.About the Author..................................................................................................10
I want to share a synopsis for the implementation of Progressive automation in mobile testing area
which is supporting browser based or native application testing.
2. Motivation for this Research
Mobile testing comes with a package of challenges in which testers need to cope up with device
variations, OS specific testing, application versions, security and a huge test bed.
Progressive Mobile Test Automation
Mobility does need more testing effort for the same set of functionalities which are pretty easy to test
on a non-mobile application. Automation can ease the life to a certain extent but in long run when
multiple modules and different builds are available to test on various devices & platforms, even
automation testers feels that it is challenging to automate regression test cases.
Usually the mobile application development follows Agile methodology which adds more hassles in
life of functional and automation testers due to strict and short QA cycles.
Due to all these pain areas I thought why mobile automation can’t go hand in hand with development
sprints. This will eventually help retiring manual testing effort at greater extent. Also it will make the
automation simple & current and scripts can also bear the variety of builds, OS versions, devices and
platforms. As the testing progresses with the development sprint, I thought of naming this testing as
Progressive Mobile Automation Testing.
I recommend progressive automation in mobility as it’s a well-known automation method which is very
close to application development. If changes occur in application UI during various sprints, automated
scripts remains least impacted when the said approach is followed.
3. Traditional Agile Based Mobile Automation Testing 
A regular agile development project includes various releases which are further divided in different
sprints. Sprints are usually followed by a “Release Planning” phase in which the release backlog is
generated from the product backlog. Creation of release backlog is usually done by product team and
business analysts (BA).
Once the release backlog is ready, sprint starts. In sprint planning developers, QA (functional) takes
part along with product and BAs and create the sprint backlog. Here developers and QA decides
about the stories which they are planning to pick in the current sprint. In this traditional modal,
automation QA does not play any role and they never take part in release or sprint planning meetings
as well.
During various sprint developers and functional QA works hand in hand and retires the stories which
are pickup in sprint backlog.
Automation QA starts the work after the completion of one sprint and always remains behind at least
one sprint in a release. This difference of number of sprints varies and depends on project as well. He
continues the script creation and execution for prior sprint stories in current sprint.
Progressive Mobile Test Automation
Figure – Traditional Agile Automation Testing
Benefits for traditional agile automation testing are as follows:-
1) Automation QA gets ready made functional test cases on top of which they can do scripting
2) Functionality gets stable for a prior sprint stories
3) Ease of automation
Main drawbacks of tradition agile automation methodology are as given below:-
1) With the increase in number of parallel sprints, builds, devices, platforms this methodology fails
miserably. Automation usually falls back couple of sprints behind even after adding more
resources
2) More and more script maintenance is required as the application evolves
3) Can’t target emulators, devices and desktop browsers all in one automation suite
4) Usually suites only to desktop browser automation
Progressive Mobile Test Automation
4. Recommended­ Progressive Mobile Automation Testing 
I recommend automating the functionality in same sprint in which its development and functional testing is
going on. The only difference which needs to bring in is that automation resources will be aligned in project
team right from very beginning. From Sprint1 itself the automation of stories will start.
Figure – Progressive Mobile Automation Testing
Following are the key points which need to be considered which will make the mobile (or any application)
automation – “Progressive”.
1) A functional tester should be part of automation team which will guide automation QAs what
exactly needs to be automated. As functional test cases won’t be available in the starting of
sprint, this functional tester will guide the automation resources to write meaningful automated
Progressive Mobile Test Automation
test scripts. He will also work hand in hand with application’s functional QA resources so that he
can give timely inputs to automation resources about the test cases related changes in any story.
2) The function tester aligned in automation team and an automation person will take part in sprint
planning meetings so that they are aware what is developing the current sprints. In this way that
dependency to get the functional test cases from manual QA can be avoided
3) Automation stories will also be taken out from sprint backlog in the sprint planning meetings to
better track the testing progress
4) Creation of automation scripts and C# DLL (which will talk to automated test script) will start write
from the starting of each sprint. How this approach needs to work out, we will see this in
subsequent sections
5) At the end of sprints in each release when there is a lead time to start the further release,
automation QA will stabilize all the automated scripts by doing multiple executions.
6) Desktop browsers, emulators and devices with different platforms will be tested in the same sprint
in which they have been planned for
Benefits which we will reap from the recommended Progressive Automation model is that automation will
remain current to the present sprint. There won’t be any lag. Hence in case of mobile automation number of
devices, OS versions, and platforms etc. won’t harm the test scripts.
Functional QA can concentrate on other different functionality or ad hoc testing which automation won’t take
care in current sprint. This will give functional QA to test extra scenarios and provide greater coverage.
Maintenance of the test scripts will be fairly easy. The approach, about which I am going to talk in below
sections minimize multiple changes in test scripts or DLL based upon the application UI changes. If the
changes happen on screen UI, C# DLL is also bound to change but the actual script will still work without
throwing any error.
Main drawback of using the said progressive automation is that one need to depend on a C# developer for
DLL creation which will feed the automation test script. Although this dependency can be eliminated by adding
a C# developer directly in the automation team who can give 100% productivity.
5. Approach ­ Progressive Mobile Automation Testing 
I recommend using the “Selenium .NET bindings and implement the 'PageBots' pattern for 'write once, test
anywhere' concept” to achieve the progressive automation in mobile area.
In layman language it means that Selenium (an open source tool) does come with two types of mobility
implantations 1) .Net Bindings 2) Java Bindings. We need to use the Selenium .Net bindings to create a C#
DLL for mobile testing which can further be used in any test tool say UFT/QTP. The C# DLL will directly
interact with the application under test (AUT) to test the mobile application. Screen interactions (data filing
and retrieval) will be done by C# DLL. UFT tool will just be used by automation testers to draw a unique report
which is readable by automation and functional testers. Moreover all validations against screen will be done
using the UFT tool.
In case there is any change in UI in certain sprint, changes has to go in the automation suite as well to make
the test script error free. In the said approach, most of the changes will go in the DLL but the UFT scripts will
remain intact. This is because screen interactions are being covered in DLL and not in UFT script.
Progressive Mobile Test Automation
In this approach DLL will take care about the devices, platforms, browsers information. UFT script will just
manage the flow of any functionality.
Once the implementation is done, one can reap benefits that with the same DLL and UFT script he can test
on desktop browser, emulator and device respectively.
Below is the pictorial representation which shows how the C# DLL will talk to UFT script. It will be using the
references of Selenium .Net implementation.
Figure –Automation Approach for Progressive Mobile testing
6. Progressive Mobility Automation Process
In Progressive automation approach automation QA is working very closely with developers to
automate those test cases which will be found out on the fly by functional tester in team by taking part
in sprint planning meeting.
Given below is a snapshot of the script automation process in progressive mobile automation.
Progressive Mobile Test Automation
1) Automation and functional QAs are being involved in the sprint planning phase itself. Once the
business requirements are finalized, developers start doing the code and unit tests
implementation. During this time automation QA lead will also create an automation backlog and
will track the progress of automaton stories during the sprint
2) There are developers assigned to automation team who gives C# contracts in form of DLL files to
automation QA. At the time when developers are busy in writing application code, automation
developers will write the contracts and XMLs (dummy or actual) and will hand them over to
automation QA team
3) Automation QA comprise of the QTP/UFT savvy engineers who then work on DLLs passed by
automation developers and then they will create UFT scripts from them. These UFT scripts are
ready to execute as a when any functionality is available for testing. Basically testers are doing
the scripting work when development is going on. Hence to do scripting, they are not dependent
upon the application UI
4) For all interim builds, automation QA will execute the test cases. This gives an opportunity to both
automation QA and automation developers to make certain changes in DLL or in UFT scripts if
required. This will eventually help the team to detect the defects early in the game
5) Once the final build will be received in QA environment, automaton QA will then execute all the
test scenarios on the given build. Functional team will analyze the failures and will guide the
automation people if at certain places script flow need to be changed
6) If the test executions are succeeded, team will move to handle the new set of business
requirements
7) In case of failures, they will be logged as defects and will be assigned back to concerned
developer for further resolution
Progressive Mobile Test Automation
7. Progressive Mobile Automation – Benefits
Following are major benefits which teams have seen as an outcome of Progressive Mobile
Automation
1) Minimize time to Market: - QA teams don’t need to wait for the code to be present in QA
environment to start the test case creation. They can create and the test cases even when UI is
not available for functional test creation or execution.
2) Better Coverage:- With the same test script a large set of devices, OS versions, browsers,
platforms etc. can be targeted for the testing
3) Agile Automation: - QA, developers and BAs are working together in each sprint. There is a tight
collaboration between these teams. As testing is not following the development in this project and
as testers are doing the test creation and execution in the same sprint cycle, it won’t be incorrect
to say that the testing teams are also Agile. Both functional and automation teams are working in
iterative or sprint modes
4) Faster Suite Creation: - Regression Suite is being created with the automation of each sprint
story. There is no separate exercise required to build up the regression suite separately.
5) No Automation Backlogs: - Automation works is going on for each current sprint. Hence there is
no backlog for the automation stories. All testing work is proceeding concurrently with the
development cycles
6) Compatibility Testing: - DLLs which are compiled for a specific release can be used to test the
screen compatibility of another release.
Following picture depicts clearly how the team can come up with Regression test cases in various
sprints.
Progressive Mobile Test Automation
8. About the Author
RAKHI JAIN - DA LL AS, TX , UN I TE D S TATE S
I am currently working as a project Manager or Test Automation Manager. Have working experience in
few of the top elite companies like Sapient Corp, Adobe Systems and Wipro Technologies previously.
Well versed with functional testing automation tools like QTP/UFT, Eggplant and Selenium etc. For
your queries, you can reach out to me at Rakhi_Rohatgi@yahoo.com.
Progressive Mobile Test Automation

More Related Content

What's hot

Testing Tool Evaluation Criteria
Testing Tool Evaluation CriteriaTesting Tool Evaluation Criteria
Testing Tool Evaluation Criteriabasma_iti_1984
 
Mulesoft Munit Testing
Mulesoft Munit TestingMulesoft Munit Testing
Mulesoft Munit Testingakshay yeluru
 
Unit Testing to Support Reusable for Component-Based Software Engineering
Unit Testing to Support Reusable for Component-Based Software EngineeringUnit Testing to Support Reusable for Component-Based Software Engineering
Unit Testing to Support Reusable for Component-Based Software Engineeringijtsrd
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With AppiumKnoldus Inc.
 
Android testing
Android testingAndroid testing
Android testingJinaTm
 
Automation Testing Project and Framework Details
Automation Testing Project and Framework DetailsAutomation Testing Project and Framework Details
Automation Testing Project and Framework DetailsAkash Tyagi
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-AutomationMindfire Solutions
 
Advance appium workshop.pptx
Advance appium workshop.pptxAdvance appium workshop.pptx
Advance appium workshop.pptxVodqaBLR
 
Types of test tools
Types of test toolsTypes of test tools
Types of test toolsVaibhav Dash
 
Top 10 Automation Testing Tools in 2020
Top 10 Automation Testing Tools in 2020Top 10 Automation Testing Tools in 2020
Top 10 Automation Testing Tools in 2020Marianne Harness
 
Testing Android Application, Droidcon Torino
Testing Android Application, Droidcon TorinoTesting Android Application, Droidcon Torino
Testing Android Application, Droidcon TorinoPietro Alberto Rossi
 
Automation With Appium
Automation With AppiumAutomation With Appium
Automation With AppiumKnoldus Inc.
 
Selenium RC, Selenium WebDriver and HP LoadRunner
Selenium RC, Selenium WebDriver and HP LoadRunnerSelenium RC, Selenium WebDriver and HP LoadRunner
Selenium RC, Selenium WebDriver and HP LoadRunnerMurageppa-QA
 
Automation testing material by Durgasoft,hyderabad
Automation testing material by Durgasoft,hyderabadAutomation testing material by Durgasoft,hyderabad
Automation testing material by Durgasoft,hyderabadDurga Prasad
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appiumPratik Patel
 
Automated UI Testing for Web and Native Apps on iOS and Android
Automated UI Testing for  Web and Native Apps on iOS and AndroidAutomated UI Testing for  Web and Native Apps on iOS and Android
Automated UI Testing for Web and Native Apps on iOS and AndroidOperation Mobile
 
Introduction to Unified Functional Testing 12 (UFT)
Introduction to Unified Functional Testing 12 (UFT)Introduction to Unified Functional Testing 12 (UFT)
Introduction to Unified Functional Testing 12 (UFT)Archana Krushnan
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile AppsSauce Labs
 

What's hot (20)

Testing Tool Evaluation Criteria
Testing Tool Evaluation CriteriaTesting Tool Evaluation Criteria
Testing Tool Evaluation Criteria
 
Mulesoft Munit Testing
Mulesoft Munit TestingMulesoft Munit Testing
Mulesoft Munit Testing
 
Unit Testing to Support Reusable for Component-Based Software Engineering
Unit Testing to Support Reusable for Component-Based Software EngineeringUnit Testing to Support Reusable for Component-Based Software Engineering
Unit Testing to Support Reusable for Component-Based Software Engineering
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
 
Android testing
Android testingAndroid testing
Android testing
 
Automation Testing Project and Framework Details
Automation Testing Project and Framework DetailsAutomation Testing Project and Framework Details
Automation Testing Project and Framework Details
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-Automation
 
Advance appium workshop.pptx
Advance appium workshop.pptxAdvance appium workshop.pptx
Advance appium workshop.pptx
 
Types of test tools
Types of test toolsTypes of test tools
Types of test tools
 
Top 10 Automation Testing Tools in 2020
Top 10 Automation Testing Tools in 2020Top 10 Automation Testing Tools in 2020
Top 10 Automation Testing Tools in 2020
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Testing Android Application, Droidcon Torino
Testing Android Application, Droidcon TorinoTesting Android Application, Droidcon Torino
Testing Android Application, Droidcon Torino
 
Automation With Appium
Automation With AppiumAutomation With Appium
Automation With Appium
 
Selenium RC, Selenium WebDriver and HP LoadRunner
Selenium RC, Selenium WebDriver and HP LoadRunnerSelenium RC, Selenium WebDriver and HP LoadRunner
Selenium RC, Selenium WebDriver and HP LoadRunner
 
Automation testing material by Durgasoft,hyderabad
Automation testing material by Durgasoft,hyderabadAutomation testing material by Durgasoft,hyderabad
Automation testing material by Durgasoft,hyderabad
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
 
Automated UI Testing for Web and Native Apps on iOS and Android
Automated UI Testing for  Web and Native Apps on iOS and AndroidAutomated UI Testing for  Web and Native Apps on iOS and Android
Automated UI Testing for Web and Native Apps on iOS and Android
 
Introduction to Unified Functional Testing 12 (UFT)
Introduction to Unified Functional Testing 12 (UFT)Introduction to Unified Functional Testing 12 (UFT)
Introduction to Unified Functional Testing 12 (UFT)
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
 
Software testing tools
Software testing toolsSoftware testing tools
Software testing tools
 

Viewers also liked

Progression testing - on how regression test automation needs to be progressi...
Progression testing - on how regression test automation needs to be progressi...Progression testing - on how regression test automation needs to be progressi...
Progression testing - on how regression test automation needs to be progressi...adampknight
 
Historia de la computadora
Historia de la computadoraHistoria de la computadora
Historia de la computadoraZavala168
 
Resources (water) challenge
Resources (water) challengeResources (water) challenge
Resources (water) challengerachelkcole
 
Molly crisp ancillary poster template
Molly crisp ancillary poster templateMolly crisp ancillary poster template
Molly crisp ancillary poster templaterhsmediastudies
 
Mikrotik basic configuration with wifi teatering android
Mikrotik basic configuration with wifi teatering androidMikrotik basic configuration with wifi teatering android
Mikrotik basic configuration with wifi teatering androidRoni N Sugiyanto
 
Nowy program premii dla Liderów TianDe „Kurs Premium“
Nowy program premii dla Liderów TianDe „Kurs Premium“Nowy program premii dla Liderów TianDe „Kurs Premium“
Nowy program premii dla Liderów TianDe „Kurs Premium“TianDe
 
экскурсия в вдпо
экскурсия в вдпоэкскурсия в вдпо
экскурсия в вдпоvirtualtaganrog
 
Readers’ advisory - keeping up with what's hot - Eric Dodson
Readers’ advisory - keeping up with what's hot - Eric DodsonReaders’ advisory - keeping up with what's hot - Eric Dodson
Readers’ advisory - keeping up with what's hot - Eric DodsonPublicLibraryServices
 
Ischaemic Stroke Overview
Ischaemic Stroke OverviewIschaemic Stroke Overview
Ischaemic Stroke OverviewTDFG7
 

Viewers also liked (15)

Progression testing - on how regression test automation needs to be progressi...
Progression testing - on how regression test automation needs to be progressi...Progression testing - on how regression test automation needs to be progressi...
Progression testing - on how regression test automation needs to be progressi...
 
Client factfile
Client factfileClient factfile
Client factfile
 
Entenda o que é EaD
Entenda o que é EaDEntenda o que é EaD
Entenda o que é EaD
 
Historia de la computadora
Historia de la computadoraHistoria de la computadora
Historia de la computadora
 
Resources (water) challenge
Resources (water) challengeResources (water) challenge
Resources (water) challenge
 
pranav presentation _markup
pranav presentation _markuppranav presentation _markup
pranav presentation _markup
 
Dumoco news march 2016
Dumoco news march 2016Dumoco news march 2016
Dumoco news march 2016
 
Molly crisp ancillary poster template
Molly crisp ancillary poster templateMolly crisp ancillary poster template
Molly crisp ancillary poster template
 
NAO Poster
NAO PosterNAO Poster
NAO Poster
 
Diagnostico del suelo en Carmen de Atrato - Choco
Diagnostico del suelo en Carmen de Atrato - ChocoDiagnostico del suelo en Carmen de Atrato - Choco
Diagnostico del suelo en Carmen de Atrato - Choco
 
Mikrotik basic configuration with wifi teatering android
Mikrotik basic configuration with wifi teatering androidMikrotik basic configuration with wifi teatering android
Mikrotik basic configuration with wifi teatering android
 
Nowy program premii dla Liderów TianDe „Kurs Premium“
Nowy program premii dla Liderów TianDe „Kurs Premium“Nowy program premii dla Liderów TianDe „Kurs Premium“
Nowy program premii dla Liderów TianDe „Kurs Premium“
 
экскурсия в вдпо
экскурсия в вдпоэкскурсия в вдпо
экскурсия в вдпо
 
Readers’ advisory - keeping up with what's hot - Eric Dodson
Readers’ advisory - keeping up with what's hot - Eric DodsonReaders’ advisory - keeping up with what's hot - Eric Dodson
Readers’ advisory - keeping up with what's hot - Eric Dodson
 
Ischaemic Stroke Overview
Ischaemic Stroke OverviewIschaemic Stroke Overview
Ischaemic Stroke Overview
 

Similar to Progressive Mobile Test Automation

Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)IRJET Journal
 
Test automation: Are Enterprises ready to bite the bullet?
Test automation: Are Enterprises ready to bite the bullet?Test automation: Are Enterprises ready to bite the bullet?
Test automation: Are Enterprises ready to bite the bullet?Aspire Systems
 
Testing and Debugging Flutter Apps: A Comprehensive Approach
Testing and Debugging Flutter Apps: A Comprehensive Approach Testing and Debugging Flutter Apps: A Comprehensive Approach
Testing and Debugging Flutter Apps: A Comprehensive Approach QSS Technosoft Inc.
 
Delivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous IntegrationDelivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous IntegrationAspire Systems
 
Hybrid framework for test automation
Hybrid framework for test automationHybrid framework for test automation
Hybrid framework for test automationsrivinayak
 
White-Paper-Continuous-Delivery
White-Paper-Continuous-DeliveryWhite-Paper-Continuous-Delivery
White-Paper-Continuous-Deliveryalkhan50
 
What is the importance of tools in automated ui testing
What is the importance of tools in automated ui testingWhat is the importance of tools in automated ui testing
What is the importance of tools in automated ui testingTestingXperts
 
Basics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdfBasics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdfpcloudy2
 
A Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and BeyondA Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and BeyondPratik Patel
 
Chapter 5 - Automating the Test Execution
Chapter 5 - Automating the Test ExecutionChapter 5 - Automating the Test Execution
Chapter 5 - Automating the Test ExecutionNeeraj Kumar Singh
 
Implementation of agile methodology in mobile automation testing
Implementation of agile methodology in mobile automation testingImplementation of agile methodology in mobile automation testing
Implementation of agile methodology in mobile automation testingKailash khoiwal
 
Discover the power of QA automation testing
Discover the power of QA automation testingDiscover the power of QA automation testing
Discover the power of QA automation testingSoftweb Solutions
 
A Complete Guide to Rapid Automation Testing.pdf
A Complete Guide to Rapid Automation Testing.pdfA Complete Guide to Rapid Automation Testing.pdf
A Complete Guide to Rapid Automation Testing.pdfpCloudy
 
Web Application Testing – The Basics of Web App Test Automation.pdf
Web Application Testing – The Basics of Web App Test Automation.pdfWeb Application Testing – The Basics of Web App Test Automation.pdf
Web Application Testing – The Basics of Web App Test Automation.pdfpCloudy
 
B4usolution_AI for automation
B4usolution_AI for automationB4usolution_AI for automation
B4usolution_AI for automationb4usolution .
 

Similar to Progressive Mobile Test Automation (20)

Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
 
Test automation: Are Enterprises ready to bite the bullet?
Test automation: Are Enterprises ready to bite the bullet?Test automation: Are Enterprises ready to bite the bullet?
Test automation: Are Enterprises ready to bite the bullet?
 
Testing and Debugging Flutter Apps: A Comprehensive Approach
Testing and Debugging Flutter Apps: A Comprehensive Approach Testing and Debugging Flutter Apps: A Comprehensive Approach
Testing and Debugging Flutter Apps: A Comprehensive Approach
 
Delivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous IntegrationDelivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous Integration
 
Hybrid framework for test automation
Hybrid framework for test automationHybrid framework for test automation
Hybrid framework for test automation
 
White-Paper-Continuous-Delivery
White-Paper-Continuous-DeliveryWhite-Paper-Continuous-Delivery
White-Paper-Continuous-Delivery
 
summary
summarysummary
summary
 
What is the importance of tools in automated ui testing
What is the importance of tools in automated ui testingWhat is the importance of tools in automated ui testing
What is the importance of tools in automated ui testing
 
Resume_QA
Resume_QAResume_QA
Resume_QA
 
Basics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdfBasics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdf
 
A Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and BeyondA Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and Beyond
 
Chapter 5 - Automating the Test Execution
Chapter 5 - Automating the Test ExecutionChapter 5 - Automating the Test Execution
Chapter 5 - Automating the Test Execution
 
Implementation of agile methodology in mobile automation testing
Implementation of agile methodology in mobile automation testingImplementation of agile methodology in mobile automation testing
Implementation of agile methodology in mobile automation testing
 
Automation testing
Automation testingAutomation testing
Automation testing
 
SDET UNIT 4.pptx
SDET UNIT 4.pptxSDET UNIT 4.pptx
SDET UNIT 4.pptx
 
Discover the power of QA automation testing
Discover the power of QA automation testingDiscover the power of QA automation testing
Discover the power of QA automation testing
 
A Complete Guide to Rapid Automation Testing.pdf
A Complete Guide to Rapid Automation Testing.pdfA Complete Guide to Rapid Automation Testing.pdf
A Complete Guide to Rapid Automation Testing.pdf
 
Web Application Testing – The Basics of Web App Test Automation.pdf
Web Application Testing – The Basics of Web App Test Automation.pdfWeb Application Testing – The Basics of Web App Test Automation.pdf
Web Application Testing – The Basics of Web App Test Automation.pdf
 
B4usolution_AI for automation
B4usolution_AI for automationB4usolution_AI for automation
B4usolution_AI for automation
 
Why test with flex unit
Why test with flex unitWhy test with flex unit
Why test with flex unit
 

Recently uploaded

DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 

Recently uploaded (20)

DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 

Progressive Mobile Test Automation

  • 1. Progressive Mobile Test Automation PREPARED BY:- Rakhi Jain Progressive Mobile Test Automation
  • 2. 1. Contents ......................................................................................................................1 ......................................................................................................................2 8.About the Author..................................................................................................10 I want to share a synopsis for the implementation of Progressive automation in mobile testing area which is supporting browser based or native application testing. 2. Motivation for this Research Mobile testing comes with a package of challenges in which testers need to cope up with device variations, OS specific testing, application versions, security and a huge test bed. Progressive Mobile Test Automation
  • 3. Mobility does need more testing effort for the same set of functionalities which are pretty easy to test on a non-mobile application. Automation can ease the life to a certain extent but in long run when multiple modules and different builds are available to test on various devices & platforms, even automation testers feels that it is challenging to automate regression test cases. Usually the mobile application development follows Agile methodology which adds more hassles in life of functional and automation testers due to strict and short QA cycles. Due to all these pain areas I thought why mobile automation can’t go hand in hand with development sprints. This will eventually help retiring manual testing effort at greater extent. Also it will make the automation simple & current and scripts can also bear the variety of builds, OS versions, devices and platforms. As the testing progresses with the development sprint, I thought of naming this testing as Progressive Mobile Automation Testing. I recommend progressive automation in mobility as it’s a well-known automation method which is very close to application development. If changes occur in application UI during various sprints, automated scripts remains least impacted when the said approach is followed. 3. Traditional Agile Based Mobile Automation Testing  A regular agile development project includes various releases which are further divided in different sprints. Sprints are usually followed by a “Release Planning” phase in which the release backlog is generated from the product backlog. Creation of release backlog is usually done by product team and business analysts (BA). Once the release backlog is ready, sprint starts. In sprint planning developers, QA (functional) takes part along with product and BAs and create the sprint backlog. Here developers and QA decides about the stories which they are planning to pick in the current sprint. In this traditional modal, automation QA does not play any role and they never take part in release or sprint planning meetings as well. During various sprint developers and functional QA works hand in hand and retires the stories which are pickup in sprint backlog. Automation QA starts the work after the completion of one sprint and always remains behind at least one sprint in a release. This difference of number of sprints varies and depends on project as well. He continues the script creation and execution for prior sprint stories in current sprint. Progressive Mobile Test Automation
  • 4. Figure – Traditional Agile Automation Testing Benefits for traditional agile automation testing are as follows:- 1) Automation QA gets ready made functional test cases on top of which they can do scripting 2) Functionality gets stable for a prior sprint stories 3) Ease of automation Main drawbacks of tradition agile automation methodology are as given below:- 1) With the increase in number of parallel sprints, builds, devices, platforms this methodology fails miserably. Automation usually falls back couple of sprints behind even after adding more resources 2) More and more script maintenance is required as the application evolves 3) Can’t target emulators, devices and desktop browsers all in one automation suite 4) Usually suites only to desktop browser automation Progressive Mobile Test Automation
  • 5. 4. Recommended­ Progressive Mobile Automation Testing  I recommend automating the functionality in same sprint in which its development and functional testing is going on. The only difference which needs to bring in is that automation resources will be aligned in project team right from very beginning. From Sprint1 itself the automation of stories will start. Figure – Progressive Mobile Automation Testing Following are the key points which need to be considered which will make the mobile (or any application) automation – “Progressive”. 1) A functional tester should be part of automation team which will guide automation QAs what exactly needs to be automated. As functional test cases won’t be available in the starting of sprint, this functional tester will guide the automation resources to write meaningful automated Progressive Mobile Test Automation
  • 6. test scripts. He will also work hand in hand with application’s functional QA resources so that he can give timely inputs to automation resources about the test cases related changes in any story. 2) The function tester aligned in automation team and an automation person will take part in sprint planning meetings so that they are aware what is developing the current sprints. In this way that dependency to get the functional test cases from manual QA can be avoided 3) Automation stories will also be taken out from sprint backlog in the sprint planning meetings to better track the testing progress 4) Creation of automation scripts and C# DLL (which will talk to automated test script) will start write from the starting of each sprint. How this approach needs to work out, we will see this in subsequent sections 5) At the end of sprints in each release when there is a lead time to start the further release, automation QA will stabilize all the automated scripts by doing multiple executions. 6) Desktop browsers, emulators and devices with different platforms will be tested in the same sprint in which they have been planned for Benefits which we will reap from the recommended Progressive Automation model is that automation will remain current to the present sprint. There won’t be any lag. Hence in case of mobile automation number of devices, OS versions, and platforms etc. won’t harm the test scripts. Functional QA can concentrate on other different functionality or ad hoc testing which automation won’t take care in current sprint. This will give functional QA to test extra scenarios and provide greater coverage. Maintenance of the test scripts will be fairly easy. The approach, about which I am going to talk in below sections minimize multiple changes in test scripts or DLL based upon the application UI changes. If the changes happen on screen UI, C# DLL is also bound to change but the actual script will still work without throwing any error. Main drawback of using the said progressive automation is that one need to depend on a C# developer for DLL creation which will feed the automation test script. Although this dependency can be eliminated by adding a C# developer directly in the automation team who can give 100% productivity. 5. Approach ­ Progressive Mobile Automation Testing  I recommend using the “Selenium .NET bindings and implement the 'PageBots' pattern for 'write once, test anywhere' concept” to achieve the progressive automation in mobile area. In layman language it means that Selenium (an open source tool) does come with two types of mobility implantations 1) .Net Bindings 2) Java Bindings. We need to use the Selenium .Net bindings to create a C# DLL for mobile testing which can further be used in any test tool say UFT/QTP. The C# DLL will directly interact with the application under test (AUT) to test the mobile application. Screen interactions (data filing and retrieval) will be done by C# DLL. UFT tool will just be used by automation testers to draw a unique report which is readable by automation and functional testers. Moreover all validations against screen will be done using the UFT tool. In case there is any change in UI in certain sprint, changes has to go in the automation suite as well to make the test script error free. In the said approach, most of the changes will go in the DLL but the UFT scripts will remain intact. This is because screen interactions are being covered in DLL and not in UFT script. Progressive Mobile Test Automation
  • 7. In this approach DLL will take care about the devices, platforms, browsers information. UFT script will just manage the flow of any functionality. Once the implementation is done, one can reap benefits that with the same DLL and UFT script he can test on desktop browser, emulator and device respectively. Below is the pictorial representation which shows how the C# DLL will talk to UFT script. It will be using the references of Selenium .Net implementation. Figure –Automation Approach for Progressive Mobile testing 6. Progressive Mobility Automation Process In Progressive automation approach automation QA is working very closely with developers to automate those test cases which will be found out on the fly by functional tester in team by taking part in sprint planning meeting. Given below is a snapshot of the script automation process in progressive mobile automation. Progressive Mobile Test Automation
  • 8. 1) Automation and functional QAs are being involved in the sprint planning phase itself. Once the business requirements are finalized, developers start doing the code and unit tests implementation. During this time automation QA lead will also create an automation backlog and will track the progress of automaton stories during the sprint 2) There are developers assigned to automation team who gives C# contracts in form of DLL files to automation QA. At the time when developers are busy in writing application code, automation developers will write the contracts and XMLs (dummy or actual) and will hand them over to automation QA team 3) Automation QA comprise of the QTP/UFT savvy engineers who then work on DLLs passed by automation developers and then they will create UFT scripts from them. These UFT scripts are ready to execute as a when any functionality is available for testing. Basically testers are doing the scripting work when development is going on. Hence to do scripting, they are not dependent upon the application UI 4) For all interim builds, automation QA will execute the test cases. This gives an opportunity to both automation QA and automation developers to make certain changes in DLL or in UFT scripts if required. This will eventually help the team to detect the defects early in the game 5) Once the final build will be received in QA environment, automaton QA will then execute all the test scenarios on the given build. Functional team will analyze the failures and will guide the automation people if at certain places script flow need to be changed 6) If the test executions are succeeded, team will move to handle the new set of business requirements 7) In case of failures, they will be logged as defects and will be assigned back to concerned developer for further resolution Progressive Mobile Test Automation
  • 9. 7. Progressive Mobile Automation – Benefits Following are major benefits which teams have seen as an outcome of Progressive Mobile Automation 1) Minimize time to Market: - QA teams don’t need to wait for the code to be present in QA environment to start the test case creation. They can create and the test cases even when UI is not available for functional test creation or execution. 2) Better Coverage:- With the same test script a large set of devices, OS versions, browsers, platforms etc. can be targeted for the testing 3) Agile Automation: - QA, developers and BAs are working together in each sprint. There is a tight collaboration between these teams. As testing is not following the development in this project and as testers are doing the test creation and execution in the same sprint cycle, it won’t be incorrect to say that the testing teams are also Agile. Both functional and automation teams are working in iterative or sprint modes 4) Faster Suite Creation: - Regression Suite is being created with the automation of each sprint story. There is no separate exercise required to build up the regression suite separately. 5) No Automation Backlogs: - Automation works is going on for each current sprint. Hence there is no backlog for the automation stories. All testing work is proceeding concurrently with the development cycles 6) Compatibility Testing: - DLLs which are compiled for a specific release can be used to test the screen compatibility of another release. Following picture depicts clearly how the team can come up with Regression test cases in various sprints. Progressive Mobile Test Automation
  • 10. 8. About the Author RAKHI JAIN - DA LL AS, TX , UN I TE D S TATE S I am currently working as a project Manager or Test Automation Manager. Have working experience in few of the top elite companies like Sapient Corp, Adobe Systems and Wipro Technologies previously. Well versed with functional testing automation tools like QTP/UFT, Eggplant and Selenium etc. For your queries, you can reach out to me at Rakhi_Rohatgi@yahoo.com. Progressive Mobile Test Automation