SlideShare a Scribd company logo
TEST DESIGN TUTORIAL
CZYLI SZTUKA PROJEKTOWANIA TESTÓW
AGNIESZKA GARWOLIŃSKA
7.06.2017
INTRODUCTION
The main challenge in software validation is to design tests
so they cover all requirements keeping right balance. It
means to limit quantity of tests, at the same time ensuring
enough use cases are verified.
COST
RISK Optimum security
at minimum cost
INTRODUCTION
This tutorial provides Best Known Methods that
significantly improved my test design process by
reducing the workload and simultaneously increasing
productivity and the quality of designed tests.
The method based on the discipline in the
implementation of the test phases and using
standardized test architecture.
THREE FUNDAMETAL STEPS
 Recognizing WHAT?
 Architecture HOW?
 Utilities HOW?
REQUIREMENTS FEATURE SPECIALIST CONSULTATION
OBJECTIVE PRECONDITIONS
TEST
PREPARATION
TEST
RUN
TEST
CLEAN-UP
TOOLS DICTIONARIES CODING STANDARDS
RECOGNIZING:
WHAT I NEED TO TEST?
You need to find out how should it work:
 Which requirements describes tested feature
 How this feature usually works
 What are the weaknesses of this feature
Example:
Requirement: Linux driver must cooperate with native kernel SW
RAID solution
SW RAID 0 SW RAID 1
SW RAID 2 SW RAID 3SW RAID 4
SW RAID 5
SW RAID 6
SW RAID 1 + 0
WORKS PROPERLY...
ARCHITECTURERECOGNIZING UTILITIES
SW RAID 3
SW RAID 0 SW RAID 1
SW RAID 2SW RAID 4
SW RAID 5
SW RAID 6
SW RAID 1 + 0
WORKS PROPERLY...
ARCHITECTURERECOGNIZING UTILITIES
You need to find out how should it work:
 Which requirements describes tested feature
 How this feature usually works
 What are the weaknesses of this feature
Example:
Requirement: Linux driver must cooperate with native kernel SW
RAID solution
RECOGNIZING:
WHAT I NEED TO TEST?
You need to find out how should it work:
 Which requirements describes tested feature
 How this feature usually works
 What are the weaknesses of this feature
