Software QA is the process of analyzing and checking specific attributes or properties of a software product. Typically a QA team identifies issues that software developers work to fix and correct. Software QA processes are defined and described by standards such as DO-178, IEC 61508, and ISO 26262.
Software QA engineers check the software for a variety of potential defects and errors using processes such as validating that the software performs as specified and operates in a robust manner. In critical embedded software applications, the software must perform in a robust manner and be free of run-time errors. If software QA is not performed, run-time errors can manifest in production and cause undesirable behavior. Software QA processes use tools such as static code analysis to identify where the software might fail and to prove that the software is robust.
You can use static code analysis tools for the following tasks:
- Automating and streamlining the QA process
- Detecting and proving the absence of run-time errors in your source code
- Producing software QA reports to identify which parts of the code are proven to be reliable and which aspects are at risk to fail
For details, see Polyspace® products