2.2 Test Levels and Types Flashcards
What are the five test levels?
- Component Testing / Unit Testing (individual components in isolation)
- Component/Unit Integration Testing (interactions between components)
- System Testing (whole system or product against specifications, including functional & nonfunctional)
- System Integration Testing (interfaces of the system with other systems and external services)
- Acceptance Testing (validating business needs are met and system is ready to deploy)
Define functional testing.
Testing of “what” the test object does versus what it should do. Evaluating the functions a component or system performs, checking for completeness, correctness, and appropriateness.
What attributes distinguish test levels?
The test object, test objectives, test basis, defects and failures, and the approach and responsibilities.
What types of Acceptance Testing are there?
- User Acceptance Testing (UAT)
- Operational Acceptance Testing
- Contractual/Regulatory
- Alpha Testing
- Beta Testing
Define non-functional testing.
Testing attributes of a component or system other than it’s intended function. “How well does the system behave?”
What are some types of non-functional testing?
- performance efficiency
- compatibility
- usability
- reliability
- security
- maintainability
- portability
Define Regression Testing.
Testing done to find any adverse consequences caused by a change to the component or system, possibly including a fix that has already been confirmation tested.
It is advisable to perform an impact analysis to determine what might be affected by a change and set the scope of required regression testing.
With CI or DevOps, Regression is often automated and grows over time.
Define Confirmation Testing.
Testing to confirm a previously reported defect has been successfully fixed. This may involve re-running previously failed tests, and/or adding new tests to cover changes made to resolve the defect.
What is white box testing?
Testing based on knowledge of the system’s implementation, structure, code, design, and flows.
What is black box testing?
Testing based on specifications, deriving tests from documentation external to the test object. Testers have no internal knowledge of the code or design, and focus on whether the system’s behavior meets the design specifications.
How are functional and non-functional tests related?
Many non-functional tests are derived from functional tests in that the system performs the same function; however, instead of checking the correctness of the function, we monitor the component or system for non-functional issues such as performance, usability, security, reliability, etc.