Validation vs Verification:
What is validation? (Hint: Did we build the right thing?)
Checking the development results against the original requirements is called validation.
When performing validation, testers evaluate whether the product can solve a specific task and see if it is suitable for its intended purpose.
Validation vs Verification:
What is Verification? (Hint: Did we build the thing right?)
Verification examines whether the specifications have been implemented correctly, regardless of the indented purpose of the product.
It proves the correctness and completeness of the results from a particular phase.
What are the flaws of the Iterative model in regards to testing?
What is regression risk?
(Regression: A return to a former or less developed state)
The possibility of unindented consequences when changes are made to the software. U change one part, other parts start to have problems.
Risks exists in _ main areas, What are they? And briefly describe what they are
Answer 1: 4
Answer 2:
1. Coupling: Strong consequence of failure between the component and the system. (EX: Database fails, app fails)
How do you mitigate the risks? (“Exists in _ areas..”) (Hint: 4 options)
CMMI Model: State the 5 levels
(I, Miss, Dick, Quite, Often)
Initial, Managed, Defined, Quantitatively managed, optimising
What are characteristics of good testing?
Component (Unit) Test:
What is the objective of Unit Tests?
Component (Unit) Test:
What is the basis for Unit tests and the test types associated with it?
Component (Unit) Test:
What are stubs and drivers?
Just reveal answer if u dont know:
Stubs
Definition: Stubs are simplified versions of modules that simulate the behavior of actual modules. They are used to replace missing or incomplete modules during testing.
Purpose: Stubs are typically used in top-down integration testing, where testing starts from the top-level module and progresses downwards. They provide a controlled environment to test the behaviour of a module without relying on the complete implementation of its dependent modules.
Drivers
Definition: Drivers are test programs that call the module being tested and provide necessary input data. They are used to simulate the behavior of higher-level modules.
Purpose: Drivers are typically used in bottom-up integration testing, where testing starts from the lowest-level modules and progresses upwards. They provide a controlled environment to test the behavior of a module without relying on the complete implementation of its calling modules.
Unit Test typically:
Component (Unit) Test:
What is test-first/ test-driven development approach?
Integration Tests
Integration Tests
What is the Integration Tests based on?
Integration Tests
Behavioural tests: Functionality, resource use, performance
Structural tests: call-flows and data-flows
Integration Tests
What are the test objects of Integration tests?
Collection of units/ components, database implementation, interfaces
Integration Tests
Who is the one responsible for Integration tests?
Ideally both testers & programmers but actually no one is responsible.
Integration Tests
What are the integration techniques for Integration tests AND give some details about them.
Explain what you know about the “Big Bang Integration” approach to Integration Tests
You take all the tested modules (Example: components, units, classes, and functions) and put them all together and test.
It is quick but you do not know exactly where the bug is and why wait until all code is written to start integration when you should always start early testing (Principle 3)
Explain what you know about the “Bottom Up” approach to Integration Tests
You start with the bottom layer modules, and you work your way up using appropriate drivers and tests. You repeat the process until you replace drivers with the actual modules.
It has good bug isolation, but what if nasty problems are at the top?
Explain what you know about the “Top down” approach to Integration Tests
You start with the top layer modules and work your way down and you use stubs instead of drivers.
This is good bug isolation but what if the nasty problems are at the bottom?
Explain what you know about the “Functional or Transactional” approach to Integration Tests
You identify, develop and integrate components required to implement a single function. Then you repeat the process, by replacing stubs and drivers with the actual components to implement the next functions.
It has good bug isolation and can find integrations bugs in risk order. But problem is what if you select a wrong function to begin with?