SlideShare une entreprise Scribd logo
1  sur  63
Télécharger pour lire hors ligne
Test Design
Techniques
by Vladimir Arutin
VLADIMIR ARUTIN
QA ENGINEER
ISTQB® Certified Test Manager
ISTQB and QA Manual
Training Instructor
Certified Coach, Public Speaker
ABOUT MYSELF
WHY DO WE NEED TEST
TECHNIQUES?
COMMON TEST TECHNIQUES
STATIC DYNAMIC
• STRUCTURE-BASED
• SPECIFICATION-BASED
• EXPERIENCE-BASED
• STATIC ANALYSIS
• REVIEWS
DYNAMIC
TESTING
SPECIFICATION-BASED
TECHNIQUES
Equivalence Portioning
EQUIVALENCE
PORTIONING
1. Positive tests (clean tests):
– tests based on defined requirements
– tests based on common circumstances
2. Negative tests (dirty tests):
– tests based on errors/defects
– test based on special circumstances
Equivalence Portioning
EXAMPLE
A fitness tracker ‘Happy Tester’ measures the number of steps that are walked
each day and provides feedback to encourage the user:
Up to 1000 - Couch Potato!
Above 1000, up to 2000 - Lazy Bones!
Above 2000, up to 4000 - Getting There!
Above 4000, up to 6000 - Not Bad!
Above 6000 - Way to Go!
1000 2000 4000 6000
1001 2001 4001 6001
1. 0-1000
2. 1001-2000
3. 2001-4000
4. 4001-6000
5. 6001- +∞
Equivalence Portioning
BOUNDARY VALUES
Step 1: Identify equivalence classes
Step 2: Identify the boundary corresponding to each equivalent class
Step 3: Create test cases for each boundary value by selecting a
point on the boundary.
A B C
I II III IV
TWO-POINT BVA
B-1 B+1
Equivalence Portioning
EXAMPLE
50
A speed control and reporting system has the following characteristics:
If you drive 50 km/h or less, nothing will happen.
If you drive faster than 50 km/h, but 55 km/h or less, you will be warned.
If you drive faster than 55 km/h but not more than 60 km/h, you will be fined.
If you drive faster than 60 km/h, your driving license will be suspended.
The speed in km/h is available to the system as an integer value.
Which would be the most likely set of values (km/h) identified by applying the boundary value
analysis, where only the boundary values on the boundaries of the equivalence classes are
relevant?
a) 0, 49, 50, 54, 59, 60.
b) 50, 55, 60.
c) 49, 50, 54, 55, 60, 62.
d) 50, 51, 55, 56, 60, 61.
6055
51 56 61
Equivalence Portioning
PAIRWISE TESTING
Divide et impera
REQUIREMENTS
COMPANY: Microsoft, Apple, Samsung, BlackBerry, Xiaomi, Sony
SCREEN: 4.5', 5', 5.2', 5.5', 6', 6.9‘
RESOLUTION: HD, FullHD, 4K
RAM: 2Gb, 3Gb, 4Gb, 6Gb, 8Gb
PROCESSOR MAKE: QS650, MSM8230, QS820, A10, A11
OS: Android, BlackBerry OS, iOS, Windows Phone
NET STANDART: CDMA, GSM, LTE, 3G
STORAGE: 16Gb, 32Gb, 64Gb, 128Gb, 512Gb
Equivalence Portioning
PAIRWISE TESTING
REQUIREMENTS
COMPANY: Microsoft, Apple, Samsung, BlackBerry, Xiaomi, Sony
SCREEN: 4.5', 5', 5.2', 5.5', 6', 6.9‘
RESOLUTION: HD, FullHD, 4K
RAM: 2Gb, 3Gb, 4Gb, 6Gb, 8Gb
PROCESSOR MAKE: QS650, MSM8230, QS820, A10, A11
OS: Android, BlackBerry OS, iOS, Windows Phone
NET STANDART: CDMA, GSM, LTE, 3G
STORAGE: 16Gb, 32Gb, 64Gb, 128Gb, 512Gb
MINIMUM TEST AMOUNT
6 x 6 x 3 x 5 x 5 x 4 x 4 x 5 = 216000
Equivalence Portioning
PAIRWISE TESTING
COMPANY SCREEN RESOLUTION RAM PROCESSOR
MAKE
OS NET
STANDART
STORAGE
BlackBerry 4.5' HD 8Gb QS650 BlackBerry
OS
LTE 32Gb
Xiaomi 6.9' 4K 2Gb QS650 Android CDMA 512Gb
Sony 5' 4K 3Gb QS820 Android CDMA 128Gb
Microsoft 5.2' FullHD 8Gb MSM8230 Windows
Phone
GSM 128Gb
Samsung 6' 4K 6Gb MSM8230 Android 3G 16Gb
Apple 5.5' 4K 2Gb A11 iOS CDMA 64Gb
Equivalence Portioning
PICT
Equivalence Portioning
MORE TOOLS
Equivalence Portioning
DECISION TABLE
CONDITIONS RULE 1 RULE 2 RULE 3 RULE 4
EMAIL
ADDRESS (T/F)
F T T F
PASSWORD
(T/F)
F F T T
OUTPUT (E/M) E E M E
M - Main Page, E - Error
Equivalence Portioning
DECISION TABLE
R1 R2 R3 R4 R5
CONDITIONS
User Inserts Valid Card F T T T T
User Enters Valid PIN - F T N T
3 Invalid PINs attempted - F - T -
Sufficient balance for the request - - F - T
ACTIONS
Reject Card Y N N N N
Prompt to Reenter PIN N Y N N N
Eat the Card N N N Y N
Dispense Requested Cash N N N N Y
STATE TRANSITION
Equivalence Portioning
Type of
coffee
Check
selected
coffee
Start
Money
back
Give
coffee
Wait for
enough
money
STATE TRANSITION
Validation
sum
Select type of
coffee
Enter money
Enough money, with or
w/o change
Enter
money
Not enough
money
Coffee exists
Coffee doesn’t exist
Equivalence Portioning
STATE TRANSITION
What is the minimum number of cases we should make for sum validation?
▪ Determine all states.
▪ Consider and prioritize according to requirements all
ways which cover whole functionality.
▪ Identify all transitions.
▪ Create a test case for each way, that covers main
functionality.
▪ Create additional test cases that cover remaining
functionality (if it is needed).
How much times user has to enter money to get enough pay?
FIRST
Equivalence Portioning
EACH CHOICE
TESTING
Param1 Param2 Param3
A 1 X
B 2 Y
C 3
4
5
Test
Case
Param1 Param2 Param3
1 A 1 X
2 B 2 Y
3 C 3 X
4 A 4 Y
5 B 5 X
Equivalence Portioning
BASE CHOICE TESTING
Param1 Param2 Param3
A 1 X
B 2 Y
C 3 Z
Test Case Param1 Param2 Param3
1 A 2 Y
2 B 2 Y
3 C 2 Y
4 A 1 Y
5 A 3 Y
6 A 2 X
7 A 2 Z
Equivalence Portioning
CLASSIFICATION TREE
METHOD
ACCESSING RESOURCES
Platform Agent Protocol
Role Browser
Windows
Mac OS
Unix
User Bot HTTP FTP
Admin Inspector Owner Chrome SafariFireFox
TC1
TC2
TC3
TC4
TC5
Equivalence Portioning
SYNTAX TESTING
Backus–Naur form or Backus normal form (BNF) is a notation technique
for context grammar for programming languages, document formats and
communication protocols.
Equivalence Portioning
SYNTAX TESTING
After BNF is approved, it is time to generate positive and negative cases:
Positive cases: find possible variants of values allowed by the individual elements
of the BNF definition, and then design cases to simply cover these variants.
Negative cases: define and apply possible mutations (e.g.: missing element,
unwanted extra element, invalid value for an element, and so on) to the
individual elements of the BNF definition.
Equivalence Portioning
SCENARIO TESTING
(USE CASE)
Equivalence Portioning
SCENARIO TESTING
(USE CASE)
12 Ways to Create Good Scenarios (by Cem Kaner):
1. Write life histories for objects in the system.
2. List possible users, analyze their interests and objectives.
3. Consider disfavored users: how do they want to abuse your system?
4. List “system events.” How does the system handle them?
5. List “special events.” What accommodations does the system make for these?
6. List benefits and create end-to-end tasks to check them.
7. Interview users about famous challenges and failures of the old system.
8. Work alongside users to see how they work and what they do.
9. Read about what systems like this are supposed to do.
10. Study complaints about the predecessor to this system or its competitors.
11. Create a mock business. Treat it as real and process its data.
12. Try converting real-life data from a competing or predecessor application.
Equivalence Portioning
SCENARIO TESTING
(USE CASE)
ROLES
Equivalence Portioning
RANDOM TESTING
You’ll say it’s useless ‘monkey’ testing and I’ll say
- automate it.
• Random Users (objects)
• Testing validation with random data
• Randomized Behavior
• Fake the database
01. emailTextBx.click();
02. Random randomGenerator = new Random();
03. int randomInt = randomGenerator.nextInt(1000);
04. emailTextBx.sendKeys(“username” + randomInt + “@gmail.com”);
Equivalence Portioning
RANDOM TESTING
Sample Program Using
Random Class in Java
01. import java.util.Random;
02. public class RandomTestDataGenerator {
03. public static void main(String[ ] args) {
04. Random r = new Random ();
05. String fullName = “fullName” + r.nextInt();
06. String firstName = “firstName” + r.nextInt();
07. String lastName = “lastName” + r.nextInt();
08. String streetAddress = “address” + r.nextInt();
09. long phoneNumber = (long) (Math.random() * 100000 + 3333000000L);
10. String email = “email” + r.nextInt() + “@gmail.com”;
11. System.out.println (“The Full Name is : “ + fullName);
12. System.out.println (“The First Name is : “ + firstName);
13. System.out.println (“The Last Name is : “ + lastName);
14. System.out.println (“The Address is : “ + streetAddress);
15. System.out.println (“The Phone Number is : “ + phoneNumber);
16. System.out.println (“The Email is : “ + email);
17. }
18. }
Equivalence Portioning
RANDOM TESTING
Sample Program using
Faker API in Java
01. java.until.Locale;
02. import com.github.javafaker.Faker;
03. public class FakertestDataGenerator {
04. public static void main(String [ ] args) {
05. Locale locale = new Locale (“en-UKR”);
06. Faker faker = new Faker (locale);
07. String fullName = faker.name().fullName();
08. String firstName = faker.name().firstName();
09. String lastName = faker.name().lastName();
10. String phoneNumber = faker.phoneNumber().phoneNumber();
11. String address = faker.name().streetAddress();
12. String email = faker.internet().emailAddress();
13. System.out.println (“The Full Name is : “ + fullName);
14. System.out.println (“The First Name is : “ + firstName);
15. System.out.println (“The Last Name is : “ + lastName);
16. System.out.println (“The Address is : “ + streetAddress);
17. System.out.println (“The Phone Number is : “ + phoneNumber);
18. System.out.println (“The Email is : “ + email);
19. }
20. }
STRUCTURE-BASED
TECHNIQUES
Equivalence Portioning
LCSAJ TESTING
(Linear Code Sequence and Jump)
Characteristics of LCSAJ:
o 100% LCSAJ means 100% Statement Coverage
o 100% LCSAJ means 100% Branch Coverage
o LCSAJ is 100% procedure or Function call Coverage
o 100% Multiple condition Coverage
Equivalence Portioning
STATEMENT TESTING
01. if (p = q) {
02. r = r + 1;
03. if (r < 5) {
04. s = 10;
05. }
06. } else if (p > q) {
07. s = 5;
08. }
How many test cases are needed to get
100% statement coverage?
Which combination of p, q and r
values will ensure 100 %
statement coverage?
Equivalence Portioning
STATEMENT TESTING
01. if (p = q) {
02. r = r + 1;
03. if (r < 5) {
04. s = 10;
05. }
06. } else if (p > q) {
07. s = 5;
08. }
if
r = r + 1
r < 5
p=q
p>q
s = 10 s = 5
ifif
statement
statement statement
Y
Y Y
N
NN
Equivalence Portioning
STATEMENT TESTING
The Matrix has you…
Follow the white rabbit…
Knock knock, Neo.
Equivalence Portioning
STATEMENT TESTING
01. if (p = q) {
02. r = r + 1;
03. if (r < 5) {
04. s = 10;
05. }
06. } else if (p > q) {
07. s = 5;
08. }
if
r = r + 1
r < 5
p=q
p>q
s = 10 s = 5
ifif
statement
statement statement
Y
Y Y
N
NN
1 2
2 TEST CASES FOR
STATEMENT COVERAGE
ARE REQUIRED
Equivalence Portioning
STATEMENT TESTING
if
“Enough, thanks”
b<35
a+b>40
if
Y N
if a+b > 40 THEN
Print “Enough, thanks”
ENDIF
If b < 35 THEN
Print “Please, add more”
ENDIF
“Please, add more”
Y N
ONLY 1 TEST CASE FOR
STATEMENT COVERAGE
IS REQUIRED
Equivalence Portioning
if
“Enough, thanks”
b<35
a+b>40
if
Y N
if a+b > 40 THEN
Print “Enough, thanks”
ENDIF
If b < 35 THEN
Print “Please, add more”
ENDIF
“Please, add more”
Y N
1
BRANCH TESTING
2
2 TEST CASES FOR
BRANCH COVERAGE
ARE REQUIRED
Equivalence Portioning
Y N
if a+b > 40 THEN
Print “Enough, thanks”
ENDIF
If b < 35 THEN
Print “Please, add more”
ENDIF
“Please, add more”
1 2
PATH COVERAGE
34
a+b>40
“Enough, thanks”
b<35
NY
4 TEST CASES FOR
PATH COVERAGE
ARE REQUIRED
Equivalence Portioning
01. if ((p == 0)II(q>0)) {
02. r = r + 1;
03. if (r < 5) {
04. s = 10;
05. }
06. } else if (p > q) {
07. s = 5;
08. }
if
r = r + 1
r < 5 p>q
s = 10 s = 5
ifif
Y
Y Y
N
NN
CONDITION COVERAGE
(p == 0)II(q>0)
Equivalence Portioning
LOOP COVERAGE
1. main()
2. {
3. int i, n, f;
4. printf (“n = “);
5. scanf (“%d’, &n);
6. if (n <0) {
7. printf (“Invalid: %dn”, n);
8. n = -1;
9. } else {
10. f =1;
11. for (i=1; i<=n; i++) {
12. f*= 1;
13. }
14. printf (“%d! =%dn”, n, f);
15. }
16. return n;
17. }
if
for
TC1 n=0
TC2 n=1
TC3 n=15
Equivalence Portioning
CYCLOMATIC COMPLEXITY
Cyclomatic complexity is a software metric used to indicate the
complexity of a program and is a metric for software quality.
M = E − N + 2P,
where
E = the number of edges of the graph.
N = the number of nodes of the graph.
P = the number of connected components.
Equivalence Portioning
CYCLOMATIC
COMPLEXITY
EXAMPLE:
M = E − N + 2P
X=14
Y>Z
X=Y X=Z
Print
X, Y, Z
M = 5 − 5 + 2*1
M = 2 life hack
M = If+1
EXPERIENCE-BASED
TECHNIQUES
Equivalence Portioning
ERRORS GUESSING
• Lessons gained from past releases
• Historical learning
• Past defects
• Production tickets
• Review Checklist
• Application UI
• Past test outcomes
• Risk reports of the application
• An assortment of information utilized for testing.
FAULT ATTACK
Equivalence Portioning
ERRORS GUESSING
WHERE ARE
THE ERRORS
HIDING?
Equivalence Portioning
EXPLORATORY
TESTING
5 Main Activities:
• Identify the purpose of the product
• Identify functions
• Identify areas of potential instability
• Test each function and record problems
• Design and record a consistency verification test
Equivalence Portioning
CHECKLIST-BASED
TESTING
STATIC
TESTING
Equivalence Portioning
DATA FLOW TESTING
Data Flow testing helps to find:
• A variable that is declared but never used within the program.
• A variable that is used but never declared.
• A variable that is defined multiple times before it is used.
• Deallocating a variable before it is used.
Equivalence Portioning
CONTROL FLOW
TESTING define x
use y
kill z
define x
use x
use z
kill z
use x
define z
define y
use z
use y
use z
kill y
define z
Control Flow - the sequence in which
operations are performed during the
execution of a test item.
Example:
~define correct, the normal case
define-use correct, the normal case
use-kill acceptable
use-define acceptable
~use major blunder
define-kill probable programming error
define-define suspicious, perhaps a programming error
Equivalence Portioning
REVIEWS
Planning
Define entry/exit criteria
Kick-off
Check entry criteria
Individual preparation
Noting incidents
Review meeting
Examine
Rework
Fixing defects
Follow-up
Check exit criteria
Equivalence Portioning
REVIEWS
Informal Walkthrough Technical review Inspection
Documented no yes yes yes
Led by author yes yes no no
Use checklists no optional optional yes
Moderator
(facilitator)
no yes ideally trained trained
Scribe no mandatory mandatory mandatory
Individual
preparation
no optional mandatory mandatory
Reviewers colleague, buddy different people technical experts different experts
Potential defects
logs
may be may be mandatory mandatory
Equivalence Portioning
REVIEWS
Advantages:
• Pick things which really count
• Clearly plan and track activities
• Provide training to participants
• Continuously improve the process and tools
• Report results
• Each review has clear objective
• Right people involved
• Atmosphere of trust
• Defects found welcomed and expressed objectively
• Checklists/roles used
• Management support
• Testers welcome as reviewers
• Emphasis on learning and process improvement
Equivalence Portioning
DOMAIN TESTING
 EQUIVALENCE PORTIONING
 BOUNDARY VALUES
 PAIRWISE
 DECISION TABLES
 PATH TESTING
 EXPIRIENCE-BASED TESTING
 RISK-BASED TESING
