Home / Projects / Quality assurance

How can we measure the quality of software?

Measuring the quality of software is more like judging a gymnastics competition than determining who has won a running race. It can only be done by direct comparative inspection of gymnasts, and only by an "expert". Software quality measurement is fundamentally a SUBJECTIVE process, in spite of various attempts by software engineers to devise metrics which produce numbers. (You will have seen some of these described if you have ever looked closely at a tool such as "Together")

A few generalities :

CORRECT

Software QUALITY is based on Software REQUIREMENTS, which define what the user wants. A software which does not conform to the requirements lacks quality.

Verify your requirements, and write a suite of TESTS.The tests should be executed after every modification of the code.

RELIABLE

The software must get the right results ALL THE TIME, and it must be ROBUST, which means that if it gets silly input it must handle it in a sensible way. (Example - if a program is expecting a number and the user types a non numeric character, the software should be able to detect the error, and react "gracefully")

Test suites, and also cross reading of code can help with this. Always check the validity of user input. Follow coding standards.

EFFICIENT

The results should be obtained making the best use possible of the hardware.

It can be difficult to know what "best" means. But OPTIMIZATION should come after CORRECTNESS ! Design reviews can help, and software can be checked by a tool, for such things as memory leaks.

USABLE

If no one can understand how to use it then it is no good

Write some user documentation, keep it up to date. Have it checked by someone who was not the author of the software.

FLEXIBLE

If it is impossible to make modifications then the software will soon be useless.

Write modular code. Comment lavishly. Follow coding standards. Have your code reviewed.

upper case tags should be converted to lower case

↑ Top