How Significant is Software Testing in the Aerospace Industry?

Debjani Goswami
Qualitest
Published in
4 min readDec 15, 2020

Throughout an aircraft’s flight, it depends significantly on different types of software for its functionality, safety and operations. From the seatbelt indicator to the control unit, the presence of software in avionics is abundant. Hence it goes without saying that software testing is an integral part of ensuring that an aircraft functions in its intended way. By extension, software testing and quality assurance are the support systems of the Aerospace sector.

To validate safety and wellbeing of commuters, of the crew on the flight and of the vehicle itself, specific strict guidelines need to be followed without compromising when it comes to testing and validating aerospace software applications. Apart from thousands of different functions, several millions of codes are involved in the process. All of them need to undergo thorough testing to ensure a flight is successfully and seamlessly completed. There are different types of activities that go into the testing process of avionics systems. These consist of:

Functional testing: This is to make sure; the software programs match both the high and low-level criteria.

Time analysis of worst-case execution: There are certain time-critical lines of code, and it is crucial to test that they operate in the desired wait within a specific timing restriction.

Analysis of structural coverage: This ensures that the structural parts of the codes are tested and validated to a certain degree that is acceptable by the industry standards.

What are the guidelines for avionics software testing?

The certification bodies like FAA and EASA stick to the Software Considerations related to DO-178C set out in the Certification guideline for Airborne Systems and Equipment in the approval process of commercial software-based aerospace systems. The guideline works to ascertain that critical software systems involved in the airborne systems are operating as desired and are not a threat to safety. Therefore, investing in a reliable QA service provider to conduct proper safety compliance testing is essential to ensure the avionics system’s security. However, AC 20–115 states that, despite the wide acceptance of the DO-178C parameter for compliance with airworthiness regulations of software and equipment, it is not the only one.

Some of the crucial aspects of software testing in Aerospace:

Critical planning: With emerging technology, software involvement in an aviation system is only going to increase. Fully software operated engines like FADEC are already in use and the complexity of the programs being used in flights are getting complex every day. Hence, it is necessary to start testing early, to avoid safety issues and reduce testing costs. Experts recommend that software testing planning should start from “day zero.”

Small teams of developers can be formed to plan the unit testing, as well as integration testing from the start to eliminate chances of significant risk issues or last-minute regression testing. Even though testing from the onset is an effective way of avoiding regression testing if there are still too many problems at the later stages, change-based testing can help remedy the situation. Vector Software hosts a technology that can run only a subset of tests, according to the changes in the code, thus both bringing efficiency and cost reduction to the table.

Independent validation: DO-178C states that the primary document on which the approval of software-based aerospace systems by FAA, EASA and other certification authorities depend is that an independent body must conduct the software testing. Hence the testing process in the Aerospace industry is carried out by outsourced third parties. Some aircraft OEMs might also employ separate in-house teams for the purpose. The job of all these third-party teams is to verify and validate the codes used in the aircraft through testing and ensure that there are no major bugs.

Model-based approach and fuzz testing: Even though test automation is a common and well-known way to reduce software testing workload, mathematical modeling has become another remedy. Large corporations like Airbus and Boeing employ this technology where a simulation is created to show precisely how an aircraft will behave when a certain software is installed into the system. Fuzz testing on the hand is the process of bombarding the software system of the aircraft with random data to try to find its breaking point.

Software encapsulates the aviation sector more than we seem to realize. It is no surprise that testing has become such an indispensable part of the industry. However, the process can be problematic, given both the complication and volume of data to be dealt with. With more and more progress in testing, aerospace organizations need to be on their toes to keep up with the requirements of their systems and their relevant solutions to make progress and survive in a rapidly changing global canvas.

--

--