A Guide for Beginner About Software Quality Assurance

Indriani Sitorus
BonapasogitMengajar
4 min readFeb 13, 2021
Photo by Sigmund on Unsplash

Hello guys, in this chance I want to share my experience as a beginner in Software Quality Assurance. I hope this article suits you and gives you benefits.

The discussion of this article is to answer questions about “What is Software Quality Assurance?”, “What to do?”, “Is it difficult to work as a Quality Assurance?”, “What is needed to be Software Quality Assurance?” and so forth. So, without waiting any longer, please read the explanation below.

Definition of Software Quality Assurance?

Software Quality Assurance (SQA) is a testing process of a software or system to ensure the systems meet the requirements that have been determined previously and has no defects. The testing process of a system is performed by a Software Tester or Quality Assurance (QA).

The main task of QA is to create all the possibilities of test scenario for the testing flow while developer is coding the program, next carry out system testing and the last is create the test reports.

While in the system testing phase, QA must be involved in the whole development process from the beginning to the end. Because QA is focused to guarantee the system works well and meet the requirements from client (user).

But before QA do the system testing, two important things that need to have as software tester which are:

First, it is a must to understand about the true software testing concept (Software Testing Life Cycle). The objective of software testing is to eliminate defects in the system. Because defect (bug) becomes obstacle of system process when user use the system.

Second, a QA coworker once told me that :

"in a QA self, there must be a sense of having software or a system first. And then, this sense of ownership will lead us to always try to guarantee the quality of the system meets the requirements and is free from defects(bugs)" - Mr. Fawaz Fauzan 

As a QA, of course, we don’t want if our product is rated badly by the users right? So, this is the true reason for QA to conduct critical software testing before releasing it to the end-user.

Well, after having the two important things above…

QA will then perform system tests starting from the system flow, and system design, to the final result of the system being developed to achieve the development goal.

Skills for Quality Assurance

For conducting a system test, QA must have the following skills criteria:

  1. Testing Mindset
    Have a broad mindset about the use of a system, meaning that QA must be able to think about various possibilities actions that will be done by users when using a system. So that it is able to ensure the system has guaranteed quality before release.
  2. Analysis and Functional Testing
    QA must be able to analyze the functional requirements of the system to be built, as well as test the system to ensure that the completed system is built according to the requirements.
  3. Security Testing
    QA must be able to perform safety testing in detail so that the existing system has a high-security guarantee. For example, security testing in the login process according to any standard such as minimum length of password’s characters; or password must consist of uppercase and lowercase letters and contain numbers; or maybe password must not contain space; etc.
  4. Improvement Process
    QA must be able to understand every single process contained in the system and also be able to provide suggestions or improvements to the system process that are deemed inefficient during the development process.
  5. Communication Skills
    To provide suggestions about the system, QA must be able to communicate with parties related to system development such as UI/UX designer, Front-End Developer, Back-End Developer, Mobile developer (Android or iOS), and even Project Owner/ Project Manager.
  6. Defect Management
    Defect management is something that must be mastered by QA in system testing. When QA finds defects or issues or bugs, they should be reported immediately to the development team, so that they can be resolved and do not interfere with the development process. In addition, QA must also document defects during the running sprint.
  7. Performance Testing
    QA is expected to ensure that system has performance and quality in accordance with the requirements. The purpose of system performance testing is to test a certain response of the system. One of the tools to measure performance testing is JMeter.
  8. Automation
    Automation capabilities are usually needed when QA is going to do regression testing. It will helpful for QA to save time and effort while doing regression tests. Types of automation tools are Selenium, Appium, Katalon Studio, Cypress.io, Cucumber, Intellij IDEA, TestComplete, SoapUI, Ranorex, Postman, JMeter, etc.
  9. User Acceptance Testing (UAT)
    QA must be able to produce documents that can be used as evidence that the system meets the requirements and can be accepted by users.

Lastly, I really hope you enjoyed reading this article, and kindly please hit the little claps button guys. Thank you so much!

--

--