What are the possible equivalent classes?
Usage < 100
100 <= Usage <= 200
Usage > 200
Which boundary values should we consider?
The boundary values we should consider are:
Minimum value: Usage = 0
Maximum value within the valid range: Usage = 200
Maximum value beyond the valid range: Usage > 200
Would a decision tree helo you find new test cases? Would it help to increase your confidence in your tests?
Yes!
decision tree based on code can
identify different paths and consitions that need to be tested
help to ensure that all possible scenarios and combinations are covered
increase confidence in testing process
If you were running random tests which test cases would you do?
Usage = 0 (minimum value)
Usage = 50 (within the range of < 100)
Usage = 150 (within the range of 100-200)
Usage = 250 (greater than 200)
Usage = a random value above the maximum valid range (e.g., 300, 500, etc.)
If you were running an error guessing approach, which test cases would you run?
Special Values
non numberic
negative, zero
Complex and New
large values
complex combinations
Changed and Buggy
inputs that have caused failure in the past
Critical and Strategic
usage values close to discount threshold
Third Party and Distributed
inputs or scenarios influened by external systems or dependencies
Firewall approach: objected oriented systema
find difference of two versions and identify classes that have changed
if any of them are in an inheritance hierarchy, also considere descendants of the changed class as changed
for each changed class, identify all the classes that send messages on the changed class or receive messages from the changed class and include them in the “firewall”
Purpose of scability testing
how well system can be scaled up to process the increased workload
Purpose stress testing
test how well the system can perform acceptably under worse-case conditions
how to perform scability testing
testers can gradually increase the workload to the system
also add more servers and workload managers, in order to measure how well teh system can process the increased workload through adding more servers
How perform stress test
delierately stressed by pushing it to and beyons its specific limits for a while in order to identify some bugs related to memory, e.g. memory leak
scalibility and stress testing in online air ticket booking application
scalibiltiy: testers will simulate the increases number of parallel transactions and add more servers and configure the workload manager to check how well the added servers deal the increased workload
stress: testers will simulate the max. number of parallel transactiosn for a while to see if the performance of the system is still acceptable
Remove duplicated code - substitude algorithm
you want to replace an algorithm with one that is clearer
Simplify logic wihthin object- lazy element
a class that isn’t doing enough to pay for itself should be eliminated
Simplify logic within object- speculative generality
when you have code that isn’t acutally needed today
such code often exist to support future behavior which may or may not be necessary in future
remove unnecessary delegation, unused parameters, dead code
simplify logic within object- temporary field
class has a variable which is only used in some situations
trying to understand why a variable is there when it doesn’t seem to be used
Last changed2 years ago