SlideShare a Scribd company logo
Lohika / HP Confidential
Automated Testing
Concepts
Mikhail Holovaty
05, 31, 2011
Abstraction Level Limitations
Abstraction Implementation
Requirement Test Case
Test Script
Test Execution
QA
Robot
Automating a Manual Process
Level of abstraction accessible to human and automated tests
Cyclic Development Process
Automation test scripts development, execution and results analysis are determined by
cyclic development process of a tested application
For each development iteration, the application must implement a set of requirements.
The set may include a new or altered requirements and already implemented
requirements (regression area)
An iterative development model
Cyclic Development Process
Test scripts are strongly bound with implementation of application requirements
Automation results require attention only if there are test script failures. A test script failure means
one of the following
• Defect. Application implementation is changed and doesn't meet requirements
• Test script is out of date. Application implementation is changed and meets new or altered
requirements. Test script requires update
Results validation phase will continue until application defects are fixed and test scripts are updated.
• Environment
Simplified development cycle that includes automation test scripts
implementation, execution and analysis
Cyclic Development Process
Imortant points
• test script doesn't show defects itself. It only shows areas of changed
implementation
• automation results analysis cannot be detached from scripts update and involves
person with development skills
• test scripts version is bound to application version. Test scripts cannot be treated
as a universal pack and be invoked against different versions or branches of the
application. Each application branch or version should have its own scripts
Automation Efficiency
TA cr / N + TA errval + TA upd < TM val
N - iteration number since scripts creation
TA cr - time to create automation scripts
TA errval - average iteration time to understand reasons of failed scripts
TA upd - average iteration time to update scripts
TM val - average iteration time of manual validation
Let's consider time for automation and manual testing to validate the same
functionality and find the same amount of defects.
Automation testing is effective, if the following statement becomes true
Time estimation allows further calculation of Return On Investment (ROI) value,
if to consider automation and manual time cost.
Automation Efficiency
Cost of test scripts creation is reduced, if we need to validate the same functionality
for many development iterations. Automated validation isn't effective for functionality
that should be checked only once, or functionality that significantly changes during
iterations
Error validation time can be decreased with effective results analysis strategy that
shuld be supported by scripts. The following questions have to be answered as quickly
as possible
• What functionality does each error correspond?
• What scripts have the same error?
• What actions did scripts perform?
• What state and dynamic data the application had at the moment of scripts execution?
Update time can be decreased with
• Don't Repeat Yourself (DRY) principles (increasing abstraction level) from test scripts
side
• techniques that reduce test scripts dependency on application implementation
from application side (automation friendly GUI toolkits, ids of GUI elements, etc.)
Automation Script
An automation script fully based on general test case definition. A test oracle
mechanism is used to determining whether the program has passed or failed a test. A
complete oracle have three capabilities
• generator, to provide predicted or expected results for each test.
• comparator, to compare predicted and obtained results.
• evaluator, to determine whether the comparison results are sufficiently close to be a
pass.
The application is viewed as a black box and is tested in terms of the outputs
generated in response to predetermined inputs.
Scheme of a black box
Automation Script
Failed automation test cases require human interaction to understand fail reason. Ideally
there shouldn't be need to rerun failed test cases, watch application under test or rerun the
tests manually. Automation test case should collect as much information as needed to get
quick answer, what was the problem
Logging writes automatically all actions performed by script into log file. It includes state of
application at the moment of test (e.g. user name, new advertisement id, page screen
shot) and test script internals (e.g stack trace, element locators). Logging is useful for
detailed analysis of application and script behaviour.
Test result model is used for general analysis of a large amount of failed test cases.
Simple result model could be 'pass' and 'fail' statuses of test case. For deep and effective
understanding of fail reasons should be used extended concepts, such as
• error reason
• requirement link
• dependent functionality
• execution time
Extended result concepts allow to group test cases with the same fail reason, take into
account blocked test cases, build traceability matrix, etc.
Script Design and Development
Ways of test scripts development
Record/Play
Performed by QA, no development skils
No abstraction layer for reporting and code reuse
Visual Oriented Tols
Performed by QA, QA Automation, minimum development skils
Predefined visualized abstractions
Predefined reporting model
Language Oriented Tools
Performed by QA Automation or QA + Developer co-operation
Development skils required
Extendable abstraction layer
Extendable reporting model
QA Automation Evolution
xUnit frameworks
Test-driven development
Continious
Integration process
and tools
Automated Testing
Unit testing
Integration testing
System testing
GUI drivers (e.g. Selenium RC)
Automation friendly UI libraries
Programming
Quality Assurance
Record/Play
Visual
Development
QA&Developers
co-operation

