!
byAnna Szałkiewicz
Apr 04, 2022
Quality assurance is increasingly recognized as an important part of the website or application development process. However, in an attempt to cut costs, some companies may simply abandon this stage, considering it an unnecessary expense. Could this be true indeed, or does such an approach generate the risk of much higher costs in the end?
The main task of quality assurance (QA) is to guarantee the fulfillment of the quality requirements defined by the company delivering the product or the customer ordering one. In our company, Department of Web, we believe that it is imperative to meet both demands.
Good QA includes checking the product for visual and functional compliance with the design intent, but also a general review of the product quality to ensure that the final result is at its highest level, even if there was a gap in the original assumptions.
It is well-known in the programming world that writing a completely error-free code is highly unlikely, if not impossible. Implementing code without proper quality checks can generate a variety of problems, ranging from ones as simple as a broken link to more serious ones, such as lack of possibility to finalize the purchase, which leads directly to profit losses.
Many of these issues can be found and eliminated during the QA process before the final product is released and exposed to customer complaints, causing reluctance and discouraging further use.
Since time is money, customers easily get disheartened and look for a different offer while the former fails.
But losing clients is not the only way to mishandle your money due to skipping QA. Going back to fix a problem that emerged some time ago is almost always more time-consuming than fixing everything from the get-go, during the development cycle. The earlier the defect is recognized, the easier, faster, and therefore cheaper it is to correct it. Why spend money fixing a problem that could have been prevented in the first place?
The internet is full of articles championing the phrase: “Done is better than perfect”. It is accurate in some cases, but associating it with product quality is a popular misconception. In our opinion, the statement relates to a feature set (MVP — minimum viable — product), but quality should always be top-notch.
A poorly executed project is bound to be laced with hidden problems, only to be patched up over and over again. Often, these missteps cannot even be corrected anymore, and the project must be rebuilt from scratch.
When looking for cost or time savings, it may be a good idea to cut down on the features list instead of releasing an underdeveloped product. It is always better to start from a small but solid foundation that can be freely expanded on later than to develop a project that is defective from the very beginning and in which any attempt to modify it involves fixing old bugs.
It is generally recognized that the cost of quality is between 15–40% of the total business cost. This figure consists of the cost of good quality, prevention and appraisal costs, and the cost of poor quality, internal and external failure costs. The latter can be significantly reduced (or even eliminated) thanks to quality assurance.
In our case, a company that builds web apps, we estimated that we need between 4–7% of the total project time for visual and functional QA and about 6–8% for the code review. From this, it follows that making sure that everything is at its best takes us approximately 10–15% of the total time that we spent on the project.
As you can guess from the above, there are few types of quality assurance. They can be classified according to what they are oriented towards (UI / UX / Code) and according to the method of testing (manual and automated). The major difference between the last two is that in manual testing, a person performs the tests step by step, while automated tests are executed automatically by the code written especially for this purpose.
User interface testing focuses mostly on appearance and functionality in terms of compliance with the design and initial assumptions, while the user experience tests are to make sure that a given product is best received by the user. For example, in the case of a website, it depends on the clear layout of elements, loading speed, and intuitiveness in navigating the pages, among many others.
Last but not least, the code review aims to improve the quality of the product from the back-end, which, among many other things, helps to further develop the product and reduce the tech debt.
The implementation of quality assurance in the website or application development process has significant advantages.
One of the most important of which is a certainty that everything looks and works exactly as it was designed. The devil is in the details, so it’s best to take good care of them.
Another essential trait is the convenience of having one more round of final verifying that your initial ideas are working the way they were intended. It’s good to have everything laid down right from the beginning, but it’s even better to have a chance to fix something in case it turns out to have a slight flaw.
Therefore, it is important not only to test the product while it is being developed but to test each piece separately as well as all together. Flight testing is one thing and will catch most bugs, but it’s still a good idea to test your final product when all the components are working together. That way, you can be sure that every little detail alone works just as well as all of them as a whole.
As a team in the Department of Web, we firmly believe that introducing quality assurance leads to a better final outcome, thereby increasing the chances of a pleasant user experience.
This, in turn, makes customers more likely to use that particular website or app rather than the one from the competition.
How do you feel about the QA? Do you think is it necessary or is it just an additional cost?
Anna Szałkiewicz
The Mistress of Detail and the most vigilant eye in the entire company. As our Product Owner and QA Specialist, Anna ensures projects progress as planned, keeping an eye on deadlines and workflow.
She turns the ordinary into the extraordinary by combining her knowledge with modern project management techniques, and in her private life, she sews original creations as a Fashion Design student.
From her articles, you will learn how to manage and optimize team work in digital projects and what aspects to consider in web development. Her writing is accompanied by her four-legged friend, Figa.