Skip to main content

Search...

Green software revolution

Sustainability has long been part of ISO 25010, only hidden. Which quality criteria contribute to it and how testers can already work more resource-efficiently today.

7 min read
Cover for Green software revolution

Sustainability in software testing means two things: checking the software itself for sustainability and making the test process more sustainable. Existing ISO 25010 quality criteria, such as performance efficiency, maintainability and usability, already cover sustainability aspects without explicitly naming them as such. Resource-saving test automation, conscious tool selection and the avoidance of redundant test cases are concrete starting points for teams.

Key Takeaways

  • Sustainability does not appear as a separate quality criterion in ISO 25010, but is embedded in criteria such as performance efficiency, usability, reliability and compatibility.
  • Sustainable software and economical software are the same thing: if you save performance, you save money, and if you increase maintainability, you extend the life cycle and avoid expensive new developments.
  • Redundant test automation consumes computing capacity without adding value: running the same test case in three places costs three times the resources without finding additional errors.
  • When the test automation runs is a sustainability decision: during the day or at the weekend, when solar energy is available in the grid, is more resource-efficient than at night with imported electricity.

Sustainability is missing in ISO 25010, but is already included

Sustainability does not appear as a separate quality criterion in ISO 25010. There is no point called “sustainability” and none that mentions “greenability” or protection against environmental pollution. Anyone looking for it in the standard will not find it under this name.

Nevertheless, the topic is present, but distributed. Many of the existing quality criteria contain aspects of sustainability without being labeled as such. Power efficiency is the clearest example: If you use less power, you reduce the CO2 footprint of an application.

What is missing is transparency. The standard does not make visible which of its criteria contribute to sustainability. It is precisely this mapping that someone should create and make available so that every team does not have to reinvent it.

Which quality criteria contribute to sustainability

Sustainability has several dimensions, not just the ecological one. In addition to the environmental aspect, it also includes social factors and the lifespan of a product. Therese Kuhfuß assigns several existing ISO 25010 criteria to these dimensions.

Performance efficiency has an impact on the ecological factor because lower resource consumption directly reduces the CO2 footprint. That is the most obvious connection.

Usability covers two levels at once. It makes software accessible to more groups of people through accessibility and higher user acceptance, which is the social aspect. At the same time, good usability extends the life cycle of a product because it is used for longer.

Reliability works in the same direction. The more reliable a software is, the longer it will remain on the market, and a long life cycle is itself a form of sustainability.

Compatibility also reduces consumption. The more compatible a product is on its own, the fewer adapter or interface products are needed around it. This saves dependencies and resources.

Maintainability is part of the same logic. Well-designed software can be extended to meet new requirements without having to start from scratch every time. Especially in the regulatory environment, where requirements are constantly specified by the regulator, maintainability determines whether changes remain viable.

Testing sustainability is not the same as testing sustainably

There are two different questions that are often confused. Testing for sustainability means checking whether the software itself is sustainable. Sustainable testing means making your own test process more resource-efficient.

The quality criteria belong to the first question. They can be used to give sustainability a weighting, i.e. to determine how important it is in the specific project. This is always a trade-off: sustainability can take a back seat to security or safety requirements, and that is legitimate.

The timing is important. Sustainability as a quality criterion must be addressed at the beginning of software development, not at the end during testing. ISO 25010 is not a testing standard, but one for software development. Requirements engineers, developers and the specialist departments must define at an early stage which sustainability criteria they want to implement and how strongly they want to prioritize them.

How to get started with sustainable testing

The quickest way to get started is with sustainable testing because it is tangible and starts directly at tester level. Look at the tools first. There is a large selection of tools because some tools consume a lot of memory and computing power, while others consume significantly less. There is now the Blue Angel seal for sustainable software, which you can use for orientation and comparison.

The second lever is test automation. Often everything is bluntly automated away because storage and memory are considered free. This results in redundancies without added value. Running the same test case in three places costs three times as much computing capacity, but does not provide any additional knowledge.

Cut test cases intelligently and consider whether less is enough when it comes to automation. Therese Kuhfuß

The 80/20 principle applies here. The first test cases find the most errors, towards the end the yield becomes smaller and smaller. The honest question is: How much do you really want to find? For documents that are sent to customers, you might be able to accept a residual error if you save half of the test cases. In the safety area, for example when testing aircraft, this is not a discussion. No test cases are cut because human lives are more important than saving CO2.

A third, often overlooked point is the runtime of automation. Why do automated tests always run at night? If a separate computer is available, it is worth considering running them during the day or at weekends when there is a lot of solar energy in the grid that would otherwise have to be sold or cut by switching off wind turbines. At night, electricity tends to come back from other sources.

Why individual savings still count

The effect of a single measure is small, it’s the sum that makes the difference. Four standard PCs running for around 150 nights consume so many kilowatt hours over a year that you could alternatively drive around 4000 kilometers in a Tesla. That’s not the world.

The comparison that supports the principle is voting. A single vote counts for little, but if everyone votes, there is a result. It’s the same with sustainable testing: the more people in the community look at what they can do, the more movement there is in the end.

Sustainability and profitability go hand in hand

The most persistent misconception is that green is automatically expensive. The opposite is often true. Saving energy saves money because lower consumption directly means lower costs. With current energy prices, this is more important than it used to be.

The same logic applies to service life. Maintainable software with high compatibility and portability does not need a successor product in three years, but continues to run for ten years. Changes to it are cheaper than building it from scratch each time. Saving costs and conserving resources are the same goal here.

The effort involved in thinking about sustainability is low because teams consider their non-functional requirements anyway. Availability, for example, is checked in practically every project, such as the question of whether it is a 24/7 application or one that only runs during the day. Once the mapping between quality criteria and sustainability is transparent, the additional consideration hardly costs any more.

The gentle way beats the crowbar

Sustainability cannot be enforced by announcement. Last week, AI was the big topic, before that agility: if you come with a crowbar and want to change everything, you won’t take people with you. Agility has taken years and is still only halfway there in many companies.

A step-by-step approach from the bottom up is better. Start with sustainable testing, check tools and automation and create awareness of the topic within the company. Then, when a new software development is due, it is the right time to ask the question: Do we want to consider sustainability here, perhaps even choose a programming language that requires less computing power?

Greenfield projects are the easiest to start with because nothing has to be rebuilt. The time is right for a cautious approach. If everyone works together, it is an achievable task.

Share this page

Related Posts