More Exploratory Testing

Examining and improving existing tests and procedures Testing without a specification When the software has evolved, original requirements are no longer relevant, test coverage is incomplete and yet the team are able to maintain and improve a high quality, defect free product how can we limit the possible risk that…

Exploring Kafka

Message brokers such as Kafka are very popular back end technology that testers may encounter, especially in a microservices based product architecture. Message brokers and message queues differ from API based request and response services in that the component subscribes to messages that could arrive at any time rather then…

Behaviour Mapping

One of the services our engineering team maintains takes a stream of live data combined with human input, makes complex mathematical calculations based on the data and then generates data that is consumed by subsequent services. The human input is made through a relatively simple UI, but the testing challenges…

A Testing Bookshelf

Over the last 8 months and countless video calls, eagle eyed colleagues (and viewers of news programmes) have been spying on other’s peoples carefully (or carelessly) curated bookshelves, so I thought I’d recommend some of the books I’ve found useful. Testing basics Foundations of software testing is a comprehensive guide…

Getting started with JUnit

JUnit is one of a family of unit testing frameworks collectively known as xUnit, and is the most commonly used test framework in the Java ecosystem. Similar unit testing frameworks are available for many other languages, and these unit test frameworks provide a convenient way to build unit, component, integration…

Getting started with API’s (part 1)

Application programming interfaces (API’s) are the technical standards different software components use to interact with each other. This spans different libraries communicating with each other within the same piece of software (for example a language API specification), to remote API’s where the communication is over a network in a different…

GWT syntax and BDD

Given Something needs testingWhen Someone suggests using BDD/Cucumber/SpecFlowThen Some other people get really vocal – why? The test community seems to have a love hate relationship with BDD, but what actually is it, and how can it be used effectively? In software engineering, behaviour-driven development (BDD) is an Agile software…