SlideShare a Scribd company logo
Michaël Pilaeten
Reducing your testing efforts…
magically!
Magic?
3© 2013 CTG, Inc.
4© 2013 CTG, Inc.
Huh?
simplification
age
civil
status
residence
How to reduce your test cases... magically!
How many test cases do you need?
How to reduce your test cases... magically!
10© 2013 CTG, Inc.
Again….
age
civil
status
work
residence
savings
wage
ecological
children properties charity
How to reduce your test cases... magically!
How to reduce your test cases... magically!
How to reduce your test cases... magically!
All combinations
How many test cases do you need?
No negative tests
One test per combination
How to reduce your test cases... magically!
17© 2013 CTG, Inc.
5 x 3 x 3 x 5 x 6 x 7 x 6 x 8 x 8 x 10
= 36.288.000 test cases
Writing a test case: 4 minutes
Executing a test case: 1 minute
36.288.000 test cases x 5 minutes
= 181.440.000 minutes of testing
= 378.000 man days of testing
= 2016 man years of testing
18© 2013 CTG, Inc.
One more thing….
How to reduce your test cases... magically!
Alternatives?
21© 2013 CTG, Inc.
Automation?
CHERRY
PICKING
How to reduce your test cases... magically!
How to reduce your test cases... magically!
26© 2013 CTG, Inc.
Bug research
Single mode Double mode
28© 2013 CTG, Inc.
The solution …
29© 2013 CTG, Inc.
Pairwise Testing
How to reduce your test cases... magically!
Conditions TC 1 TC 2 TC 3 TC 4 TC 5 TC 6
Condition 1
Condition 2
Condition 3
Condition 4
Condition 5
Binary orthogonal arrays are easy !
1
1
1
1
1
1
1
1
1
1
Step 1: # TC = (# conditions + 1)
Step 2: TC 1 all true
Step 3: Left diagonal true
Step 4: Remaining untrue
0
0
0
0
0 0 0 0
0 0 0
0 0 0
0 0 0
000
Only yes/no options
Conditions TC 1 TC 2 TC 3 TC 4 TC 5 TC 6
Condition 1
Condition 2
Condition 3
Condition 4
Condition 5
Binary orthogonal arrays are easy !
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0 0 0 0
0 0 0
0 0 0
0 0 0
000
A) Each single condition value is tested
B) Each couple of condition values is tested
single mode
defects
double mode
defects
Only yes/no options
Conditions TC 1 TC 2 TC 3 TC 4 TC 5 TC 6
Condition 1
Condition 2
Condition 3
Condition 4
Condition 5
Binary orthogonal arrays are easy !
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0 0 0 0
0 0 0
0 0 0
0 0 0
000
100% certainty of finding all combinatorial defects
25 or 2 x 2 x 2 x 2 x 2 = 32 -> 32 Test Cases
Only yes/no options
Conditions TC 1 TC 2 TC 3 TC 4 TC 5 TC 6
Condition 1
Condition 2
Condition 3
Condition 4
Condition 5
Binary orthogonal arrays are easy !
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0 0 0 0
0 0 0
0 0 0
0 0 0
000
100% certainty of finding all combinatorial defects
99,8% certainty of finding all combinatorial defects
Only yes/no options
32 Test Cases
6 Test Cases
Non-Binary orthogonal arrays…
Age:
3 possibilities
Civil status:
5 possibilities
Children:
6 possibilities
Properties:
6 possibilities
Work:
5 possibilities
Savings:
8 possibilities
Residence:
3 possibilities
Ecological:
10 possibilities
Wage:
7 possibilities
Charity:
8 possibilities
Age:
3 possibilities
Civil status:
5 possibilities
Children:
6 possibilities
Properties:
6 possibilities
Work:
5 possibilities
Savings:
8 possibilities
Residence:
3 possibilities
Ecological:
10 possibilities
Wage:
7 possibilities
Charity:
8 possibilities
We need this* orthogonal array:
* or larger
L 101
Age:
3 possibilities
Civil status:
5 possibilities
Children:
6 possibilities
Properties:
6 possibilities
Work:
5 possibilities
Savings:
8 possibilities
Residence:
3 possibilities
Ecological:
10 possibilities
Wage:
7 possibilities
Charity:
8 possibilities
We need this* orthogonal array:
* or larger
L 101 82
Age:
3 possibilities
Civil status:
5 possibilities
Children:
6 possibilities
Properties:
6 possibilities
Work:
5 possibilities
Savings:
8 possibilities
Residence:
3 possibilities
Ecological:
10 possibilities
Wage:
7 possibilities
Charity:
8 possibilities
We need this* orthogonal array:
* or larger
L 101 82 71
Age:
3 possibilities
Civil status:
5 possibilities
Children:
6 possibilities
Properties:
6 possibilities
Work:
5 possibilities
Savings:
8 possibilities
Residence:
3 possibilities
Ecological:
10 possibilities
Wage:
7 possibilities
Charity:
8 possibilities
We need this* orthogonal array:
* or larger
L 101 82 71 62
Age:
3 possibilities
Civil status:
5 possibilities
Children:
6 possibilities
Properties:
6 possibilities
Work:
5 possibilities
Savings:
8 possibilities
Residence:
3 possibilities
Ecological:
10 possibilities
Wage:
7 possibilities
Charity:
8 possibilities
We need this* orthogonal array:
* or larger
L 101 82 71 62 52
Age:
3 possibilities
Civil status:
5 possibilities
Children:
6 possibilities
Properties:
6 possibilities
Work:
5 possibilities
Savings:
8 possibilities
Residence:
3 possibilities
Ecological:
10 possibilities
Wage:
7 possibilities
Charity:
8 possibilities
We need this* orthogonal array:
* or larger
L 101 82 71 62 52 32
Catalogs of Non-Binary orthogonal arrays:
http://neilsloane.com/oadir/index.html
http://www.york.ac.uk/depts/maths/tables/orthogonal.htm
The Taguchi Orthogonal Array Selector:
http://www.freequality.org/documents/tools/Tagarray_files/tamatrix.htm
How to reduce your test cases... magically!
James Bach
@jamesmarcusbach
www.satisfice.org
46© 2013 CTG, Inc.
47© 2013 CTG, Inc.
5 x 3 x 3 x 5 x 6 x 7 x 6 x 8 x 8 x 10
= 36.288.000 test cases
Writing a test case: 4 minutes
Executing a test case: 1 minute
36.288.000 test cases x 5 minutes
= 181.440.000 minutes of testing
= 2016 man years of testing
Allpairs algorithm:
= 97 test cases
97 test cases x 5 minutes
= 485 minutes of testing
= 1 man day of testing
1 man day versus 2016 man years ?
48© 2013 CTG, Inc.
99,8% is not 100%
Different types of tests
Defect taxonomy
49© 2013 CTG, Inc.
REDUCE
FOCUS

