What Are The Quality Attributes?

To start with, let’s briefly understand what quality is? Quality can be defined in different ways. The definition of quality may differ from one person to another. But finally, there should be some standards.

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 bears on its ability to satisfy stated or implied needs – ISO

How will a Product Developer define Quality? – The product meets customer requirements.
How will Customers define Quality? – The required functionality is provided in a user-friendly manner.

What Are The Quality Attributes_

Quality Attributes

Quality may be defined from different perspectives. Now let’s see how one can measure the Quality Attributes of a product or application.

The following factors are used to measure Software Development Quality. Each attribute can be used to measure product performance. These attributes can be used for Quality assurance as well as Quality control.

Quality Assurance activities are oriented towards the prevention of the introduction of defects and Quality Control activities are aimed at detecting defects in products and services.

#1) Reliability

Measure if the product is reliable enough to sustain in any condition. Should give the correct results consistently. Product reliability is measured in terms of working of the project under different working environments and different conditions.

#2) Maintainability

Different versions of the product should be easy to maintain. For development, it should be easy to add code to the existing system, should be easy to upgrade for new features and new technologies from time to time.

Maintenance should be cost-effective and easy. The system is easy to maintain and correct defects or make a change in the software.

#3) Usability

This can be measured in terms of ease of use. The application should be user-friendly. It should be easy to learn. Navigation should be simple.

The system must be:

  • Easy to use for input preparation, operation, and interpretation of the output.
  • Provide consistent user interface standards and conventions with our other frequently used systems.
  • Easy for new or infrequent users to learn to use the system.

#4) Portability

This can be measured in terms of Costing issues related to porting, Technical issues related to porting, and Behavioral issues related to porting.

#5) Correctness

The application should be correct in terms of its functionality, calculations used internally and the navigation should be correct. This means that the application should adhere to functional requirements.

#6) Efficiency

It is one of the major system quality attributes. It is measured in terms of time required to complete any task given to the system. For example, the system should utilize processor capacity, disk space, and memory efficiently.

If the system is using all the available resources then the user will get degraded performance failing the system for efficiency. If the system is not efficient, then it cannot be used in real-time applications.

Recommended Reading =>> What is Efficiency Testing?

#7) Integrity or Security

Integrity comes with security. System integrity or security should be sufficient to prevent unauthorized access to system functions, prevent information loss, ensure that the software is protected from virus infection, and protect the privacy of data entered into the system.

#8) Testability

The system should be easy to test and find defects. If required, it should be easy to divide into different modules for testing.

#9) 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.

#10) Reusability

Software reuse is a good cost-efficient and time-saving development method. Different code library classes should be generic enough to be easily used in different application modules. Divide the application into different modules so that modules can be reused across the application.

Recommended reading =>> Cost of Quality and Cost of Poor Quality

#11) Interoperability

Interoperability of one system to another should be easy for the product to exchange data or services with other systems. Different system modules should work on different operating system platforms, different databases, and protocol conditions.

Conclusion

By applying the above quality attributes standards we can determine whether the system meets the requirements of quality or not.

As specified above all these attributes are applied to QA and QC process so that both the tester as well as the customer can find the quality of the application or system.

Recommended Reading

26 thoughts on “What Are The Quality Attributes?”

  1. A testing process that exercises a software system’s coexistence with others by taking multiple integrated systems that have passed system testing as input and tests their required interactions.

    Reply
  2. I think it is a good representation of quality but it is not complete. There is a total of 21 quality attributes structured in 6 major groups defined in ISO 9126.

    Reply
  3. >>How Customer will define Quality – Required functionality is provided with user friendly manner.

    @vijay,

    required functionality with some extra features or some known issues from both ends. Is it ok? how about within time and budget?

    vijaysavalagi@gmail.com

    Reply
  4. Hi,
    Can anybody pls help me with the points about the standards used in software testing. I have to give a presentation on standards used in software testing.Just wanted to know what should be the flow of the presentation?? What all points should i explain while presenting the topic

    Reply
  5. mostly customer defines required functionalities. suppose if he receive extra functionalities they may be approved. here extra in the sense it depends on the functionality or easy navigation to the user. if the application really contains extra functionalities in terms of UI it is acceptable. and budget is no way concerned. i think

    Reply
  6. Quality:
    With respect to various products that we use in our day-to-day lives (Clothes, shoes, PC, car)
    Quality: Meeting customer’s requirements/fitness for purpose
    In terms of software services Quality means various aspects such as:
    – Free from defects
    – Within budget
    – Within schedule

    Regards,
    VijayD

    Reply
  7. software quality means measure how well software is designed and how well the software conforms to that design.
    quality product: a product quality is a function of how much it changes the world for the better.(user satisfaction).

    software product quality:
    scalability(correctness), completeness, absence of bugs, fault tolerance, documentation.

    Reply
  8. Hi, I would like to know what should be an approximate time duration that should go by, before I or the user could spot a bug in the newly released version? Based on reviews and testing processes, is there a norm for this or an approximate duration before which there should not be a bug reported, for the testing process to be considered as ‘good testing’?

    Reply
  9. Dear Vasantha,
    There is no such kind of time constraints to report a bug in real IT scenario. You can report the bug at any time. If you are not confident about the functionality of the system you can discuss with your peers.

    Thanks!!
    Suresh

    Reply
  10. Respected,
    I am doing job as Software Tester with 1 year experience. The main issue is that we are not following any process. Just Ad hock testing. I am very worried as I have 1 year experience but have no grip on any process. can any one please guide me. on my email ramzan.danish@gmail.com
    it will be great kindness.
    thanks

    Reply
  11. pls i want to understand &simple study by report or e.book about quality control attributes in mechanical engg.
    my e.mail:aamer1173@hotmail.com.
    Aamer

    Reply
  12. I Think this a very Best description of QA. It is simple, easy to understand and have a list of almost all QA. Nice Article and thanks…

    Reply
  13. As a software architect you have to describe a real time system for monitoring student’s performance in online class. The system evaluates the performance measures and on behalf of that it will assign each student some points. At the end of every week the system declares one student as “Student of the week”. The teacher, student and parents are allowed to view the student’s performance. The system has also the provision to identify the student who uses any unfair means during test or exam and immediately inform the examiner. a. For the above scenario what quality attributes are necessary? b. Are there any quality attributes which can be trade-off? If yes which one and why?

    Reply

Leave a Comment