SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Adventures in Test Automation – 
Breaking the Boundaries of Regression Testing 
John Fodeh, Cognizant Technology Solutions 
www.eurostarconferences.com 
@esconfs 
#esconfs 
Insert speaker 
picture here, no 
more than 
150x150 pixels
Adventures in Test 
Automation 
Breaking the Boundaries of 
Regression Testing 
John Fodeh 
Cognizant Technology Solutions 
john.fodeh@cognizant.com
Outline 
• Innovation and testing 
• The promise of automation 
• Going beyond regression testing 
• Automated Test Monkeys 
• Model-Based and Behaviour-Driven approaches 
• The human factor in automation 
| ©2012, Cognizant 
3
The Promise of Test Automation 
• Replacing repetitive and 
tedious manual tasks 
• Ensuring the consistency and 
repeatability of tests 
• Performing tests that are 
difficult to run manually 
• Accelerating test execution 
| ©2012, Cognizant 
4 
* Image source: Rosemont Engineering
Traditional Test Automation 
| ©2012, Cognizant 
5 
Typically 
Automation of regression tests 
Purpose 
Testing of a previously tested program following 
modification to ensure that defects have not been 
introduced or uncovered in unchanged areas of the 
software, as a result of the changes made. It is performed 
when the software or its environment is changed. 
[ISTQB Glossary, v2.1]
Characteristics of Traditional Test Automation 
• Static 
• Simple 
• Synchronized 
• Vulnerable 
| ©2012, Cognizant 
6
Monkey Testing 
| ©2012, Cognizant 
7 
Monkey Testing refers to the 
process of randomly exercising a 
software program by means of an 
automated test tool
Test Monkey 
Action List 
| ©2012, Cognizant 
8 
#script file: Test4.asc 
CP_KEY FOCUS_UP; 
TRACKBALL 0, 64; 
KEY L; 
KEY 5, LONG; 
KEY 8; 
CP_KEY FOCUS_UP; 
Random 
Test Tool 
#script file: Test4.asc 
KEY L; 
KEY 5, LONG; 
CP_KEY FOCUS_UP; 
#KEY BOX_SIZE_UP 
KEY 8; 
TRACKBALL 0, 64; 
KEY SHIFT, R; 
Log file 
Application 
Under Test 
KEY FOCUS_UP; 
Utilities
Basic Features 
A test monkey should: 
• Select randomly from input range 
• Enter input to AUT through the user interface 
• Detect “life signs” of AUT 
• Have robust logging facility 
• (Re-) start and initialize AUT 
• Have limited application knowledge but general 
environment awareness 
| ©2012, Cognizant 
9
Using Test Monkeys 
• Indicator of application reliability 
• Incorporated into daily “smoke” test 
• Establish confidence in application 
• System test tool 
• Evaluation of release candidates 
• Previously failed scripts are run again as part of 
regression tests 
• Focus tests on specific areas of interest 
• Combinations of sequential and random scripts 
• Random scripts with weight on specific actions 
| ©2012, Cognizant 
10
Metrics – Application Reliability 
| ©2012, Cognizant 
Stability Trend for 4101 
120000 
100000 
80000 
60000 
40000 
20000 
0 
Release 
Criterion 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 
Build no. 
Mean number of random operations between 
Failures 
Random operations Start Criterion Release Stability Criterion 
11 
Entry 
Criterion
Added Value (1/2) 
• Early testing 
• Cost effective 
• Negative testing 
• Long and complex test runs 
• Stability indicator 
| ©2012, Cognizant 
12
Limitations 
• Misses obvious defects 
• Does not emulate real use situations 
• Long tests runs can be difficult to debug 
• For a reliable statistical basis, long and multiple test 
runs are needed 
| ©2012, Cognizant 
13 
Monkey Testing is a supplement 
to your manual and automated 
testing - not a replacement!
Advanced Test Monkeys 
• Wide application knowledge 
• Application modeled in state table 
• Illegal input to test error handling and recovery 
• Emulate real and complex use scenarios 
• Effective in finding defects 
• Higher development and maintenance cost 
| ©2012, Cognizant 
14
Test Monkey 
| ©2012, Cognizant 
15 
Random 
Test Tool 
State table 
Log file 
Application 
Under Test 
Utilities 
Start 
State 
Action End 
State 
Script 
Start state Action Probability 
Input 
range End state 
Scanning Adjust frequency 45 3 20 Scanning 
Adjust brightness 20 1 100 Scanning 
Abort 5 Displaying (abort) 
Edit preferences 10 Editing preferences 
Increment depth 20 Scanning
Intelligent Randomness 
• Probability Tables 
• Focus on selected areas 
• Weight on specific use 
scenarios 
• Continuous expansion and 
improvement 
• Possibility to exclude 
certain parts 
| ©2012, Cognizant 
16 
Enter Text 
Select Text 
Delete 
Copy 
Cut 
… 
Task n 
Action 
25% 
10% 
5% 
5% 
5% 
* source: Whitmill, Kelly
Model-Based Test Monkeys 
MStoadteel table Script 
| ©2012, Cognizant 
17 
Random 
Test Tool 
Log file 
Application 
Under Test 
Utilities 
Start 
State 
Action End 
State
Next Step - Behavior-Driven approach 
• Based on Behavioral specifications 
• User Stories defined using ubiquitous language 
• Principles of Test Driven Development 
• Collaborative approach for business analysts, 
Software development & testing 
• Shared tools and process 
| ©2012, Cognizant 
18
People Issues 
• Applying test automation involves people 
• Your team members are not interchangeable machine 
parts 
• Take that into account when implementing test 
automation 
| ©2012, Cognizant 
19
Summary 
• No “one size fits all” solution 
• The tools, processes and skills are there 
• Maturity is about analyzing the current practice and 
finding ways to do evolve 
• Are you ready for your innovation journey? 
| ©2012, Cognizant 
20

