Ada Software Testing

The Ada language, so named after the woman credited for being the first software programmer - Ada Lovelace, was developed by Jean Ichbiah around 1980 to provide a primary language for the United States Department of Defense. As such, Ada is used heavily in embedded systems for the military, avionics and national defense.

Ada is known for being a strong object-oriented programming language with strong typing, modularity mechanisms, parallel processing, exception handling and other benefits particular to embedded software.

Unit testing is a form of software validation that tests individual components of a program separately.

When developing a car, an airplane or any other type of vehicle, engineers cannot test it by driving or flying the finished product. Each individual component is examined on its own to make sure it is working properly, before the complete vehicle is assembled. Similarly, software developers utilize unit testing to validate sections of code before they are put together to form a program.

Ada software testing is often done by targeting individual packages or subprograms to ensure they meet requirements and do not contain errors. Developers can conduct unit testing manually, although in many cases it is far more efficient to utilize automated software testing tools, which enable a large number of tests to be carried out on a piece of code with minimal effort. This form of testing is particularly useful for code produced in object-oriented programming languages like Ada, since these languages work with code that is divided in separate parts.

Ada software testing allows developers to perform these testing activities natively or on a specific target or simulator.

Though an important component of an overall testing solution, Ada software unit testing is not sufficient on its own. As in the case of an airplane, the pieces must ultimately be tested together as a cohesive unit as well. Optimizing military, avionics, defense and aerospace systems with high-quality testing solutions like code coverage analysis will improve overall performance and the safety of these solutions