SlideShare a Scribd company logo
First Time QE - 2010
Test Case Design
Catalin Anastasoaie
V1.1 1
Photo by DaveBleasdale
Test Design – Agenda
• Why do we test?
• Test Case Design
– Specification based testing
– Input Domain testing
– Risk based testing
– Scenario testing
2
Why do we test?
• “Testing is questioning a product in order to
evaluate it”, by James Bach
• “Software testing is an investigation
conducted to provide stakeholders with
information about the quality of the product.”,
by Wikipedia
3Photo by tj scenes
Test Case Design
• Specification based testing
• Input Domain testing
• Risk based testing
• Scenario testing
4
Specification Based Testing
• Look for any specification
• Figure out what it says
– Analyze
– Gather more
information
• Write test cases
– 5W1H
– Decision Table
– State Transition
5
Specification: Analyze
• What’s missing?
• Will it work?
• Will it make sense for the user?
• Can I test this?
• Can I measure them?
• How will I find out if it works?
• Are there any contradictions?
6Photo by gcbb
Specification: Gather more info
• Ask for clarifications
• Point to the Elephant in the room
• Talk to the developer(s)
– Ask them about the risky parts
– Is there anything that they might want to share with
you?
7Photo by Carolyn Coles
Specification: 5W1H
• Who?
• What?
• Where?
• When?
• Why?
• How?
8
Specification: Write test cases
“The baby duck will swim in the pond each day.”
Who?
Is it a baby?
Will it grow old?
What does he eat?
What?
Can it swim?
For how long?
Where?
How big is the
pond?
How deep is it?
Salty or sweet?
When?
Each day?
Day and night?
What about
the weather?
Why?
• Will it always swim?
• Hungry?
• Need to go somewhere?
• Sightseeing?
• Following his mother?
How?
• How will it swim with broken leg?
• How will it submerge if the lake is
salty?
9Photo by on1stsite
Specification: Example
• Now let’s play with the calendar application
10
Specification: Decision Table
• Useful in systems where combinations of input
conditions produce different actions
• A way to capture system requirements that
contain logical conditions
• Relation between cause and effect
11
Decision Table Example
• A pizza delivery place has the following
discount rules:
– If you’re a regular customer, you get 5%
– For any order higher than 100 RON, customer gets
a 5% discount and if you order what’s on the
special offer for that day, an additional 2%
12
Specification: Decision Table
Test Case 1 Test Case 2 Test Case 3
Condition 1 T F F
Condition 2 T T F
Condition 3 F T F
Action 1 Y N N
Action 2 N Y N
13
Specification: State Transition
• Useful in systems characterized by a “finite
number of states”
– Behavior depends on current and past state(s)
• Create state transition diagrams
• Derive state tables
• Use the state tables to derive test cases
14
State Transition
Test Case 1 2 3 4 5
Initial State S1 S1 S2 S2 S3
Action Sign Up Login Click Link Resend
validation
(Click) link
Login
Final State S2 S1 S3 S2 S4
Expected
Results
Created
Account,
Send
confirmatio
n link
Wrong
Credentials
Validated
Account
Resent
validation
link
Logged In
A login system works like this: in order to login, the user has to
first sign up to register a new account, and validate the account
using the validation link sent to the e-mail address that he
provides
15
Input Domain Testing
• Equivalence Partitioning
• Boundary Testing
16Photo by fdecomite
Domain Testing: Equivalence
Partitioning
• To avoid unnecessary testing, partition
(divide) the range of inputs into groups of
equivalent tests.
• We treat two tests as equivalent if they are so
similar to each other that it seems pointless to
test both.
• Select an input value from the equivalence
class as representative of the full group.
17Photo by TheBusyBrain
Domain Testing: Boundary Analysis
• Behavior at the edge
of each equivalence
partition is more
likely to be incorrect
• Maximum and
minimum values of a
partition
18
• Both valid and invalid boundary values
Photo by ground.zero
Domain: Examples
• Calculator (add two numbers) A + B = SUM
A B SUM
[-99 .. 99] [-99 .. 99] [-198 .. 198]
> 99 > 99 > 198
< -99 < -99 < -198
-100 … …
… 100 …
-101 … …
… 101 …
19
Risk Based Testing
• Imagine how the program could fail
• Design test cases to expose these (potential)
failures
20Photo by kyz
Risk Based Testing
• A way the program could fail
• How likely it is that the program could fail in
that way
• What the consequences of that failure could
be
21
Risk Based Testing - Example
Failure Probability Consequence
The lake will freeze High The duck will not be able
to swim nor to eat
The duck will break one leg Low Swim in circles?
The pond will dry out Medium Not being able to swim
“The baby duck will swim in the pond each day.”
22
Risk Based Testing: Example
• Now let’s do some risk based testing on the
calendar application
23
Scenario Testing
• User personas (real users models)
• Real life examples of how the software will be
used
• Soap Opera Testing (by Hans Buwalda -
www.happytester.com )
24Photo by notfrancois
Scenario Testing: Why use it?
• Use your product as it will be used in real life
• Learn about your product
• Verify the claims made in the specification(s)
• Further investigation of known bugs
25
Scenario Testing: How to
• Choose a Scope
• Define your users
• And their behavior
• Sketch your test cases
26
Scenario Testing: Example
• Let’s take for example the - www.upb.ro
website
User Action
Teachers Search students, classes, info
Students Look for classes, Master
Programs
College students Admission information,
Alumni
Parents About, Dorms, Financial info
27
Soap Opera Testing
• It’s all about real life
• Many characters, multiple action plans
• Extreme (but not necessarily)
28http://iubirecainfilme.ro
Soap Opera: “Iubire ca in filme”
• “Ioana face aceste sacrificii pentru ca Raluca sa aiba parte de cea
mai buna educatie, la Scoala de fete, singura institutie de acest gen
care are si internat, un loc exclusivist si foarte strict. Oricit de mult
s-ar stradui Ioana, Raluca nu va fi ferita de necazuri care vin odata
cu prima iubire, mai precis atunci cind il cunoaste pe Dragos (Adrian
Nicolae), un tinar student la Stiinte Politice. Insa lucrurile incep sa
se complice cind prietena cea mai buna a Ralucai, Dana (Sabina
Brinduse), se indragosteste tot de Dragos...”
• “Ioana il cunoaste pe Stefan (Dan Bordeianu), fiul unei familii
bogate si intre cei doi se naste o iubire ca in filme. Ea se recomanda
ca fiind psiholog iar el o roaga sa il ajute sa iasa de sub influenta
mamei sale, doamna Elvira Varga (Catalina Mustata). Aceasta este o
femeie dominatoare care vrea sa controleze viata lui Stefan si a
surorii lui, Dana.”
• More on: http://iubirecainfilme.ro/sinopsis.html
29
Q & A
Catalin Anastasoaie
The Alchemy of Software Testing
http://www.acatalin.ro
• Resources:
– http://www.testingeducation.org/BBST
30

