The methods, techniques and tools to achieve robust embedded testing.
“It’ll never happen in the field”
“Perfection is the enemy of good”
“It’s good enough”
Every developer has heard at least one of these phrases. I’m sure you have. You may have even used them yourself. They hold some truth for developers of enterprise or front-end software. However, if you have used these in embedded software, you are very wrong.
Flawless embedded software is important in many industries… Embedded code underpins everything; it’s the fundamental layer of all devices. All other software — middleware logic, databases, web servers, user interfaces — everything depends on a functioning bottom layer of software.
And in the top layer of software — and with all due respect to those who attempt to get it right — it rarely matters if the pixels are out in the user interface, or it’s the wrong colour. It doesn’t affect the functionality of the software.
As Embedded software developers, our focus is to accelerate and improve software development in the pursuit of perfection. In the forthcoming series of articles, I will look at elements that come together to make a successful, fully tested, embedded application. Important aspects discussed include requirements traceability, software metrics, testing frameworks, code coverage and automation.