Example:
Requirement: Linux driver must cooperate with native kernel SW
RAID solution
SW RAID 0 SW RAID 1 SW RAID 5 SW RAID 1 + 0
WORKS PROPERLY STANDARD
CONDITIONS
AFTER RAID
RESTART
AFTER DUT
REBOOT
AFTER DUT
SHUTDOWN
ARCHITECTURERECOGNIZING UTILITIES
RECOGNIZING:
WHAT I NEED TO TEST?
A great solution is to build a test matrix arising from
requirements analysis. This matrix must capture the
different possibilities, features, and combinations of
factors that affect the behavior of our tested object.
In this way it is possible to easily determine the required
test cases, their scope, and quantity.
The test cases are created in an orderly, systematic way,
keeping strictly considered test architecture.
ARCHITECTURERECOGNIZING UTILITIES
ARCHITECTURE OF TEST DESIGN
ARCHITECTURERECOGNIZING UTILITIES
HOW SHOULD I BUILD TEST SUITE?
TEST
MATRIX
Mode X
on: 1
off: 0
Special
conditions
RAID 0 RAID 1 RAID 5 RAID 1+0
Verify for 1
device
0 TC_R0_ON1_01 TC_R1_ON1_01 n/a n/a
1 TC_R0_ON1_02 TC_R1_ON1_02 n/a n/a
1 RAID restart TC_R0_ON1_03 TC_R1_ON1_03 n/a n/a
1 Reboot DUT TC_R0_ON1_04 TC_R1_ON1_04 n/a n/a
1 Shutdown TC_R0_ON1_05 TC_R1_ON1_05 n/a n/a
Verify for 2
devices
0 TC_R0_ON2_01 TC_R1_ON2_01 TC_R5_ON2_01 n/a
1 TC_R0_ON2_02 TC_R1_ON2_02 TC_R5_ON2_02 n/a
1 RAID restart TC_R0_ON2_03 TC_R1_ON2_03 TC_R5_ON2_03 n/a
1 Reboot DUT TC_R0_ON2_04 TC_R1_ON2_04 TC_R5_ON2_04 n/a
1 Shutdown TC_R0_ON2_05 TC_R1_ON2_05 TC_R5_ON2_05 n/a
...
HOW SHOULD I FORMULATE
TEST OBJECTIVE?
Verify if SW RAID [0, 1, 5, 10] works properly embedded on [1, 2, 3, 4, 5, 6]
[Device 1, Device 2] with Mode X [on, off] works properly [ , after RAID restart, after reboot
DUT, after DUT shutdown]
ARCHITECTURERECOGNIZING UTILITIES
TEST
MATRIX
Mode X
on: 1
off: 0
Special
conditions
RAID 0 RAID 1 RAID 5 RAID 1+0
Verify for 1
device
0 TC_R0_ON1_01 TC_R1_ON1_01 n/a n/a
1 TC_R0_ON1_02 TC_R1_ON1_02 n/a n/a
1 RAID restart TC_R0_ON1_03 TC_R1_ON1_03 n/a n/a
1 Reboot DUT TC_R0_ON1_04 TC_R1_ON1_04 n/a n/a
1 Shutdown DUT TC_R0_ON1_05 TC_R1_ON1_05 n/a n/a
...
Objectives are defined.
What Preconditions must be fullfiled in order to be able
run the test?
Which of them are repetitive?
Which are rather unique?
What is main scope of the test?
What needs to be clean up after all?
HOW SHOULD I DESIGN TEST CASE?
ARCHITECTURERECOGNIZING UTILITIES
OBJECTIVE PRECONDITIONS
TEST
PREPARATION
TEST
RUN
TEST
CLEAN-UP
PRECONDITIONS
PRECONDITIONS
TEST PREPARATION
TEST RUN
TEST CLEAN-UP
TEST
PREPARATION
TEST
RUN
TEST
CLEAN-UP
ARCHITECTURERECOGNIZING UTILITIES
OBJECTIVE PRECONDITIONS
TEST
PREPARATION
TEST
RUN
TEST
CLEAN-UP
TOOLS DICTIONARIES CODING STANDARDS
EXCEL ALM PRECONDITIONS
PASS/FAIL CRITERIA
PYGUIDEPEP 0008 GVP
HOW SHOULD I DESIGN TEST CASE?
UTILITIES
DZIĘKUJĘ ZA UWAGĘ 

More Related Content

What's hot

Tdd practices
Tdd practicesTdd practices
Tdd practices
axykim00
 
Tdd
TddTdd
Test driven development - Zombie proof your code
Test driven development - Zombie proof your codeTest driven development - Zombie proof your code
Test driven development - Zombie proof your code
Pascal Larocque
 
Tdd
TddTdd
Test drive on driven development process
Test drive on driven development processTest drive on driven development process
Test drive on driven development process
Muralidharan Deenathayalan
 
Test driven development(tdd)
Test driven development(tdd)Test driven development(tdd)
Test driven development(tdd)
Omar Youssef Shiha
 
Continuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous DeliveryContinuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous Delivery
John Ferguson Smart Limited
 
Test driven development
Test driven developmentTest driven development
Test driven developmentShalabh Saxena
 
Tdd
TddTdd
Test driven development in meteor
Test driven development in meteorTest driven development in meteor
Test driven development in meteor
Michael Lazarski
 
TDD with RSpec
TDD with RSpecTDD with RSpec
TDD with RSpec
Rachid Calazans
 
Tdd com Java
Tdd com JavaTdd com Java
Tdd com Java
Rafael Miceli
 
Btd presentation-2011
Btd presentation-2011Btd presentation-2011
Btd presentation-2011
kinow
 
Test driven development vs Behavior driven development
Test driven development vs Behavior driven developmentTest driven development vs Behavior driven development
Test driven development vs Behavior driven development
Gallop Solutions
 
Java Beginners Meetup February 2017: Testing and TDD
Java Beginners Meetup February 2017: Testing and TDDJava Beginners Meetup February 2017: Testing and TDD
Java Beginners Meetup February 2017: Testing and TDD
Patrick Kostjens
 
Test driven development
Test driven developmentTest driven development
Test driven development
Sharafat Ibn Mollah Mosharraf
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Orbit One - We create coherence
 
