Software Testing Course Notes

Here we present our collection of course notes from both academic and professional courses on software testing.

NOTE: Most of the files for download are available in pdf format. To read files of pdf format you need Acrobat Reader. You can download it for free at

Cem Kaner & James Bach: Black Box Software Testing

Black box testing is the craft of testing a program from the external view. We look at how the program operates in its context, getting to know needs and reactions of the users, hardware and software platforms, and programs that communicate with it.

This course is an introduction to black box testing. It is a superset of the Software Testing 1 introductory courses that Florida Tech requires in its undergraduate (CSE 3411) and graduate (SWE 5411) software engineering degree programs. The full set of materials are equivalent to about a two-semester course.

This is a work in progress. I create pages for individual lectures as I have time. The final set will include about 35 pages. For links to a fuller set of course materials (everything we've posted so far), go to our Tracking Chart.

The Black Box Software Testing notes have been under development since 1993, with NSF support since 2001. Please write to us if you'd like to suggest a priority for the work remaining, or suggest additional topics in a Black Box testing course. (We are working separately on a course for white box, test-driven development).

Stale Amland: Exploratory Testing - Risk-Based Agile Testing

Stale Amland was born in 1961. He has a Master of Science from the Norwegian Institute of Technology, 1985, Industrial Economics. He has been employed by software houses and consulting companies and done consulting in a wide range of businesses, including financial industry, telecommunication and transportation. Stale is a frequent presenter at conferences in Europe and USA. He received the "Best Paper Award" at EuroSTAR 1999.

James Bach: Rapid Software Testing

James Bach runs his own testing and training company, Satisfice, Inc. James co-authored Lessons Learned in Software Testing, and co-edited Amplifying Your Effectiveness.

Bret Pettichord: Test Automation Architectures: A Context-Based Approach

Bret Pettichord helps teams improve their software testing and test automation. He has fourteen years experience in software product development, focusing on software testing and test automation. In 2000, he founded an independent consulting practice after having previously served as an internal test automation consultant at two major software companies and as a staff consultant at a major test tool vendor. He has a proven track record designing and developing automated test suites. His software testing philosophy is context-driven focusing on good relations with developers and agile methods that get results with a minimum of documentation. Bret is co-author, with Cem Kaner and James Bach, of Lessons Learned in Software Testing.

Douglas Hoffman: (Multiple courses)

Douglas Hoffman is the President and Principal Consultant of Software Quality Methods, LLC. Thirty years experience as a consultant, manager, and engineer in the computer and software industries. Twenty years experience in evaluating, creating, and turning around software quality departments in medium and small start up companies. Experience with corporate, quality assurance, development, manufacturing, and support functions and procedures. Management Consultant, Course Developer, Instructor, Author, and Project Manager for SQM, LLC. Adjunct Instructor for the University of San Francisco. Instructor for UCSC-Extension, ASQ-CSQE, ISO 9000 Auditor. Past Chair of ASQ's Santa Clara Valley Section (0613). Past Chair of the Santa Clara Valley Software Quality Association (SSQA), a task group of the ASQ. Program Chair for the Third International Conference on Software Quality (ASQC Software Division). US Program Chair for the First World Congress on Software Quality (ASQC Software Division). Conference Chair for the Third SSQA Software Quality Conference. Speaker at numerous conferences.