Ad SW Final Revision Essay Question
Ad SW Final Revision Essay Question
|Page1
4. What are stages of testing?
• Development testing, where the system is tested during development to
discover bugs and defects.
• Release testing, where a separate testing team test a complete version of the
system before it is released to users.
• User testing, where users or potential users of a system test the system in
their own environment.
---------------------------------------------------------------------------------------------------------------------------
5. What are development testing activities?
• Unit testing, where individual program units or object classes are tested.
• Component testing, where several individual units are integrated to create
composite components.
• System testing, where some or all of the components in a system are
integrated and the system is tested as a whole.
---------------------------------------------------------------------------------------------------------------------------
6. What are Program testing goals?
• To demonstrate to the developer and the customer that the software meets
its requirements.
• To discover situations in which the behavior of the software is incorrect,
undesirable or does not conform to its specification.
---------------------------------------------------------------------------------------------------------------------------
7. What are differences between release testing and system testing ?
• A separate team that has not been involved in the system development,
should be responsible for release testing.
• System testing by the development team should focus on discovering bugs
in the system (defect testing).
• Release testing is to check that the system meets its requirements and is
good enough for external use (validation testing).
|Page2
8. What are advantages of inspections?
• Inspection is a static process, you don’t have to be concerned with
interactions between errors.
• Incomplete versions of a system can be inspected without additional costs.
• Inspection can also consider broader quality attributes of a program, such as
compliance with standards, portability and maintainability.
---------------------------------------------------------------------------------------------------------------------------
9. What are automated test components?
• A setup part, where you initialize the system with the test case
• A call part, where you call the object or method to be tested.
• An assertion part where you compare the result of the call with the expected result.
---------------------------------------------------------------------------------------------------------------------------
10. What are Interface errors?
• Interface misuse: a calling component calls another component and makes an error
in its use of its interface e.g. parameters in the wrong order.
• Interface misunderstanding: a calling component embeds assumptions about the
behaviour of the called component which are incorrect.
• Timing errors: the called and the calling component operate at different speeds and
out-of-date information is accessed.
--------------------------------------------------------------------------------------------------------------------------
11. What are benefits of test-driven development?
• Code coverage: every code segment that you write has at least one associated test so
all code written has at least one test.
• Regression testing: is a type of testing that is done to verify that a code change in
the software does not impact the existing functionality of the product.
• Simplified debugging: when a test fails, it should be obvious where the problem
lies. The newly written code needs to be checked and modified.
• System documentation: the tests themselves are a form of documentation that
describe what the code should be doing.
|Page3
12. What are the steps in (STLC) software testing life cycle?
• Requirement analysis.
• Test planning.
• Test case development.
• Test environment setup.
• Test execution.
• Test closure.
--------------------------------------------------------------------------------------------------------------------------
13. What are benefits of test-driven development?
• Code coverage: every code segment that you write has at least one associated test so
all code written has at least one test.
• Regression testing: is a type of testing that is done to verify that a code change in
the software does not impact the existing functionality of the product.
• Simplified debugging: when a test fails, it should be obvious where the problem lies.
The newly written code needs to be checked and modified.
• System documentation: the tests themselves are a form of documentation that
describe what the code should be doing.
|Page4