What is Quality Assurance in IT?

Alexander Stasiak

Jan 13, 20204 min read

What is Quality Assurance in IT?

Table of Content

  • What is Quality Assurance in software development?

  • Software quality in IT — business benefits

Have you ever gotten stuck in the process of signing into an electric scooter rental app because of some strange error message or got frustrated with extremely weak UX of a tax form? Or maybe you realized you have trouble making a purchase on a device that was supposed to support the online store. That’s when you experience bad quality assurance in IT. And when do you meet proper one? E.g. this perfectionist company’s website you’re reading this blog on, where every detail is precisely aligned and optimized for all mainstream devices.

Bugged commercial software products may cause losing some traffic or a decrease in client engagement but mistakes in the code of serious industrial or military apps have much more serious consequences. Software failures have wreaked havoc at banks, airlines and done billions of dollars of damage and devastating disruption. 

In order to prevent such events and ensure a constant level of quality, Quality Assurance is introduced to software development processes. At Startup Development House Quality Assurance processes are implemented into the workflow and the QA Team guards defined standards with the use of manual and automated testing methods.

What is Quality Assurance in software development?

Quality assurance (QA) covers all project-related tasks. Starting from cooperation with the client, through defining the roles and responsibilities (choosing the project methodology, communication, timelines, tools), ending with defining requirements and the product’s life cycles. QA incorporates all members of the team, giving them opportunities to shape and define the definition of quality (which does not necessarily need to be perfect). It all depends on the context of the project, it’s business value. So we may say that the QA process aims at preventing mistakes in the whole software development process.

Quality Control, on the other hand, has a disruptive character - we’re looking for mistakes in previously carefully designed products with the use of different levels and types of testing.

But the first question would be what quality are you expecting? The first answer would be: the best! And that would be no surprise. But is it the best of all possible answers? When you buy a cake, does it have to be the sweetest? And a car the fastest? Not necessarily. For example, the quality can be lower when the product is really innovative and we’re not sure of its success. But when we are refactoring an existing product or replacing a legacy system with a new one, then we should aim at the highest-quality code possible.

Let’s try to look at the QA approach of software development

It all starts with 

Gathering requirements. 

This includes three roles: a business analyst (somebody who knows the business contexts the best), a coder and a QA Tester. The results of the cooperation of these 3 Amigos (as they are nicknamed by Matt Wynne) are “user stories”. They define precisely what should be delivered in the form of descriptions and acceptance criteria. QA Tester input on this stage is asking the right question such as “Why the client needs this functionality” or “Are there any mockups”.

Then we proceed to 

Implementation of the requirements (development phase).

This stage gives many opportunities to improve software quality, starting from choosing proper software development practices (AGILE/SCRUM or other) and other QA-related practices: unit tests*, code review* and integration testing*.

The last stage is dominated by QA activities and testers

Test Stage.

This is a set of activities in the area of software validation/verification versus the defined requirements as well as from the field of non-functional testing: efficiency, security. There are three types of testing methods: manual testing, automatic testing, and an in-between class. The most popular recently, manual testing is where a tester has to walk over all test cases in a testing scenario, collect data and prepare a final report. It is hard and time-consuming work. In automatic testing, on the other hand, everything is done with tools and scripts. The data is collected automatically, as are the final reports. There is also a half-way scenario where the tests are performed automatically, but the whole testing environment is set manually (semi-automatic testing).

DSC05732.jpg

Software quality in IT — business benefits

As you already know basic QA principles and testing types, it’s time to ask a question:

why does quality assurance pay off?

First of all, if the QA process is done right—that is, from the very beginning of the software development lifecycle—it can help you save a lot of money on correcting bugs that were detected in software already in use. As a rule, the later in the process a bug is detected, the more it will cost to fix this bug.

Second of all, a properly designed QA process allows for proper quality management of a product. It will help you verify if a newly developed feature or release is compatible with already operational versions. Nobody wants to see the software stop working after an upgrade has been released. It goes without saying that such a faulty upgrade can crush a company’s reputation. And it has happened many times in the past like e.g. British Airways IT glitch in August 2019 when system failure caused more than 100 flights to be canceled and more than 200 others to be delayed. 

There is no question that project quality is crucial in ensuring successful product launch or upgrade; a quality management plan, on the other hand, identifies quality requirements and provides all project stakeholders with precise guidelines for delivering a great quality product just like the one you’re now reading (again, no boasting).

If you found our article interesting, please share with us your experience with Quality Assurance in software development!

Don't miss a beat - subscribe to our newsletter
I agree to receive marketing communication from Startup House. Click for the details

Published on January 13, 2020

Share:


Alexander Stasiak CEO

You may also highlightlike...

Guide on how to integrate external Quality Assurance into existing team?
Web developmentQuality AssuranceProduct development

Guide on how to integrate external Quality Assurance into existing team?

Scaling up a project team is challenging, and integrating Quality Assurance (QA) is a crucial aspect of success. A well-integrated QA team improves project quality, instills confidence, and ensures timely delivery. This article provides tips for effective integration and highlights the importance of communication and documentation in QA processes.

Łukasz Kołpak

Mar 27, 20206 min read

How can error tracking and application monitoring save you time on development
Quality ControlBack-end developmentSoftware development

How can error tracking and application monitoring save you time on development

Discovering, tracking, and reporting errors in code is essential at every stage of your application's life cycle. Learn about the benefits of application testing, how it speeds up development, and the importance of using error-tracking tools. Choose the right testing framework and error-tracking tool to ensure a thoroughly tested and bug-free application. Contact us at hello@start-up.house for expert assistance in developing a great app.

Jan Grela

Jun 04, 20204 min read

Is QA required for early project planning?
Quality AssuranceSoftware developmentStartups

Is QA required for early project planning?

Involving QA (Quality Assurance) in the early stages of a project offers numerous benefits, including pre-empting errors, improving software quality, and reducing costs. Learn how QA can participate in client workshops, analyze requirements, design testing strategies, create test documentation, and test new features immediately.

Magdalena Filcek

May 28, 20216 min read

Let's talk
let's talk

Let's build

something together

Services

We highlightbuild startups from scratch.

Startup Development House sp. z o.o.

Aleje Jerozolimskie 81

Warsaw, 02-001

VAT-ID: PL5213739631

KRS: 0000624654

REGON: 364787848

Contact us

Follow us

logologologologo

Copyright © 2023 Startup Development House sp. z o.o.

EU ProjectsPrivacy policy