Testing Flashcards
Describe the difference between validation and verification
Verification: Are we building the product right?
Validation: Are we building the right product?
What is the aim of verification and validation?
Establish confidence that the system is fit for purpose, taking into account software purpose, user expectations, and the marketing environment.
Describe two types of testing
Validation test: To demonstrate the software meets its requirements. There should be at least one test for every requirement in the requirements spec.
Defect testing: To uncover situations in which the software does not perform as planned or its behaviour is incorrect and does not conform to its specification.
What is unit testing?
The process of testing individual components in isolation.
Units might be:
Functions or methods within an object.
Object classes with several attributes or methods.
Components with defined interfaces used to access their functionality.
What is component testing?
Where several individual units are integrated to create composite components. Component testing should focus on testing component interfaces.
What is system testing?
Where some or all of the components in a systems are integrated, and the system is testing as a whole. System testing should focus on testing component interactions.
What is test driven development?
An approach to program development in which you interleave testing and code development. Test are written before code and ‘passing’ the tests is the critical driver of development.
Describe advantages of test driven development.
Code coverage: Every code section written has a dedicated test.
Regression testing: A regression test suite is developed as a program is developed.
Simplified debugging: If a test fails, it should be obvious where the problem lies.
System documentation: The tests themselves are a form of documentation.