Cf objective2014 testing-testingeverywhere
Cf objective2014   testing-testingeverywhereCf objective2014   testing-testingeverywhere
Cf objective2014 testing-testingeverywhereColdFusionConference
 
Agile Test Driven Development
Agile Test Driven DevelopmentAgile Test Driven Development
Agile Test Driven Development
Viraf Karai
 

What's hot (19)

Tdd practices
Tdd practicesTdd practices
Tdd practices
 
Tdd
TddTdd
Tdd
 
Test driven development - Zombie proof your code
Test driven development - Zombie proof your codeTest driven development - Zombie proof your code
Test driven development - Zombie proof your code
 
Tdd
TddTdd
Tdd
 
Test drive on driven development process
Test drive on driven development processTest drive on driven development process
Test drive on driven development process
 
Test driven development(tdd)
Test driven development(tdd)Test driven development(tdd)
Test driven development(tdd)
 
Continuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous DeliveryContinuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous Delivery
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Tdd
TddTdd
Tdd
 
Test driven development in meteor
Test driven development in meteorTest driven development in meteor
Test driven development in meteor
 
TDD with RSpec
TDD with RSpecTDD with RSpec
TDD with RSpec
 
Tdd com Java
Tdd com JavaTdd com Java
Tdd com Java
 
Btd presentation-2011
Btd presentation-2011Btd presentation-2011
Btd presentation-2011
 
Test driven development vs Behavior driven development
Test driven development vs Behavior driven developmentTest driven development vs Behavior driven development
Test driven development vs Behavior driven development
 
Java Beginners Meetup February 2017: Testing and TDD
Java Beginners Meetup February 2017: Testing and TDDJava Beginners Meetup February 2017: Testing and TDD
Java Beginners Meetup February 2017: Testing and TDD
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Cf objective2014 testing-testingeverywhere
Cf objective2014   testing-testingeverywhereCf objective2014   testing-testingeverywhere
Cf objective2014 testing-testingeverywhere
 
Agile Test Driven Development
Agile Test Driven DevelopmentAgile Test Driven Development
Agile Test Driven Development
 

Similar to TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska

Test Driven Development with Sql Server
Test Driven Development with Sql ServerTest Driven Development with Sql Server
Test Driven Development with Sql Server
David P. Moore
 
Oracle Analytics Server Infrastructure Tuning guide v2.pdf
Oracle Analytics Server Infrastructure Tuning guide v2.pdfOracle Analytics Server Infrastructure Tuning guide v2.pdf
Oracle Analytics Server Infrastructure Tuning guide v2.pdf
sivakodali7
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Jason Ragsdale
 
Software Testing - Online Guide
Software Testing - Online GuideSoftware Testing - Online Guide
Software Testing - Online Guide
bigspire
 
TDD in Javascript
TDD in JavascriptTDD in Javascript
TDD in Javascript
Mathieu Breton
 
Application Testing
Application TestingApplication Testing
Application Testing
Reggie Niccolo Santos
 
Test Driven iOS Development (TDD)
Test Driven iOS Development (TDD)Test Driven iOS Development (TDD)
Test Driven iOS Development (TDD)Babul Mirdha
 
Test Driven Development - Tulsa TechFest 2009
Test Driven Development - Tulsa TechFest 2009Test Driven Development - Tulsa TechFest 2009
Test Driven Development - Tulsa TechFest 2009Jason Ragsdale
 
AQA_You are_Soaking_In_It_DevNexus2020
AQA_You are_Soaking_In_It_DevNexus2020AQA_You are_Soaking_In_It_DevNexus2020
AQA_You are_Soaking_In_It_DevNexus2020
Shelley Lambert
 
Test Driven Development - 09/2009
Test Driven Development - 09/2009Test Driven Development - 09/2009
Test Driven Development - 09/2009Jason Ragsdale
 
Test Environment: An Essential Component Of The DevSecOps Framework
Test Environment: An Essential Component Of The DevSecOps FrameworkTest Environment: An Essential Component Of The DevSecOps Framework
Test Environment: An Essential Component Of The DevSecOps Framework
Enov8
 
Tdd
TddTdd
Denodo Solution Manager: Best Practices for Promotion
Denodo Solution Manager: Best Practices for PromotionDenodo Solution Manager: Best Practices for Promotion
Denodo Solution Manager: Best Practices for Promotion
Denodo
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
jaredrrichardson
 