More Related Content

What's hot

Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
Hadi Fadlallah
 
Test Cases Maintaining & Documenting
Test Cases Maintaining & DocumentingTest Cases Maintaining & Documenting
Test Cases Maintaining & Documenting
Seyed Ali Marjaie
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
Rathna Priya
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808
slovejoy
 
Test Case, Use Case and Test Scenario
Test Case, Use Case and Test ScenarioTest Case, Use Case and Test Scenario
Test Case, Use Case and Test Scenario
Lokesh Agrawal
 
Test case design
Test case designTest case design
Test case design
99pillar
 
Writing Test Cases in Agile
Writing Test Cases in AgileWriting Test Cases in Agile
Writing Test Cases in Agile
Saroj Singh
 
Black box testing lecture 11
Black box testing lecture 11Black box testing lecture 11
Black box testing lecture 11
Abdul Basit
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.
Vinay Agnihotri
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
KiwiQA
 
Jira as a Test Management Tool
Jira as a Test Management ToolJira as a Test Management Tool
Jira as a Test Management Tool
Xpand IT
 
Test cases
Test casesTest cases
Test cases
Chandra Maddigapu
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
sonukalpana
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
VenkateswaraRao Siddabathula
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
Udayakumar Sree
 
Effective Software Test Case Design Approach
Effective Software Test Case Design ApproachEffective Software Test Case Design Approach
Effective Software Test Case Design Approach
Charles D. Carson, MSSWE, CSM, ASQ-CSQE
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
Steven Li
 
Best Practices for Test Case Writing
Best Practices for Test Case WritingBest Practices for Test Case Writing
Best Practices for Test Case Writing
Sarah Goldberg
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
Prachi Sasankar
 
So you think you can write a test case
So you think you can write a test caseSo you think you can write a test case
So you think you can write a test case
Srilu Balla
 

What's hot (20)

Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Test Cases Maintaining & Documenting
Test Cases Maintaining & DocumentingTest Cases Maintaining & Documenting
Test Cases Maintaining & Documenting
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808
 
Test Case, Use Case and Test Scenario
Test Case, Use Case and Test ScenarioTest Case, Use Case and Test Scenario
Test Case, Use Case and Test Scenario
 
