What is Software Quality?
Quality software is reasonably bug or defect free, delivered on time and within budget, meets requirements and/or expectations, and is maintainable.
Definition by ISTQB
- Quality: The degree to which a component, system or process meets specified requirements and/or user/customer needs and expectations.
- Software quality: The totality of functionality and features of a software product that bear on its ability to satisfy stated or implied needs.
Key aspects of quality for the customer include:
- Good design – looks and style
- Good functionality – it does the job well
- Reliable – acceptable level of breakdowns or failure
- Consistency
- Durable – lasts as long as it should
- Good after sales service
- Value for money
Good design – looks and style
It is very important to have a good design. The application or product should meet all the requirements specifications and at the same time it should be user friendly. The users first attract by the attractive designs. The design includes the selection of right color combination, font style and size and buttons and icons are very important.
Good functionality – it does the job well:
Along with attractive design of the application or the product it is very important to have the intact functionality. All the features and their requirements should work properly. Every functionality should according to the requirements and expectation.
Reliable – acceptable level of breakdowns or failure:
After having attractive design and good functionality. As we have tested the functionality this is also very important to have the application or product should be reliable. For example: There is an application for store where they have to save the record of all customers but this application saved only 100 customers and then it fails. This should save the record of every customer. That is called Reliability.
Consistency:
The software should have consistency across the application or product. Single software can be multi dimensional. It is very important that all the different dimensions should behave in a consistent manner.
Durable – lasts as long as it should:
The software should be durable. For example if software is being used for a year and the number of data has exceed 5000 records then it should not fail if number of records increases. The software product or application should continue to behave in the same way without any functional breaks.
Good after sales service:
Once the product is shipped to the customers then maintenance comes into the picture. It is very important to provide good sales services to keep the customers happy and satisfied. For example if after using the product for six months the customer realizes to make some changes to the application then those changes should be done as fast as possible and should be delivered to the customers on time with quality.
Value for money:
It’s always important to deliver the product to the customers which have value for money. The product should meet the requirement specifications. It should work as expected, should be user friendly. We should provide good services to the customers. Other than the features mentioned in the requirement specifications some additional functionality could be given to the customers which they might not have thought of. These additional functionalities should make their product more user friendly and easy to use. This also adds value for money.
These are the few more responsibilities which a Tester done. Testing is not only about functionality and visibility it about the accuracy,consistency and many more. Tester's job is not easy as such we think.