Quality attributes are the overall factors that affect run-time behavior, system design, and user experience. Basically Quality Attributes are representing areas of concern that have the potential for application wide impact across layers and tiers.
What is Quality?
Quality can be define in different manner. In simple word its execution based on customer requirement in projects end nothing else Quality definition may differ from person to person. But finally there should be same standards. Below mentioned following factors are used to measure software development quality. Each attribute used to measure the product performance. All attributes cover 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: In Reliability our main focus on two factors which are Correctness and Availability. Measure if product or application is reliable enough to tolerate in any disorder. In reliability we focus on that application/ Product should give regularly true results or response to users while in running. Product reliability is measured in terms of working of project under different working environment (window, Mac, Linux) and different conditions (low net speed).
Attribute Measuring Point(s):
How much your product/Software is reliable on different Environment while running?
Maintainability: Maintainability is totally dealing with maintaining of Application versions, builds. Maintainability basically dealing with debugging and for modification and extension of functionality of Application, products, managing of Application Versions, Readability, Extensibility and most important Testability of software / Applications.
Attribute Measuring Point(s):
How much your product/Software is maintainable or Extensibility when you going to modification in any section of software.
Usability: In this attribute as its name showing the usability of application is checking or measuring or measurements are should measure 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.
Attribute Measuring Point(s):
How much your product/Software is Usable or easy in use for your target audience.
Portability: In portability we are dealing and talking about the ease with which a software system can be adapted to run on computers any other than the one for which it was designed. Or in portability is dealing with is a program/ Application designed to run on a compatible computer without being installed leaving the computer’s configuration information complete.
Attribute Measuring Point(s):
How much your product/Software is portal or shippable for different platforms?
Correctness: In Correctness we are dealing with Application those aspects which are helping to users that application correctness in terms of its functionality, designs used internally and the navigation should be correct. This means application should follow to functional requirements.
Attribute Measuring Point(s):
How much your product/Software is correct in working?
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 cannot be used in real time applications.
Attribute Measuring Point(s):
How much your product/Software is efficient in utilizations or in working from system resources point of view?
Integrity or security: Integrity always comes with security because 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 all unauthorized access on Platform, and protecting the privacy of data entered into the system.
Attribute Measuring Point(s):
How much your product/Software is Secure and integral in information lost while it’s on client end or in/after production?
Testability: System should be easy to test and find defects. If required should be easy to divide in different modules for testing.
Attribute Measuring Point(s):
How much your product/Software is testable while it’s in testing phase?
Flexibility: Should be flexible enough to modify at any time if you need. Easy-going to other products with which it needs communication. Should be easy to interface with other standard 3rd party components.
Attribute Measuring Point(s):
How much your product/Software is flexible or supportive in modification while it’s in testing phase?
Reusability: In this attribute we are basically checking or measuring only one main factor that is dealing with reusability of your products, software in another project or development phase for any other projects. It is very beneficial that 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.
Attribute Measuring Point(s):
How much your product/Software is reusable or supportive reusability when we need?
Interoperability: In Interoperability testing testers are measuring the factors of applications / Software’s related to Interoperability of one system to another should be easy for product to exchange data or services with other systems. OR Interoperability testing involves testing whether a given software program or technology is compatible.
Attribute Measuring Point(s):
How much your product/Software is Interoperability with other applications or software solutions?
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.