Software quality
Quality in computer software is a controversial field. For some, software quality is a largely aesthetic and practical issue, dealing with the question of how efficiently and elegantly a computer program performs a task and source code looks (see Programming style). For others, quality is defined as strict conformance to requirements and absence of bugs. In both cases, there are sets of practices that are either required, or highly useful in this pursuit.
Anti-patterns are common problems that happen frequently in computer programming and that should be avoided to achieve quality.
History
Factors of software quality
- Product quality
- conformance to requirements or program specification
- Correctness
- Completeness
- absence of bugs
- Fault-tolerance
- Source code quality
To a computer, there is no real concept of "well-written" source code. However, to a human, the way a program is written can have some important consequences for the human maintainers. Many source code programming style guides, which stress readability and some language-specific conventions are aimed at the maintenance of the software source code, which involves debugging and updating. Other issues also come into considering whether code is well written, such as the logical structuring of the code into manageable sections.
- Scalability
- readability
- easiness maintenance, testing, debugging, fixing, modification and portability
- low complexity
- low resources consumption: memory, CPU
- ...
Methods to improve the quality: refactoring.
See also
- Software Process Improvement and Capability dEtermination
- Quality: Quality control, Total Quality Management
- Capability Maturity Model
- Software Engineering
- Assertion (computing)
- Splint (programming tool)
- Efficiency
- Order
- Software metrics
- Standards (software)
- Ilities
