Innovative
Software
Testing Approaches
2 Days
Intermediate
This
workshop is designed for software developers and testers that want to
learn new and innovative ways to perform software testing. The topics
covered in
this workshop are appropriate for any level of testing knowledge and
experience, from foundation to advanced levels.
This
workshop is 50% lecture and 50% interactive labs where you will be able
to practice with others the techniques covered in the lectures.
Who Will Benefit
- Test
analysts
- Testers
- Test
engineers
- Software
developers
- Project
managers
- Test managers
- QA
analysts
Return on Investment
In this workshop you will see added value to your testing efforts by learning how to:
- Prioritze your testing based on three views of risk - project, technical and business
- Get the most testing from the most compact set of test cases
- Identify the root causes of problems and correct them so they are not repeated
- Perform regression testing so it does not become overwhelming
- Developers can perform unit testing so that more defects can be found early in a project
- Design tests based on a variety of sources - business and user scenarios, requirements, use cases and design models
- Implement test automation in new and creative ways
Topics
1.
Risk-based testing
- How risk
can be defined on software projects
- How to
assess risk
- How to
prevent being fooled by risk assessments
- Experience:
Finding the risk in a project, finding the risk in software
2.
Test efficiency (pair-wise, classification trees, etc.)
- Why test
efficiency is important
- The fault
model behind pairwise testing
- The
research behind pairwise testing
- How to
create test cases using pairwise techniques
- Experience:
Reducing the number of test cases from thousands to less than 100.
3. Root cause analysis
(defect analysis)
- What is
root cause analysis?
- How to
distinguish contributing causes from the root cause
- Examples
from real life
- How to
build a time line and causal factor chart
- Experience:
Finding the root cause of a problem
4. Regression testing
- What is
regression testing?
- How is
regression testing performed?
- How much
regression testing is enough?
- How to
apply automation
- How to
perform regression testing in highly complex systems
- Experience:
Defining a regression testing strategy for a complex system
5. Exploratory Testing
- What exploratory testing is
- What exploratory testing isn’t
- Common objections to exploratory testing
- Benefits of exploratory testing
- How to test when you have no specs or requirements
- How to perform exploratory testing
- How to evaluate exploratory testing
- How to get better at exploratory testing
- Session-based testing
- Experience: Performing a session-based test
6.
Scenario-based testing (use cases, etc.)
- What is
scenario-based testing?
- How to find
and/or define scenarios?
- Defining
test cases from use cases
- Combining
data with scenarios
- Controlling
scenario-based testing
- Experience:
Designing a scenario-based test
7.
Requirements-based testing
- What is
requirements-based testing (RBT)?
- What’s
needed?
- How RBT is
helpful
- Designing
tests based on decision tables
- Experience:
Designing tests based on a requirement
8.
Model-based testing
- What is
model-based testing?
- Examples of
how design models can be used for designing tests
- How to
perform model-based test design
- Experience:
Designing tests based on a state-transition model
9.
Creative uses of test automation
- Common uses
of test automation
- Some open
source and “do it yourself” tool strategies
- The
benefits of small and random test automation
10.
Workshop summary
All
materials on this site
copyright 1996 - 2009, Rice Consulting Services, Inc.
Rice
Consulting Services, Inc.
P.O. Box 892003
Oklahoma City, OK 73189
405-691-8075
"Leaders
are made, they are not born. They are made by hard effort,
which is the price which all of us must pay to achieve any goal that is
worthwhile." -- Vince Lombardi
This site best
viewed with the Mozilla Firefox
browser!