what is Quality? Quality can be define in different
manner. Quality definition may differ from person to person. But
finally there should be some standards. So
Quality can be defined as
- Degree of excellence - Oxford dictionary
- Fitness for purpose - Edward Deming
- Best for the customer’s use and selling price - Feigenbaum
- The totality of characteristics of an entity that bear on its ability to satisfy stated or implied needs - ISO
How a Product developer will define quality - The product which meets the customer requirements.
How Customer will define Quality - Required functionality is provided with user friendly manner.
These are some quality definitions from
different perspective. Now lets see how can one measure some quality
attributes of product or application.
Following factors are used to measure software development quality.
Each attribute can be used to measure the product performance. These
attributes can be used for Quality assurance as well as Quality
control. Quality Assurance activities are oriented towards prevention of introduction of defects and Quality control activities are aimed at detecting defects in products and services.
Reliability
Measure if product is reliable enough to sustain in any condition. Should give consistently correct results.
Product reliability is measured in terms of working of project under different working environment and different conditions.
Maintainability
Different versions of the product should be easy to maintain. For
development its should be easy to add code to existing system, should
be easy to upgrade for new features and new technologies time to time.
Maintenance should be cost effective and easy. System be easy to
maintain and correcting defects or making a change in the software.
Usability
This can be measured in terms of ease of use. Application should be user friendly. Should
be easy to learn. Navigation should be simple.
The system must be:
- Easy to use for input preparation, operation, and interpretation of output.
- Provide consistent user interface standards or conventions with our other frequently used systems.
- Easy for new or infrequent users to learn to use the system.
Portability
This can be measured in terms of Costing issues related to porting,
Technical issues related to porting, Behavioral issues related to
porting.
Correctness
Application should be correct in terms of its functionality,
calculations used internally and the navigation should be correct. This
means application should adhere to functional requirements.
Efficiency
To Major system quality attribute. Measured in terms of time required
to complete any task given to the system. For example system should
utilize processor capacity, disk space and memory efficiently. If
system is using all the available resources then user will get degraded
performance failing the system for efficiency. If system is not
efficient then it can not be used in real time applications.
Integrity or security
Integrity comes with security. System integrity or security should be
sufficient to prevent unauthorized access to system functions,
preventing information loss, ensure that the software is protected from
virus infection, and protecting the privacy of data entered into the
system.
Testability
System should be easy to test and find defects. If required should be easy to divide in different modules for testing.
Flexibility
Should be flexible enough to modify. Adaptable to other products with
which it needs interaction. Should be easy to interface with other
standard 3rd party components.
Reusability
Software reuse is a good cost efficient and time saving development
way. Different code libraries classes should be generic enough to use
easily in different application modules. Dividing application into
different modules so that modules can be reused across the application.
Interoperability
Interoperability of one system to another should be easy for product to
exchange data or services with other systems. Different system modules
should work on different operating system platforms, different
databases and protocols conditions.
Applying above quality attributes standards we can determine whether system meets the requirements of quality or not. As
specified above all these attributes are applied on QA and QC process
so that tester or customer also can find quality of application or
system.