Term
How to select the subsystems for integration testing? |
|
Definition
|
|
Term
What is integration testing strategy? |
|
Definition
determine order in which the subsystem are selected for testing and integration |
|
|
Term
Describe big bang approach for integration testing |
|
Definition
runs each individual, and combine all tests and run it at the same time |
|
|
Term
Do you think big bang approach for a 3-layer-design is a good idea? |
|
Definition
it's hard to detect where the problem is |
|
|
Term
Describe bottom-up testing strategy |
|
Definition
start from bottom and go to up, with layer above including the layer down tests
Lets the developers do the integration testing as soon as the modules in a single level are ready. Easier to track testing progress. Easier to find bugs. |
|
|
Term
What is the pro for bottom-up testing strategy? |
|
Definition
useful for system like: object oriented system, real-time system, system with strict performance requirement No stubs needed |
|
|
Term
What is a special program which is needed to do bottom-up testing? |
|
Definition
|
|
Term
What are the cons for bottom-up testing? |
|
Definition
Bad for functionally decomposed systems because the it will run most important subsystem last |
|
|
Term
What is a good design pattern used for integration testing? |
|
Definition
|
|
Term
What is a software needed to run bottom-up testing? |
|
Definition
|
|
Term
Describe top-down testing |
|
Definition
Test the top layer first, then go down later, combining layer above
Top-down Testing makes it easier to find a missing branch link. |
|
|
Term
What is a software needed to run top-down testing? |
|
Definition
|
|
Term
What are the pros for top-down testing? |
|
Definition
1. Test cases can be defined in terms of functionality of the system
2. It's fast |
|
|
Term
What are the cons for top-down testing? |
|
Definition
Writing stubs is needed. Maybe large number of stubs. Does not test individual subsystems thoroughly |
|
|
Term
Describe sandwich testing |
|
Definition
tests are converged to target layer out of 3 layers |
|
|
Term
In sandwich testing, how to select the target layer if more than 3 layers? |
|
Definition
Try to minimize number of stubs and drivers |
|
|
Term
What are pros of sandwich testing? |
|
Definition
Top-down and bottom-up can be done parallelly |
|
|
Term
What are cons of sandwich testing? |
|
Definition
does not test individual subsystem thoroughly before integration |
|
|
Term
Describe modified sandwich testing? |
|
Definition
Phase 1: top layer, middle layer, bottom layer runs in parallel Phase 2: top layer + middle layer, bottom layer + middle layer |
|
|
Term
What is continuous integration. |
|
Definition
A software development technique where people integrate their work frequently and automatically test |
|
|
Term
What is the goal of integration testing? |
|
Definition
Tests interfaces of subsystems |
|
|
Term
What are 7 steps in integration testing |
|
Definition
1. component test 2. sun in bigger subsystem 3. test functional req 4. test subsystem decomposition(dependencies) 5. test non-functional requirements 6. log tests 7. repeat 1 to 7 until system is fully tested |
|
|
Term
What are two types of system testing? What are goals for each? |
|
Definition
Functional testing: test functionality of a system performance testing: try to violate non-functional requirements |
|
|
Term
What are 4 types of performance testing? |
|
Definition
1. stress testing 2. volume testing 3. compatibility testing 4. configuration testing |
|
|
Term
What is the goal for acceptance testing? |
|
Definition
Demonstrate system if ready for operational use |
|
|
Term
What are two types of testing needed for acceptance testing? |
|
Definition
|
|
Term
|
Definition
client use software in dev's environment software used in controlled setting |
|
|
Term
|
Definition
client's environment maybe many different environments |
|
|
Term
What are 4 testing steps? |
|
Definition
What needed to be tested How it needs to be tested Write test cases Create test oracle |
|
|
Term
Under which circumstances to use white vs black box testing? |
|
Definition
White Box: To test the dynamic model, or in other words, to test the state and internal variables of a unit. Ensures thoroughness as every line can be tested (statement, loop, path, and branches).
Black Box: To test the functional model. For x inputs check for y outputs. Build a list of inputs with expected outputs based on both valid and invalid ranges. Need to have a basic understanding of the box. Black box also used when you don’t have access to the internal systems but need to make sure it’s working wrt your implementation |
|
|
Term
what is function coverage? |
|
Definition
Percentage of methods (functions) that were included in test cases |
|
|
Term
what is statement coverage |
|
Definition
|
|
Term
|
Definition
each branch in if-else executed? (if part and else part) |
|
|
Term
|
Definition
|
|
Term
what's condition coverage? |
|
Definition
percentage of conditions for true and false |
|
|