explain how to prioritize requirements using the cumultative voting approach, and benefits and limitation of this approach.
Stakeholder are given many imaginary units (100 dollar, 1000 points, etc.) Points are distrubuted among requirements to prioritize
100 points
Req1: 40
Req2: 20
Req3: 30
Req4: 10
Benefits and limitations:
easy to use and fast
eligible to small number of requirements, not scalable
what is firewall approach of regression test selection?
firewall separates the classes that depend on the class that is changed from the rest of the classes
based on the first-level dependencies of modified components
how to determine firewall of object-oriented systems
given 2 successive versions of an OO-system, find the difference of the two versions and identify those classes that have changed
if any of the changed classes are in an inheritance hierarchy, also conseder descentdants of the changed class as changed
for each class, identify all the classes that send messaged to the changed class or receive messages from the changed class and include them in the “firewall”
what is MBT (model based testing)?
testing approach where test cases are automatically generated from models
models are the expected behavior of the system under test and can be used to represend the test strategy
how does MBT work?
MBT usually includes following steps:
design a test model
select some test generation criteria: e.g. test generation cirteria should be full state coverage, if the model id a finite state machine
generate the tests
execute the tests
purpose establishing forward traceability
ensure all requirements are implemented
change impact analysis
purpose establishing backward traceability
avoid “pold pating”
defect impact analysis
root cause analysis of defects
how to establish forward and backward traceability?
traceability matrix
trace tagging
purpose code slicing
choose only subset of code that is relevant to a particular variable at a certain point
minimize the code for most cost-efficient testing, debugging, or testing
what is static backward slicing?
a slice with respect to a variable v at a certain point p in the programm is the set of statements that contribute to the value of the varaible v at p
to establish is, all Defs and All P-uses of a variable v before a certain point p are chosen
explain decomposition-based testing
integration testing can be a top-down, bottom-up, sandwich, or big band
basic ides is to use “stub” and “driver” to simulate the called function or call function
decomposition based testing pros and cons
Pros: intuitive and easy fault isolation
Cons: need “stub” or “driver”
explain Call graph testing
integration testing is based on the call graph of neighbors or interfac matrix
pros and cons Call graph testing
Pros: do not need “stub” or “driver”
cons: diffocult to isolate and locate the fault
explain path based testing
integration testing is like an enlarged path-based unit test
here the node is not a statement but a component
pros and cons path based testing
pros: closely coupled with actual system behavior
cons: extra effort is needed to identify message path
explain the general regression test selection process
Regression test selection process usually includes 3 main steps:
run the tests and establish the link between the test and the code executed
after the code id changed, identify the changed code
based on the link between the code and the test, choose only those tests that are related to the changed code and re-run them
explain the essential ides of the two types of standards to verify safety critical systmes
“how standards” focus on how we should work- e.g. how we should work to achieve safety or security. at present most standards are “how” standards
“what standards” (also called goal-based standards) focus on what shall be achieved, not on how to achieve. It is up to the developers to convince the assessor that what they do will meet the standard’s requirements
purpose of adaptive random test
to generate test cases that are evenly spread over the entire input domain as possible
you start with one test that is generated randomly
then for next test case, you pick the one that is the farthest away fromm all executed test cases
benefits of adaptive random test
good for F-measure, i.e. it usually requires fewer test cases to detect the first failure comparing to random test
benefits of testing
can, at least partly, be automated
can consistently repeat several actions
fast and high volume
testing limitations
is only a spot check
may need several stubs and drivers
benefits code inspections
can see the complete picture, not only a spot check
can use all information in the team
can be innovative and inductive
limitations code inspection
unreliable (people can get tired)
slow and low voume
purpose scability test
test how well system can be scaled up to process the increased workload
how run scability test
testern can gradually increase the workload to the system
add more serves and workload managers, in order to measure how well the system can process the increased workload through adding more servers
purpose stress testing
test how well system can perform acceptably under worse-case condition
system is deliberately stressed by pushing it to and beyond its specific limits for a while in order to idenfity some bugs related to memory, e.g. memory leak
scability test for online air ticket booking
testers simulate the increased 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 test in online air ticket booking
testers will simulate the max. number of parallel transactions for a while to see if the performance of the system is still acceptable
What are benefits of TDD (test driven development)?
a) TDD is always applicable
b) TDD can lead to higher code coverage
c) TDD will guarantee a shorter development time
d) TDD helps simplify debugging
b, d
What are differences between Model-Based Testing (MBT) and traditional manual testing?
a) For MBT, test cases are tightly coupled to the model
b) For MBT, test cases are generated automatically from models
c) For MBT, there is a high cost in early phases of the project
d) For MBT, test oracles still need to be input manually
a,b,c
Last changed2 years ago