TESTING THROUGHT OVER
TESTING IN THE END
PREVENTING BUGS OVER
FINDING BUGS
TESTING UNDERSTANDING OVER
CHECKING FUNCTIONALITY
BUILDING THE BEST SYSTEM OVER
BREAKING THE SYSTEM
TEAM RESPONSIBILITY FOR QUALITY
OVER TESTER RESPONSIBILITY
THE END
Test Design
Techniques
by Vladimir Arutin

Contenu connexe

Tendances

Shipwrecks of-mossel-bay-list-2014
Shipwrecks of-mossel-bay-list-2014Shipwrecks of-mossel-bay-list-2014
Shipwrecks of-mossel-bay-list-2014VisitMosselBay
 
Java IO Streams V4
Java IO Streams V4Java IO Streams V4
Java IO Streams V4Sunil OS
 
Como descrever cenários de teste utilizando Gherkin de forma correta
Como descrever cenários de teste utilizando Gherkin de forma corretaComo descrever cenários de teste utilizando Gherkin de forma correta
Como descrever cenários de teste utilizando Gherkin de forma corretaTesting Dojo Uai
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | EdurekaEdureka!
 
Not a Security Boundary: Bypassing User Account Control
Not a Security Boundary: Bypassing User Account ControlNot a Security Boundary: Bypassing User Account Control
Not a Security Boundary: Bypassing User Account Controlenigma0x3
 
