‘I am a QAS’ or ‘I am a software tester.’ I am sure you heard at least one of these during your studies or in your current job. In general, it is true that they work on the same processes and applications. However, the approach that is used is slightly different. Unfortunately, these days we are witnessing the unification of Quality Assurance Specialist (QAS) and tester positions. We may come across general assertions, such as ‘A QAS is just a tester,’ but also ‘A tester is a QAS.’ I cannot agree with such statements one hundred percent. That is why I would like to describe what the work of a QAS and a software tester looks like and what they actually do at work.

Software Tester

On the web, one can come across multiple definitions of what software testers do. Nevertheless, in most of them we may find the following expressions:

  • Everyone can be a software tester
  • Finds bugs, errors, and defects
  • Helps create bulletproof applications/software

To sum up, a software tester is a person who is involved in creating the application cycle. They are responsible for finding bugs, errors, or any other defects in the product. Moreover, any person may become a software tester.

This is a very general definition, but it fits perfectly. Yet, we can somehow enlarge it. First of all, let’s focus on the programming experience. It does not matter whether you have any coding experience or not. To become a software tester, you just need to have common knowledge about information technology. Nonetheless, you will begin your career in testing as a manual tester. Main tasks of the manual tester are:

  • moving through the application by clicking UI elements
  • checking application with test scenarios
  • writing test scenarios and test cases for manual tests
  • randomly clicking UI elements
  • finding defects and creating issues in the project management tool like Jira

These are not all responsibilities, though. It all depends on what application you need to check. This list contains fewer positions, but it can also be expanded to include additional ones.

To evolve into a more advanced software tester, you will need to learn at least one programming language and some libraries for testing, such as ‘pytest’ or ‘jest.’ They allow you to create more professional types of tests, such as unit tests, integration tests, regression tests, and a lot more. With more experience, the list of responsibilities will increase. Beyond writing tests, testers will need to set up whole test environments, integrate with CI/CD platforms, e.g. Github Actions or Jenkins, and create a lot of test documentation, test scenarios, and test cases.

Software testers can choose multiple development paths. You can advance to tester manager or specialize in mobile application testing. Below, I added several development paths offered by ISTQB.

Source: International Software Testing Qualifications Board

It is hard to precisely describe what a software tester does at work, since it is dependent on experience, specialization (manual tester, security tester), company policy, and application. What’s more, we can notice that software tester jobs are based on creating tests and documentation, but not on the planning or managing other testers. Moreover, I feel obligated to inform you that working as a tester might be a mug’s game. Testing applications is related to the constant repetition of the same actions and scenarios through the whole development process and even after the application has been deployed.

Quality Assurance Specialist

A Quality Assurance Specialist is a person or a team that plans, creates, and develops a process to ensure that the organization provides a high-quality, error-free product with prepared support backstage software.The development process is the keyword, a QAS focuses on improving it by making it as effective and efficient as possible in order to meet customer’s requirements, but also general quality standards. A QAS’s work contains a lot of abstractions. By abstraction I mean that a QAS is a person who does not have a specified list of tasks. They rather create procedures based on general rules:

  • Focus on the process, not on the product
  • Be proactive, create procedures which allow you to prevent issues
  • Prevent defects, based on experience, data models, and created procedures
  • The QAS team always acts as a guard of quality.

Based on the general rules, the main tasks of the QAS team are:

  • Creating and updating documentation
  • Validation of the client’s requirements and development plan
  • Planning and deploying procedures
  • Continuous adaptation and improvement of created procedures

Which procedures will be developed depends on the project context. In one project, there will be procedures describing how to create tests and which type of test should be implemented, automated, or how to execute them. In another, procedures may describe how to handle user reports after release. Furthermore, we must note that the QAS team always acts as the quality gatekeeper.

To achieve a quality product, the QAS team uses multiple techniques, such as:

As we can see, a Quality Assurance Specialist needs to handle a lot of topics like plan implementation and management. But it does not mean that a QAS is not a tester. Broadly defined testing is part of the quality assurance section. That means that the QAS team can prepare a specific environment for testers, decide which tests should be automated, and also write tests, but on a higher level of abstraction. At a higher level of testing, we can assume the following: security testing, test vision algorithms, or testing AI. The experienced QAS team should understand such topics. The QAS team lives in one great cycle, from planning procedures and environments, to implementing them and checking the results, to constantly  adjusting the implemented solutions.

Summary

‘I am a quality assurance specialist’ or ‘I am a software tester.’ After reading this text, I can assume that you got to know both roles better. And from now on, it will be easier for you to describe what QAS and software testers do. As I mentioned before, if you want to become a tester or QAS, it could be donkeywork and usually without a pre-prepared plan and tasks. You will probably need to recognize the sections where issues can appear or which process crucial data. Software testers and QAS need to be very patient and keep a work-life balance because it is very easy to burn out and get stuck. On the other hand, finding defects, issues, or even opportunities to crash the application is truly delightful. Moreover, if you find some crucial issues, you can feel like a hero because you salvage the application from crucial problems and also save the company’s reputation.

But remember — programming, testing, or other IT sections are based on teamwork, so you need to cooperate with other people to build a quality product.

And if you need a development team that takes great pride in quality assurance…

Let’s talk!

Kamil Supera, a stalwart Backend Developer and Tester at Makimo, deftly channels his passions into curating insightful articles on the intricacies of testing and AWS. With Python as his mainstay, Kamil weaves a realm where logic meets magic, advocating for continuous enhancement and striking to the root of every problem. Often found sharing his industry wisdom on Makimo's blog, he acts as a guardian for quality and an enchanter of codes. When not immersed in digital complexities, he retreats to nature's sanctuary, embracing the tranquility of trees and streams far from urban clamor. Kamil's enduring fascination for problem-solving, coupled with his love for the great outdoors, defines his unique perspective, both as a professional and an individual.