Developers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomonDevelopers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomon
Ineke Scheffers
 
ASIC design verification
ASIC design verificationASIC design verification
ASIC design verification
Gireesh Kallihal
 
Developer Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle ManagementDeveloper Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle ManagementThomas Eldblom
 
2011-02-03 LA RubyConf Rails3 TDD Workshop
2011-02-03 LA RubyConf Rails3 TDD Workshop2011-02-03 LA RubyConf Rails3 TDD Workshop
2011-02-03 LA RubyConf Rails3 TDD Workshop
Wolfram Arnold
 

Similar to TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska (20)

Test Driven Development with Sql Server
Test Driven Development with Sql ServerTest Driven Development with Sql Server
Test Driven Development with Sql Server
 
Oracle Analytics Server Infrastructure Tuning guide v2.pdf
Oracle Analytics Server Infrastructure Tuning guide v2.pdfOracle Analytics Server Infrastructure Tuning guide v2.pdf
Oracle Analytics Server Infrastructure Tuning guide v2.pdf
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Software Testing - Online Guide
Software Testing - Online GuideSoftware Testing - Online Guide
Software Testing - Online Guide
 
TDD in Javascript
TDD in JavascriptTDD in Javascript
TDD in Javascript
 
Application Testing
Application TestingApplication Testing
Application Testing
 
Test Driven iOS Development (TDD)
Test Driven iOS Development (TDD)Test Driven iOS Development (TDD)
Test Driven iOS Development (TDD)
 
Test Driven Development - Tulsa TechFest 2009
Test Driven Development - Tulsa TechFest 2009Test Driven Development - Tulsa TechFest 2009
Test Driven Development - Tulsa TechFest 2009
 
AQA_You are_Soaking_In_It_DevNexus2020
AQA_You are_Soaking_In_It_DevNexus2020AQA_You are_Soaking_In_It_DevNexus2020
AQA_You are_Soaking_In_It_DevNexus2020
 
Test Driven Development - 09/2009
Test Driven Development - 09/2009Test Driven Development - 09/2009
Test Driven Development - 09/2009
 
Test Environment: An Essential Component Of The DevSecOps Framework
Test Environment: An Essential Component Of The DevSecOps FrameworkTest Environment: An Essential Component Of The DevSecOps Framework
Test Environment: An Essential Component Of The DevSecOps Framework
 
Tdd
TddTdd
Tdd
 
Denodo Solution Manager: Best Practices for Promotion
Denodo Solution Manager: Best Practices for PromotionDenodo Solution Manager: Best Practices for Promotion
Denodo Solution Manager: Best Practices for Promotion
 
Combined Project
Combined ProjectCombined Project
Combined Project
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
system verilog
system verilogsystem verilog
system verilog
 
Developers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomonDevelopers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomon
 
ASIC design verification
ASIC design verificationASIC design verification
ASIC design verification
 
Developer Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle ManagementDeveloper Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle Management
 
2011-02-03 LA RubyConf Rails3 TDD Workshop
2011-02-03 LA RubyConf Rails3 TDD Workshop2011-02-03 LA RubyConf Rails3 TDD Workshop
2011-02-03 LA RubyConf Rails3 TDD Workshop
 

More from Trójmiejska Grupa Testerska

Tgt 23 przemyslaw_pradzynski
Tgt 23 przemyslaw_pradzynskiTgt 23 przemyslaw_pradzynski
Tgt 23 przemyslaw_pradzynski
Trójmiejska Grupa Testerska
 
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław SmilginTGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
Trójmiejska Grupa Testerska
 
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal RabczukTGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
Trójmiejska Grupa Testerska
 
TGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Ataki XSS - Robert CharewiczTGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Ataki XSS - Robert Charewicz
Trójmiejska Grupa Testerska
 
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper KulikowskiTGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
Trójmiejska Grupa Testerska
 
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
TGT#20 - TGT in Numbers - Mateusz RadkiewiczTGT#20 - TGT in Numbers - Mateusz Radkiewicz
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
Trójmiejska Grupa Testerska
 
