What is a software quality and what attributes are used to measure it? A very common question you might have faced during Testing or QA Interviews. Many of the Software Testers or Software Quality Analyst don’t know about the attributes at all. This post would help you understand the attributes in simple and sober words.
Software Quality:
Software quality is the characteristic of the software that defines how well the software meets the customer requirements, business requirements, coding standards etc. It can be divided into two categories:
Software Functional Quality: characteristics that define how well the software meets functional requirements, and how well it satisfies the end-users.
Software Non-Functional Quality: characteristics that define how well structural requirements are met that support the delivery of functional requirements. It is usually related to software code and internal structure.
The different software qualities can be measured through various software testing techniques and tools. Following are the different attributes (parameters) that are used to measure the software quality:
Testability – How easy it is to test the software and to what extent it can be tested.
Usability – It defines how user friendly the software is.
Understandability – How easily the software can be made understood to a layman about its functions/purpose
Consistency – How far the software is consistent / uniform in terms of GUI, terminologies, conventions.
Efficiency – It defines the amount of work that the software can do in defined timeframe with minimum resources used.
Effectiveness – The extent to which the software satisfies the user and meets user requirements
Accuracy – How accurately the software works with gives the correct results.
Maintainability – How easily the software can be maintained in terms of enhancements/new features/bug fixes.
Reliability – How reliable the software is in performing required functions under different scenarios/conditions.
Portability – How easily the software can be transported and run in different environments e.g. platforms like operating systems (Linux, Mac, Windows), machines it can run on.
Security – How secured the software is in terms of access authorization and personal data like passwords.
Robustness – How robust the software is under unexpected events like software crash, power-off etc and saves its data.
Comment if you have any queries regarding this. Thanks for reading.
6 comments
Sir, my question is…. why a separate tester is needed in software development?
Thanks for the points on software quality parameters. I am searching for parameters for only software design quality. Can u plz help me Sir.
Thanks for visit Poornima.
Sorry for the delay in reply. BTW are you still in search of the subject?
-Kedar
yes sir. In fact I could not.
My question is on” how in industry measure the quality of a design not a software ?. could you provide some info regarding it?
the content i was looking for,finally i found it..n it ws nicely presented n to the point..
Thanks Priya,
Keep visiting or follow “Change Is Inevitable” on facebook for more updates.
Kedar.