What is the primary purpose of program testing?
To show that a program does what it is intended to do and to discover program defects
Testing involves executing a program using artificial data and checking for errors or anomalies.
What are the goals of program testing?
Defect testing focuses on issues like system crashes and incorrect computations.
What is the difference between validation testing and defect testing?
Validation testing reflects expected use, while defect testing can be obscure.
What does verification refer to in software testing?
Are we building the product right?
Verification ensures the software conforms to its specification.
What does validation refer to in software testing?
Are we building the right product?
Validation checks if the software meets user requirements.
What are the two types of testing involved in the verification and validation process?
Inspections analyze static representations, while testing observes product behavior.
What are the advantages of inspections in software testing?
Inspections do not require system execution and can be applied to any representation.
What is the focus of development testing?
Testing activities carried out by the team developing the system
Includes unit testing, component testing, and system testing.
What is unit testing?
Testing individual components in isolation
Focuses on the functionality of objects or methods.
What is the purpose of component testing?
To test several individual units integrated to create composite components
Focuses on testing component interfaces.
What is the goal of system testing?
Testing interactions between components in an integrated system
Ensures components are compatible and transfer data correctly.
What is equivalence partitioning in testing?
Identifying groups of inputs that should be processed in the same way
Test cases should be chosen from each equivalence partition.
What are the three classes of interface errors?
These errors arise from incorrect parameter usage, assumptions about behavior, and speed differences.
What is the purpose of automated testing?
To run tests and check results without manual intervention
Utilizes a test automation framework like JUnit.
What are the three parts of an automated test?
The assertion part compares the result of the call with the expected result.
What is the significance of testing guidelines?
They help choose test cases based on previous experiences with common errors
Guidelines can include partition testing and guideline-based testing.
What is the goal of defect testing?
To discover faults or defects in the software
A successful test exposes a defect by making the system perform incorrectly.
What is the role of test cases in software testing?
Specifications of inputs and expected outputs from the system
Test data are the inputs devised to test a system.
What is the purpose of system testing?
To check that components are compatible, interact correctly, and transfer the right data at the right time
System testing tests the emergent behavior of a system.
During system testing, what may be integrated with newly developed components?
The complete system is then tested collectively.
True or false: System testing is an individual process.
FALSE
System testing is a collective process, often involving a separate testing team.
What can be used as a basis for system testing?
Use-cases developed to identify system interactions
Each use case usually involves several system components.
What do testing policies define?
Required system test coverage
Examples include testing all system functions accessed through menus.
What is test-driven development (TDD)?
An approach where testing and code development are interleaved
Tests are written before code, and passing tests drives development.