More Related Content

What's hot

Testing Tool Evaluation Criteria
Testing Tool Evaluation CriteriaTesting Tool Evaluation Criteria
Testing Tool Evaluation Criteria
basma_iti_1984
 
Automation Framework Design
Automation Framework DesignAutomation Framework Design
Automation Framework Design
Kunal Saxena
 

What's hot (20)

Test automation framework
Test automation frameworkTest automation framework
Test automation framework
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 
Testing Tool Evaluation Criteria
Testing Tool Evaluation CriteriaTesting Tool Evaluation Criteria
Testing Tool Evaluation Criteria
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Test Automation failure analysis
Test Automation failure analysisTest Automation failure analysis
Test Automation failure analysis
 
Test automation methodologies
Test automation methodologiesTest automation methodologies
Test automation methodologies
 
Software Testing Tools | Edureka
Software Testing Tools | EdurekaSoftware Testing Tools | Edureka
Software Testing Tools | Edureka
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Paper CS
Paper CSPaper CS
Paper CS
 
Software testing tools
Software testing toolsSoftware testing tools
Software testing tools
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
 
Software testing tools and its taxonomy
Software testing tools and its taxonomySoftware testing tools and its taxonomy
Software testing tools and its taxonomy
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
 
Key Factors To Ensure Test Automation Framework Success
Key Factors To Ensure Test Automation Framework SuccessKey Factors To Ensure Test Automation Framework Success
Key Factors To Ensure Test Automation Framework Success
 
Manual testing
Manual testingManual testing
Manual testing
 
Types of test tools
Types of test toolsTypes of test tools
Types of test tools
 
Software testing tools (free and open source)
Software testing tools (free and open source)Software testing tools (free and open source)
Software testing tools (free and open source)
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Value of software testing
Value of software testingValue of software testing
Value of software testing
 
Automation Framework Design
Automation Framework DesignAutomation Framework Design
Automation Framework Design
 

Viewers also liked

Madrid solar decathlon
Madrid solar decathlonMadrid solar decathlon
Madrid solar decathlon
Eva Cajigas
 
Suzhou odyssey
Suzhou odysseySuzhou odyssey
Suzhou odyssey
Sana Samad
 
דרך היווצרותה שלעזה
דרך היווצרותה שלעזהדרך היווצרותה שלעזה
דרך היווצרותה שלעזה
haimkarel
 
Entrevista Silvio Benedetto
Entrevista Silvio BenedettoEntrevista Silvio Benedetto
Entrevista Silvio Benedetto
Eva Cajigas
 
Handout Max Dekker Inleiding30 11
Handout Max Dekker Inleiding30 11Handout Max Dekker Inleiding30 11
Handout Max Dekker Inleiding30 11
guest2f17d3
 
Aang Apandi
Aang ApandiAang Apandi
Aang Apandi
AANG88
 
23 03 2010 Mcrt For Niko
23 03 2010 Mcrt For Niko23 03 2010 Mcrt For Niko
23 03 2010 Mcrt For Niko
guest5bb1991
 
Acta santiago barbanza
Acta santiago barbanzaActa santiago barbanza
Acta santiago barbanza
oscargaliza
 
Ubay Syahru M U Iia Pe
Ubay Syahru M U Iia PeUbay Syahru M U Iia Pe
Ubay Syahru M U Iia Pe
juhro
 

Viewers also liked (20)

Madrid solar decathlon
Madrid solar decathlonMadrid solar decathlon
Madrid solar decathlon
 
Suzhou odyssey
Suzhou odysseySuzhou odyssey
Suzhou odyssey
 
Assertive Amabelle
Assertive AmabelleAssertive Amabelle
Assertive Amabelle
 
Html
HtmlHtml
Html
 
דרך היווצרותה שלעזה
דרך היווצרותה שלעזהדרך היווצרותה שלעזה
דרך היווצרותה שלעזה
 
Raleigh chamber ypn presentation july 2010
Raleigh chamber ypn presentation   july 2010Raleigh chamber ypn presentation   july 2010
Raleigh chamber ypn presentation july 2010
 
Caraka - BNI sketsa keinginan
Caraka - BNI sketsa keinginanCaraka - BNI sketsa keinginan
Caraka - BNI sketsa keinginan
 
Entrevista Silvio Benedetto
Entrevista Silvio BenedettoEntrevista Silvio Benedetto
Entrevista Silvio Benedetto
 
