Quality Assurance Introduction
Quality Assurance in Software engineering is a very important topic. It is also a very broad area. There are also quality assurance engineers to fulfill the need for assuring the quality of the product. In this article, I will explain to you what is quality. About the quality characteristics. The difference between quality assurance and quality control. Furthermore, I will explain about the six testing principles. The types of testing categorized accordingly.
So keep reading if you are interested to know about assuring the quality. I will explain all the above-described topics with suitable examples. Scroll down.
What is Quality in Quality Assurance?
The word quality can be defined in different ways. In simple terms, it is a measurement. the quality of a product is measuring with the set standards. And also it can be checked if a certain product meets the requirements of the customer. Furthermore, we can define quality as the degree of excellence of something in comparison to the product.
Who is responsible for Quality?
When it comes to the responsibility of assuring the quality. You may have different opinions. The product owner is responsible for the whole product. So he or she must assure the quality of the product in a whole. Moreover, the quality assurance engineer is responsible for assuring the quality. This is done in the testing phase that they should check if the product meets the requirement. The team leader is also responsible for the team’s quality. The team should be capable of producing quality features in an efficient manner. And what about the developer? Yes, the developers are responsible for the quality. They should write quality codes which can be maintained easily. Therefore, the whole team is responsible for the quality of Quality Assurance.
Now you might have understood there are so many aspects we can assure the quality of the product. The code, UI, requirement, time, etc. That is why it is the duty of the whole team to maintain quality.
Quality Characteristics in Quality Assurance
The characteristics of quality have 2 main Dimensions.
As shown in the above image 2, it is the product quality and service quality.
There are 6 main quality characteristics in the product category. Here are they in a summarized list.
The functionality characteristic in product quality dimension. It should maintain the sub-characteristics of suitability accurateness, interoperability, compliance and security. In the Reliability quality characteristic, maturity, fault tolerance and recoverability should be assured. Furthermore, in the usability characteristic, the sub-characteristics including understandability, learnability, and operability should be considered. Efficiency is also another characteristic of this. Here you should consider the time and resource behavior sub-characteristics too. Analyzability, changeability, stability, and testability are sub-characteristics of Maintainability. Finally, you should assure in the portability characteristic along with adaptability, installability, and replaceability sub-characteristics.
Service Quality Dimension in Quality Assurance
In service dimension, there are also 5 characteristics to consider.
What is Quality Control
In Quality Assurance, quality control is also another important aspect to consider. This means to ensure the quality of the product and service in a time-based manner. Building the right product or providing the right service is the final requirement of all. This is also another way of detecting the defects. And checking if the product or the service follows the processes, standards, procedures.
What is Quality Assurance?
Quality Assurance is checking if the quality control is done in the correct way it should be implemented. In simple terms Building the product right. This also prevents the defects from entering into the product or the service.
What is a bug or a defect?
Bug or a defect is an error or a fault which is in the program code or in the document. Some defects can make the product of the service fail. But some are not harmful. It can cause a feature to fail but not as a whole. The reason for these bugs are human can make mistakes. And they are always under pressure, the complexity of the technologies, infrastructure, etc. Even the full integration of the system can cause bugs too.
The Arianne 5 explosion in 1997, Nasa mars climate orbiter in 1999 are 2 of the most popular bugs occurred. These bugs caused system failures. In the Arianne 5 explosion, the bug was trying to integrate a 64-bit number function to a 16-bit space. And in Nasa incident, it was a mathematical mismatch of metrics.
Objectives of Testing
Quality Assurance defines the objectives of testing as follows. It is necessary for the QA engineer and the team is aware of these objects. So that they can be assured more about the quality of the product.
- Finding defects
- Level of quality confidence
- Providing detailed information for decision making
- Defects preventing
Six testing principles of Quality Assurance
There are six principles you should consider when assuring the quality.
- Testing shows when a defect is present, but cannot assure there are no defects completely
- Except for a life-threatening system, exhaustive testing is somewhat impossible
- Should start testing early as possible. Can start from the requirement gathering phase
- Clustering defects in Quality Assurance
- Pesticide Paradox which means needs to be reviewed and revised regularly
- Finally, Testing depends on the context and necessary actions should take accordingly
Types of tests in Quality Assurance
You should be aware of the types of the test when assuring the quality of a product. Here are they categorized accordingly.
- Unit test, Integration Test and System Test in Quality Assurance
- Black box testing, White box testing, and Gray box testing
- Regression Testing, Confirmation Testing, and Acceptance Testing
- Performance Testing, Load Testing, and Stress Testing
- Usability Testing, Recovery Testing, and Security Testing
- Compatibility Testing, Exploratory Testing, Ad-hoc Testing
- Alpha, Beta, and Crowdsourced testing
Finally, in this article, we learned about Quality Assurance in details. All the basic knowledge of quality, the characteristics of quality control, and assurance. The six principles and the types of tests etc. I hope you got good basic knowledge. Keep reading my other article for more details.