A true story… August 1, 2012, in Jersey City, USA. Knight Capital Group, an American financial company, launches software for automatic trading on the stock exchange. The system begins to throw money around. The problem is diagnosed by employees after just 44 minutes. The company lost $440 million worldwide, or $10 million for every minute of the system malfunction… How could this happen? Simple errors – the programmer entered the wrong code path, and there was no QA during the software production process.
In this article you’ll find out more about:
- What the most important trends in Quality Assurance and testing are
- What Quality Assurance is
- What the difference between QA and a software tester is
- What the difference between Quality Control and Quality Assurance is
- How QA specialists support project development
QA and Digital Transformation in 2020
In 2020, the role of systems and applications enabling the digitization of enterprises expanded. Many public sector companies became interested in digitization, as for them, it represented a chance to introduce improvements during the pandemic. The post-2020 market demands even faster delivery of digital products, and many IT managers are wondering how to guarantee the quality of their software development projects, given the dizzying speed of work. The article explains why one cannot ignore the role of Quality Assurance in 2021, how the work of QA specialists and teams affects the processes in the project, and whether outsourcing Quality Assurance services is a good idea for companies which want to ensure their software is of the best possible quality.
Quality Assurance and testing – the most important trends in 2021
What trends are shaping the market where software testers and quality management teams will be in high demand? Capgemini, which has studied trends in its “Predictions 2021: Quality Assurance and testing” report, even mentions the “need for speed” in terms of digital product delivery. Market dynamics and accelerated digital transformation in companies (as many as 25 times over, according to a report by McKinsey) mean that the role of Time to Market is growing, and no company wants to have to choose between product quality and the speed of project implementation.
As such, the following trends will be more important than ever before when it comes to ensuring the quality of software:
- Agility (Agile and DevOps techniques) – the iterative delivery of products is aimed at ensuring the continuity of the process, and allows for continuous improvement of the functionality of the developed system or application.
- Automation and the use of technology (AI and Machine Learning) – the automation of testing is an increasingly important means of support in the delivery of high-quality digital products.
- Specialists with a comprehensive range of competences – projects are increasingly often carried out by development teams with a comprehensive range of competencies.
- Use of cloud testing environments – quick access and scalability.
- Speed and efficiency – the unpredictable market has forced companies to respond quickly and implement innovative digital solutions and applications efficiently.
- The blurring of the line between Quality Assurance and Quality Control – in our opinion, the extensive design experience of testers means that the standard approach to testing is changing, and testers are increasingly taking on QA responsibilities.
Fast, faster… QA!
In the context of the trends listed above, during a time of rapid transformation, today’s companies have to answer three key questions:
- How can we quickly implement high-quality products while everything is happening “right here, right now”?
- Will permanent recruitment allow software testers to be delivered quickly enough?
- Does the standard role of a software tester suit our needs, and can testers focus exclusively on checking the quality of the software in our project?
Outsourcing quality management specialists may be the answer to these questions. However, let’s start by explaining a few basic concepts connected with QA.
Prevention is better than cure. What is Quality Assurance?
According to ISO 9000 Quality Assurance standards, it is the area of quality management aimed at ensuring that quality requirements will be met at a given company.
The concept of Quality Assurance comes with many uncertainties and is often overused, for example in the case of job offers for software testers. A Quality Assurance specialist ensures quality throughout the software development process. Software testing provides information for QA, which also promotes quality.
Quality Control (QC) vs Quality Assurance (QA)
Each IT service provider claims to “provide high-quality services”. However, making such a claim and actually providing quality assurance are two different things. Taking care of the quality of the software not only involves activities like software testing. It also includes all activities related to the implementation of the company’s strategy and values. For quality assurance activities to be effective, we should have set goals, as well as quality control measures. The starting point for all activities is quality strategy, i.e. knowledge of what the expected and actual states of play are.
The easiest way to describe the differences between the Quality Assurance and Quality Control processes is as follows:
- Provides information about the quality of the project
- Planning, analysis, design, execution and evaluation of tests
- Preparation of test kits
- Planning test activities
- Archiving test artifacts
- Answers the question of what needs to be done to make the quality as good as possible
- Analyzing, selecting tools, making decisions and setting standards
- Promoting the role played by quality
QA vs the software tester
Software quality teams have different roles when it comes to design. Both a software tester and a Quality Assurance specialist have one goal in their daily work: to provide the customer with the highest quality product possible. Software development activities should be carried out under the supervision of a project manager, and working on quality does not merely mean testing systems and applications.
So what does a QA specialist / QA Engineer do, and what does a tester do?
This role relates to ensuring quality throughout the project. A QA specialist can also carry out tasks in the area of Quality Control.
- Develops strategies and makes decisions
- Cooperates with DevOps specialists, assigns them to build environments
- Sets standards or takes part in setting them, suggesting the use of specific quality control tools
- Implements and supervises processes
- Chooses the frameworks to be used in projects
- Takes care of quality awareness
- Responsible for informing the relevant stakeholders of actual quality
- May also handle testing
Quality Control focuses on providing information relating to quality. The world is changing, and testers are changing too. This role is slowly disappearing in terms of quality control itself, as testers are increasingly moving towards the broadly understood QA. A more complete software tester is one who looks at the entire process as a whole.
- Looks for defects – undertakes software testing to check its functioning
- Helps minimize the risk of errors
- Reports on software status
- Responsible for providing information required for the quality management process in a project
Read also: How to combat shortages in testing teams?
Can Quality Assurance and outsourcing go hand in hand?
With greater awareness of what Quality Assurance is, and what it is not, we can start to consider whether to entrust external companies with work on quality. JCommerce provides quality management teams to optimize testing processes. Such companies often have access to and knowledge of the latest frameworks, and conduct audits and training in the scope of quality management of the testing process. Their independent perspective enables them to propose new solutions.
Quality Assurance services for Stanusch Technologies
One such example is a project that we undertook for Stanusch Technologies, an IT client providing artificial intelligence solutions. Our QA specialists improved the testing process, which allowed us to shorten the time taken to perform automated tests by 50%; they also suggested new tools. Why has delegating these tasks brought the client so many benefits?
Software companies focus their main efforts on the production and development of applications, and this is their main domain. For outsourcing companies that specialize in providing QA teams, the priority is preparing and training specialists, investing in their development and providing them with the latest tools.
Quality Assurance services for TVP Technologie
Public sector companies are focusing on digitization. At the end of 2020, a time when many companies are tightening their budgets and a significant number of employees are off during the upcoming festive season, the TVP Technologie center turned to us. The client was working on developing applications and online services and needed urgent support in the area of Quality Assurance, among others. The main requirement was to complete the project before the end of 2020, to enable the client to deliver a fully functional application that works on all platforms.
Our specialists work remotely from different locations, which meant 8 people could join the TVP project within a week. In so doing, we were able to take some of the burden off the client, who did not have to start a long, boring recruitment process looking for specialists on the market, and we helped to mitigate the risk of the client releasing an application that did not meet the required quality standards.
Outsourcing QA services – the key benefits:
- An external company guarantees independence in testing, i.e. reliable task performance. The key, however, is trust and acceptance of the results.
- A fresh perspective
- A variety of financing models and flexible cooperation models (Fixed Price vs Time and Material)
- Outsourcing companies have access to the latest frameworks
- Extensive experience in providing specialists in various projects for a range of companies
- Shortening the time-consuming recruitment process through access to competences at any given moment
QA and project development – summary
The acceleration of the Digital Transformation in 2020 has accelerated project implementation in turn. The labor market has seen increased demand for IT specialists as a result, including QA Specialists and QA Engineers. We may also observe the gradual disappearance of the role of the specialist tester who deals exclusively with quality testing. Design teams will be forced to act quickly in 2021, keeping an eye on Time to Market while at the same time delivering high-quality digital products. Regardless of whether you are developing a system, or working on application development, outsourcing teams and Quality Assurance specialists will help you achieve your goal by providing a fresh perspective. Outsourcing guarantees the rapid delivery of specialists ready to take on new challenges.
This article has been prepared in cooperation with: Leszek Zieliński, QA Technical Solution Manager at JCommerce