Photo by Zainul Yasni on Unsplash
The Fundamentals of Test Management
The Fundamentals of Test Management, as shared by Test Rail in their Free E-book
Defining your Test Strategy
Identify Stakeholders (i.e. the people who have an interest in the outcome of the tests, and the information that the testers provide)
Sponsors - the system should support their business goals
Users - the system should “work” for them
Project Management - needs information on the status of the deliverables
replanning
managing expectations
Designers and Developers - need to know where the product fails
fixing defects
adjusting designs
Define your test strategy
Test Case Management Solution - a product that helps streamline test execution, reporting, future strategy, management, and overall quality
Test Planning Strategy - defines the process that the test team will be using to achieve the testing goals
Presents some decisions that can be made ahead of time.
Defines the process/ method/information that will allow decisions to be made.
Sets out the principles or process to follow for uncertain situations.
Developing a Test Strategy Framework
Stakeholder Objectives
Stakeholders
Goal and Risk Management
Decisions
Confidence
Assessment
Scope
Design Approach
Sources of Knowledge
Sources of Uncertainty
Models
Prioritization Approach
Delivery Approach
Test Sequencing
Retesting
Environment requirements
Information delivery approach
Incident Management approach
End-game approach
Shift-Left Testing - whenever possible, feedback should be provided to help the team to understand, challenge, or improve goals, requirements, design, or implementation
developers take more ownership and responsibility for their testing
testers can get involved in the project earlier
users, BAs, and developers take full responsibility for the testing
no test team
no testers
Mind Maps
Mind Mapping - a method for generating test plans by mapping out all possible related ideas. This is helpful to organize ideas in the process of brainstorming while trying to come up with ideas and solutions.
Parts of the Mind Map:
Central Node
Branches
Testing Scope
in-scope
out-of-scope
Timescale
Testing Resources
Testing approaches
Risks and Assumptions
Items and Activities
One-page Test Plan
Resourcing
In-scope
Out-of-scope
New Functionality
Feature Description
Depth of Testing
Performance & Load Testing
User Acceptance Test
Infrastructure Considerations
Assumptions
Risks & Mitigation Plans
Sprint Test Timeline
Test-planning
Risk-Based Testing
Types of Software Risks:
Project Risk - e.g. external dependencies for the project
Process Risk
Product Risk
Two Dimensions of Risk Assessment:
Probability - 0 to 100%
Consequence or Severity - potential cost of damage
Risk Exposure - how serious a risk is
$$Probability * Severity Rank = Risk Exposure$$
Risk-based Test Planning
formulating a set of tests to assess the likelihood of the risk materializing
Simulate the failure mode in as many ways as possible
A. Failures - by detecting the number of bugs there are to be fixed, the risk from that mode of failure is reduced
B. Passes - increases the confidence that a mode or failure is unlikely to occur
Fault Detection - reduces the residual risks of failures in production
Designing your Tests
Test Design - the process of selecting the tests that we believe will be of value to the stakeholders
Test Model - a checklist, set of criteria, diagram based on the design documents, or analysis of a narrative text that helps to select tests systematically
Requirements Documents
Use Cases
Flowcharts
Swim-lane Diagrams
State models
Collaboration diagrams
Sequence charts
Uses:
Simplify the context of the test
Focus attention on one perspective of the system’s behavior
Generate a set of tests that are unique and diverse within the context of the model
Enable the testing to be estimated, planned, monitored and evaluated for its completeness or coverage
Coverage Measurement
What has been tested?
What hasn’t been tested?
Is the project finished?
How many tests remain?
Managing & Executing your testing
Keys to a Successful Plan Execution
People
Environments
Knowledge
System Under Test
Agile Test Interventions
Test strategy in Agile - a series of test interventions, i.e. a loop for feedback and analysis
Identify Critical moments
Propose contributions
Negotiate
Project-level interventions
Story Challenge
Story Definition
Integration Tests
System Tests
User Acceptance Tests
Sprint-level interventions
Daily standup
Story Refinement
Developer Testing
Integration/System testing