The stabilization process of the Veronte autopilots is a sequence of tests with the objective of assuring that the new version of the software works properly.
When the firmware department adds a new function within the Veronte Autopilot systems, the new version which incorporates it must necessarily pass several tests to check that everything works as expected. It is at this point is where the Verification Department gets into action since it is in charge of bringing the new code to a set of tests called regression testing.
These are performed with the only intention of discovering possible mistakes (bugs), lacks of functionality, or functional divergences according to the expected behaviour of the software, caused by possible changes in the program.
Therefore before an evolution or important functional changes, the software is completely evaluated and tested. These kinds of tests include either the system tests or the unity software test.
Unity Tests & System Tests for Onboard Software
A unity test is a method to check the correct performance of one code unit. This is used to assure that each software unit within the Veronte Autopilot software, independently from the rest, is working properly and efficiently to ensure the robustness and reliability of the control system.
In addition to verifying that the code does what it is supposed to do, the Verification Department at Embention checks that the names and types defined for the parameters are correct and according to the development standards, as well as they test that the system is deterministic and the fact that if the initial conditions are fine, the final one will also be fine.
The point is writing different proven cases for each method, in the way that each case is independent from the others.
These ones are performed once that the unity tests have been approved and they prove that all the unitary elements that compose the software works well together and according to the safety and reliability standards defined.
This kind of tests are focused on checking the performance in the communication between the different components either regarding the software or regarding the hardware.
An important premise in the testing process is that in case that one test fails and requires a software update to repair it, the software Verification Department at Embention has to carry out all the different tests again from the beginning, consolidating the new version and ensuring that all test are performed on every software release.
Once the new software goes through the Verification Department at Embention and once all the tests above explained have been carried out, we can assure that the new version is robust and ready to be released.