SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
Ngo Hoang Minh
TEST DESIGN WITH ACTION-
BASED TESTING
METHODOLOGY
Who is your speaker?
2
• Software testing company, around since 1994
• Testing and test automation services:
– consultancy, training
– test development and automation services
– "test integrated" development services
• Products:
– TestArchitect™, TestArchitect for Visual Studio™
– integrating test development with test management and automation
– based on modularized keyword-driven testing
• LogiGear Magazine:
– themed issues, non-commercial
LogiGear Corporation
 Background in computer science, management
 Since 2009 focusing on automated testing
 keywords, agile testing
Ngo Hoang Minh
3
Test Design With Action-Based
4
• Introduction
• Action Based Testing, Test Modules
• Success factors of test design (for automation)
• Test case design
• Action design
• Final
Agenda
5
Introduction
Testing Under Pressure
6
specification development test
DEADLINE
Testing Under Pressure –
"Shift Left"
7
specification development test
DEADLINE
Develop tests in time:
• Test design
• Auditing, acceptance
• Preparations
• Automation
8
Action Based Testing
Risks of keyword and scenario approaches
9
• Often seen as silver bullet, complications are
underestimated
– often treated as a technical "trick"
– testers can get squeezed and marginalized
• developers and users dictating tests
• automation engineers dictating actions
– testers can end up with an automation responsibility, thus becoming pseudo
programmers
• The method needs understanding and experience to be
successful
– pitfalls are many, and can have a negative effect on the outcome
• Lack of method and structure can risk manageability
– maintainability not as good as hoped
– results can be disappointing, approach will be blamed
Action Based Testing (ABT)
10
• Uses the keyword based "actions" as basis for a method
– Covers test management, test development and automation
– With a large focus on test design as the main driver for automation
success
– Method is specific, but concepts are generic
• The central product in ABT is the "Test Module", not the test
case
– Like chapters in a book
• test cases are part of the test modules,
– Test development is seen as having both analytical and creative aspects
– Developed as spread sheets, external from the automation
– Each test module is a separate (mini) project, each test module can
involve different stake holders
Test Module
11
Test Module
Initial - setup
Objectives
Test cases
Final - cleanup
Test Modules versus Test Cases
12
• The test module is a bigger unit in the test design
– Easier to identify
– A chapter rather than a paragraph
• Better flow of execution
– Each test case can set up for the next one
– Keep test modules independent, test cases can be dependent
• Test cases become creative output, rather than stifling input
– Avoids having to define all test cases at once early in the process
• Clear scope helps to identify cases, actions and checks
13
Test Design Success Factors
Why Better Test Design?
14
• Better test design can improve quality of test
– Many tests are often quite "mechanical" now, no surprises
– One to one related to specifications, user stories or requirements,
which often is ok, but lacks aggression
– No combinations, no unexpected situations, lame and boring
– Such tests have a hard time finding (interesting) bugs
• Better test design can give (much) better automation
– Unneeded details are left out of tests
– Avoiding "over checking“
– Limit the impact of system changes on tests, making such impact
more manageable
The Three “Holy Grails” of Test
Design
15
• Metaphor to depict three main steps in test design
• Using "grail" to illustrate that there is no single perfect
solution, but that it matters to pay attention
Organization of tests into test modules
Right approach for each test module
Proper level of detail in the test specification
What's the trick...
16
What's the trick...
17
• Have or acquire facilities to store and organize your
content
• Select your stuff
• Decide where to put what
– assign and label the shelves
• Put it there
• If the organization is not sufficient anymore, add to it
or change it
Properties of a good Breakdown
18
 Reflects the level of tests
 Well differentiated and clear in scope
 Balanced in size and amount
 Modules mutually independent
 Fitting the priorities and planning of the project
