There is a common testing pyramid that many organizations use regarding end-to-end, integration, and unit tests. Analogous to this pyramid, acceptance tests that are developed by the triad (customer unit, developer unit, and tester unit) can be applied at various levels. This blog entry relooks at the context diagram shown in this article, but from the standpoint of testing. Continue reading Acceptance Tests and the Testing Pyramid
It’s helpful to understand the big picture of an application before getting down into the details. The context diagram and the workflow diagram are two ways to show it. This big picture helps in creating acceptance tests for the system that have minimal redundancy and ease of maintenance. In order to demonstrate the two diagrams, I’ll use an example of an on-line ticket ordering system. Continue reading Using Context and Flow Diagrams For a Big Picture
There is a growing use of services and micro-services to develop applications. I’ve had numerous questions about how to test the services and who should be responsible for what testing. I wrote a book called Interface-Oriented Design which covered many of these issues. Here’s a summary and example adapted from that book. Continue reading Testing Contracts for Services
A common exercise in acceptance test driven development is write acceptance for the problem of scoring a bowling game. You may have seen other examples of acceptance tests. Here’s a different version based on some of the guidelines listed in my book. These examples are shown as Word-style tables. They can be converted into tables compatible with the syntax of your acceptance test framework. Continue reading Another Way to Look at the Bowling Acceptance Tests
I’ve been teaching Acceptance Test-Driven Development (ATDD) for many years. At the start of every course, I ask the attendees for issues they have with their development processes. After they have experienced the ATDD process, including creation of acceptance tests, I review their issues to see whether they feel that ATDD will help, hurt, or be neutral in respect to those issues. Continue reading ATDD Solves Development Issues
I’ve had numerous questions on how to automate testing batch programs. In some places these are also termed host programs, since the batch runs on a mainframe host. Let’s take a look at an example on how to do this.
You have some service or database call. You need that call to be repeatable. Sometimes a record and playback is sufficient. You make the call, record what it returns, and play that back every subsequent time. Continue reading Programmable Mocks
Tables are a desirable way to specify values in a Cucumber Given/When/Then step. Here’s an example of a table:
Given Customer is: | Id | Name | Street | Zip Code | | 123 | John | 1 Apple Lane | 27701 |
Acceptance tests start with communication, not automation.
— Ken Pugh (@kpugh) January 9, 2015
There is often some confusion between Acceptance Test-Driven Development (ATDD) and Test-Driven Development (TDD). Here’s a short description of their similarities, their differences, and their relationship. Continue reading Acceptance Test-Driven Development and Test-Driven Development – How They Are the Same and How They Are Different