title | date | categories | tags | author | Field name | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Conscientious Computing: Sustainable Testing |
2023-12-15 17:10:00 UTC |
|
|
chayes |
As a tester, you might think that developing sustainable software isn’t something that applies to you because, after all, you are not the one writing the application code or deciding where to host it. However, this couldn’t be further from the truth, as someone who is involved throughout the SDLC (Software Development Lifecycle); from refining requirements to smoke testing post-release, you play a key role in embedding sustainable software principles at every stage.
Before we get into how you might do that, you might be wondering why any of this matters. After all, what difference could you, one person, make? Isn’t reducing meat consumption, expanding renewable energy production or decreasing the emissions from the aviation sector far more pressing? While it is true that each of these industries significantly drive climate change, don’t underestimate the impact that the technology sector has on global carbon emissions which, according to researchers, is only set to increase over time.
Looking at ICT specifically, research indicates that emissions are actually higher than previously estimated, sitting at 2.1-3.9% globally. The most compelling part of this paper for me was the researcher’s warning that:
‘emissions will not reduce without major concerted political and industrial action’
I think they’re right, so my question to you is, will you be part of that action?
Sustainable or ‘Green’ Software is a movement within the software industry which aims to measure and reduce the environmental impact of developing and hosting applications. The Green Software Foundation has identified the following principles:
-
Carbon Efficiency: Emit the least amount of carbon possible.
-
Energy Efficiency: Use the least amount of energy possible.
-
Carbon Awareness: Do more when the electricity is cleaner and do less when the electricity is dirtier.
-
Hardware Efficiency: Use the least amount of embodied carbon possible.
-
Measurement: What you can't measure, you can't improve.
-
Climate Commitments: Understand the exact mechanism of carbon reduction.
So, how does this apply to testing? As a tester, you are uniquely positioned to bring together the theory and practice of green software development in the teams you work with and drive the changes needed to make software more carbon efficient.
For testers, many of the things that we need to consider would typically come up during the planning phase of a project but could also constitute continuous improvement at any time. We will be publishing a series of blog posts that delve into some of these areas in more detail but here are some of the key things that testers might consider:
The key takeaway is to start to factor in these considerations on your project. Thankfully, there is a direct correlation between cost and efficiency, in that, the more you can improve the efficiency of your testing practices by implementing some of the above suggestions, the more you can reduce the costs involved – a win-win!
If this has piqued your interest, then you might find the introductory guide from the Green Software Foundation useful as well as the other blogs we have published in our sustainability series. We are going to be publishing some deep dives into test planning and some of the other areas that may be of interest to testers so keep an eye out!