IBM AppScan Standard - The Web Application Security Solution
IBM AppScan Standard - The Web Application Security SolutionIBM AppScan Standard - The Web Application Security Solution
IBM AppScan Standard - The Web Application Security Solutionhearme limited company
 
Advanced Javascript
Advanced JavascriptAdvanced Javascript
Advanced JavascriptDhruvin Shah
 
Collection v3
Collection v3Collection v3
Collection v3Sunil OS
 
Istqb exam sample_paper_2
Istqb exam sample_paper_2Istqb exam sample_paper_2
Istqb exam sample_paper_2TestingGeeks
 
500 istqb-sample-papers-2010-2011
500 istqb-sample-papers-2010-2011500 istqb-sample-papers-2010-2011
500 istqb-sample-papers-2010-2011Helen Nguyễn
 
ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4Yogindernath Gupta
 
Web assembly overview by Mikhail Sorokovsky
Web assembly overview by Mikhail SorokovskyWeb assembly overview by Mikhail Sorokovsky
Web assembly overview by Mikhail SorokovskyValeriia Maliarenko
 
"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian KarlTEST Huddle
 
ISTQB Test Analyst Sample Question Paper
ISTQB Test Analyst Sample Question PaperISTQB Test Analyst Sample Question Paper
ISTQB Test Analyst Sample Question PaperNeeraj Kumar Singh
 