Breakdown Criteria
19
• Common Criteria
– Functionality (customers, finances, management information, UI, ...)
– Architecture of the system under test (client, server, protocol, sub systems,
components, modules, ...)
– Kind of test (navigation flow, negative tests, response time, ...)
• Additional Criteria
– Stakeholders (like "Accounting", "Compliance", "HR", ...)
– Complexity of the test (put complex tests in separate modules)
– Execution aspects (special hardware, multi-station, ...)
– Project planning (availability of information, timelines, sprints, ...)
– Risks involved (extra test modules for high risk areas)
– Ambition level (smoke test, regression, aggressive, …)
Approach 1: Workshop
20
• Gather a meeting with relevant participants
– test developers
– domain experts
– automation engineer (focus on efficiency of automation)
– experienced moderator
– also consider: developers, managers
• If necessary, provide training of participants
before the discussion
• I prefer this approach, in particular to start off
Approach 2: Design and Feedback
21
• One or two experienced test designers create a
first draft
• The draft is delivered/discussed to relevant
parties
• Ask the parties to verify:
1. Structure: does it make sense
2. Completeness: are all relevant areas covered
• Based on feedback, further modify the design
22
Test Case Design
Grail 2: Approach per Test Module
23
 When to develop: do we have enough information?
 When to execute: make sure lower level stuff working first
Plan the test module:
 Do an intake: understand what is needed and devise an approach
 Analyze requirements, formulate "test objectives", create tests
Process :
 See the test development as a "learning process", about the business domain, the
application structure, the interaction, etc
 Talk about your tests, make them strong
Exploratory approach:
 Users, subject matter experts, developers, auditors, etc
Identify stakeholders and their involvement:
 Users, subject matter experts, developers, auditors, etc
Identify stakeholders and their involvement:
Clarify your objectives with your tests . . .
24
requirement,
specification,
…
test case
requirement,
specification,
…
test objective test case
direct relation indirect relation via a test objective
Linking through test objectives can help easier traceability:
...
TO-3.51 The exit date must be after the entry date
...
test objective TO-3.51
name entry date exit date
enter employment Bill Goodfellow 2016-10-02 2016-10-01
check error message The exit date must be after the entry date.
Test Objectives
25
• Keep test objectives short and simple
• Focus on what to test, not how
• Split longer texts into atomic sentences
• Typically test objectives will be like:
– cause and effect ("clicking clear clears all fields")
– condition and effect ("if all fields filled, 'ok' is enabled")
Eye on the ball, Scope
26
• Always know the scope of the test module
• The scope should be unambiguous
• The scope determines many things:
– what the test objectives are
– which test cases to expect
– what level of actions to use
– what the checks are about and which events should
generate a warning or error (if a “lower” functionality is
wrong)
Use of "Anti-patterns"
27
• Informal way to classify typical test design problems
• Use with care, can come across offensive
• The point of view in the following list is automation: test
design choices that can be counter-productive to
automation
• However, lack of good organization can also effect the
quality of manual tests
28
Action Design
Grail 3: Specification Level, choosing
actions
29
• Scope of the test determines the action level
• As high level as appropriate, as little arguments as possible
• Clear names for actions
• Avoid "engineer" styles for names of actions and arguments
– tests are not source code
– like no spaces, uppercase, camel-case or underlines
• Manage and document the Actions
• Try to treat as a "by-product of test design"
Low-level, high-level, mid-level
actions
30
enter customer
enter address fields
enter select set . . .. . .
"Low level": detailed interaction with the UI (or API)
- generic, do not show any functional or business logic
- examples: "click", "expand tree node", "select menu"
"Mid level": common sequences at a more
detailed application level
- usually to wrap a form or dialog
- for use in high level actions
- greatly enhance maintainability
- example: "enter address fields"
"High level": a business domain operation or check on the
application under test
hide the interaction
examples: "enter customer", "rent car", "check balance"
Use the right level actions
31
Low level of UI interaction detail makes sense only with the module
scope is to test the UI
window tree tree item path
click tree item main projects /Projects/Drill Assembly
window list item
check list item exists main tasks Plan of Approach
Better to have a business level action and hide the details in an action
definition:
But do show details when it matters. The example below is too high level,
requires drill down into action definition to understand what is tested.
32
Finally
Takeaways
33
• Test design is a major contributor to automation success,
often more than technical prowess
• Domain language approaches like Actions and BDD allow
for efficient communication and driving of automation
• Test modules can help organize the tests, and focus their
scopes
• Focusing tests, checks and actions on a clear and
differentiated scope will make for better tests, but also
better automation
© 2014 HCMC Software Testing Club
THANK YOU

Mais conteúdo relacionado

Mais procurados

Quality Assurance and Software Testing
Quality Assurance and Software TestingQuality Assurance and Software Testing
Quality Assurance and Software Testing
pingkapil
 

Mais procurados (20)

Understanding the Agile Release and Sprint Planning Process
Understanding the Agile Release and Sprint Planning Process Understanding the Agile Release and Sprint Planning Process
Understanding the Agile Release and Sprint Planning Process
 