Homophones Lesson
Homophones LessonHomophones Lesson
Homophones Lesson
 
Sandy Area Chamber of Commerce Overview
Sandy Area Chamber of Commerce OverviewSandy Area Chamber of Commerce Overview
Sandy Area Chamber of Commerce Overview
 
01 romans intro_theme
01 romans intro_theme01 romans intro_theme
01 romans intro_theme
 
Handout Max Dekker Inleiding30 11
Handout Max Dekker Inleiding30 11Handout Max Dekker Inleiding30 11
Handout Max Dekker Inleiding30 11
 
D I G I T R O M A N
D I G I T  R O M A ND I G I T  R O M A N
D I G I T R O M A N
 
Aang Apandi
Aang ApandiAang Apandi
Aang Apandi
 
Nakayama Estimation Of Viewers Response For Contextual Understanding Of Tasks...
Nakayama Estimation Of Viewers Response For Contextual Understanding Of Tasks...Nakayama Estimation Of Viewers Response For Contextual Understanding Of Tasks...
Nakayama Estimation Of Viewers Response For Contextual Understanding Of Tasks...
 
23 03 2010 Mcrt For Niko
23 03 2010 Mcrt For Niko23 03 2010 Mcrt For Niko
23 03 2010 Mcrt For Niko
 
Acta santiago barbanza
Acta santiago barbanzaActa santiago barbanza
Acta santiago barbanza
 
เมียร์มาร์
เมียร์มาร์เมียร์มาร์
เมียร์มาร์
 
Ubay Syahru M U Iia Pe
Ubay Syahru M U Iia PeUbay Syahru M U Iia Pe
Ubay Syahru M U Iia Pe
 
War sor
War sorWar sor
War sor
 

Similar to M. Holovaty, Концепции автоматизированного тестирования

Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven Testing
Harish MS
 
Final Automation Testing
Final Automation TestingFinal Automation Testing
Final Automation Testing
priya_trivedi
 
Introduction to Total Data Driven Test Automation
Introduction to Total Data Driven Test AutomationIntroduction to Total Data Driven Test Automation
Introduction to Total Data Driven Test Automation
VNITO Alliance
 

Similar to M. Holovaty, Концепции автоматизированного тестирования (20)

Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbsModule 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptx
 
Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven Testing
 
Unit 5 st ppt
Unit 5 st pptUnit 5 st ppt
Unit 5 st ppt
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation Fails
 
Improving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test AutomationImproving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test Automation
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
unit-5 SPM.pptx
unit-5 SPM.pptxunit-5 SPM.pptx
unit-5 SPM.pptx
 
Qtp - Introduction values
Qtp - Introduction valuesQtp - Introduction values
Qtp - Introduction values
 
Class 01.pptx
Class 01.pptxClass 01.pptx
Class 01.pptx
 
Final Automation Testing
Final Automation TestingFinal Automation Testing
Final Automation Testing
 
Software Test Automation - Best Practices
Software Test Automation - Best PracticesSoftware Test Automation - Best Practices
Software Test Automation - Best Practices
 
How To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test AutomationHow To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test Automation
 
Automation Concepts
Automation ConceptsAutomation Concepts
Automation Concepts
 
Introduction to automated testing life cycle methodology
Introduction to automated testing life cycle methodologyIntroduction to automated testing life cycle methodology
Introduction to automated testing life cycle methodology
 
A Comparative Guide to Automation and Manual Testing.pdf
A Comparative Guide to Automation and Manual Testing.pdfA Comparative Guide to Automation and Manual Testing.pdf
A Comparative Guide to Automation and Manual Testing.pdf
 
HP Software Testing project (Advanced)
HP Software Testing project (Advanced)HP Software Testing project (Advanced)
HP Software Testing project (Advanced)
 
Introduction to Total Data Driven Test Automation
Introduction to Total Data Driven Test AutomationIntroduction to Total Data Driven Test Automation
Introduction to Total Data Driven Test Automation
 

Recently uploaded

Recently uploaded (20)

Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM Integration
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 

