Subscribe

Software testing landscape shifting

Lebo Mashiloane
By Lebo Mashiloane
Johannesburg, 10 Mar 2014
Growing technology demands of today's consumers are challenging the traditional software testing principles.
Growing technology demands of today's consumers are challenging the traditional software testing principles.

Software testing is increasingly moving towards a continuous delivery phase where more and more companies are going live on a daily basis, says Ruud Teunissen, software testing thought leader and co-author of Software Testing: A Guide to the TMap Approach.

"Traditionally, operational departments only cared about production and there seemed to be no communication between them and testing teams," explains Teunissen, who notes that "historical testing practices were also designed to optimise the operation of large, centralised testing groups using a testing centre of excellence model, but struggled to support the rapid delivery of agile software development where requirements and solutions evolve through collaboration across all functional teams.

"This resulted in large volumes of manual testing, which is time-consuming and resource-intensive, slowing down delivery. Manual testing simply cannot keep up with daily builds, continuous integration, and the functional and non-functional testing cadence of agile delivery teams," he says.

Driven by the growing technology demands of today's customer, cloud computing, social media and bring your own device to name a few, Teunisssen observes that the software testing environment is becoming a joint effort across many levels of the organisation.

"Early involvement and people working together are the most important part of any project's backbone," he says. "Testing teams are moving towards a service-driven test management process that relies on the repetition of a very short development cycle; first the developer writes an automated test case (initially failing) that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards. "

This process is based on partnership, ownership and craftsmanship, according to Teunissen, and moves the testing practice from complaining and blaming, towards enabling.

Teunissen also touches on context-driven software testing which is built on the principle that the value of any practice depends on its context.

"Context-specific testing applies an approach that is optimised for a specific setting or problem, without room for adjustment in the event that the context changes. This is common in organisations with longstanding projects and teams, wherein the testers may not have worked in more than one organisation," he adds.

He elaborates further that this school of thought also implores testers to recognise that the product is a solution. If the problem isn't solved, the product doesn't work. Testing groups exist to provide testing-related services. They do not run the development project; they serve the project.

"Only through judgement and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products," concludes Teunissen.

Share