Black box software testing: By Cem Kaner & James Bach
GUI-level test automation and its requirements
- Video lectures
- Part 1 Introduction to GUI regression automation [23:37]
- Cost-benefit analysis
- Test automation is programming
- Capture-replay is really bad programming
- Part 2 Improving maintainability: An example [40:43]
- The Calendar Creator example (simple, table-driven automation)
- More general approaches: keyword-based (action words) and FIT
- References and links
- Part 3 Requirements analysis
[17:27]
- Alternative benefits -- using the tools for other purposes than regression (strategies that lead to rapid payoff or difficult-to-obtain information)
- Common mistakes in GUI level test automation
- Requirements-eliciting questions
- Part 1 Introduction to GUI regression automation [23:37]
- Lecture slides [PPT]
- Activity: Work with the OpenOffice test scripting tool
- Assignment: Test automation requirements questions
- Essay test questions
- Readings and tools: See the links in the slides
GUI-level regression test tools are the most commonly used black box test automation tools. There is a huge business (vendors and consultants) invested in these tools. But one of the most common ways of using them (capture-replay) yields poorly designed, unmaintainable code. It is possible to use (most of) the tools in ways that go beyond capture/replay but this requires programming skill, thoughtful design, and a good enough understanding of the tool's (often very poorly documented) programming language.
We illustrate one test automation architecture with a detailed description of the automation strategy used for Calendar Creator 2.0. Following that, we consider more general solutions at the UI level, such as Action Words (more generally, keyword-driven automation).
Regression testing is just one type of testing that can be automated--and what we call test automation is actually just partial automation. Once we drop the regression requirement, we can see may other alternatives.
We are setting up a mailing list for announcements about this course and, perhaps, a tightly focused and moderated discussion of how to teach it or self-study with it. (This won't be a general, high-traffic, intro-to-testing discussion.) If you're interested in the course, please sign up by sending us an email. We will NOT share your email address with third parties or send commercial advertising to you.
We are publishing this course under a Creative Commons license that allows you to freely reuse and distribute the materials and to modify the slides and associated printable materials (but not the videos). We would be appreciate a few mirror sites, to reduce the growing burden on our servers. If you can help in this way, or any other way, please send a note to Cem Kaner.