Test case design
Test case designTest case design
Test case design
 
Writing Test Cases in Agile
Writing Test Cases in AgileWriting Test Cases in Agile
Writing Test Cases in Agile
 
Black box testing lecture 11
Black box testing lecture 11Black box testing lecture 11
Black box testing lecture 11
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
 
Jira as a Test Management Tool
Jira as a Test Management ToolJira as a Test Management Tool
Jira as a Test Management Tool
 
Test cases
Test casesTest cases
Test cases
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
Effective Software Test Case Design Approach
Effective Software Test Case Design ApproachEffective Software Test Case Design Approach
Effective Software Test Case Design Approach
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
 
Best Practices for Test Case Writing
Best Practices for Test Case WritingBest Practices for Test Case Writing
Best Practices for Test Case Writing
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
So you think you can write a test case
So you think you can write a test caseSo you think you can write a test case
So you think you can write a test case
 

Similar to Test Case Design

A Software Testing Intro
A Software Testing IntroA Software Testing Intro
A Software Testing Intro
Evozon Test Lab
 
G53 qat09pdf6up
G53 qat09pdf6upG53 qat09pdf6up
G53 qat09pdf6up
Kuaci Pedas
 
Big data
Big dataBig data
Big data
Zeeshan Khan
 
Lessons learnt at building recommendation services at industry scale
Lessons learnt at building recommendation services at industry scaleLessons learnt at building recommendation services at industry scale
Lessons learnt at building recommendation services at industry scale
Domonkos Tikk
 
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive SystemsTesting the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
Lionel Briand
 
Skillwise Big data
Skillwise Big dataSkillwise Big data
Skillwise Big data
Skillwise Group
 
IBANK - Big data www.ibank.uk.com 07474222079
IBANK - Big data www.ibank.uk.com 07474222079IBANK - Big data www.ibank.uk.com 07474222079
IBANK - Big data www.ibank.uk.com 07474222079
ibankuk
 
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Lionel Briand
 
Big data
Big dataBig data
Big data
Big dataBig data
Big data
Harshit Namdev
 
Hadoop PDF
Hadoop PDFHadoop PDF
Hadoop PDF
1904saikrishna
 
A Introduction To A-B Test
A Introduction To A-B TestA Introduction To A-B Test
A Introduction To A-B Test
yihucha
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance Systems
Lionel Briand
 
Neotys PAC - Bruno Da Silva
Neotys PAC - Bruno Da SilvaNeotys PAC - Bruno Da Silva
Neotys PAC - Bruno Da Silva
Neotys_Partner
 
The art of system and solution testing
The art of system and solution testingThe art of system and solution testing
The art of system and solution testing
gaoliang641
 
