06 Software Testing and Validation Flashcards
1
Q
black box testing approaches
A
- equivalence partitioning
- split input into partitions where values in each partition can be viewed as similar - boundary value analysis
- for each partition, choose values at the boundary over those in the middle
2
Q
equivalence partitioning approach
A
- number of possible test cases too large
- partition input domain into equivalence classes where every element of a class is handled the same way
- 2 test cases considered equivalent if program process them the same way
- since test cases considered equivalent, we just need to test one element
3
Q
levels of partitioning
A
- first level partitioning
- valid vs invalid - 2nd level partitioning
- smaller equivalence classes
4
Q
guidelines for selecting equivalence
A
- range
- 1 valid
- 2 invalid - specific value
- 1 valid
- 2 invalid - member of a set
- 1 valid
- 1 invalid
create cartesian product to find number of test cases needed
5
Q
boundary value analysis
A
- based on boundary conditions (corner cases)
- greater number of errors occur at boundaries
- complements equivalence partitioning approach
6
Q
guidelines for boundary value analysis
A
if boundary values are R1, R2 then
test R1-1, R1, R1+1, R2-1, R2, R2+1
7
Q
white box testing
A
- aka structural, code based testing
- test according to program structure
- goal is to exercise all statements
- have access to source codes
- test base on coverage of
- statement
- branch
- path
- conditions - based on control flow graph
8
Q
control flow graph
A
- shows flow of program statements
- formed by nodes and edges
- node: sequence of statements
- edge: flow between nodes
- decision nodes: node with multiple outgoing edges
9
Q
cyclomatic complexity
A
used to find no. of paths needed to cover all edges and nodes in CFG
3 ways to calculate:
1. number of enclosed regions in CFG
2. number of decision nodes + 1
3. edges - nodes + 2
10
Q
white box testing steps
A
- draw CFG
- calculate cyclomatic complexity number C
- find the basis path set: at most C paths that cover all nodes and edges
- design test cases to force execution along path in basis path set
11
Q
independent paths
A
- an executable path through CFG from start node to the end node that has not been traversed before
- must move along at least one edge that has yet to be traversed
12
Q
test coverage analysis
A
- statement coverage = executed statements/ total statements
- branch coverage = executed branch / total branch
(branch = edges from decision nodes) - basis path coverage = tested path/ cyclomatic complexity number
13
Q
what is alpha testing
A
- evaluate quality of software
- tested by testers( not developers)
- at developer site
- comprise of both black and white box testing
- reliability and security not tested in depth
- does product work?
14
Q
what is beta testing
A
- evaluate customer satisfaction
- tested by end users
- at client location
- comprise of mostly black box tests
- tested for reliability, security, robustness
- do customers like the product?