Based on the Software Testing Canvas, this half-day workshop demonstrates how visual tools can be used to understand, explore and describe practical software testing strategies. Jointly inspired by The Business Model Canvas and the ISTQB's principles of software testing, the Software Testing Canvas provides a framework, which can be used by both agile and traditional teams, for developing and communicating test strategies.
The Business Model Canvas is a widely used visual tool that guides teams through the development of a business model, allowing them to present their proposed model on a single page or "canvas". The simplicity and wide spread use of The Business Model Canvas has prompted the development of many copycat canvases targeted at wide variety of problems.
The ISTQB is a well-known certification body providing certification in software testing from foundation to expert level. The ISTQB's syllabuses define a number of core principles for software testing.
The Software Testing Canvas is based on three of these principles: testing should be performed differently for different contexts; testing can show that defects are present, but cannot prove that software has no defects; and finding and fixing defects does not guarantee quality, software must also fulfil it's users' needs and expectations.
The workshop is highly interactive. Under the presenters' guidance, participants use sticky notes to explore the Software Testing Canvas on flip charts. Using the understanding they have gained, they then use the canvas to develop some software testing strategies for their own software products.
- Based on the ISTQB's widely recognised principles for software testing
- Interactive workshop with participants using sticky notes to populate an actual software testing canvas
- Presents an approach that is relevant to both agile and traditional teams
- Approach to developing a software testing strategy that participants can apply as soon as they return to work.
- Encourages team creativity and collaboration
- Opportunity to apply what participants have learnt to real real testing strategies during the workshop
Who Should Attend
- Those who need to develop agile testing strategies or formal test plans such as Test Analysts, Test Engineers, Quality Assurance Staff, Software Developers, Software Engineers, Solution Architects and Systems Engineers
- Those that need to facilitate the development of test strategies such as Scrum Masters, Agile Teams and Test Managers
- Those who need to approve test strategies and plans; as well as those that manage the test effort such as Product Owners, Product Managers, Program Managers, Project Managers and Software Development Managers
- Those who who want to gain an understanding of how a visual canvas can be used to develop a testing strategy such as Business Analysts, Business Systems Analysts, Systems Analysts, Functional Analysts, Requirements Engineers, Requirements Analysts, Users User Representatives, Stakeholders, Process Engineers and Process Improvement Staff
Introduction to visual canvases
- What is a visual canvas?
- Summarises the wisdom of experts on a single page
- Prompts teams to ask the right questions
- Provides a framework for organising the team's ideas
- Easy for non-experts to understand
- What are visual canvases used for?
- Providing an agenda and focus for team facilitators
- Encouraging collaboration and team creativity
- Exploring understanding and developing strategies
- Providing a strategic context for lean and agile teams
- Serving as a front-end tool for traditional teams that must develop detailed documentation
- Examples of visual thinking canvases
- Business Model Generation
- Value Proposition Design
- Team Canvas
- Requirements Discovery Canvas
What is the Software Testing Canvas?
- Concise summary of the ISTQB's Principles of Software Testing on a single page
- Context for teams to explore and capture different testing strategies
- Identifies the five critical questions that underpin a software testing strategy
- What is the target of the test?
- Why is the test required?
- How will the test cases be selected?
- Who (or what) will perform the test?
- How will the test be performed?
- How is the Software Testing Canvas used?
- Developing consistent software testing strategies for
- Individual components
- Integrated products, solutions and applications
- Ensuring a consistent strategy across projects, sprints and teams
- Providing structure and ensuring consistency for detailed documentation
- Who uses the Software Testing Canvas?
- Agile teams
- Test managers, test analysts and test automation engineers
- Product owners and product managers
- Project managers
Mapping the critical test strategy questions to the canvas columns
- Target - what will be tested?
- Identifying the test target or system under test (SUT)
- Product, solution, application or component?
- Individual component or class of component?
- Assessing component risk
- Requirement, use case or use story?
- Specification, sprint backlog or individual feature?
- Assessing feature risk
- Adopting a risk based approach to testing
- Objective why perform this test?
- Fit for intended purpose
- Conforms to specification
- Regression testing
- Testing non-functional requirements
- Confirming value
- Building confidence that the software works as expected
- Identifying failures
- Stress testing non-functional requirements
- Building confidence that the software works without errors
- Design - how will the test cases be designed?
- Test basis
- Formal test case design techniques
- Program code
- Requirements specification
- Other documents
- Trusted software (A-B testing)
- Test oracle
- What is the role of a test oracle?
- Manual vs. automated test oracles
- Static vs. dynamic vs. dynamic test oracles
- Test oracles and A-B testing
- Agent - who (or what) will perform the test?
- Manual testing
- Agile teams vs. specialist roles
- Exploratory vs. scripted testing
- End-user testing
- Automated testing
- Managing and parsing test data
- A-B testing and dynamic test oracles
- Checking assertions and logging failures
- Launching test scripts and connecting to the test target
- Developing test scripts, fixtures and test doubles
- Capture replay tools
- The Test Automation Reference Model
- Execution - how will the test be executed?
- Connection to the test target
- User interface (UI)
- Interface (API)
- Program code binding
- Configuration of the test
- Stand alone component or feature
- End to end components
- End to end features (scenario based testing)
- Platform services and supporting applications
Using the Software Testing Canvas to define a test strategy
- Creating a blank canvas using flip chart paper
- Brainwriting ideas and issues using sticky notes
- Populating the canvas
- Using the canvas to develop multiple strategies or level test plans
- Summarising multiple strategies in a master strategy or test plan
Tool support for the Software Testing Canvas
- Image enhancement tools
- Cloud based, collaborative tools
- Desktop tools