Más contenido relacionado

La actualidad más candente

Software testing.ppt
Software testing.pptSoftware testing.ppt
Software testing.ppt
Komal Garg
 
Software testing by kd
Software testing by kdSoftware testing by kd
Software testing by kd
kedarhire
 
ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0
Samer Desouky
 
Types of Software testing
Types of  Software testingTypes of  Software testing
Types of Software testing
Makan Singh
 

La actualidad más candente (19)

Software testing.ppt
Software testing.pptSoftware testing.ppt
Software testing.ppt
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Fundamentals of Software Testing
Fundamentals of Software TestingFundamentals of Software Testing
Fundamentals of Software Testing
 
Software Testing Basic Concepts
Software Testing Basic ConceptsSoftware Testing Basic Concepts
Software Testing Basic Concepts
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation Fails
 
Software testing by kd
Software testing by kdSoftware testing by kd
Software testing by kd
 
ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0
 
What is Test Matrix?
What is Test Matrix?What is Test Matrix?
What is Test Matrix?
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Training program BaffleSol academy of learning
Training program BaffleSol academy of learningTraining program BaffleSol academy of learning
Training program BaffleSol academy of learning
 
Types of Software testing
Types of  Software testingTypes of  Software testing
Types of Software testing
 
I ntroduction to software testing part1
I ntroduction to software testing part1I ntroduction to software testing part1
I ntroduction to software testing part1
 
Software Testing ppt
Software Testing pptSoftware Testing ppt
Software Testing ppt
 
Why Ranorex
Why RanorexWhy Ranorex
Why Ranorex
 
Software testing
Software testingSoftware testing
Software testing
 
Test Automation - Everything You Need To Know
Test Automation - Everything You Need To KnowTest Automation - Everything You Need To Know
Test Automation - Everything You Need To Know
 
Tracking through kanban
Tracking through kanbanTracking through kanban
Tracking through kanban
 

Similar a John Fodeh Adventures in Test Automation - EuroSTAR 2013

Презентация
ПрезентацияПрезентация
Презентация
guest22d71d
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
Quontra Solutions
 
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxOS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
ShivareddyGangam
 
A Complete Guide to Functional Testing
A Complete Guide to Functional TestingA Complete Guide to Functional Testing
A Complete Guide to Functional Testing
Abhay Kumar
 

