Please enable JavaScript.
Coggle requires JavaScript to display documents.
4. Test design techniques - Coggle Diagram
4. Test design techniques
Test categories
Testcase or test data
categories
Valid
(The system work)
Successful
Happy
Normal
Constructive
Invalid
(the system doesn't work)
Unsuccessful
Unhappy
Abnormal
Negative
Test case Format
Types
High level TC
A test without test data (input), output, step by step
Suitable for early phase, poor requirement
Experience tester
Detail level TC
A test with test data (input), output, step by step
Detail requirement
Inexperience tester
Question
List of question to check for many screen, API, feature, ...
Test Techniques
Categories
Black box test
Specification
based or
requirement
based
Design tests based on a analysis of the
specified behavior
of the test object
Formal
or
systematical
Process
:
==> Test basis (Requirements, Use case, User Story)
==> Test conditions (List of features)
==> Test case (input, output, step by step)
Equivalence partitioning/class (EP)
divides data into partitions
one value from an equivalence partition
testcases must exercise all partitions (include valid and invalid partitions) by covering each partition by at least once
Boundary value analysis (BVA)
based on exercising the boundaries of equivalence partitions
2-value BVA: this boundary value and its closest neighbor belonging to the adjacent partition
3-value BVA: this boundary value and both its neighbors
Decision tables
combinations of inputs, situations or events
State transition testing
Four basic parts: state, transition, event, action (optional)
Many coverage criteria:
-- all state coverage or all transition coverage
-- valid transition coverage: 0-switch (1 transition), N-1 switch (N transitions)
Use case testing
Test the whole system
Test from system test level and over
Describe interactions between actors (user, system) and system
Useful to uncover the defect types:
--
integration
defects caused by
interaction
and
interference
-- in the process flows during the
real-world
use of the system
White box test
Structure
based
Design tests based on an analysis of the test object's
internal structure
and processing
Formal
or
systematical
Process
:
==> Detail Design, source code
==> Test scripts, Test procedure, test suites
==> Test reports (Coverage)
Control flow
--> Statement coverage < Decision coverage < Branch coverage < LCSAJ
Data flow
--> Condition coverage < Condition decision coverage < Condition determination coverage < Multiple condition coverage
White-box techniques can be used in static testing (ex: during dry runs of code)
Statement coverage
Statement (instruction) is a part of line of code (include statement, comment, blank line)
Statement coverage = (exercised statement/Total statement) * 100%
It is condition or command in diagram
Branch coverage
Branch: can be wither unconditional branch (ex: straight line code) or conditional branch (ex. decision outcome)
branch coverage = (exercised branches/total branches) * 100%
Decision coverage
Decision outcomes go from condition
Decision outcome coverage = (exercised decision outcomes/Total decision outcomes) * 100%
Path coverage
Path from start to end
Path coverage = (Exercised paths/total paths) * 100%
LCSAJ - Linear code sequence and jump coverage
Experience based
Use the knowledge and experience of testers
Find defects that was missed by black box, white box
Informal
Error Guessing
:
used to anticipate the occurrence of errors, defects and failures based on the tester's knowledge:
-- past failure, error (mistake)
-- type of failures that have occurred in similar applications (domain)
Fault attacks
are methodical approach to the implementation of error guessing:
Exploratory Testing
(
Free test, Monkey test, Random test
)
informal tests (no process, no documents) are simultaneously (concurrently, dynamically, immediately) designed, executed and evaluated while the tester learn about the test object
use
session-based
: write a
test charter
contain some
guidelines
for test within
a defined time-box
most useful
when
-- there are a few or inadequate specifications
-- or time pressure (delay, late),
-- experience testers
Checklist-based testing
List of questions to remind, checked (questions from standards or common defects)
Collaboration-based Test Approaches
Collaboration User Story Writing
Acceptance Criteria
Acceptance Test-driven Development (ATDD)