Test Approaches Flashcards
What does a test approach define?
Defines how the testing for a project will be accomplished.
How are test approaches defined?
Either formally in a test plan or informally agreed upon by a team
Why is the use of a test approach important? What does it ensure?
It reflects the organization’s test strategy, used to ensure that methods and goals are aligned with project team and stakeholders
What factors impact the selection of a proper test approach? (List seven)
- testing levels
- SDLC
- product type
- documentation requirements and ability
- risk
- schedule and budget
- maturity and ability of team
What are testing levels? List the types.
Four distinct levels that can be combined:
- Unit testing
- Integration testing
- System (end-to-end) testing
- Acceptance testing
Define unit testing.
Conducted by developers to ensure that their units (modules) of code are working according to requirements and design.
Is unit testing manual or automated?
Can be either.
Unit testing generally applies to what other type of testing?
Structure-based (white-box) testing.
What is test-driven development (TDD)?
A form of unit testing where the test is written before the code is written; an automated test will execute and fail until the entire testable unit is developed.
Define integration testing. This testing is primarily _________.
Focuses on communication between units to ensure that test units work together; primarily functional.
Describe the level of documentation in integration testing.
Often informal, little documentation.
What is the process when a unit is not ready to be integrated? Define two items used in this case.
Placeholders called drives and stubs may be used.
Drivers: used to call testable modules or units of code
Stubs: used to act like a module or unit of code and generally return a positive result
What is Service Virtualization?
Used to simulate entire services or parts thereof
Define top down fashion.
Drivers written first and used to call the units as they become ready for testing.
Define bottom down fashion.
Individual units are written and tested via a driver that is written specifically for testing purposes.
Define continuous integration. When is it often used?
A configuration management system that has test automation built in; often used after a significant amount of code has been developed.
Define system (end-to-end) testing.
Conducted to verify that the software as a whole is working per the defined requirements.
Who normally conducts system testing? Where is it conducted?
Testers or QA Analysts in an environment that is similar to the prod environment.
What is the primary goal of system testing?
To ensure that the stated requirements have been met.
How is test coverage tracked in system testing?
Tracked with a requirements traceability matrix (RTM).