SlideShare a Scribd company logo
1 of 11
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

Test automation framework
Test automation frameworkTest automation framework
Test automation frameworkQACampus
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with AgileKen McCorkell
 
Testing Tool Evaluation Criteria
Testing Tool Evaluation CriteriaTesting Tool Evaluation Criteria
Testing Tool Evaluation Criteriabasma_iti_1984
 
Test Automation failure analysis
Test Automation failure analysisTest Automation failure analysis
Test Automation failure analysisPrashant Chaudhary
 
Test automation methodologies
Test automation methodologiesTest automation methodologies
Test automation methodologiesMesut Günes
 
Software Testing Tools | Edureka
Software Testing Tools | EdurekaSoftware Testing Tools | Edureka
Software Testing Tools | EdurekaEdureka!
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing ToolsDr Ganesh Iyer
 
Software testing tools and its taxonomy
Software testing tools and its taxonomySoftware testing tools and its taxonomy
Software testing tools and its taxonomyHimanshu
 
Types of test tools
Types of test toolsTypes of test tools
Types of test toolsVaibhav Dash
 
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)Wael Mansour
 
Automation Framework Design
Automation Framework DesignAutomation Framework Design
Automation Framework DesignKunal 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 decathlonEva Cajigas
 
Suzhou odyssey
Suzhou odysseySuzhou odyssey
Suzhou odysseySana Samad
 
דרך היווצרותה שלעזה
דרך היווצרותה שלעזהדרך היווצרותה שלעזה
דרך היווצרותה שלעזהhaimkarel
 
Caraka - BNI sketsa keinginan
Caraka - BNI sketsa keinginanCaraka - BNI sketsa keinginan
Caraka - BNI sketsa keinginanMuhammad Yustan
 
Entrevista Silvio Benedetto
Entrevista Silvio BenedettoEntrevista Silvio Benedetto
Entrevista Silvio BenedettoEva Cajigas
 
Homophones Lesson
Homophones LessonHomophones Lesson
Homophones Lessonjgd7971
 
Sandy Area Chamber of Commerce Overview
Sandy Area Chamber of Commerce OverviewSandy Area Chamber of Commerce Overview
Sandy Area Chamber of Commerce OverviewSandy Chamber
 
01 romans intro_theme
01 romans intro_theme01 romans intro_theme
01 romans intro_themeDon McClain
 
Handout Max Dekker Inleiding30 11
Handout Max Dekker Inleiding30 11Handout Max Dekker Inleiding30 11
Handout Max Dekker Inleiding30 11guest2f17d3
 
Aang Apandi
Aang ApandiAang Apandi
Aang ApandiAANG88
 
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...Kalle
 
23 03 2010 Mcrt For Niko
23 03 2010 Mcrt For Niko23 03 2010 Mcrt For Niko
23 03 2010 Mcrt For Nikoguest5bb1991
 
Acta santiago barbanza
Acta santiago barbanzaActa santiago barbanza
Acta santiago barbanzaoscargaliza
 
Ubay Syahru M U Iia Pe
Ubay Syahru M U Iia PeUbay Syahru M U Iia Pe
Ubay Syahru M U Iia Pejuhro
 

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, Концепции автоматизированного тестирования

Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbsModule 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbsShivang100
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingArchana Krushnan
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptxpavelpopov43
 
Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven TestingHarish MS
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation FailsRanorex
 
Improving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test AutomationImproving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test AutomationMindfire LLC
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing FrameworksMoataz Nabil
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For AgileNaresh Jain
 
Final Automation Testing
Final Automation TestingFinal Automation Testing
Final Automation Testingpriya_trivedi
 
Software Test Automation - Best Practices
Software Test Automation - Best PracticesSoftware Test Automation - Best Practices
Software Test Automation - Best PracticesArul Selvan
 
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 AutomationRanorex
 
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 methodologyBugRaptors
 
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.pdfkalichargn70th171
 
HP Software Testing project (Advanced)
HP Software Testing project (Advanced)HP Software Testing project (Advanced)
HP Software Testing project (Advanced)Lokesh Singrol
 
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 AutomationVNITO 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

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
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
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
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
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
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 

Recently uploaded (20)

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
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
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
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
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...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

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