Istqb question-paper-dump-4
Istqb question-paper-dump-4Istqb question-paper-dump-4
Istqb question-paper-dump-4TestingGeeks
 
Bash Shell Scripting
Bash Shell ScriptingBash Shell Scripting
Bash Shell ScriptingRaghu nath
 

Tendances (20)

Shipwrecks of-mossel-bay-list-2014
Shipwrecks of-mossel-bay-list-2014Shipwrecks of-mossel-bay-list-2014
Shipwrecks of-mossel-bay-list-2014
 
Java IO Streams V4
Java IO Streams V4Java IO Streams V4
Java IO Streams V4
 
Como descrever cenários de teste utilizando Gherkin de forma correta
Como descrever cenários de teste utilizando Gherkin de forma corretaComo descrever cenários de teste utilizando Gherkin de forma correta
Como descrever cenários de teste utilizando Gherkin de forma correta
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | Edureka
 
ISTQB Technical Test Analyst 2012 Training - Structure-Based Testing
ISTQB Technical Test Analyst 2012 Training - Structure-Based TestingISTQB Technical Test Analyst 2012 Training - Structure-Based Testing
ISTQB Technical Test Analyst 2012 Training - Structure-Based Testing
 
ISTQB Technical Test Analyst 2012 Training - The Technical Test Analyst's Tas...
ISTQB Technical Test Analyst 2012 Training - The Technical Test Analyst's Tas...ISTQB Technical Test Analyst 2012 Training - The Technical Test Analyst's Tas...
ISTQB Technical Test Analyst 2012 Training - The Technical Test Analyst's Tas...
 
Not a Security Boundary: Bypassing User Account Control
Not a Security Boundary: Bypassing User Account ControlNot a Security Boundary: Bypassing User Account Control
Not a Security Boundary: Bypassing User Account Control
 
Zap vs burp
Zap vs burpZap vs burp
Zap vs burp
 
IBM AppScan Standard - The Web Application Security Solution
IBM AppScan Standard - The Web Application Security SolutionIBM AppScan Standard - The Web Application Security Solution
IBM AppScan Standard - The Web Application Security Solution
 
Advanced Javascript
Advanced JavascriptAdvanced Javascript
Advanced Javascript
 
Collection v3
Collection v3Collection v3
Collection v3
 
61168147 manual-de-servicio-sharp-al-2030-2040cs-2050cs
61168147 manual-de-servicio-sharp-al-2030-2040cs-2050cs61168147 manual-de-servicio-sharp-al-2030-2040cs-2050cs
61168147 manual-de-servicio-sharp-al-2030-2040cs-2050cs
 
Istqb exam sample_paper_2
Istqb exam sample_paper_2Istqb exam sample_paper_2
Istqb exam sample_paper_2
 
500 istqb-sample-papers-2010-2011
500 istqb-sample-papers-2010-2011500 istqb-sample-papers-2010-2011
500 istqb-sample-papers-2010-2011
 
ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4
 
Web assembly overview by Mikhail Sorokovsky
Web assembly overview by Mikhail SorokovskyWeb assembly overview by Mikhail Sorokovsky
Web assembly overview by Mikhail Sorokovsky
 
"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl
 
ISTQB Test Analyst Sample Question Paper
ISTQB Test Analyst Sample Question PaperISTQB Test Analyst Sample Question Paper
ISTQB Test Analyst Sample Question Paper
 
Istqb question-paper-dump-4
Istqb question-paper-dump-4Istqb question-paper-dump-4
Istqb question-paper-dump-4
 
Bash Shell Scripting
Bash Shell ScriptingBash Shell Scripting
Bash Shell Scripting
 

Similaire à "Test Design Techniques"

Similaire à "Test Design Techniques" (20)

Steven K Allott - Effective Testing - SoftTest Ireland
Steven K Allott - Effective Testing - SoftTest IrelandSteven K Allott - Effective Testing - SoftTest Ireland
Steven K Allott - Effective Testing - SoftTest Ireland
 
