BBST Foundations in Black Box Software Testing
Lecture 1: Overview and Basic Definitions in Software Testing
In this first lecture, Cem Kaner presents an overview of the online BBST courses and introduces some definitions commonly used in the testing field.
Lecture 2: Strategy
In this second lecture, Cem Kaner talks about why testers test, what they are trying to learn, and how they can organize their work to achieve their mission.
Lecture 3: Oracles
Kaner’s topic for this lecture how oracles are used as heuristics to help testers determine whether or not software passes the tests that are run.
Lecture 4: Programming Fundamentals & Coverage
Kaner presents information about basic data handling and storage to help testers think about the multi-dimensional problem of test coverage in more sophisticated ways.
Lecture 5: The Impossibility of Complete Testing
In this fifth lecture, Kaner explores the complexity of determining when testing is finished and how the goal of complete testing is unattainable.
Lecture 6: Measurement
In this sixth lecture, Kaner addresses the challenges of measurement in software testing..
BBST Bug Advocacy Course
In this 35-minute lecture, Kaner explores a range of definitions for basic concepts including “quality” and “bug.” He also presents the multi-dimensional view of quality used throughout the BBST courses.
Lecture 2 focuses on how to develop bug reports that clearly communicate bugs in their best and most honest light so that decision-makers can operate with the best possible information.
In this lecture, Kaner presents strategies to help testers explore non-reproducible bugs so they are reproducible. He also discusses how tracking non-reproducible bugs can help troubleshooting efforts.
Lecture 4: Anticipating and Dealing with Objections: The Content, Clarity, and Credibility of the Report
This lecture focuses on how testers can make their reports to useful and more credible for better decision-making by others working in the development effort.
In addition to the quality of bug reports, a tester’s actions can influence how much credibility and influence they have on a project. This lecture draws on research on bias and signal detection theory to explore some of the things that enhance or diminish a tester’s credibility.
In the final lecture, Kaner introduces the RIMGEA acronym to guide testers in writing better bug reports.
BBST Test Design
Lecture 1: Function Testing, Tours, & A Taxonomy of Techniques
This lesson provides a structure for organizing your thinking about the many test techniques, and a focus on testing tours and on function testing. (Why together? The most common tour is an excellent foundation for function testing.)
- part A (9 mins, 14 secs)
- part B (9 mins, 20 secs)
- part C (3 mins, 32 secs)
- part D (10 mins)
- part E (9 mins, 51 secs)
- part F (4 mins, 38 secs)
Lecture 2: Risk-based testing, Testing Strategy, and the Heuristic Test Strategy Model
This lecture introduces risk-based testing, including failure mode analysis and quicktests. The lecture also examines a few concepts important for developing a testing strategy.
- part A (9 mins,4 secs)
- part B (9 mins,59 secs)
- part C (9 mins, 15 secs)
- part D (9 mins, 11 secs)
- part E (1 mins, 39 secs)
Lecture 3: Specification-Based Testing
This lecture introduces specification-based testing and suggests eight questions that can guide specifications analysis.
Lecture 4: Scenarios and Use Cases. Comparatively Evaluating Test Techniques
This lecture introduces scenario testing, including 17 approaches to creating suites of scenario tests. It also suggests comparing test techniques in terms of their core strengths and describes 18 potential core strengths.
Lecture 5: Domain Testing
This lecture introduces domain testing, the most popular test technique. The lecture presents a schema for applying domain testing that emphasizes the technique’s roots in risk-based testing.
- part A (9 mins, 26 secs)
- part B (9 mins, 16 secs)
- part C (9 mins, 57 secs)
- part D (6 mins, 50 secs)
- part E (9 mins, 57 secs)
Lecture 6: Combination Testing
This lecture focuses on ways to test several variables together, emphasizing combinatorial approaches (such as all-pairs).