Course Category: Software Testing
Course Duration: 2 Days
Hours: 14 Contact Hours
Course Overview
This two-day course is essential for those who want to understand the role of software testing as a technique for improving software quality.
The course starts with a discussion of key quality concepts and how they relate to software quality. During this discussion, the inherent limitations of software testing are identified and a number of alternative quality improvement techniques are described.
The course then moves on to introduce the ‘software testing canvas’ and describe how it can be used as a tool for understanding standard test levels and as a framework for developing a custom software testing strategy. The importance of adopting a risk-based approach to testing is emphasised.
Participants then learn how to design functional (black-box) and structural (white-box) test cases, applying a variety of techniques with an emphasis on ‘negative testing’.
The theory presented during the course is enhanced by lively class discussions and practical exercises that provide an opportunity for participants to apply what they have learnt.
Course Features
- Describes the role of software testing as a quality improvement technique by presenting six fundamental reasons for testing software that are based on a widely recognised definition of quality.
- Incorporates the ISTQB’s ‘principles of software testing’ with a practical explanation of what each principles means and how to apply it to real projects.
- Provides an introduction to risk based testing that emphasises the importance of incorporating a risk based approach in testing strategies.
- Incorporates two unique learning frameworks: the ‘quality triangle’ which is used to explain the underlying reasons for poor software quality and how poor quality can be rectified; and the ‘software testing canvas’ which is used to explain the different ‘levels’ of testing and for developing customised testing strategies.
- Suitable for both experienced testers wanting to improve their testing skills as well as those moving into a software testing role for the first time.
Participant Benefits
- Awareness of the limitations of software testing and understanding of when alternative quality improvement techniques should be used.
- Ability to develop a custom software strategy using the ‘software testing canvas’ and design functional (black-box) and structural (white-box) test cases applying a variety of techniques.
- Understanding of the need to incorporate exploratory testing into a test strategy to compliment scripted and automated testing.
- Practical strategies for reporting test progress and increased confidence interacting with management.
Who Should Attend?
- Those who want to improve their software testing skills such as Test Engineers, Tester Analysts, Quality Assurance Staff, Agile Teams, Software Engineers, Software Developers, Business Analysts, Business Systems Analysts, Systems Analysts, Functional Analysts
- Those who need to plan and manage the software testing effort such as Test Managers, Quality Assurance Staff, Project Managers, Program Managers Product Owners, Product Managers, Scrum Masters
- Those who want to gain an understanding of software testing as a quality improvement technique such as Test Managers, Project Managers, Program Managers Software Engineers, User Representatives, Product Owners, Product Managers, Scrum Masters, Requirements Engineers, Requirements Analysts, Human Factors Specialists, Software Developers, Process Engineers, Software Engineers, Process Group (SEPG) Staff, Methodologists, Process Improvement Staff
Course Topic
Software Quality
- Five Popular Assumptions About Software Quality
- Software Quality is a Measure of ‘Excellence’
- Software Quality is Difficult to Measure
- Software Quality is ExpensiveQuality Can Be Tested Into Software
- Software Quality Depends on Developer Skills
Introduction to Software Testing
- What Software Testing Is Not!
- The Principles of Software Testing
- Testing Shows Presence of Defects
- Comparing Test to Pass and Test to Fail (Negative Testing)
- Absence of Errors Fallacy
- The Objectives of Software Testing
Software Testing Limitations
- Early Testing is Desirable
- The Limitations of Software Testing
- Late Discovery of Errors Triggers Rework
- Quality Improvement Throughout the Development Life Cycle
- Agile Software Development
Software Testing Strategies
- Testing is Context Dependent
- Defining Test Levels
- Do Test Levels Provide a Good Contextual a Test Strategy?
- A Better Approach to Testing Context
- Test Target
- Test Basis
- Executing Tests
- Test Agents
- Some Typical Strategies for Software Testing
- Developing a Custom Strategy
- Strategies for Measuring Non-Functional Attributes of Software
Software Testing and Risk
- Exhaustive Testing is Impossible
- There Will Always Be a Risk That Software Contains Errors
- Software Testing Should
- What is Risk?
- Defects Tend to Cluster
- The risk paradox
Pre-requisites for Course & Certification
Designing Test Cases
- Definition of a Test Case
- Test Cases
- Test Data
- Test Procedures
- Test Procedures
- Test Case Coverage
- Test Case Design Technique
Functional Test Case Design
- Equivalence Partitioning
- Boundary Value Analysis
- State Transition Testing
Structural Test Case Design
- Statement Testing
- Branch/Decision Testing
- Branch/Condition Testing
Exploratory Testing
- Pesticide paradox – bugs become immune
- What is Exploratory Testing?
- Types of Exploratory Testing
- Exploratory Testing Skills
- Exploratory Testing Cheat Sheets
- Exploratory Testing and Test Automation
- Software Tools For Exploratory Testing
Course Category: Software Testing
Course Duration: 2 Days
Hours: 14 Contact Hours