Similar a John Fodeh Adventures in Test Automation - EuroSTAR 2013 (20)

Innovations in Test Automation: It’s Not All about Regression
Innovations in Test Automation: It’s Not All about RegressionInnovations in Test Automation: It’s Not All about Regression
Innovations in Test Automation: It’s Not All about Regression
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
 
Презентация
ПрезентацияПрезентация
Презентация
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
 
[HCMC STC Jan 2015] Practical Experiences In Test Automation
[HCMC STC Jan 2015] Practical Experiences In Test Automation[HCMC STC Jan 2015] Practical Experiences In Test Automation
[HCMC STC Jan 2015] Practical Experiences In Test Automation
 
Testing software
Testing softwareTesting software
Testing software
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.ppt
 
CEN6070.1.Chapter10.1 (1).ppt
CEN6070.1.Chapter10.1 (1).pptCEN6070.1.Chapter10.1 (1).ppt
CEN6070.1.Chapter10.1 (1).ppt
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.ppt
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.ppt
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
 
Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)
 
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbsModule 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
 
rryghg.ppt
rryghg.pptrryghg.ppt
rryghg.ppt
 
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
A Complete Guide to Functional Testing
A Complete Guide to Functional TestingA Complete Guide to Functional Testing
A Complete Guide to Functional Testing
 
Bugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfBugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perf
 
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxOS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
 
A Complete Guide to Functional Testing
A Complete Guide to Functional TestingA Complete Guide to Functional Testing
A Complete Guide to Functional Testing
 

Más de TEST Huddle

Más de TEST Huddle (20)

Why We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureWhy We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- Accenture
 
Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar
 
Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway
 
Being a Tester in Scrum
Being a Tester in ScrumBeing a Tester in Scrum
Being a Tester in Scrum
 
Leveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsLeveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional Tests
 
Using Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkUsing Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test Work
 
Big Data: The Magic to Attain New Heights
Big Data:  The Magic to Attain New HeightsBig Data:  The Magic to Attain New Heights
Big Data: The Magic to Attain New Heights
 
Will Robots Replace Testers?
Will Robots Replace Testers?Will Robots Replace Testers?
Will Robots Replace Testers?
 
TDD For The Rest Of Us
TDD For The Rest Of UsTDD For The Rest Of Us
TDD For The Rest Of Us
 
Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)
 
Creating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesCreating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger Enterprises
 
Is There A Risk?
Is There A Risk?Is There A Risk?
Is There A Risk?
 
Are Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageAre Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test Coverage
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
 
Do we need testers on agile teams?
Do we need testers on agile teams?Do we need testers on agile teams?
Do we need testers on agile teams?
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
 
Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey
 
Practical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsPractical Test Strategy Using Heuristics
Practical Test Strategy Using Heuristics
 
Thinking Through Your Role
Thinking Through Your RoleThinking Through Your Role
Thinking Through Your Role
 
Using Selenium 3 0
Using Selenium 3 0Using Selenium 3 0
Using Selenium 3 0
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

