Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chapter 4: Test design techniques, four black-box techniques - Coggle…
Chapter 4: Test design techniques
Choosing a test technique
Each technique is
good for certain things, and not as good for other things
Depend on
Internal factors
Tester knowledge I experience
Likely defects
Models used
Test objective
Documentation
Life cycle model
External factors
Type of system
Regulatory requirements
Customer I contractual requirements
Time and budget
Risk
Specification-based or black-box techniques
equivalence partitioning
is to divide a set of test conditions into groups or sets that can be considered the same then requires that we need test only one condition from each partition
boundary value analysis
contains both valid boundaries and invalid boundaries
the boundary values are defined as those values on the edge of a partition
is based on testing at the boundaries between partitions
To solve open boundaries testing
go back to the specification to see if a maximum has been stated somewhere else
investigate other related areas of the system (the field that holds figure may be only six figures plus two decimal figures)
intuitive or experience-based approach
decision tables
Why: different combinations
of inputs result in different actions being taken if using two techniques above
number of combinations : 2^(conditions)
state transition testing
A test based on a model of 'finite state machine'
A state transition model has four basic parts
the states that the software may occupy
the transitions from one state to another
the events that cause a transition
the actions that result from a transition
State table is to show the total number of
combinations of states and transitions, both valid and invalid
Use case testing
a technique that helps us identify test cases that exercise the whole system on a transaction by transaction basis from start to finish
describes the interactions the actor has with the system in order to achieve a specific task
defined in tearms of the actor, not the system
used for developing test cases mostly at the system and acceptance testing levels.
Identifying test conditions and designing test cases
Formality of
test documentation
Test documentation is documentation of artifacts created before or during the testing of software
The degree of test formality depends on
2) Standards followed by your organization
3) The maturity of the development process.
1) The type of application under test
Test analysis:
identifying test conditions
Test analysis is the process of looking at something that can be used to derive test information.
Test condition might be based on
Risk
Models of the system
Likely failures
Compliance requirements
Expert advice or
heuristics
The test conditions that are chosen will depend on the test strategy or detailed test approach
Introduction
Test cases
are documented in a Test Case Specification
Test conditions
are documented in a Test Design Specification.
Test procedures
are documented in a Test Procedure
Specification
Test design:
specifying test cases
Test implementation:
specifying test procedures or scripts
Experience-based techniques
People's knowledge, skills and background
Technical People
Business People
Terms
Error guessing
a technique as a complement to other more formal techniques
dependent on the skill of the tester
used after more formal techniques
A structured approach
list possible defects or failures and to design tests that attempt to produce them
built based on the tester's own experience or that of other people, available defect and failure data, and from common knowledge about why software fails
Purpose
guess possible bugs in the areas where formal testing would not work
an all-inclusive set of testing without any skipped areas, and without creating redundant tests
Exploratory testing
a hands-on approach in which testers are involved in minimum planning and maximum test execution
The test design and test execution activities are performed in parallel typically without formally documenting the test conditions, test cases or test scripts
Test logging
test execution is performed, documenting the key aspects of what is tested, any defects found and any thoughts about possible further testing
can be used as a check on the formal test process
by helping to ensure that the most serious defects have been found
Categories of test design techniques
Black Box Test Techniques
Also known as called behavioral or behavior-based techniques
Techniques
State Transition Testing
Decision Table Testing
Use Case Testing
Equivalence Partition
Boundary Value Analysis
Characteristics of Specification-Based techniques
Test cases may be used to detect gaps (requirements and implementation of the requirement)
Coverage is measured based on the items tested in the test basis
Test conditions, test cases and test data are derived from a test basis that may include
Use cases
Specifications
Software requirements
User stories
White Box Test Techniques
Characteristics of Structure-based techniques
Specifications are often used as an additional source of information to determine the expected outcome of test cases
Coverage is measured based on the items tested within a selected structure(e.g., the code or interface)
Test conditions, test cases and test data are derived from a test basis that may include
Detailed design
Code software architecture
Any other source of information regarding the structure of the software
Techniques
Statement Testing & Coverage
Decision Testing & Coverage
Also called structural or structure-based techniques
Experience Based Techniques
Characteristics of Experience-Based techniques
Test conditions, test cases and test data are derived from a test basis that may include
Knowledge and experience of testers, users and other stakeholders
Techniques
Exploratory Testing
Checklist Based Testing
Error Guessing
Structure-based or white-box techniques
Test coverage
statement coverage
decision coverage
Care about how system work
four black-box techniques