Skip to content

Software Quality

ehzan edited this page Jan 16, 2023 · 5 revisions

Software quality describes fundamental properties of the software’s source code. Whatever the approach to development may be, the final program must satisfy some fundamental properties. The following properties are among the most important:[1]

  • Reliability: how often the results of a program are correct. (اطمینان‌پذیری، قابلیت اعتماد)

  • Robustness: ability of a program to cope with errors (not bugs) during execution. This includes situations such as incorrect, inappropriate or corrupt data, unavailability of needed resources such as memory, operating system services and network connections, user error, and unexpected power outages. (توانمندی، تاب‌آوری)

  • Portability: the range of computer hardware and OS platforms on which the program can be compiled/interpreted and run. (قابلیت حمل)

  • Efficiency/performance: the measure of system resources a program consumes (processor #time-complexity #time-order #Big-O, memory #space-complixity, slow devices such as disks, network bandwidth, etc.): the less, the better. (کارآیی)

  • Security: the protection of system from attacks that may result in unauthorized disclosure, or damage to hardware, software, or data, as well as from the disruption of the services they provide.[1] (امنیت)

  • Usability: the ease with which a person can use the program. #user-friendly (کاربردپذیری، سهولت استفاده)

  • Reusability: the capacity to reuse the existing code when developing other software applications.[1] (بازبهره‌پذیری، قابلیت استفاده مجدد)

  • Readability: the ease with which a human reader can comprehend the purpose, control flow, and operation of source code. (خوانایی)

  • Maintainability: the ease with which a program can be modified by its present or future developers in order to make improvements or customizations. (نگهداشت‌پذیری، قابلیت نگهداری)

Reusability, readability, and maintainability may not be directly apparent to the end user but they can significantly affect the fate of a program over the long term. Good practices during initial development make the difference in this regard.


1. https://en.wikipedia.org/wiki/Computer_programming#Quality_requirements
1. https://en.wikipedia.org/wiki/Computer_security
1. https://en.wikipedia.org/wiki/Reusability

Clone this wiki locally