John Fodeh Adventures in Test Automation - EuroSTAR 2013

  • 1. Adventures in Test Automation – Breaking the Boundaries of Regression Testing John Fodeh, Cognizant Technology Solutions www.eurostarconferences.com @esconfs #esconfs Insert speaker picture here, no more than 150x150 pixels
  • 2. Adventures in Test Automation Breaking the Boundaries of Regression Testing John Fodeh Cognizant Technology Solutions john.fodeh@cognizant.com
  • 3. Outline • Innovation and testing • The promise of automation • Going beyond regression testing • Automated Test Monkeys • Model-Based and Behaviour-Driven approaches • The human factor in automation | ©2012, Cognizant 3
  • 4. The Promise of Test Automation • Replacing repetitive and tedious manual tasks • Ensuring the consistency and repeatability of tests • Performing tests that are difficult to run manually • Accelerating test execution | ©2012, Cognizant 4 * Image source: Rosemont Engineering
  • 5. Traditional Test Automation | ©2012, Cognizant 5 Typically Automation of regression tests Purpose Testing of a previously tested program following modification to ensure that defects have not been introduced or uncovered in unchanged areas of the software, as a result of the changes made. It is performed when the software or its environment is changed. [ISTQB Glossary, v2.1]
  • 6. Characteristics of Traditional Test Automation • Static • Simple • Synchronized • Vulnerable | ©2012, Cognizant 6
  • 7. Monkey Testing | ©2012, Cognizant 7 Monkey Testing refers to the process of randomly exercising a software program by means of an automated test tool
  • 8. Test Monkey Action List | ©2012, Cognizant 8 #script file: Test4.asc CP_KEY FOCUS_UP; TRACKBALL 0, 64; KEY L; KEY 5, LONG; KEY 8; CP_KEY FOCUS_UP; Random Test Tool #script file: Test4.asc KEY L; KEY 5, LONG; CP_KEY FOCUS_UP; #KEY BOX_SIZE_UP KEY 8; TRACKBALL 0, 64; KEY SHIFT, R; Log file Application Under Test KEY FOCUS_UP; Utilities
  • 9. Basic Features A test monkey should: • Select randomly from input range • Enter input to AUT through the user interface • Detect “life signs” of AUT • Have robust logging facility • (Re-) start and initialize AUT • Have limited application knowledge but general environment awareness | ©2012, Cognizant 9
  • 10. Using Test Monkeys • Indicator of application reliability • Incorporated into daily “smoke” test • Establish confidence in application • System test tool • Evaluation of release candidates • Previously failed scripts are run again as part of regression tests • Focus tests on specific areas of interest • Combinations of sequential and random scripts • Random scripts with weight on specific actions | ©2012, Cognizant 10
  • 11. Metrics – Application Reliability | ©2012, Cognizant Stability Trend for 4101 120000 100000 80000 60000 40000 20000 0 Release Criterion 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Build no. Mean number of random operations between Failures Random operations Start Criterion Release Stability Criterion 11 Entry Criterion
  • 12. Added Value (1/2) • Early testing • Cost effective • Negative testing • Long and complex test runs • Stability indicator | ©2012, Cognizant 12
  • 13. Limitations • Misses obvious defects • Does not emulate real use situations • Long tests runs can be difficult to debug • For a reliable statistical basis, long and multiple test runs are needed | ©2012, Cognizant 13 Monkey Testing is a supplement to your manual and automated testing - not a replacement!
  • 14. Advanced Test Monkeys • Wide application knowledge • Application modeled in state table • Illegal input to test error handling and recovery • Emulate real and complex use scenarios • Effective in finding defects • Higher development and maintenance cost | ©2012, Cognizant 14
  • 15. Test Monkey | ©2012, Cognizant 15 Random Test Tool State table Log file Application Under Test Utilities Start State Action End State Script Start state Action Probability Input range End state Scanning Adjust frequency 45 3 20 Scanning Adjust brightness 20 1 100 Scanning Abort 5 Displaying (abort) Edit preferences 10 Editing preferences Increment depth 20 Scanning
  • 16. Intelligent Randomness • Probability Tables • Focus on selected areas • Weight on specific use scenarios • Continuous expansion and improvement • Possibility to exclude certain parts | ©2012, Cognizant 16 Enter Text Select Text Delete Copy Cut … Task n Action 25% 10% 5% 5% 5% * source: Whitmill, Kelly
  • 17. Model-Based Test Monkeys MStoadteel table Script | ©2012, Cognizant 17 Random Test Tool Log file Application Under Test Utilities Start State Action End State
  • 18. Next Step - Behavior-Driven approach • Based on Behavioral specifications • User Stories defined using ubiquitous language • Principles of Test Driven Development • Collaborative approach for business analysts, Software development & testing • Shared tools and process | ©2012, Cognizant 18
  • 19. People Issues • Applying test automation involves people • Your team members are not interchangeable machine parts • Take that into account when implementing test automation | ©2012, Cognizant 19
  • 20. Summary • No “one size fits all” solution • The tools, processes and skills are there • Maturity is about analyzing the current practice and finding ways to do evolve • Are you ready for your innovation journey? | ©2012, Cognizant 20