Chaos Engineering
Chaos EngineeringChaos Engineering
Chaos Engineering
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 
The Essence of Sprint Planning : Presented by Sprint Planning
The Essence of Sprint Planning : Presented by Sprint PlanningThe Essence of Sprint Planning : Presented by Sprint Planning
The Essence of Sprint Planning : Presented by Sprint Planning
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
Quality Built In @ Spotify
Quality Built In @ SpotifyQuality Built In @ Spotify
Quality Built In @ Spotify
 
What does a Scrum Master do, or should do, all day?
What does a Scrum Master do, or should do, all day? What does a Scrum Master do, or should do, all day?
What does a Scrum Master do, or should do, all day?
 
Scrum Process
Scrum ProcessScrum Process
Scrum Process
 
DevOps & Security: Here & Now
DevOps & Security: Here & NowDevOps & Security: Here & Now
DevOps & Security: Here & Now
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Test Plan Template
Test Plan TemplateTest Plan Template
Test Plan Template
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
Testing & Quality Assurance
Testing & Quality AssuranceTesting & Quality Assurance
Testing & Quality Assurance
 
Static Analysis with Sonarlint
Static Analysis with SonarlintStatic Analysis with Sonarlint
Static Analysis with Sonarlint
 
Product Backlog Management
Product Backlog ManagementProduct Backlog Management
Product Backlog Management
 
Security Testing
Security TestingSecurity Testing
Security Testing
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Quality Assurance and Software Testing
Quality Assurance and Software TestingQuality Assurance and Software Testing
Quality Assurance and Software Testing
 
Scrum in an hour
Scrum in an hourScrum in an hour
Scrum in an hour
 

Destaque

Analytical Risk-based and Specification-based Testing - Bui Duy Tam
Analytical Risk-based and Specification-based Testing - Bui Duy TamAnalytical Risk-based and Specification-based Testing - Bui Duy Tam
Analytical Risk-based and Specification-based Testing - Bui Duy Tam
Ho Chi Minh City Software Testing Club
 
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang PhiIntroduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Ho Chi Minh City Software Testing Club
 
[HCMC STC Jan 2015] Making IT Count – Agile Test Metrics
[HCMC STC Jan 2015] Making IT Count – Agile Test Metrics[HCMC STC Jan 2015] Making IT Count – Agile Test Metrics
[HCMC STC Jan 2015] Making IT Count – Agile Test Metrics
Ho Chi Minh City Software Testing Club
 

Destaque (20)

Mobile Video Games Testing Principles - Benjamin Poirrier
Mobile Video Games Testing Principles - Benjamin PoirrierMobile Video Games Testing Principles - Benjamin Poirrier
Mobile Video Games Testing Principles - Benjamin Poirrier
 
Security testing-What can we do - Trinh Minh Hien
Security testing-What can we do - Trinh Minh HienSecurity testing-What can we do - Trinh Minh Hien
Security testing-What can we do - Trinh Minh Hien
 
A Novel Approach of Automation Test for Software Monitoring Solution - Tran S...
A Novel Approach of Automation Test for Software Monitoring Solution - Tran S...A Novel Approach of Automation Test for Software Monitoring Solution - Tran S...
A Novel Approach of Automation Test for Software Monitoring Solution - Tran S...
 
Deliver Fast, Break Nothing Via Effective Building Developer and Tester Colla...
Deliver Fast, Break Nothing Via Effective Building Developer and Tester Colla...Deliver Fast, Break Nothing Via Effective Building Developer and Tester Colla...
Deliver Fast, Break Nothing Via Effective Building Developer and Tester Colla...
 
Agile Testing - Not Just Tester’s Story _ Dang Thanh Long
Agile Testing - Not Just Tester’s Story _ Dang Thanh LongAgile Testing - Not Just Tester’s Story _ Dang Thanh Long
Agile Testing - Not Just Tester’s Story _ Dang Thanh Long
 
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
 
A Universal Automation Framework based on BDD Cucumber and Ruby on Rails - Ph...
A Universal Automation Framework based on BDD Cucumber and Ruby on Rails - Ph...A Universal Automation Framework based on BDD Cucumber and Ruby on Rails - Ph...
A Universal Automation Framework based on BDD Cucumber and Ruby on Rails - Ph...
 