Testing lab manual Testing lab manual sqa
Testing lab manual Testing lab manual sqaTesting lab manual Testing lab manual sqa
Testing lab manual Testing lab manual sqa
 
Testing techniques
Testing techniquesTesting techniques
Testing techniques
 
9 testing-seatwork-premid
9 testing-seatwork-premid9 testing-seatwork-premid
9 testing-seatwork-premid
 
Amin Milani Fard: Directed Model Inference for Testing and Analysis of Web Ap...
Amin Milani Fard: Directed Model Inference for Testing and Analysis of Web Ap...Amin Milani Fard: Directed Model Inference for Testing and Analysis of Web Ap...
Amin Milani Fard: Directed Model Inference for Testing and Analysis of Web Ap...
 
Quality Assurance
Quality AssuranceQuality Assurance
Quality Assurance
 
prova4
prova4prova4
prova4
 
provalast
provalastprovalast
provalast
 
test3
test3test3
test3
 
test2
test2test2
test2
 
domenica3
domenica3domenica3
domenica3
 
provoora
provooraprovoora
provoora
 
remoto2
remoto2remoto2
remoto2
 
provacompleta2
provacompleta2provacompleta2
provacompleta2
 
finalelocale2
finalelocale2finalelocale2
finalelocale2
 
domenica2
domenica2domenica2
domenica2
 
provarealw4
provarealw4provarealw4
provarealw4
 
test2
test2test2
test2
 
prova3
prova3prova3
prova3
 
prova1
prova1prova1
prova1
 

Plus de HYS Enterprise

Magic of web components
Magic of web componentsMagic of web components
Magic of web componentsHYS Enterprise
 
“ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture” “ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture” HYS Enterprise
 
How to create a perfect CV and make a good impression at an interview
How to create a perfect CV and make a good impression at an interviewHow to create a perfect CV and make a good impression at an interview
How to create a perfect CV and make a good impression at an interviewHYS Enterprise
 
Top soft skills to get a job
Top soft skills to get a jobTop soft skills to get a job
Top soft skills to get a jobHYS Enterprise
 
Wild Async .NET world: AID Kit for boy-scouts
Wild Async .NET world: AID Kit for boy-scoutsWild Async .NET world: AID Kit for boy-scouts
Wild Async .NET world: AID Kit for boy-scoutsHYS Enterprise
 
Contract testing. Getting started with Pact IO.
Contract testing. Getting started with Pact IO.Contract testing. Getting started with Pact IO.
Contract testing. Getting started with Pact IO.HYS Enterprise
 
Testing strategies in a microservices architecture. Independence vs integration
Testing strategies in a microservices architecture.  Independence vs integrationTesting strategies in a microservices architecture.  Independence vs integration
Testing strategies in a microservices architecture. Independence vs integrationHYS Enterprise
 
Leonid Sushenko "Pro scrum"
Leonid Sushenko "Pro scrum"Leonid Sushenko "Pro scrum"
Leonid Sushenko "Pro scrum"HYS Enterprise
 
Essentials soft skills for a developer
Essentials soft skills for a developerEssentials soft skills for a developer
Essentials soft skills for a developerHYS Enterprise
 
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”HYS Enterprise
 
"Dealing with legacy code"
"Dealing with legacy code""Dealing with legacy code"
"Dealing with legacy code"HYS Enterprise
 
“QA job interview: life hacks and scripts for success”
“QA job interview: life hacks and scripts for success”“QA job interview: life hacks and scripts for success”
“QA job interview: life hacks and scripts for success”HYS Enterprise
 
Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”
Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”
Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”HYS Enterprise
 
Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."
Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."
Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."HYS Enterprise
 
Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."
Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."
Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."HYS Enterprise
 
Я твой Expected Result шатал
Я твой Expected Result шаталЯ твой Expected Result шатал
Я твой Expected Result шаталHYS Enterprise
 
“Elasticsearch for .NET developers”
“Elasticsearch for .NET developers”  “Elasticsearch for .NET developers”
“Elasticsearch for .NET developers” HYS Enterprise
 
“Microservices: how to avoid making the same mistake twice.”
“Microservices: how to avoid making the same mistake twice.”“Microservices: how to avoid making the same mistake twice.”
“Microservices: how to avoid making the same mistake twice.”HYS Enterprise
 
Cheap and Cheerful: Useful Tools for Fast Development of Ready-Made Solutions
Cheap and Cheerful: Useful Tools for Fast Development of Ready-Made SolutionsCheap and Cheerful: Useful Tools for Fast Development of Ready-Made Solutions
Cheap and Cheerful: Useful Tools for Fast Development of Ready-Made SolutionsHYS Enterprise
 

Plus de HYS Enterprise (20)

Magic of web components
Magic of web componentsMagic of web components
Magic of web components
 
“ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture” “ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture”
 
How to create a perfect CV and make a good impression at an interview
How to create a perfect CV and make a good impression at an interviewHow to create a perfect CV and make a good impression at an interview
How to create a perfect CV and make a good impression at an interview
 
Top soft skills to get a job
Top soft skills to get a jobTop soft skills to get a job
Top soft skills to get a job
 
Saga pattern
Saga patternSaga pattern
Saga pattern
 
Wild Async .NET world: AID Kit for boy-scouts
Wild Async .NET world: AID Kit for boy-scoutsWild Async .NET world: AID Kit for boy-scouts
Wild Async .NET world: AID Kit for boy-scouts
 
Contract testing. Getting started with Pact IO.
Contract testing. Getting started with Pact IO.Contract testing. Getting started with Pact IO.
Contract testing. Getting started with Pact IO.
 
Testing strategies in a microservices architecture. Independence vs integration
Testing strategies in a microservices architecture.  Independence vs integrationTesting strategies in a microservices architecture.  Independence vs integration
Testing strategies in a microservices architecture. Independence vs integration
 
Leonid Sushenko "Pro scrum"
Leonid Sushenko "Pro scrum"Leonid Sushenko "Pro scrum"
Leonid Sushenko "Pro scrum"
 
Essentials soft skills for a developer
Essentials soft skills for a developerEssentials soft skills for a developer
Essentials soft skills for a developer
 
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
 
