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

Lecture 1: Basic Concepts

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: Effective Advocacy: Making People Want to Fix the Bug

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.

Lecture 3: Anticipating and Dealing with Objections: Irreproducible Bugs

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.

Lecture 5: Credibility and Influence

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.

Lecture 6: Writing Clear Bug Reports

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.)

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.

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.

Lecture 6: Combination Testing

This lecture focuses on ways to test several variables together, emphasizing combinatorial approaches (such as all-pairs).