Chapter 5 - Managing the Test Activities Flashcards
What is a test plan ?
A test plan describes the test objectives, resources and processes for a test project.
What does the test plan :
- Documents the means and schedule for achieving test objectives
- Helps to ensure that the performed test activities will meet the established criteria
- Serves as a means of communication with team members and other stakeholders
- Demonstrates that testing will adhere to the existing test policy and test strategy (or explains why
the testing will deviate from them)
The typical content of a test plan includes :
- Context of testing (e.g., test scope, test objectives, test basis)
- Assumptions and constraints of the test project
- Stakeholders (e.g., roles, responsibilities, relevance to testing, hiring and training needs)
- Communication (e.g., forms and frequency of communication, documentation templates)
- Risk register (e.g., product risks, project risks)
- Test approach (e.g., test levels, test types, test techniques, test deliverables, entry criteria and
exit criteria, independence of testing, metrics to be collected, test data requirements, test
environment requirements, deviations from the test policy and test strategy) - Budget and schedule
What is release planning ? (K1)
Release planning looks ahead to the release of a product, defines and re-defines the product backlog,
and may involve refining larger user stories into a set of smaller user stories. It also serves as the basis for the test approach and test plan across all iterations.
What is iteration planning ? (K1)
Iteration planning looks ahead to the end of a single iteration and is concerned with the iteration backlog.
Testers involved in iteration planning participate in the detailed risk analysis of user stories, determine the testability of user stories, break down user stories into tasks (particularly testing tasks), estimate test effort
for all testing tasks, and identify and refine functional and non-functional aspects of the test object.
What are the entry criteria ?
Entry criteria define the preconditions for undertaking a given activity. If entry criteria are not met, it is likely that the activity will prove to be more difficult, time-consuming, costly, and riskier.
Entry criteria and exit criteria should be defined for each test level, and will differ based on the test objectives.
Entry criteria that a user story must fulfill to start the development and/or testing activities are called Definition of Ready.
What are the exit criteria ?
Exit criteria define what must be achieved to declare an activity completed.
Entry criteria and exit criteria should be defined for each test level, and will differ based on the test objectives.
In Agile software development, exit criteria are often called Definition of Done.
What does typical entry criteria include ?
- availability of resources (e.g., people, tools, environments, test data, budget, time)
- availability of testware (e.g., test basis, testable requirements, user stories, test cases)
- initial quality level of a test object (e.g., all smoke tests have passed)
What does typical exit criteria include ?
- measures of thoroughness (e.g., achieved level of coverage, number of unresolved defects, defect density, number of failed test cases)
- binary “yes/no” criteria (e.g., planned tests have been executed, static testing has been performed, all defects found are reported, all
regression tests are automated).
Running out of time or budget can also be viewed as valid exit criteria.
What are the four estimation techniques ? (descirbed in syllabus) (K3)
- Estimation based on ratios
- Extrapolation
- Wideband Delphi
- Three-point estimation
Most commonly used test case prioritization strategies ? (K3)
- Risk-based prioritization, where the order of test execution is based on the results of risk analysis. Most risky test case -> less risky.
- Coverage-based prioritization, where the order of test execution is based on coverage. Highest coverage executed first.
- Requirements-based prioritization, where the order of test execution is based on the priorities of
the requirements traced back to the corresponding test cases. Priorities defined by stakeholders.
What is a Test Pyramid ? (K1)
The test pyramid is a model showing that different tests may have different granularity. The test pyramid model supports the team in test automation and in test effort allocation by showing that different test objectives are supported by different levels of test automation. The higher the layer, the lower the test granularity, the lower the test isolation and the higher the test execution time.
Fom bottom to top: Unit tests / service tests / UI tests.
Testing Quadrants ?
- Q1 (technology facing, supports the team) = component tests/component integration tests (automated)
- Q2 (business facing, support the team) functional tests/examples/user story tests/UX prototypes/API simulations/prototypes (manual or automated)
-Q3 (business facing, critique the product) exploratory testing/usability testing/ user acceptance testing (user-oriented tests and often manual)
-Q4 (technology-facing, critique the product) smoke tests/non-functional tests. (often automated)
Main risk management activities :
- Risk analysis (consisting of risk identification and risk assessment)
- Risk control (consisting of risk mitigation and risk monitoring)
A risk can be characterized by two factors :
- Risk likelihood – the probability of the risk occurrence (greater than zero and less than one)
- Risk impact (harm) – the consequences of this occurrence