Sustainability and the carbon footprint caused by digital services have emerged as significant topics in the field. In the ICT field, it's also our responsibility to reduce the environmental impact of our work and as the saying goes: ‘what cannot be measured cannot be improved’. This necessity has led to the development of a new non-functional testing type: Energy Consumption Testing (EC testing). Standard way to separate different types of testing is to put them into the two categories:
Functional testing observes the software or service from a functional standpoint. These tests are typically deterministic, with a defined start and end, and a clear path between these points. A good example is testing how a form is filled out on a webpage.
Non-functional testing tests the software or service from the non-functional point of view, a good example is performance testing. In performance testing software is bombed with a heavy amount of transactions and observe how it behaves under the load.
In EC testing, the software is evaluated from a full-stack perspective. In the web application context, measures cover consumptions of frontend, backend and network. Comparisons can be made between different measurements. If there has been a change in the software itself, measures show the trend goes in the right direction. It can also indicate whether a change has had a negative impact. Other lower-level changes, ranging from the processor through the operating system to the application server, can also affect the results.
So, what has been NorthCode's contribution to this area? We have created a concept which measures full-stack energy consumption. The underlying technology is the Robot Framework, and our solution is a Robot Framework listener which can be used with the existing test cases. We invite you to explore our open-source project on GitHub and see how it can enhance your energy consumption testing. Project Aurora
If you're interested in a demonstration of this innovative Energy Consumption Testing approach and wish to learn more about how it can benefit your projects, please feel free to reach out to us.