test cases - are they dead?
TRANSCRIPT
Are test cases dead?
The second life with lean test cases
Alexei VinogradovVojtech Barta
Alexei VinogradovIT-Consultant
testing, test management, test automation, coaching
email: [email protected]: alexejvtwitter: @i_vinoblog: http://qa-blog.alexei-vinogradov.de
https://www.softwerkskammer.org/groups/testing
http://radio-qa.com
What is a Test Case?• Test Cases are for testers to execute functional testing in the
most efficient way providing following information if relevant
• Pre-condition
• Description
• Steps
• Post-condition
• Test Data
• …. Anything else you need...
• All of these are optional, specially Steps
Positive motivation• Functional testing requires structure
• Plan
• Execute
• Track the progress
• Report results
• Repeat
Wrong motivation
• Lack of knowledge
• Bad Requirements
• Trust Issues
Do we need them?
Overview• Proposition of Lean Test Cases (LTC)
• What is different on LTC from TC
• Examples of LTC
• Comparison to Checklists & Explorative
• LTC and Agile
• LTC and large scale projects
Lean Test Cases
Lean test cases (LTC) are the written test ideas that can be executed by a tester who knows and understands the System Under Test (SUT)
Not yet
Lean Test Caseslike classic Test Cases, but without
• (formal) preconditions
• steps
• (formal) postconditions
• (very often) input values
Classic Test CasesExample: (Calculator App) - simple addition• Preconditions: the app is started, no operation is active,
display is showing 0.
• Steps:1. press „2“. Expected: 2 is displayed2. press „+“. Expected: 2 is displayed3. press „5“, Expected: 5 is displayed4. press „=„, Expected: 7 is displayed
• Postcondition: „7“ is still displayed and will be used for the next operation.
Lean Test CasesExamples: (Calculator App)
• It must be possible to add 2 numbers
• It must be possible to multiply 2 numbers
Lean Test CasesExamples: (Calculator App)
• It must be possible to add the number to displayed value from previous operation
(with informal precondition)
Lean Test CasesExamples: (Calculator App)
• After pressing „M+“ the result of „memory“-cell is added to the number showing. The result is not displayed, but stays as a new value of „memory“-cell
(with informal postcondition)
Lean Test CasesExamples: (Traffic Lights App)
• 2 lights at the crossing switch from Red <-> Green:
1. Light 1: Red Light 2: Green2. Light 1: Red Light 2: Yellow3. Light 1: Red Light 2: Red4. Light 1: Red+Yellow Light 2: Red5. Light 1: Green Light 2: Red
(with test data)
LTC vs Classic Test CasesSimilar to test cases:
• manage in TestCase Management Tools
• add meta-data (creation date, links to reqs, creator, priority, functional sets etc.)
• test coverage
• regression testing
LTC vs ChecklistsFormat of any given lean test case is similar to the format of one checklist entry, but:
• LTC not a list, but „database“ of tests
• LTC share similarities with classic TC, Checklists - not
LTC vs ExplorativeSimilarity:
• input test data „generated“ during execution
Difference:
• LTC - test design before execution, Explorative - during
LTC in Agile• create after user story is defined
• acceptance criterias + more
• share with developers and PO ASAP
• get feedback from developers and PO
LTC in Agile• assign LTC to test automation levels (Module, Integration, EndToEnd)
LTC-1LTC-2LTC-3
..LTC-N
LTC in Agile• manage formally or not - up to team
• let’em test! (it works)
LTC in large projects• even more important to switch to LTC
• help to find bad requirements
• enforce to gather knowledge about project
• works very well with clear user stories
Lean Test Cases: Tips• in some situations use classic test cases with steps ( if very complex logic, etc)
• structure your (many) tests
• make the best use of your test case management tools
Lean test cases: benefits
• time (faster)
• cost (cheaper)
• easier to read for not-testers
Lean test cases: benefits
• less maintenance
Lean test cases: benefits
• more interesting to execute
Lean test cases: benefits
Lean test cases: summary
• test design more effective and more efficient
• better quality of test execution (more use of humans cognitive abilities)
• can be used for wide variety of projects
Summary
Test cases are dead!
Long Live (Lean) Test Cases!
Have fun at SQA Days 20!
Photo: Sekhar, India ©
The End.Questions?
skype: alexejvemail: [email protected]: @i_vino