In some industries there is room for trial by error and time to correct mistakes that could have been made in development or execution stages. However, in others, there is no such room for blunders.
In the aerospace, automotive, business, industrial, medical, and railway markets, buggy embedded code can result in loss of life, loss of money, and loss of brand equity. Typically, the software involved in these industries is highly complex and without embedded software testing in place, small software defects in the code could result in detrimental consequences.
Let’s take a look at six industries where embedded software testing is mission-critical in ensuring effectiveness and in some cases, keeping lives out of harm’s way.
The Federal Aviation Administration (FAA) applies DO-178Cas a guiding document to determine if software onboard aircrafts will perform reliably when in the skies. Aircrafts must adhere to these requirements before being cleared by the FAA for a number of safety purposes. DO-178C includes 5 levels (A=Catastrophic, B=Hazardous, C=Major, D=Minor, E=No Effect) of “failure condition” that often times need to be tested for. Currently, software testing is required for the A, B, and C categories – limited to the catastrophic, hazardous and major levels.
Before being able to launch new products or add updates to existing aircrafts, the FAA demands DO-178C testing, in which case embedded software tests become vital in an effort to prevent issues ranging from lighting to engine failures.
Technological innovation in the automotive industry is a critical component for car markers’ success. Cars have evolved from strictly mechanical vehicles to today’s models, which are heavily reliant on embedded software and systems. Technological advancements are unlikely to slow down, as Google recently formed the Open Automotive Alliance in an attempt to better incorporate Android technology within cars’ built-in controls.
As these types of new software are added, embedded software testing becomes a vital component in preventing against failure to meet ISO 26262 and Motor Industry Software Reliability Association (MISRA) standards which could result in recalls of hundreds or thousands of vehicles.
Gone are the days of businesses being open Monday through Friday between the hours of 9 and 5. Today’s 24-hour, 365 days a year business environment has forced organizations to rely heavily on automated processes which can often include cumbersome software applications.
Financial institutions, large-scale manufacturers, healthcare organizations, and more, heavily rely on software to keep their business active at all times. With even the smallest software hiccup, these companies could witness downtime, system crashes, or data loss, which could cripple the bottom line or brand value.
In fact, in June of 2012, the Royal Bank of Scotland (RBS) experienced a software glitch, locking 12 million people out of their accounts for nearly three weeks. As a result, RBS had aggravated customers and were also pushed to make significant changes to their system testing, costing them financially. Embedded systems like those at RBS require 100% of the software to be tested to avoid failures and financial downfalls.
The International Electrotechnical Commission (IEC) is a stalwart in the industrial process-control and automation industry and the IEC 61508 standard has required electrical, electronic, or programmable systems to abide by the requirements. Similar to other industries that are software-reliant, industrial controls could benefit from embedded software testing to ensure as much code as possible has been tested in a field where safety and reliability are critical.
For example, the Endress+Hauser Level and Pressure Division needed to ensure that their development processes and products met the requirements of the IEC 61508 safety standard, taking on embedded software testing and code coverage to identify any existing issues.
Everything we touch has software in it today, medical industry is no different. Electronic devices are being used more and more often to provide improved quality of life and enhanced medical care.
The devices being used to improve the medical industry (patient monitors, infusion pumps, pacemakers, and defibrillators) lean heavily on embedded software and need to conform to IEC 62304 guidelines and FDA audits through continuous and successful software testing.
The European Committee for Electrotechnical Standardization (CENELEC) and their three primary regulations (EN 50126, EN 50128, and EN 50129) serve as the governing force behind railway safety. The system, similar to those represented by the DO-178C, ranges from SIL 0 for systems like management information that minimally impact safety to SIL 4 (those that control switching and signaling).
Embedded software in railway systems need to abide by these regulations to not only meet CENELEC standards, but ensure lives are not put in jeopardy due to software malfunctions. A series of 2011 train collisions in China were traced back to signal failures, which resulted from faulty software. Proper software testing could have likely prevented these signal failures and personal injuries.
If any of the six industries listed above do not properly incorporate and execute embedded software testing, they face painful consequences, including financial loss and failure to meet regulations standards to name a few. Although each industry is different, embedded software is a common thread in each and ensuring these systems are operating at 100% is essential.