Software Quality Assurance

Group Q
4 min readJun 16, 2021

Abstract

Software Quality Assurance (SQA for short) is a discipline within the world of software development that is used to increase a piece of software’s quality regarding multiple aspects. Therefore, what would happen if this discipline were to not exist? Using an overview of the available testing methods and tooling, and the benefits they bring, it becomes obvious that a large amount of aspects regarding a piece of software’s quality would be worse if this were to be the case.

For example, the most important examples of this can be found within the methods of functional testing and acceptance testing. Firstly, the functional quality of the software would be worse, since the expected behaviour of certain parts of the software have not been tested using functional tests such as unit tests. In addition, the usability of the software would also be worse due to the fact that the software has not been tested on physical or use case related requirements, and instead only on theoretical requirements. In conclusion, it is recommended that SQA methods and tooling are taken into consideration when developing software, in order to ensure that the overall quality of the software is adequate.

This article discusses

  • Essential SQA methods and tooling that help assure a piece of software’s quality.
  • The problems that might originate when SQA methods and tooling are not used.

Technologies discussed

Software Quality Assurance (SQA), SQA methods, SQA tooling

Introduction

The modern world is very reliant on technology. Since the creation of the personal computer, most households across the world have come in contact with at least some form of software. Because of this, computer software requires a certain amount of quality assurance for it to actually be used by consumers. This is where the Software Quality Assurance (SQA for short) discipline comes in. Particularly, this discipline is focused on the release of good quality software that is both robust and usable by the average consumer.

However, the question is: what would happen if this discipline were to not exist? What problems would modern software have without the added layers of quality assurance? To answer these questions, this article outlines the impact of SQA on the software development world, and the problems that are to occur if the discipline of SQA were to not exist.

Related works section

First of all, how does SQA influence the software development process exactly? This article from Owens & Khazanchi (2009) outlines the definition of the SQA discipline, and the impact that different methods within this discipline may have on the software development process. Furthermore, research from Brohi, Butt, and Zhang (2019) describes the availability of SQA tooling and the impact that this tooling has on the overall quality of software.

Importantly, both articles describe the various SQA methods and tooling in a professional and objective manner. This is important due to the fact that these methods and tooling will be used to find out what problems might occur when the quality of a piece of software is not assured.

Analysis

Whilst developing software, keeping the software’s quality high is important. If nothing is done to assure the quality of the software, certain parts of the software might not work correctly or might not even be considered in the final product at all. To combat this, a software’s quality can be assured via multiple methods, but the most common methods are functional testing and acceptance testing. For example, functional testing is mostly done via computer-run tests such as unit tests, whilst acceptance testing is done via real-life tests that are performed by a (fraction of) the target audience for the software. In other words, functional testing is a good way to ensure that software runs the way it should run on a functional level, and acceptance testing is a good way to ensure that the software’s usability conforms to the target audience’s expectations.

However, without these two testing methods, the quality of the software would be lower than it is now. For instance, many functional aspects of the software would not work the way they were intended to work, which would in turn lead to an increase in bugs and other issues. Furthermore, in the case of acceptance testing, since the software has mostly been held up against theoretical requirements instead of more physical and use case related requirements, the user experience would be way worse since there has not been any feedback regarding the usability of the software.

Consequently, this is why SQA is such an important discipline. Due to the usage of multiple testing methods and tooling, many aspects that would negatively impact a consumer will already have been resolved before the software is released. Using sophisticated tooling, the testing process does not take up much time at all. This way, the software development project’s efficiency will not be lowered due to the need of having to write custom tooling for the software’s use case. To summarise, by using different testing methods, multiple aspects of the software’s quality can be covered. By performing both functional and acceptance tests, both the software’s inner workings and usability will be of a higher quality than without performing these tests.

Conclusions

In conclusion, what would happen if the discipline of SQA were to not exist? The answer to this question is that the overall quality of the software would be lower. Firstly, the functional quality of the software would be lower, which means that the software is more prone to contain bugs and other such issues. In addition, the usability of the software would also be lower, which would lead to the software being less appealing to use for consumers, which might in turn lead to a loss of confidence towards the company that released the software.

Recommendations

To summarise, it is recommended to use SQA methods when developing software in order to assure the software’s quality. Whilst many different SQA methods can be used to achieve good quality software, functional testing and acceptance testing are essential. Therefore, using tooling that supports these testing methods is important when developing software.

Bibliography

Owens, D. M., & Khazanchi, D. (2009, January 1). Software Quality Assurance. Retrieved June 14, 2021, from https://www.researchgate.net/publication/230636169_Software_Quality_Assurance

Brohi, A. B., Butt, P. K., & Zhang, S. (2019, July 1). Software Quality Assurance: Tools and Techniques. Retrieved June 14, 2021, from https://www.researchgate.net/publication/334368241_Software_Quality_Assurance_Tools_and_Techniques

--

--

Group Q

Group Q Members: Luke Derkzen, Leon Niekus, Quinten van Sloot, Jesse Stupers, Martijn Zentjens