More Related Content

PDF
permutations, combinations, conditional probability and Bayes Theorem.pdf
PPT
Classification
DOCX
1. Two filter beds are in a water treatment plant, with media an.docx
PPT
Probability power point combo from holt ch 10
PDF
7. binomial distribution
PPT
Scaffolding Decision Making
PPT
Scaffolding Decision Making
PPT
NCV 4 Mathematical Literacy Hands-On Support Slide Show - Module 1 Part 1
permutations, combinations, conditional probability and Bayes Theorem.pdf
Classification
1. Two filter beds are in a water treatment plant, with media an.docx
Probability power point combo from holt ch 10
7. binomial distribution
Scaffolding Decision Making
Scaffolding Decision Making
NCV 4 Mathematical Literacy Hands-On Support Slide Show - Module 1 Part 1

More from SQALab (20)

PDF
Готовим стажировку
PPTX
Куда приводят мечты? или Искусство развития тестировщика
PPT
Оптимизация Selenium тестов и ускорение их поддержки
PPT
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
PPTX
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
PPTX
Continuous performance testing
PDF
Конфиги вместо костылей. Pytestconfig и зачем он нужен
PPT
Команда чемпионов в ИТ стихии
PPTX
API. Серебряная пуля в магазине советов
PPTX
Добиваемся эффективности каждого из 9000+ UI-тестов
PPT
Делаем автоматизацию проектных KPIs
PDF
Вредные привычки в тест-менеджменте
PPTX
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
PPT
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
PPTX
Стили лидерства и тестирование
PPT
"Давайте не будем про качество"
PDF
Apache.JMeter для .NET-проектов
PPTX
Тестирование геолокационных систем
PPTX
Лидер или босс? Вот в чем вопрос
PPTX
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
Готовим стажировку
Куда приводят мечты? или Искусство развития тестировщика
Оптимизация Selenium тестов и ускорение их поддержки
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Continuous performance testing
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Команда чемпионов в ИТ стихии
API. Серебряная пуля в магазине советов
Добиваемся эффективности каждого из 9000+ UI-тестов
Делаем автоматизацию проектных KPIs
Вредные привычки в тест-менеджменте
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Стили лидерства и тестирование
"Давайте не будем про качество"
Apache.JMeter для .NET-проектов
Тестирование геолокационных систем
Лидер или босс? Вот в чем вопрос
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
Ad