"Dealing with legacy code"
"Dealing with legacy code""Dealing with legacy code"
"Dealing with legacy code"
 
“QA job interview: life hacks and scripts for success”
“QA job interview: life hacks and scripts for success”“QA job interview: life hacks and scripts for success”
“QA job interview: life hacks and scripts for success”
 
Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”
Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”
Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”
 
Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."
Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."
Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."
 
Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."
Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."
Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."
 
Я твой Expected Result шатал
Я твой Expected Result шаталЯ твой Expected Result шатал
Я твой Expected Result шатал
 
“Elasticsearch for .NET developers”
“Elasticsearch for .NET developers”  “Elasticsearch for .NET developers”
“Elasticsearch for .NET developers”
 
“Microservices: how to avoid making the same mistake twice.”
“Microservices: how to avoid making the same mistake twice.”“Microservices: how to avoid making the same mistake twice.”
“Microservices: how to avoid making the same mistake twice.”
 
Cheap and Cheerful: Useful Tools for Fast Development of Ready-Made Solutions
Cheap and Cheerful: Useful Tools for Fast Development of Ready-Made SolutionsCheap and Cheerful: Useful Tools for Fast Development of Ready-Made Solutions
Cheap and Cheerful: Useful Tools for Fast Development of Ready-Made Solutions
 

Dernier

BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLManishPatel169454
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdfSuman Jyoti
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Christo Ananth
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 

Dernier (20)

BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 

