Author: @ObjectiveTester

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…

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…