Recently uploaded (20)

PDF
VCE English Exam - Section C Student Revision Booklet
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
Pharma ospi slides which help in ospi learning
PPTX
Lesson notes of climatology university.
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Institutional Correction lecture only . . .
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
01-Introduction-to-Information-Management.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Classroom Observation Tools for Teachers
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
VCE English Exam - Section C Student Revision Booklet
O5-L3 Freight Transport Ops (International) V1.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Pharma ospi slides which help in ospi learning
Lesson notes of climatology university.
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
GDM (1) (1).pptx small presentation for students
202450812 BayCHI UCSC-SV 20250812 v17.pptx
STATICS OF THE RIGID BODIES Hibbelers.pdf
Institutional Correction lecture only . . .
2.FourierTransform-ShortQuestionswithAnswers.pdf
01-Introduction-to-Information-Management.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Classroom Observation Tools for Teachers
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Ad

How to reduce your test cases... magically!

  • 1. Michaël Pilaeten Reducing your testing efforts… magically!
  • 4. 4© 2013 CTG, Inc. Huh?
  • 8. How many test cases do you need?
  • 10. 10© 2013 CTG, Inc. Again….
  • 15. All combinations How many test cases do you need? No negative tests One test per combination
  • 17. 17© 2013 CTG, Inc. 5 x 3 x 3 x 5 x 6 x 7 x 6 x 8 x 8 x 10 = 36.288.000 test cases Writing a test case: 4 minutes Executing a test case: 1 minute 36.288.000 test cases x 5 minutes = 181.440.000 minutes of testing = 378.000 man days of testing = 2016 man years of testing
  • 18. 18© 2013 CTG, Inc. One more thing….
  • 26. 26© 2013 CTG, Inc. Bug research
  • 28. 28© 2013 CTG, Inc. The solution …
  • 29. 29© 2013 CTG, Inc. Pairwise Testing
  • 31. Conditions TC 1 TC 2 TC 3 TC 4 TC 5 TC 6 Condition 1 Condition 2 Condition 3 Condition 4 Condition 5 Binary orthogonal arrays are easy ! 1 1 1 1 1 1 1 1 1 1 Step 1: # TC = (# conditions + 1) Step 2: TC 1 all true Step 3: Left diagonal true Step 4: Remaining untrue 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 Only yes/no options
  • 32. Conditions TC 1 TC 2 TC 3 TC 4 TC 5 TC 6 Condition 1 Condition 2 Condition 3 Condition 4 Condition 5 Binary orthogonal arrays are easy ! 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 A) Each single condition value is tested B) Each couple of condition values is tested single mode defects double mode defects Only yes/no options
  • 33. Conditions TC 1 TC 2 TC 3 TC 4 TC 5 TC 6 Condition 1 Condition 2 Condition 3 Condition 4 Condition 5 Binary orthogonal arrays are easy ! 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 100% certainty of finding all combinatorial defects 25 or 2 x 2 x 2 x 2 x 2 = 32 -> 32 Test Cases Only yes/no options
  • 34. Conditions TC 1 TC 2 TC 3 TC 4 TC 5 TC 6 Condition 1 Condition 2 Condition 3 Condition 4 Condition 5 Binary orthogonal arrays are easy ! 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 100% certainty of finding all combinatorial defects 99,8% certainty of finding all combinatorial defects Only yes/no options 32 Test Cases 6 Test Cases
  • 36. Age: 3 possibilities Civil status: 5 possibilities Children: 6 possibilities Properties: 6 possibilities Work: 5 possibilities Savings: 8 possibilities Residence: 3 possibilities Ecological: 10 possibilities Wage: 7 possibilities Charity: 8 possibilities
  • 37. Age: 3 possibilities Civil status: 5 possibilities Children: 6 possibilities Properties: 6 possibilities Work: 5 possibilities Savings: 8 possibilities Residence: 3 possibilities Ecological: 10 possibilities Wage: 7 possibilities Charity: 8 possibilities We need this* orthogonal array: * or larger L 101
  • 38. Age: 3 possibilities Civil status: 5 possibilities Children: 6 possibilities Properties: 6 possibilities Work: 5 possibilities Savings: 8 possibilities Residence: 3 possibilities Ecological: 10 possibilities Wage: 7 possibilities Charity: 8 possibilities We need this* orthogonal array: * or larger L 101 82
  • 39. Age: 3 possibilities Civil status: 5 possibilities Children: 6 possibilities Properties: 6 possibilities Work: 5 possibilities Savings: 8 possibilities Residence: 3 possibilities Ecological: 10 possibilities Wage: 7 possibilities Charity: 8 possibilities We need this* orthogonal array: * or larger L 101 82 71
  • 40. Age: 3 possibilities Civil status: 5 possibilities Children: 6 possibilities Properties: 6 possibilities Work: 5 possibilities Savings: 8 possibilities Residence: 3 possibilities Ecological: 10 possibilities Wage: 7 possibilities Charity: 8 possibilities We need this* orthogonal array: * or larger L 101 82 71 62
  • 41. Age: 3 possibilities Civil status: 5 possibilities Children: 6 possibilities Properties: 6 possibilities Work: 5 possibilities Savings: 8 possibilities Residence: 3 possibilities Ecological: 10 possibilities Wage: 7 possibilities Charity: 8 possibilities We need this* orthogonal array: * or larger L 101 82 71 62 52
  • 42. Age: 3 possibilities Civil status: 5 possibilities Children: 6 possibilities Properties: 6 possibilities Work: 5 possibilities Savings: 8 possibilities Residence: 3 possibilities Ecological: 10 possibilities Wage: 7 possibilities Charity: 8 possibilities We need this* orthogonal array: * or larger L 101 82 71 62 52 32
  • 43. Catalogs of Non-Binary orthogonal arrays: http://neilsloane.com/oadir/index.html http://www.york.ac.uk/depts/maths/tables/orthogonal.htm The Taguchi Orthogonal Array Selector: http://www.freequality.org/documents/tools/Tagarray_files/tamatrix.htm
  • 47. 47© 2013 CTG, Inc. 5 x 3 x 3 x 5 x 6 x 7 x 6 x 8 x 8 x 10 = 36.288.000 test cases Writing a test case: 4 minutes Executing a test case: 1 minute 36.288.000 test cases x 5 minutes = 181.440.000 minutes of testing = 2016 man years of testing Allpairs algorithm: = 97 test cases 97 test cases x 5 minutes = 485 minutes of testing = 1 man day of testing 1 man day versus 2016 man years ?
  • 48. 48© 2013 CTG, Inc. 99,8% is not 100% Different types of tests Defect taxonomy
  • 49. 49© 2013 CTG, Inc. REDUCE FOCUS

Editor's Notes

  • #21: Outsourcing / offshoring Test automation Or… Not testing everything (cherry picking) RRBT
  • #25: Risk and requirement based testing: writing and executing the test cases which poses the highest risk of malfunctioning. Pro: - functionalities with highest risk will most likely work Con: - how to make the risk assessment (based on)? - what with low risk areas which are used a lot? (customer satisfaction)
  • #28: Research shows that over 99,8% of all defects and incidents reported are either single-mode defects or double-mode defects. Single mode: one mistake in the code results in a defect that shows up during executiuon Double mode: two combined mistakes in the code result in a defect that shows up during execution The change for a Three (or higher) mode defect in the code, after all single mode and double mode defects are found, is below 0,02%.
  • #48: 378.000 x less effort