TGT#19 - 3 seconds or less - Piotr Liss
TGT#19 - 3 seconds or less - Piotr LissTGT#19 - 3 seconds or less - Piotr Liss
TGT#19 - 3 seconds or less - Piotr Liss
Trójmiejska Grupa Testerska
 
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub RaniszewskiTGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
Trójmiejska Grupa Testerska
 
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia SzarlejTGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
Trójmiejska Grupa Testerska
 
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin KubeckiTGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
Trójmiejska Grupa Testerska
 
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
Trójmiejska Grupa Testerska
 
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
Trójmiejska Grupa Testerska
 
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar MozołaTGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
Trójmiejska Grupa Testerska
 
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
Trójmiejska Grupa Testerska
 
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
Trójmiejska Grupa Testerska
 
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
Trójmiejska Grupa Testerska
 
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
Trójmiejska Grupa Testerska
 
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
Trójmiejska Grupa Testerska
 
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
Trójmiejska Grupa Testerska
 

More from Trójmiejska Grupa Testerska (20)

Rafal prezentacja testowanie ai
Rafal prezentacja testowanie aiRafal prezentacja testowanie ai
Rafal prezentacja testowanie ai
 
Tgt 23 przemyslaw_pradzynski
Tgt 23 przemyslaw_pradzynskiTgt 23 przemyslaw_pradzynski
Tgt 23 przemyslaw_pradzynski
 
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław SmilginTGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
 
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal RabczukTGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
 
TGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Ataki XSS - Robert CharewiczTGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Ataki XSS - Robert Charewicz
 
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper KulikowskiTGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
 
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
TGT#20 - TGT in Numbers - Mateusz RadkiewiczTGT#20 - TGT in Numbers - Mateusz Radkiewicz
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
 
TGT#19 - 3 seconds or less - Piotr Liss
TGT#19 - 3 seconds or less - Piotr LissTGT#19 - 3 seconds or less - Piotr Liss
TGT#19 - 3 seconds or less - Piotr Liss
 
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub RaniszewskiTGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
 
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia SzarlejTGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
 
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin KubeckiTGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
 
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
 
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
 
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar MozołaTGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
 
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
 
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
 
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
 
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
 
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
 
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
 

Recently uploaded

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 

Recently uploaded (20)

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 

TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska

  • 1. TEST DESIGN TUTORIAL CZYLI SZTUKA PROJEKTOWANIA TESTÓW AGNIESZKA GARWOLIŃSKA 7.06.2017
  • 2. INTRODUCTION The main challenge in software validation is to design tests so they cover all requirements keeping right balance. It means to limit quantity of tests, at the same time ensuring enough use cases are verified. COST RISK Optimum security at minimum cost
  • 3. INTRODUCTION This tutorial provides Best Known Methods that significantly improved my test design process by reducing the workload and simultaneously increasing productivity and the quality of designed tests. The method based on the discipline in the implementation of the test phases and using standardized test architecture.
  • 4. THREE FUNDAMETAL STEPS  Recognizing WHAT?  Architecture HOW?  Utilities HOW? REQUIREMENTS FEATURE SPECIALIST CONSULTATION OBJECTIVE PRECONDITIONS TEST PREPARATION TEST RUN TEST CLEAN-UP TOOLS DICTIONARIES CODING STANDARDS
  • 5. RECOGNIZING: WHAT I NEED TO TEST? You need to find out how should it work:  Which requirements describes tested feature  How this feature usually works  What are the weaknesses of this feature Example: Requirement: Linux driver must cooperate with native kernel SW RAID solution SW RAID 0 SW RAID 1 SW RAID 2 SW RAID 3SW RAID 4 SW RAID 5 SW RAID 6 SW RAID 1 + 0 WORKS PROPERLY... ARCHITECTURERECOGNIZING UTILITIES
  • 6. SW RAID 3 SW RAID 0 SW RAID 1 SW RAID 2SW RAID 4 SW RAID 5 SW RAID 6 SW RAID 1 + 0 WORKS PROPERLY... ARCHITECTURERECOGNIZING UTILITIES You need to find out how should it work:  Which requirements describes tested feature  How this feature usually works  What are the weaknesses of this feature Example: Requirement: Linux driver must cooperate with native kernel SW RAID solution RECOGNIZING: WHAT I NEED TO TEST?
  • 7. You need to find out how should it work:  Which requirements describes tested feature  How this feature usually works  What are the weaknesses of this feature Example: Requirement: Linux driver must cooperate with native kernel SW RAID solution SW RAID 0 SW RAID 1 SW RAID 5 SW RAID 1 + 0 WORKS PROPERLY STANDARD CONDITIONS AFTER RAID RESTART AFTER DUT REBOOT AFTER DUT SHUTDOWN ARCHITECTURERECOGNIZING UTILITIES RECOGNIZING: WHAT I NEED TO TEST?
  • 8. A great solution is to build a test matrix arising from requirements analysis. This matrix must capture the different possibilities, features, and combinations of factors that affect the behavior of our tested object. In this way it is possible to easily determine the required test cases, their scope, and quantity. The test cases are created in an orderly, systematic way, keeping strictly considered test architecture. ARCHITECTURERECOGNIZING UTILITIES ARCHITECTURE OF TEST DESIGN
  • 9. ARCHITECTURERECOGNIZING UTILITIES HOW SHOULD I BUILD TEST SUITE? TEST MATRIX Mode X on: 1 off: 0 Special conditions RAID 0 RAID 1 RAID 5 RAID 1+0 Verify for 1 device 0 TC_R0_ON1_01 TC_R1_ON1_01 n/a n/a 1 TC_R0_ON1_02 TC_R1_ON1_02 n/a n/a 1 RAID restart TC_R0_ON1_03 TC_R1_ON1_03 n/a n/a 1 Reboot DUT TC_R0_ON1_04 TC_R1_ON1_04 n/a n/a 1 Shutdown TC_R0_ON1_05 TC_R1_ON1_05 n/a n/a Verify for 2 devices 0 TC_R0_ON2_01 TC_R1_ON2_01 TC_R5_ON2_01 n/a 1 TC_R0_ON2_02 TC_R1_ON2_02 TC_R5_ON2_02 n/a 1 RAID restart TC_R0_ON2_03 TC_R1_ON2_03 TC_R5_ON2_03 n/a 1 Reboot DUT TC_R0_ON2_04 TC_R1_ON2_04 TC_R5_ON2_04 n/a 1 Shutdown TC_R0_ON2_05 TC_R1_ON2_05 TC_R5_ON2_05 n/a ...
  • 10. HOW SHOULD I FORMULATE TEST OBJECTIVE? Verify if SW RAID [0, 1, 5, 10] works properly embedded on [1, 2, 3, 4, 5, 6] [Device 1, Device 2] with Mode X [on, off] works properly [ , after RAID restart, after reboot DUT, after DUT shutdown] ARCHITECTURERECOGNIZING UTILITIES TEST MATRIX Mode X on: 1 off: 0 Special conditions RAID 0 RAID 1 RAID 5 RAID 1+0 Verify for 1 device 0 TC_R0_ON1_01 TC_R1_ON1_01 n/a n/a 1 TC_R0_ON1_02 TC_R1_ON1_02 n/a n/a 1 RAID restart TC_R0_ON1_03 TC_R1_ON1_03 n/a n/a 1 Reboot DUT TC_R0_ON1_04 TC_R1_ON1_04 n/a n/a 1 Shutdown DUT TC_R0_ON1_05 TC_R1_ON1_05 n/a n/a ...
  • 11. Objectives are defined. What Preconditions must be fullfiled in order to be able run the test? Which of them are repetitive? Which are rather unique? What is main scope of the test? What needs to be clean up after all? HOW SHOULD I DESIGN TEST CASE? ARCHITECTURERECOGNIZING UTILITIES OBJECTIVE PRECONDITIONS TEST PREPARATION TEST RUN TEST CLEAN-UP PRECONDITIONS PRECONDITIONS TEST PREPARATION TEST RUN TEST CLEAN-UP TEST PREPARATION TEST RUN TEST CLEAN-UP
  • 12. ARCHITECTURERECOGNIZING UTILITIES OBJECTIVE PRECONDITIONS TEST PREPARATION TEST RUN TEST CLEAN-UP TOOLS DICTIONARIES CODING STANDARDS EXCEL ALM PRECONDITIONS PASS/FAIL CRITERIA PYGUIDEPEP 0008 GVP HOW SHOULD I DESIGN TEST CASE? UTILITIES