"Test Design Techniques"

  • 2. VLADIMIR ARUTIN QA ENGINEER ISTQB® Certified Test Manager ISTQB and QA Manual Training Instructor Certified Coach, Public Speaker ABOUT MYSELF
  • 3. WHY DO WE NEED TEST TECHNIQUES?
  • 4. COMMON TEST TECHNIQUES STATIC DYNAMIC • STRUCTURE-BASED • SPECIFICATION-BASED • EXPERIENCE-BASED • STATIC ANALYSIS • REVIEWS
  • 7. Equivalence Portioning EQUIVALENCE PORTIONING 1. Positive tests (clean tests): – tests based on defined requirements – tests based on common circumstances 2. Negative tests (dirty tests): – tests based on errors/defects – test based on special circumstances
  • 8. Equivalence Portioning EXAMPLE A fitness tracker ‘Happy Tester’ measures the number of steps that are walked each day and provides feedback to encourage the user: Up to 1000 - Couch Potato! Above 1000, up to 2000 - Lazy Bones! Above 2000, up to 4000 - Getting There! Above 4000, up to 6000 - Not Bad! Above 6000 - Way to Go! 1000 2000 4000 6000 1001 2001 4001 6001 1. 0-1000 2. 1001-2000 3. 2001-4000 4. 4001-6000 5. 6001- +∞
  • 9. Equivalence Portioning BOUNDARY VALUES Step 1: Identify equivalence classes Step 2: Identify the boundary corresponding to each equivalent class Step 3: Create test cases for each boundary value by selecting a point on the boundary. A B C I II III IV TWO-POINT BVA B-1 B+1
  • 10. Equivalence Portioning EXAMPLE 50 A speed control and reporting system has the following characteristics: If you drive 50 km/h or less, nothing will happen. If you drive faster than 50 km/h, but 55 km/h or less, you will be warned. If you drive faster than 55 km/h but not more than 60 km/h, you will be fined. If you drive faster than 60 km/h, your driving license will be suspended. The speed in km/h is available to the system as an integer value. Which would be the most likely set of values (km/h) identified by applying the boundary value analysis, where only the boundary values on the boundaries of the equivalence classes are relevant? a) 0, 49, 50, 54, 59, 60. b) 50, 55, 60. c) 49, 50, 54, 55, 60, 62. d) 50, 51, 55, 56, 60, 61. 6055 51 56 61
  • 11. Equivalence Portioning PAIRWISE TESTING Divide et impera REQUIREMENTS COMPANY: Microsoft, Apple, Samsung, BlackBerry, Xiaomi, Sony SCREEN: 4.5', 5', 5.2', 5.5', 6', 6.9‘ RESOLUTION: HD, FullHD, 4K RAM: 2Gb, 3Gb, 4Gb, 6Gb, 8Gb PROCESSOR MAKE: QS650, MSM8230, QS820, A10, A11 OS: Android, BlackBerry OS, iOS, Windows Phone NET STANDART: CDMA, GSM, LTE, 3G STORAGE: 16Gb, 32Gb, 64Gb, 128Gb, 512Gb
  • 12. Equivalence Portioning PAIRWISE TESTING REQUIREMENTS COMPANY: Microsoft, Apple, Samsung, BlackBerry, Xiaomi, Sony SCREEN: 4.5', 5', 5.2', 5.5', 6', 6.9‘ RESOLUTION: HD, FullHD, 4K RAM: 2Gb, 3Gb, 4Gb, 6Gb, 8Gb PROCESSOR MAKE: QS650, MSM8230, QS820, A10, A11 OS: Android, BlackBerry OS, iOS, Windows Phone NET STANDART: CDMA, GSM, LTE, 3G STORAGE: 16Gb, 32Gb, 64Gb, 128Gb, 512Gb MINIMUM TEST AMOUNT 6 x 6 x 3 x 5 x 5 x 4 x 4 x 5 = 216000
  • 13. Equivalence Portioning PAIRWISE TESTING COMPANY SCREEN RESOLUTION RAM PROCESSOR MAKE OS NET STANDART STORAGE BlackBerry 4.5' HD 8Gb QS650 BlackBerry OS LTE 32Gb Xiaomi 6.9' 4K 2Gb QS650 Android CDMA 512Gb Sony 5' 4K 3Gb QS820 Android CDMA 128Gb Microsoft 5.2' FullHD 8Gb MSM8230 Windows Phone GSM 128Gb Samsung 6' 4K 6Gb MSM8230 Android 3G 16Gb Apple 5.5' 4K 2Gb A11 iOS CDMA 64Gb
  • 16. Equivalence Portioning DECISION TABLE CONDITIONS RULE 1 RULE 2 RULE 3 RULE 4 EMAIL ADDRESS (T/F) F T T F PASSWORD (T/F) F F T T OUTPUT (E/M) E E M E M - Main Page, E - Error
  • 17. Equivalence Portioning DECISION TABLE R1 R2 R3 R4 R5 CONDITIONS User Inserts Valid Card F T T T T User Enters Valid PIN - F T N T 3 Invalid PINs attempted - F - T - Sufficient balance for the request - - F - T ACTIONS Reject Card Y N N N N Prompt to Reenter PIN N Y N N N Eat the Card N N N Y N Dispense Requested Cash N N N N Y
  • 19. Equivalence Portioning Type of coffee Check selected coffee Start Money back Give coffee Wait for enough money STATE TRANSITION Validation sum Select type of coffee Enter money Enough money, with or w/o change Enter money Not enough money Coffee exists Coffee doesn’t exist
  • 20. Equivalence Portioning STATE TRANSITION What is the minimum number of cases we should make for sum validation? ▪ Determine all states. ▪ Consider and prioritize according to requirements all ways which cover whole functionality. ▪ Identify all transitions. ▪ Create a test case for each way, that covers main functionality. ▪ Create additional test cases that cover remaining functionality (if it is needed). How much times user has to enter money to get enough pay? FIRST
  • 21. Equivalence Portioning EACH CHOICE TESTING Param1 Param2 Param3 A 1 X B 2 Y C 3 4 5 Test Case Param1 Param2 Param3 1 A 1 X 2 B 2 Y 3 C 3 X 4 A 4 Y 5 B 5 X
  • 22. Equivalence Portioning BASE CHOICE TESTING Param1 Param2 Param3 A 1 X B 2 Y C 3 Z Test Case Param1 Param2 Param3 1 A 2 Y 2 B 2 Y 3 C 2 Y 4 A 1 Y 5 A 3 Y 6 A 2 X 7 A 2 Z
  • 23. Equivalence Portioning CLASSIFICATION TREE METHOD ACCESSING RESOURCES Platform Agent Protocol Role Browser Windows Mac OS Unix User Bot HTTP FTP Admin Inspector Owner Chrome SafariFireFox TC1 TC2 TC3 TC4 TC5
  • 24. Equivalence Portioning SYNTAX TESTING Backus–Naur form or Backus normal form (BNF) is a notation technique for context grammar for programming languages, document formats and communication protocols.
  • 25. Equivalence Portioning SYNTAX TESTING After BNF is approved, it is time to generate positive and negative cases: Positive cases: find possible variants of values allowed by the individual elements of the BNF definition, and then design cases to simply cover these variants. Negative cases: define and apply possible mutations (e.g.: missing element, unwanted extra element, invalid value for an element, and so on) to the individual elements of the BNF definition.
  • 27. Equivalence Portioning SCENARIO TESTING (USE CASE) 12 Ways to Create Good Scenarios (by Cem Kaner): 1. Write life histories for objects in the system. 2. List possible users, analyze their interests and objectives. 3. Consider disfavored users: how do they want to abuse your system? 4. List “system events.” How does the system handle them? 5. List “special events.” What accommodations does the system make for these? 6. List benefits and create end-to-end tasks to check them. 7. Interview users about famous challenges and failures of the old system. 8. Work alongside users to see how they work and what they do. 9. Read about what systems like this are supposed to do. 10. Study complaints about the predecessor to this system or its competitors. 11. Create a mock business. Treat it as real and process its data. 12. Try converting real-life data from a competing or predecessor application.
  • 29. Equivalence Portioning RANDOM TESTING You’ll say it’s useless ‘monkey’ testing and I’ll say - automate it. • Random Users (objects) • Testing validation with random data • Randomized Behavior • Fake the database 01. emailTextBx.click(); 02. Random randomGenerator = new Random(); 03. int randomInt = randomGenerator.nextInt(1000); 04. emailTextBx.sendKeys(“username” + randomInt + “@gmail.com”);
  • 30. Equivalence Portioning RANDOM TESTING Sample Program Using Random Class in Java 01. import java.util.Random; 02. public class RandomTestDataGenerator { 03. public static void main(String[ ] args) { 04. Random r = new Random (); 05. String fullName = “fullName” + r.nextInt(); 06. String firstName = “firstName” + r.nextInt(); 07. String lastName = “lastName” + r.nextInt(); 08. String streetAddress = “address” + r.nextInt(); 09. long phoneNumber = (long) (Math.random() * 100000 + 3333000000L); 10. String email = “email” + r.nextInt() + “@gmail.com”; 11. System.out.println (“The Full Name is : “ + fullName); 12. System.out.println (“The First Name is : “ + firstName); 13. System.out.println (“The Last Name is : “ + lastName); 14. System.out.println (“The Address is : “ + streetAddress); 15. System.out.println (“The Phone Number is : “ + phoneNumber); 16. System.out.println (“The Email is : “ + email); 17. } 18. }
  • 31. Equivalence Portioning RANDOM TESTING Sample Program using Faker API in Java 01. java.until.Locale; 02. import com.github.javafaker.Faker; 03. public class FakertestDataGenerator { 04. public static void main(String [ ] args) { 05. Locale locale = new Locale (“en-UKR”); 06. Faker faker = new Faker (locale); 07. String fullName = faker.name().fullName(); 08. String firstName = faker.name().firstName(); 09. String lastName = faker.name().lastName(); 10. String phoneNumber = faker.phoneNumber().phoneNumber(); 11. String address = faker.name().streetAddress(); 12. String email = faker.internet().emailAddress(); 13. System.out.println (“The Full Name is : “ + fullName); 14. System.out.println (“The First Name is : “ + firstName); 15. System.out.println (“The Last Name is : “ + lastName); 16. System.out.println (“The Address is : “ + streetAddress); 17. System.out.println (“The Phone Number is : “ + phoneNumber); 18. System.out.println (“The Email is : “ + email); 19. } 20. }
  • 33. Equivalence Portioning LCSAJ TESTING (Linear Code Sequence and Jump) Characteristics of LCSAJ: o 100% LCSAJ means 100% Statement Coverage o 100% LCSAJ means 100% Branch Coverage o LCSAJ is 100% procedure or Function call Coverage o 100% Multiple condition Coverage
  • 34. Equivalence Portioning STATEMENT TESTING 01. if (p = q) { 02. r = r + 1; 03. if (r < 5) { 04. s = 10; 05. } 06. } else if (p > q) { 07. s = 5; 08. } How many test cases are needed to get 100% statement coverage? Which combination of p, q and r values will ensure 100 % statement coverage?
  • 35. Equivalence Portioning STATEMENT TESTING 01. if (p = q) { 02. r = r + 1; 03. if (r < 5) { 04. s = 10; 05. } 06. } else if (p > q) { 07. s = 5; 08. } if r = r + 1 r < 5 p=q p>q s = 10 s = 5 ifif statement statement statement Y Y Y N NN
  • 36. Equivalence Portioning STATEMENT TESTING The Matrix has you… Follow the white rabbit… Knock knock, Neo.
  • 37. Equivalence Portioning STATEMENT TESTING 01. if (p = q) { 02. r = r + 1; 03. if (r < 5) { 04. s = 10; 05. } 06. } else if (p > q) { 07. s = 5; 08. } if r = r + 1 r < 5 p=q p>q s = 10 s = 5 ifif statement statement statement Y Y Y N NN 1 2 2 TEST CASES FOR STATEMENT COVERAGE ARE REQUIRED
  • 38. Equivalence Portioning STATEMENT TESTING if “Enough, thanks” b<35 a+b>40 if Y N if a+b > 40 THEN Print “Enough, thanks” ENDIF If b < 35 THEN Print “Please, add more” ENDIF “Please, add more” Y N ONLY 1 TEST CASE FOR STATEMENT COVERAGE IS REQUIRED
  • 39. Equivalence Portioning if “Enough, thanks” b<35 a+b>40 if Y N if a+b > 40 THEN Print “Enough, thanks” ENDIF If b < 35 THEN Print “Please, add more” ENDIF “Please, add more” Y N 1 BRANCH TESTING 2 2 TEST CASES FOR BRANCH COVERAGE ARE REQUIRED
  • 40. Equivalence Portioning Y N if a+b > 40 THEN Print “Enough, thanks” ENDIF If b < 35 THEN Print “Please, add more” ENDIF “Please, add more” 1 2 PATH COVERAGE 34 a+b>40 “Enough, thanks” b<35 NY 4 TEST CASES FOR PATH COVERAGE ARE REQUIRED
  • 41. Equivalence Portioning 01. if ((p == 0)II(q>0)) { 02. r = r + 1; 03. if (r < 5) { 04. s = 10; 05. } 06. } else if (p > q) { 07. s = 5; 08. } if r = r + 1 r < 5 p>q s = 10 s = 5 ifif Y Y Y N NN CONDITION COVERAGE (p == 0)II(q>0)
  • 42. Equivalence Portioning LOOP COVERAGE 1. main() 2. { 3. int i, n, f; 4. printf (“n = “); 5. scanf (“%d’, &n); 6. if (n <0) { 7. printf (“Invalid: %dn”, n); 8. n = -1; 9. } else { 10. f =1; 11. for (i=1; i<=n; i++) { 12. f*= 1; 13. } 14. printf (“%d! =%dn”, n, f); 15. } 16. return n; 17. } if for TC1 n=0 TC2 n=1 TC3 n=15
  • 43. Equivalence Portioning CYCLOMATIC COMPLEXITY Cyclomatic complexity is a software metric used to indicate the complexity of a program and is a metric for software quality. M = E − N + 2P, where E = the number of edges of the graph. N = the number of nodes of the graph. P = the number of connected components.
  • 44. Equivalence Portioning CYCLOMATIC COMPLEXITY EXAMPLE: M = E − N + 2P X=14 Y>Z X=Y X=Z Print X, Y, Z M = 5 − 5 + 2*1 M = 2 life hack M = If+1
  • 46. Equivalence Portioning ERRORS GUESSING • Lessons gained from past releases • Historical learning • Past defects • Production tickets • Review Checklist • Application UI • Past test outcomes • Risk reports of the application • An assortment of information utilized for testing. FAULT ATTACK
  • 48. Equivalence Portioning EXPLORATORY TESTING 5 Main Activities: • Identify the purpose of the product • Identify functions • Identify areas of potential instability • Test each function and record problems • Design and record a consistency verification test
  • 51. Equivalence Portioning DATA FLOW TESTING Data Flow testing helps to find: • A variable that is declared but never used within the program. • A variable that is used but never declared. • A variable that is defined multiple times before it is used. • Deallocating a variable before it is used.
  • 52. Equivalence Portioning CONTROL FLOW TESTING define x use y kill z define x use x use z kill z use x define z define y use z use y use z kill y define z Control Flow - the sequence in which operations are performed during the execution of a test item. Example: ~define correct, the normal case define-use correct, the normal case use-kill acceptable use-define acceptable ~use major blunder define-kill probable programming error define-define suspicious, perhaps a programming error
  • 53. Equivalence Portioning REVIEWS Planning Define entry/exit criteria Kick-off Check entry criteria Individual preparation Noting incidents Review meeting Examine Rework Fixing defects Follow-up Check exit criteria
  • 54. Equivalence Portioning REVIEWS Informal Walkthrough Technical review Inspection Documented no yes yes yes Led by author yes yes no no Use checklists no optional optional yes Moderator (facilitator) no yes ideally trained trained Scribe no mandatory mandatory mandatory Individual preparation no optional mandatory mandatory Reviewers colleague, buddy different people technical experts different experts Potential defects logs may be may be mandatory mandatory
  • 55. Equivalence Portioning REVIEWS Advantages: • Pick things which really count • Clearly plan and track activities • Provide training to participants • Continuously improve the process and tools • Report results • Each review has clear objective • Right people involved • Atmosphere of trust • Defects found welcomed and expressed objectively • Checklists/roles used • Management support • Testers welcome as reviewers • Emphasis on learning and process improvement
  • 56. Equivalence Portioning DOMAIN TESTING  EQUIVALENCE PORTIONING  BOUNDARY VALUES  PAIRWISE  DECISION TABLES  PATH TESTING  EXPIRIENCE-BASED TESTING  RISK-BASED TESING
  • 60. BUILDING THE BEST SYSTEM OVER BREAKING THE SYSTEM
  • 61. TEAM RESPONSIBILITY FOR QUALITY OVER TESTER RESPONSIBILITY