Glossary · PLC and control programming
Software quality
Also known as: Software product quality
German: Softwarequalität
In software engineering, software quality is the degree to which software meets stated requirements and user needs, described in ISO/IEC 25010 by characteristics such as functional suitability, performance efficiency, compatibility, reliability, security and maintainability.
- PLC programming
- Standards
In one sentence
Software quality is the degree to which software meets requirements and needs, measured by traits such as reliability and security.
Example
A PLC library is released only after static code analysis, a review against the coding guideline and unit tests with 90 percent branch coverage.
How it applies
- Engineering: Quality in PLC software shows in readable structure, consistent naming, tested reusable blocks and predictable timing. Static analysis tools, coding guidelines (for example from PLCopen) and reviews make it measurable.
- Testing: Test coverage figures show how much of the code tests exercise; they do not prove that requirements are met. Verification checks the software against its specification; Validation checks that it serves its intended use.
- Maintenance: Maintainability is often the quality characteristic with the largest long-term cost impact, because machines run for decades and are changed many times.
- Documentation: Software documentation is part of quality: a program nobody can understand is hard to maintain safely. Define in the quality plan which documents a software release requires.
Software quality vs. functional safety
High software quality is a precondition for safety but not the same thing. Functional safety standards add specific requirements, techniques and evidence for safety-related software.