Rapid Software Testing
Duration:
3 days
Available in-house or on demand
► Overview ◄
This is a “Masterclass” course personally delivered by James Bach (USA).
You’re given a software product to test. There isn’t much time. What do you do?
This class introduces you to rapid software testing, a complete testing methodology designed for a world of barely sufficient resources, information, and time. Based on the principles in the book Lessons Learned in Software Testing: a Context-Driven Approach, this class presents an approach to testing that begins with personal skill development and extends to the ultimate mission of software testing: lighting the way of the project by evaluating the product.
The philosophy of rapid testing presented in this class is not like traditional approaches to testing, which ignore the ‘thinking’ part of testing and instead advocate never-ending paperwork. Products have become too complex for that, and testers are too expensive. Rapid testing uses a cyclic approach and heuristic methods to constantly re-optimise testing to fit the needs of your clients. Rapid testing isn’t just testing with a sense of urgency, it’s mission-focussed testing that eliminates unnecessary work, assures that everything necessary gets done, and constantly asks what testing can do to speed the project as a whole.
One important tool of rapid testing we will cover is the discipline of exploratory testing – essentially a testing martial art. Exploratory testing combines test design and test execution into one process that finds a lot of problems quickly. If you are an experienced tester, you’ll find out how to articulate those intellectual processes of testing that you already practice intuitively. If you’re a new tester, hands-on testing exercises help you gain critical experience.
► Intended For ◄
Any tester, test manager, developer, or anyone else who is interested in learning how good testers think. The course is specifically designed so that there is something for people at all levels of development. Novice testers are welcome.
► Prerequisites ◄
Nil
► Objectives ◄
By the end of this course participants will be able to:
- Test any product or product idea right now
- Perform exploratory testing while being accountable for your work
- Design, explain, and defend a test strategy
- Use heuristics to design tests
- Use risk analysis to focus tests
- Report meaningful test progress
- Determine whether testing is “good enough”
► Content ◄
What is Rapidity and How Does it Relate to Thoroughness and Rigour?
Key Idea: Think Like a Scientist
- Epistemology, the study of knowledge
- Technique: abductive inference
- Technique: conjecture and refutation
- Testing is about asking questions
- Testers distinguish inferences from observations
- Testers use heuristics
Key Idea: Know Your Coverage and Oracles
- The universal test procedure
- Rapid modelling
- A universal heuristic testing model
- Seven big problems of testing
- Rapid oracles
Key Idea: Use Exploratory Testing to Find Bugs Fast
- The internal structure of exploratory testing
- Blending exploratory and scripted testing
- Note taking and test documentation
- High accountability ET with session-based test management
- The plunge in and quit heuristic
- The no questions heuristic
Key Idea: Focus on the Bugs that Matter
- Quick testing vs. coverage-based testing vs. risk-based testing
- Risk-based test management vs. risk-based test design
- Heuristic risk analysis
Key Idea: Run Crisp Test Cycles
- Test cycle heuristics: “test all scopes” and “test right now”
- How to work with developers so they go faster and support testing better
- Test cycle convergence and stopping heuristics
- Rapid bug investigation
- Reporting your status responsibly
Key Idea: use a Diversified Test Strategy
- How to evolve a test strategy
- Test strategy heuristics
- Contrasting test techniques
- Rapid test automation
Key Idea: Make Sure Your Testing Fits the Project
- Context-driven test methodology
- The “good enough” model
- Good enough testing with the context model
- The missions of testing
- Testability
Exercises
- Test the mysterious sphere
- Wason selection task
- Test the famous triangle
- Use exploratory modelling on a small application
- Discover the role of repetition in test strategy
- Report the completeness of testing
- Exploratory testing with playing cards
- Produce a test strategy for a decision analysis application
- Produce a list of testing issues for a disk management application
- Test an application you work with every day
► Method Used ◄
This course relies heavily upon discussion and exercises.