Analytical Risk-based and Specification-based Testing - Bui Duy Tam
Analytical Risk-based and Specification-based Testing - Bui Duy TamAnalytical Risk-based and Specification-based Testing - Bui Duy Tam
Analytical Risk-based and Specification-based Testing - Bui Duy Tam
 
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang PhiIntroduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
 
Web API Test Automation Using Frisby & Node.js
Web API Test Automation Using Frisby  & Node.jsWeb API Test Automation Using Frisby  & Node.js
Web API Test Automation Using Frisby & Node.js
 
Common Web UI Problems Transforming Manual to Automation
Common Web UI Problems Transforming Manual to Automation Common Web UI Problems Transforming Manual to Automation
Common Web UI Problems Transforming Manual to Automation
 
[HCMC STC Jan 2015] Making IT Count – Agile Test Metrics
[HCMC STC Jan 2015] Making IT Count – Agile Test Metrics[HCMC STC Jan 2015] Making IT Count – Agile Test Metrics
[HCMC STC Jan 2015] Making IT Count – Agile Test Metrics
 
[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
 
[HCMC STC Jan 2015] FATS: A Framework For Automated Testing Scenarios
[HCMC STC Jan 2015] FATS: A Framework For Automated Testing Scenarios[HCMC STC Jan 2015] FATS: A Framework For Automated Testing Scenarios
[HCMC STC Jan 2015] FATS: A Framework For Automated Testing Scenarios
 
Building an effective mobile testing strategy
Building an effective mobile testing strategyBuilding an effective mobile testing strategy
Building an effective mobile testing strategy
 
[HCMC STC Jan 2015] Risk-Based Software Testing Approaches
[HCMC STC Jan 2015] Risk-Based Software Testing Approaches[HCMC STC Jan 2015] Risk-Based Software Testing Approaches
[HCMC STC Jan 2015] Risk-Based Software Testing Approaches
 
Why a Mobile Test Strategy is just Test Strategy
Why a Mobile Test Strategy is just Test StrategyWhy a Mobile Test Strategy is just Test Strategy
Why a Mobile Test Strategy is just Test Strategy
 
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
 
Panel2 ana pantelic
Panel2 ana pantelicPanel2 ana pantelic
Panel2 ana pantelic
 
Zermatt Summit 2014 "The Courage to Dare" Program and Highlights
Zermatt Summit 2014 "The Courage to Dare" Program and HighlightsZermatt Summit 2014 "The Courage to Dare" Program and Highlights
Zermatt Summit 2014 "The Courage to Dare" Program and Highlights
 

Semelhante a Test Design with Action-based Testing Methodology - Ngo Hoang Minh

Top Ten Tips for Tackling Test Automation Webinar Presentation.pptx
Top Ten Tips for Tackling Test Automation Webinar Presentation.pptxTop Ten Tips for Tackling Test Automation Webinar Presentation.pptx
Top Ten Tips for Tackling Test Automation Webinar Presentation.pptx
Inflectra
 
Mt s11 test_design
Mt s11 test_designMt s11 test_design
Mt s11 test_design
TestingGeeks
 

Semelhante a Test Design with Action-based Testing Methodology - Ngo Hoang Minh (20)

Oose unit 5 ppt
Oose unit 5 pptOose unit 5 ppt
Oose unit 5 ppt
 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.ppt
 
Software Testing Process & Trend
Software Testing Process & TrendSoftware Testing Process & Trend
Software Testing Process & Trend
 
lect3-Life-Cycle-models-I.pptx
lect3-Life-Cycle-models-I.pptxlect3-Life-Cycle-models-I.pptx
lect3-Life-Cycle-models-I.pptx
 
Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com
 
Mg6088 spm unit-2
Mg6088 spm unit-2Mg6088 spm unit-2
Mg6088 spm unit-2
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and Tool
 
Top Ten Tips for Tackling Test Automation Webinar Presentation.pptx
Top Ten Tips for Tackling Test Automation Webinar Presentation.pptxTop Ten Tips for Tackling Test Automation Webinar Presentation.pptx
Top Ten Tips for Tackling Test Automation Webinar Presentation.pptx
 
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process Models
 
software requirement
software requirement software requirement
software requirement
 
Mt s11 test_design
Mt s11 test_designMt s11 test_design
Mt s11 test_design
 
тестовые стратегии
тестовые стратегиитестовые стратегии
тестовые стратегии
 
Разработка эффективной тестовой стратегии, Антон Семенченко
Разработка эффективной тестовой стратегии, Антон СеменченкоРазработка эффективной тестовой стратегии, Антон Семенченко
Разработка эффективной тестовой стратегии, Антон Семенченко
 
Problem Solving Methodology 2011 - 2014
Problem Solving Methodology 2011 - 2014Problem Solving Methodology 2011 - 2014
Problem Solving Methodology 2011 - 2014
 
Robotics
RoboticsRobotics
Robotics
 
Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
 
L software testing
L   software testingL   software testing
L software testing
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015
 
Quality Center
Quality CenterQuality Center
Quality Center
 

Mais de Ho Chi Minh City Software Testing Club

[HCMC STC Jan 2015] Proving Our Worth Quantifying The Value Of Testing
[HCMC STC Jan 2015] Proving Our Worth  Quantifying The Value Of Testing[HCMC STC Jan 2015] Proving Our Worth  Quantifying The Value Of Testing
[HCMC STC Jan 2015] Proving Our Worth Quantifying The Value Of Testing
Ho Chi Minh City Software Testing Club
 

Mais de Ho Chi Minh City Software Testing Club (12)

[HCMC STC Jan 2015] Workshop Of Context-Driven Testing In Agile
[HCMC STC Jan 2015] Workshop Of Context-Driven Testing In Agile[HCMC STC Jan 2015] Workshop Of Context-Driven Testing In Agile
[HCMC STC Jan 2015] Workshop Of Context-Driven Testing In Agile
 
[HCMC STC Jan 2015] Developing an Offshore Context-Driven Testing Team
[HCMC STC Jan 2015] Developing an Offshore Context-Driven Testing Team[HCMC STC Jan 2015] Developing an Offshore Context-Driven Testing Team
[HCMC STC Jan 2015] Developing an Offshore Context-Driven Testing Team
 
[HCMC STC Jan 2015] Proving Our Worth Quantifying The Value Of Testing
[HCMC STC Jan 2015] Proving Our Worth  Quantifying The Value Of Testing[HCMC STC Jan 2015] Proving Our Worth  Quantifying The Value Of Testing
[HCMC STC Jan 2015] Proving Our Worth Quantifying The Value Of Testing
 
[HCMC STC Jan 2015] Choosing The Best Of The Plan-Driven And Agile Developmen...
[HCMC STC Jan 2015] Choosing The Best Of The Plan-Driven And Agile Developmen...[HCMC STC Jan 2015] Choosing The Best Of The Plan-Driven And Agile Developmen...
[HCMC STC Jan 2015] Choosing The Best Of The Plan-Driven And Agile Developmen...
 
[HCMC STC Jan 2015] Creating a Better Testing Future
[HCMC STC Jan 2015] Creating a Better Testing Future[HCMC STC Jan 2015] Creating a Better Testing Future
[HCMC STC Jan 2015] Creating a Better Testing Future
 
[HCMC STC Jan 2015] How To Work Effectively As a Tester in Agile Teams
[HCMC STC Jan 2015] How To Work Effectively As a Tester in Agile Teams[HCMC STC Jan 2015] How To Work Effectively As a Tester in Agile Teams
[HCMC STC Jan 2015] How To Work Effectively As a Tester in Agile Teams
 
[HCMC STC Jan 2015] Performing Target Test in UMTS Network
[HCMC STC Jan 2015] Performing Target Test in UMTS Network[HCMC STC Jan 2015] Performing Target Test in UMTS Network
[HCMC STC Jan 2015] Performing Target Test in UMTS Network
 
Selecting the Right Automated Testing tool
Selecting the Right Automated Testing tool Selecting the Right Automated Testing tool
Selecting the Right Automated Testing tool
 
Ho Chi Minh City Software Testing Conference 2014 "Stay on the cutting-edge" ...
Ho Chi Minh City Software Testing Conference 2014 "Stay on the cutting-edge" ...Ho Chi Minh City Software Testing Conference 2014 "Stay on the cutting-edge" ...
Ho Chi Minh City Software Testing Conference 2014 "Stay on the cutting-edge" ...
 
[Vu Van Nguyen] Value-based Software Testing an Approach to Prioritizing Tests
[Vu Van Nguyen]  Value-based Software Testing an Approach to Prioritizing Tests[Vu Van Nguyen]  Value-based Software Testing an Approach to Prioritizing Tests
[Vu Van Nguyen] Value-based Software Testing an Approach to Prioritizing Tests
 
[Vu Van Nguyen] Test Estimation in Practice
[Vu Van Nguyen]  Test Estimation in Practice[Vu Van Nguyen]  Test Estimation in Practice
[Vu Van Nguyen] Test Estimation in Practice
 
[Thong Nguyen & Trong Bui] Behavior Driven Development (BDD) and Automation T...
[Thong Nguyen & Trong Bui] Behavior Driven Development (BDD) and Automation T...[Thong Nguyen & Trong Bui] Behavior Driven Development (BDD) and Automation T...
[Thong Nguyen & Trong Bui] Behavior Driven Development (BDD) and Automation T...
 

Último

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Último (20)

WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 

Test Design with Action-based Testing Methodology - Ngo Hoang Minh

  • 1. Ngo Hoang Minh TEST DESIGN WITH ACTION- BASED TESTING METHODOLOGY
  • 2. Who is your speaker? 2 • Software testing company, around since 1994 • Testing and test automation services: – consultancy, training – test development and automation services – "test integrated" development services • Products: – TestArchitect™, TestArchitect for Visual Studio™ – integrating test development with test management and automation – based on modularized keyword-driven testing • LogiGear Magazine: – themed issues, non-commercial LogiGear Corporation  Background in computer science, management  Since 2009 focusing on automated testing  keywords, agile testing Ngo Hoang Minh
  • 3. 3 Test Design With Action-Based
  • 4. 4 • Introduction • Action Based Testing, Test Modules • Success factors of test design (for automation) • Test case design • Action design • Final Agenda
  • 6. Testing Under Pressure 6 specification development test DEADLINE
  • 7. Testing Under Pressure – "Shift Left" 7 specification development test DEADLINE Develop tests in time: • Test design • Auditing, acceptance • Preparations • Automation
  • 9. Risks of keyword and scenario approaches 9 • Often seen as silver bullet, complications are underestimated – often treated as a technical "trick" – testers can get squeezed and marginalized • developers and users dictating tests • automation engineers dictating actions – testers can end up with an automation responsibility, thus becoming pseudo programmers • The method needs understanding and experience to be successful – pitfalls are many, and can have a negative effect on the outcome • Lack of method and structure can risk manageability – maintainability not as good as hoped – results can be disappointing, approach will be blamed
  • 10. Action Based Testing (ABT) 10 • Uses the keyword based "actions" as basis for a method – Covers test management, test development and automation – With a large focus on test design as the main driver for automation success – Method is specific, but concepts are generic • The central product in ABT is the "Test Module", not the test case – Like chapters in a book • test cases are part of the test modules, – Test development is seen as having both analytical and creative aspects – Developed as spread sheets, external from the automation – Each test module is a separate (mini) project, each test module can involve different stake holders
  • 11. Test Module 11 Test Module Initial - setup Objectives Test cases Final - cleanup
  • 12. Test Modules versus Test Cases 12 • The test module is a bigger unit in the test design – Easier to identify – A chapter rather than a paragraph • Better flow of execution – Each test case can set up for the next one – Keep test modules independent, test cases can be dependent • Test cases become creative output, rather than stifling input – Avoids having to define all test cases at once early in the process • Clear scope helps to identify cases, actions and checks
  • 14. Why Better Test Design? 14 • Better test design can improve quality of test – Many tests are often quite "mechanical" now, no surprises – One to one related to specifications, user stories or requirements, which often is ok, but lacks aggression – No combinations, no unexpected situations, lame and boring – Such tests have a hard time finding (interesting) bugs • Better test design can give (much) better automation – Unneeded details are left out of tests – Avoiding "over checking“ – Limit the impact of system changes on tests, making such impact more manageable
  • 15. The Three “Holy Grails” of Test Design 15 • Metaphor to depict three main steps in test design • Using "grail" to illustrate that there is no single perfect solution, but that it matters to pay attention Organization of tests into test modules Right approach for each test module Proper level of detail in the test specification
  • 17. What's the trick... 17 • Have or acquire facilities to store and organize your content • Select your stuff • Decide where to put what – assign and label the shelves • Put it there • If the organization is not sufficient anymore, add to it or change it
  • 18. Properties of a good Breakdown 18  Reflects the level of tests  Well differentiated and clear in scope  Balanced in size and amount  Modules mutually independent  Fitting the priorities and planning of the project
  • 19. Breakdown Criteria 19 • Common Criteria – Functionality (customers, finances, management information, UI, ...) – Architecture of the system under test (client, server, protocol, sub systems, components, modules, ...) – Kind of test (navigation flow, negative tests, response time, ...) • Additional Criteria – Stakeholders (like "Accounting", "Compliance", "HR", ...) – Complexity of the test (put complex tests in separate modules) – Execution aspects (special hardware, multi-station, ...) – Project planning (availability of information, timelines, sprints, ...) – Risks involved (extra test modules for high risk areas) – Ambition level (smoke test, regression, aggressive, …)
  • 20. Approach 1: Workshop 20 • Gather a meeting with relevant participants – test developers – domain experts – automation engineer (focus on efficiency of automation) – experienced moderator – also consider: developers, managers • If necessary, provide training of participants before the discussion • I prefer this approach, in particular to start off
  • 21. Approach 2: Design and Feedback 21 • One or two experienced test designers create a first draft • The draft is delivered/discussed to relevant parties • Ask the parties to verify: 1. Structure: does it make sense 2. Completeness: are all relevant areas covered • Based on feedback, further modify the design
  • 23. Grail 2: Approach per Test Module 23  When to develop: do we have enough information?  When to execute: make sure lower level stuff working first Plan the test module:  Do an intake: understand what is needed and devise an approach  Analyze requirements, formulate "test objectives", create tests Process :  See the test development as a "learning process", about the business domain, the application structure, the interaction, etc  Talk about your tests, make them strong Exploratory approach:  Users, subject matter experts, developers, auditors, etc Identify stakeholders and their involvement:  Users, subject matter experts, developers, auditors, etc Identify stakeholders and their involvement:
  • 24. Clarify your objectives with your tests . . . 24 requirement, specification, … test case requirement, specification, … test objective test case direct relation indirect relation via a test objective Linking through test objectives can help easier traceability: ... TO-3.51 The exit date must be after the entry date ... test objective TO-3.51 name entry date exit date enter employment Bill Goodfellow 2016-10-02 2016-10-01 check error message The exit date must be after the entry date.
  • 25. Test Objectives 25 • Keep test objectives short and simple • Focus on what to test, not how • Split longer texts into atomic sentences • Typically test objectives will be like: – cause and effect ("clicking clear clears all fields") – condition and effect ("if all fields filled, 'ok' is enabled")
  • 26. Eye on the ball, Scope 26 • Always know the scope of the test module • The scope should be unambiguous • The scope determines many things: – what the test objectives are – which test cases to expect – what level of actions to use – what the checks are about and which events should generate a warning or error (if a “lower” functionality is wrong)
  • 27. Use of "Anti-patterns" 27 • Informal way to classify typical test design problems • Use with care, can come across offensive • The point of view in the following list is automation: test design choices that can be counter-productive to automation • However, lack of good organization can also effect the quality of manual tests
  • 29. Grail 3: Specification Level, choosing actions 29 • Scope of the test determines the action level • As high level as appropriate, as little arguments as possible • Clear names for actions • Avoid "engineer" styles for names of actions and arguments – tests are not source code – like no spaces, uppercase, camel-case or underlines • Manage and document the Actions • Try to treat as a "by-product of test design"
  • 30. Low-level, high-level, mid-level actions 30 enter customer enter address fields enter select set . . .. . . "Low level": detailed interaction with the UI (or API) - generic, do not show any functional or business logic - examples: "click", "expand tree node", "select menu" "Mid level": common sequences at a more detailed application level - usually to wrap a form or dialog - for use in high level actions - greatly enhance maintainability - example: "enter address fields" "High level": a business domain operation or check on the application under test hide the interaction examples: "enter customer", "rent car", "check balance"
  • 31. Use the right level actions 31 Low level of UI interaction detail makes sense only with the module scope is to test the UI window tree tree item path click tree item main projects /Projects/Drill Assembly window list item check list item exists main tasks Plan of Approach Better to have a business level action and hide the details in an action definition: But do show details when it matters. The example below is too high level, requires drill down into action definition to understand what is tested.
  • 33. Takeaways 33 • Test design is a major contributor to automation success, often more than technical prowess • Domain language approaches like Actions and BDD allow for efficient communication and driving of automation • Test modules can help organize the tests, and focus their scopes • Focusing tests, checks and actions on a clear and differentiated scope will make for better tests, but also better automation
  • 34. © 2014 HCMC Software Testing Club THANK YOU