blckboxtesting.ppt il.;io'/ ulio'[ yjko8i[0'-p/ yk
blckboxtesting.ppt il.;io'/ ulio'[ yjko8i[0'-p/ ykblckboxtesting.ppt il.;io'/ ulio'[ yjko8i[0'-p/ yk
blckboxtesting.ppt il.;io'/ ulio'[ yjko8i[0'-p/ yk
SMayankSharma
 
Recommendation engine Using Genetic Algorithm
Recommendation engine Using Genetic AlgorithmRecommendation engine Using Genetic Algorithm
Recommendation engine Using Genetic Algorithm
Vaibhav Varshney
 
Statistical Significance Testing in Information Retrieval: An Empirical Analy...
Statistical Significance Testing in Information Retrieval: An Empirical Analy...Statistical Significance Testing in Information Retrieval: An Empirical Analy...
Statistical Significance Testing in Information Retrieval: An Empirical Analy...
Julián Urbano
 
From Labelling Open data images to building a private recommender system
From Labelling Open data images to building a private recommender systemFrom Labelling Open data images to building a private recommender system
From Labelling Open data images to building a private recommender system
Pierre Gutierrez
 
Reliable and Scalable Data Ingestion at Airbnb
Reliable and Scalable Data Ingestion at AirbnbReliable and Scalable Data Ingestion at Airbnb
Reliable and Scalable Data Ingestion at Airbnb
DataWorks Summit/Hadoop Summit
 

Similar to Test Case Design (20)

A Software Testing Intro
A Software Testing IntroA Software Testing Intro
A Software Testing Intro
 
G53 qat09pdf6up
G53 qat09pdf6upG53 qat09pdf6up
G53 qat09pdf6up
 
Big data
Big dataBig data
Big data
 
Lessons learnt at building recommendation services at industry scale
Lessons learnt at building recommendation services at industry scaleLessons learnt at building recommendation services at industry scale
Lessons learnt at building recommendation services at industry scale
 
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive SystemsTesting the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
 
Skillwise Big data
Skillwise Big dataSkillwise Big data
Skillwise Big data
 
IBANK - Big data www.ibank.uk.com 07474222079
IBANK - Big data www.ibank.uk.com 07474222079IBANK - Big data www.ibank.uk.com 07474222079
IBANK - Big data www.ibank.uk.com 07474222079
 
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
 
Big data
Big dataBig data
Big data
 
Big data
Big dataBig data
Big data
 
Hadoop PDF
Hadoop PDFHadoop PDF
Hadoop PDF
 
A Introduction To A-B Test
A Introduction To A-B TestA Introduction To A-B Test
A Introduction To A-B Test
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance Systems
 
Neotys PAC - Bruno Da Silva
Neotys PAC - Bruno Da SilvaNeotys PAC - Bruno Da Silva
Neotys PAC - Bruno Da Silva
 
The art of system and solution testing
The art of system and solution testingThe art of system and solution testing
The art of system and solution testing
 
blckboxtesting.ppt il.;io'/ ulio'[ yjko8i[0'-p/ yk
blckboxtesting.ppt il.;io'/ ulio'[ yjko8i[0'-p/ ykblckboxtesting.ppt il.;io'/ ulio'[ yjko8i[0'-p/ yk
blckboxtesting.ppt il.;io'/ ulio'[ yjko8i[0'-p/ yk
 
Recommendation engine Using Genetic Algorithm
Recommendation engine Using Genetic AlgorithmRecommendation engine Using Genetic Algorithm
Recommendation engine Using Genetic Algorithm
 
Statistical Significance Testing in Information Retrieval: An Empirical Analy...
Statistical Significance Testing in Information Retrieval: An Empirical Analy...Statistical Significance Testing in Information Retrieval: An Empirical Analy...
Statistical Significance Testing in Information Retrieval: An Empirical Analy...
 
From Labelling Open data images to building a private recommender system
From Labelling Open data images to building a private recommender systemFrom Labelling Open data images to building a private recommender system
From Labelling Open data images to building a private recommender system
 
Reliable and Scalable Data Ingestion at Airbnb
Reliable and Scalable Data Ingestion at AirbnbReliable and Scalable Data Ingestion at Airbnb
Reliable and Scalable Data Ingestion at Airbnb
 

Recently uploaded

Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 

Recently uploaded (20)

Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 

Test Case Design

  • 1. First Time QE - 2010 Test Case Design Catalin Anastasoaie V1.1 1
  • 2. Photo by DaveBleasdale Test Design – Agenda • Why do we test? • Test Case Design – Specification based testing – Input Domain testing – Risk based testing – Scenario testing 2
  • 3. Why do we test? • “Testing is questioning a product in order to evaluate it”, by James Bach • “Software testing is an investigation conducted to provide stakeholders with information about the quality of the product.”, by Wikipedia 3Photo by tj scenes
  • 4. Test Case Design • Specification based testing • Input Domain testing • Risk based testing • Scenario testing 4
  • 5. Specification Based Testing • Look for any specification • Figure out what it says – Analyze – Gather more information • Write test cases – 5W1H – Decision Table – State Transition 5
  • 6. Specification: Analyze • What’s missing? • Will it work? • Will it make sense for the user? • Can I test this? • Can I measure them? • How will I find out if it works? • Are there any contradictions? 6Photo by gcbb
  • 7. Specification: Gather more info • Ask for clarifications • Point to the Elephant in the room • Talk to the developer(s) – Ask them about the risky parts – Is there anything that they might want to share with you? 7Photo by Carolyn Coles
  • 8. Specification: 5W1H • Who? • What? • Where? • When? • Why? • How? 8
  • 9. Specification: Write test cases “The baby duck will swim in the pond each day.” Who? Is it a baby? Will it grow old? What does he eat? What? Can it swim? For how long? Where? How big is the pond? How deep is it? Salty or sweet? When? Each day? Day and night? What about the weather? Why? • Will it always swim? • Hungry? • Need to go somewhere? • Sightseeing? • Following his mother? How? • How will it swim with broken leg? • How will it submerge if the lake is salty? 9Photo by on1stsite
  • 10. Specification: Example • Now let’s play with the calendar application 10
  • 11. Specification: Decision Table • Useful in systems where combinations of input conditions produce different actions • A way to capture system requirements that contain logical conditions • Relation between cause and effect 11
  • 12. Decision Table Example • A pizza delivery place has the following discount rules: – If you’re a regular customer, you get 5% – For any order higher than 100 RON, customer gets a 5% discount and if you order what’s on the special offer for that day, an additional 2% 12
  • 13. Specification: Decision Table Test Case 1 Test Case 2 Test Case 3 Condition 1 T F F Condition 2 T T F Condition 3 F T F Action 1 Y N N Action 2 N Y N 13
  • 14. Specification: State Transition • Useful in systems characterized by a “finite number of states” – Behavior depends on current and past state(s) • Create state transition diagrams • Derive state tables • Use the state tables to derive test cases 14
  • 15. State Transition Test Case 1 2 3 4 5 Initial State S1 S1 S2 S2 S3 Action Sign Up Login Click Link Resend validation (Click) link Login Final State S2 S1 S3 S2 S4 Expected Results Created Account, Send confirmatio n link Wrong Credentials Validated Account Resent validation link Logged In A login system works like this: in order to login, the user has to first sign up to register a new account, and validate the account using the validation link sent to the e-mail address that he provides 15
  • 16. Input Domain Testing • Equivalence Partitioning • Boundary Testing 16Photo by fdecomite
  • 17. Domain Testing: Equivalence Partitioning • To avoid unnecessary testing, partition (divide) the range of inputs into groups of equivalent tests. • We treat two tests as equivalent if they are so similar to each other that it seems pointless to test both. • Select an input value from the equivalence class as representative of the full group. 17Photo by TheBusyBrain
  • 18. Domain Testing: Boundary Analysis • Behavior at the edge of each equivalence partition is more likely to be incorrect • Maximum and minimum values of a partition 18 • Both valid and invalid boundary values Photo by ground.zero
  • 19. Domain: Examples • Calculator (add two numbers) A + B = SUM A B SUM [-99 .. 99] [-99 .. 99] [-198 .. 198] > 99 > 99 > 198 < -99 < -99 < -198 -100 … … … 100 … -101 … … … 101 … 19
  • 20. Risk Based Testing • Imagine how the program could fail • Design test cases to expose these (potential) failures 20Photo by kyz
  • 21. Risk Based Testing • A way the program could fail • How likely it is that the program could fail in that way • What the consequences of that failure could be 21
  • 22. Risk Based Testing - Example Failure Probability Consequence The lake will freeze High The duck will not be able to swim nor to eat The duck will break one leg Low Swim in circles? The pond will dry out Medium Not being able to swim “The baby duck will swim in the pond each day.” 22
  • 23. Risk Based Testing: Example • Now let’s do some risk based testing on the calendar application 23
  • 24. Scenario Testing • User personas (real users models) • Real life examples of how the software will be used • Soap Opera Testing (by Hans Buwalda - www.happytester.com ) 24Photo by notfrancois
  • 25. Scenario Testing: Why use it? • Use your product as it will be used in real life • Learn about your product • Verify the claims made in the specification(s) • Further investigation of known bugs 25
  • 26. Scenario Testing: How to • Choose a Scope • Define your users • And their behavior • Sketch your test cases 26
  • 27. Scenario Testing: Example • Let’s take for example the - www.upb.ro website User Action Teachers Search students, classes, info Students Look for classes, Master Programs College students Admission information, Alumni Parents About, Dorms, Financial info 27
  • 28. Soap Opera Testing • It’s all about real life • Many characters, multiple action plans • Extreme (but not necessarily) 28http://iubirecainfilme.ro
  • 29. Soap Opera: “Iubire ca in filme” • “Ioana face aceste sacrificii pentru ca Raluca sa aiba parte de cea mai buna educatie, la Scoala de fete, singura institutie de acest gen care are si internat, un loc exclusivist si foarte strict. Oricit de mult s-ar stradui Ioana, Raluca nu va fi ferita de necazuri care vin odata cu prima iubire, mai precis atunci cind il cunoaste pe Dragos (Adrian Nicolae), un tinar student la Stiinte Politice. Insa lucrurile incep sa se complice cind prietena cea mai buna a Ralucai, Dana (Sabina Brinduse), se indragosteste tot de Dragos...” • “Ioana il cunoaste pe Stefan (Dan Bordeianu), fiul unei familii bogate si intre cei doi se naste o iubire ca in filme. Ea se recomanda ca fiind psiholog iar el o roaga sa il ajute sa iasa de sub influenta mamei sale, doamna Elvira Varga (Catalina Mustata). Aceasta este o femeie dominatoare care vrea sa controleze viata lui Stefan si a surorii lui, Dana.” • More on: http://iubirecainfilme.ro/sinopsis.html 29
  • 30. Q & A Catalin Anastasoaie The Alchemy of Software Testing http://www.acatalin.ro • Resources: – http://www.testingeducation.org/BBST 30