M. Holovaty, Концепции автоматизированного тестирования

  • 1. Lohika / HP Confidential Automated Testing Concepts Mikhail Holovaty 05, 31, 2011
  • 2. Abstraction Level Limitations Abstraction Implementation Requirement Test Case Test Script Test Execution QA Robot Automating a Manual Process Level of abstraction accessible to human and automated tests
  • 3. Cyclic Development Process Automation test scripts development, execution and results analysis are determined by cyclic development process of a tested application For each development iteration, the application must implement a set of requirements. The set may include a new or altered requirements and already implemented requirements (regression area) An iterative development model
  • 4. Cyclic Development Process Test scripts are strongly bound with implementation of application requirements Automation results require attention only if there are test script failures. A test script failure means one of the following • Defect. Application implementation is changed and doesn't meet requirements • Test script is out of date. Application implementation is changed and meets new or altered requirements. Test script requires update Results validation phase will continue until application defects are fixed and test scripts are updated. • Environment Simplified development cycle that includes automation test scripts implementation, execution and analysis
  • 5. Cyclic Development Process Imortant points • test script doesn't show defects itself. It only shows areas of changed implementation • automation results analysis cannot be detached from scripts update and involves person with development skills • test scripts version is bound to application version. Test scripts cannot be treated as a universal pack and be invoked against different versions or branches of the application. Each application branch or version should have its own scripts
  • 6. Automation Efficiency TA cr / N + TA errval + TA upd < TM val N - iteration number since scripts creation TA cr - time to create automation scripts TA errval - average iteration time to understand reasons of failed scripts TA upd - average iteration time to update scripts TM val - average iteration time of manual validation Let's consider time for automation and manual testing to validate the same functionality and find the same amount of defects. Automation testing is effective, if the following statement becomes true Time estimation allows further calculation of Return On Investment (ROI) value, if to consider automation and manual time cost.
  • 7. Automation Efficiency Cost of test scripts creation is reduced, if we need to validate the same functionality for many development iterations. Automated validation isn't effective for functionality that should be checked only once, or functionality that significantly changes during iterations Error validation time can be decreased with effective results analysis strategy that shuld be supported by scripts. The following questions have to be answered as quickly as possible • What functionality does each error correspond? • What scripts have the same error? • What actions did scripts perform? • What state and dynamic data the application had at the moment of scripts execution? Update time can be decreased with • Don't Repeat Yourself (DRY) principles (increasing abstraction level) from test scripts side • techniques that reduce test scripts dependency on application implementation from application side (automation friendly GUI toolkits, ids of GUI elements, etc.)
  • 8. Automation Script An automation script fully based on general test case definition. A test oracle mechanism is used to determining whether the program has passed or failed a test. A complete oracle have three capabilities • generator, to provide predicted or expected results for each test. • comparator, to compare predicted and obtained results. • evaluator, to determine whether the comparison results are sufficiently close to be a pass. The application is viewed as a black box and is tested in terms of the outputs generated in response to predetermined inputs. Scheme of a black box
  • 9. Automation Script Failed automation test cases require human interaction to understand fail reason. Ideally there shouldn't be need to rerun failed test cases, watch application under test or rerun the tests manually. Automation test case should collect as much information as needed to get quick answer, what was the problem Logging writes automatically all actions performed by script into log file. It includes state of application at the moment of test (e.g. user name, new advertisement id, page screen shot) and test script internals (e.g stack trace, element locators). Logging is useful for detailed analysis of application and script behaviour. Test result model is used for general analysis of a large amount of failed test cases. Simple result model could be 'pass' and 'fail' statuses of test case. For deep and effective understanding of fail reasons should be used extended concepts, such as • error reason • requirement link • dependent functionality • execution time Extended result concepts allow to group test cases with the same fail reason, take into account blocked test cases, build traceability matrix, etc.
  • 10. Script Design and Development Ways of test scripts development Record/Play Performed by QA, no development skils No abstraction layer for reporting and code reuse Visual Oriented Tols Performed by QA, QA Automation, minimum development skils Predefined visualized abstractions Predefined reporting model Language Oriented Tools Performed by QA Automation or QA + Developer co-operation Development skils required Extendable abstraction layer Extendable reporting model
  • 11. QA Automation Evolution xUnit frameworks Test-driven development Continious Integration process and tools Automated Testing Unit testing Integration testing System testing GUI drivers (e.g. Selenium RC) Automation friendly UI libraries Programming Quality Assurance Record/Play Visual Development QA&Developers co-operation

Editor's Notes

  1. Logging and results model can be used together. E.g. we can investigate error reason of one test case with log file and approximate it to all test cases, that have the same reason. Storing results and logs into central database we can collect statistics and history of changing application areas. Basic results analysis use case 1. Get scripts execution results for new build 2. Filter failed scripts 3. Group failed scripts by errors 4. Investigate reason of each error group 5. File defects if any 6. Update scripts if required
  2. Describe aspects of automation test case design and implementation here