Kafka Testing

In an earlier post we looked at Kafka and got hands on with creating topics, and producing and consuming messages. However, the basic tools are limited and only simple manual testing would be possible. Ideally we want to write automated tests, as these are repeatable and allow us to use…

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 Cucumber

Following on from GWT syntax and BDD, this post investigates how a Cucumber test is structured, and starts to explore some of the features of Cucumber and Gherkin syntax (the keywords Cucumber uses to execute the tests) The anatomy of a Cucumber test Cucumber tests are a lot more complex…

API testing with REST Assured

As mentioned in Getting started with API’s, tools like Postman are useful for hands-on testing of API’s, but automated API testing is better performed in code and there are several frameworks available to support this, with Rest Assured being one of the most widely used. A test endpoint Obviously to…

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…