# Calculating Software Quality Attributes

For a good assessment or analysis of software, it is important to have systematized functions of approaches to know about software quality attributes. After getting a complete in-depth knowledge about software quality attributes, here comes the most prominent point to arise is ‘how to calculate software quality attributes’. From this discussion, a proper mathematical concept is illustrated to calculate software quality attributes.

**Correctness:**The correctness ensures the appropriate specifications and fulfills all possible end-user objectives.

It can be calculates as = (Number of non-conformance to requirements) / (Total number of requirements) * 100.

This calculation can also be expressed as: = (Number of requirements fulfilled) / (Total number of requirements) * 100

**2. Reliability: **keeping the major performance and reliability factors in mind, a program should perform its functions as per decided objective.

To calculate reliability, the formula is: = (Mean time to failure) / (Total run time) * 100

Another form: = (Mean time between failure) / (Total run time) * 100

**3. Efficiency: **The total amount of evaluating resources with code to function a system.

To calculate efficiency, the formula is : Efficiency = (Memory usage) / (Total memory) * 100

**4. Integrity: **It is defined as the verification test that checks the access is authorized or not.

To evaluate integrity, the formula is given by:

Integrity = (Number of successful attempts) / (Total number of attempts) * 100

**5. Usability: **The effort required in learning, operating, preparing inputs and interpreting output of a program.

To calculate usability, the formula is given by: Usability = (Total training time) / (Total development time) * 100

**6. Maintainability: **The effort required in identifying and fixing an error in software program.

The maintainability can be evaluated as: Maintainability = (Amount of time spend to fix a bug) / (Total Development time) * 100

**7. Testability: **The amount of effort is required to test a program to ensure the current function is performed well or not.

Testability can be expressed as: Testability = (Time spend in testing a functionality) / (Total development time) * 100

**8. Flexibility: **The amount of effort required to modify a program.

It can be calculated as: Flexibility = (Time spent to fix a bug) / (Total development time) * 100

**9. Portability: **It is a software codebase which enables us to reuse the existing code, at the time of moving software environment from one to another.

The portability can be expressed as: Portability = (Number of successful ports) / (Total number of ports) * 100

**10. Reusability: **The software program can easily run in other applications. It is defined as the packaging and scope of functions of the program.

It can be calculated as: Reusability = (Number of reusable components) / (Total number of components) * 100

**11. Interoperability: **The amount of effort or potential required to couple one system with another known as interoperability.

This can be expressed as: Interoperability = (Time spent in coupling the system) / (Installation time) * 100

Productivity comes with serious effort on each and every attributes. Application needs to be manipulated or examined by applying extensive approach in terms of mathematical form, to evaluate exact condition in different factors. By calculating software quality attributes enables a user or tester to aware with upcoming or existing disabilities in software product that are the most crucial prospects to determine software abilities.

*Originally published at **www.professionalqa.com**.*