Category: Techniques

Testing techniques

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…

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…

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…

All Pairs Testing

All pairs testing is a combinatorial technique to achieve adequate test coverage where testing all possible combinations would be resource intensive and the risk of less than complete testing is acceptable. The fundamental concept is that you test pairs of variables, rather than all possible combinations to achieve good statistical…

Decision Tables & State Transitions

Continuing on from the previous post, some additional specification based test techniques. Decision tables testing Decision table testing can be applied to test the behaviour of logical conditions found within the specification. The decision table lists all possible inputs and all the corresponding outputs. Each column in the table corresponds…

Types of testing

As alluded to in “what is software testing”, there are many distinct types of testing. Using the agile testing quadrants diagram, we can visualise where and when these types of tests are applied: Q1 Unit tests cover the smallest ‘unit’ of software – individual methods or functions, and the development…