Skip to content
Adrian and Bastien

#RemotePairProgramming (Excerpt) Ep 015: Adi & Bastien – Tests that tell a Story

About

Tests should tell a story, and not be some complicated array of technical terms that almost nobody understands. This is our focus during the next #RemotePairProgramming session with Bastien David.

We call our tests paragraphs and our test class a story. Because we feel in a flow, we could go on writing tests that tell a story for a few hours and still discover what it an easy to understand story by the end user: the programmer.

Adi and Emily

#RemotePairProgramming Ep 014: Adi & Emily – Approval Tests with Lift Kata

About

Emily Bache and I have a remote pair programming session. The focus in working on the Approval Tests with Lift Kata that Emily created. We use Approval Tests to check each step in the progress of the implementation. Fast feedback and continuous communication are a good recipe for a quality pairing session.

Premise

About approval tests with lift kata. The code already has a starting point which is very useful for getting to work fast. There is a printer that can print the lift status in ASCII art format. We start from this minimal start-up and add approval tests in a TDD approach with small steps and incremental thinking. We add production code step by step as we add the tests.

Adi and Emily

Automated Tests System Under Test

Automated Tests Purposes

Automated tests: Why? How they help? Who needs them?

There are many types of automated tests out there. Let’s see the most used types of tests and understand how each one is useful.

Types of tests covered are:

  1. Unit Tests are isolated, focused on methods and classes. White box tests.
  2. Integration Tests are for checking how two different modules integrate. Black box tests.
  3. Integrated Tests are big, large tests showing how many modules integrate, with a business purpose. Black box tests.
  4. Acceptance Tests are showing that a features works well. Black box tests.
  5. Contract Tests are a special type of tests, that verify polymorphism integration of multiple components or classes.

Let’s take them one by one in detail.

Automated Tests System Under Test