Category: Fundamentals

Testing fundamentals

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…

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…

Testing in a team (then and now)

At the dawn of my testing career, before the widespread adoption of the internet and interconnected systems, the software project I first worked on was distributed as a boxed product (with a printed manual!), for installation on internal systems – connected to each other and perhaps some satellite offices, but…

What is software testing?

Software testing is a broad term to describe the activities performed on a product or service to ascertain its behaviour. Some see a lot of hidden meaning in the term, and much has been written to dissect the term and reinvent the definition of the word ‘test’. I don’t find…