Skip to main content

Key things to note for being a QA

You'll be surprised to know how broad the testing industry is. Of course, we can break it down into manual and automation testers/test engineers. But there are also different types of test classifications such as functional testing, regression testing, performance testing, accessibility testing, localization testing, etc. For automation you have a lot of frameworks and approaches you can explore as well.

Fail to plan and you plan to fail

We don't test all the time, or at least literally. For a successful test to happen, we should have a good test plan, design, and process in place to ensure everything will run smoothly when we do that actual testing work (which is the test execution phase). Examples:

  • Test Plan and Strategy. This is an important process especially when you're testing a project for the first time. It gives you a space to think about what and how to test the product overall. Some topics covered are testing timeline, testing type and approaches, defect management process, entry and exit criteria, etc.
  • Test Data Management. It's important you come up with a way to manage your test data as it will greatly help the productivity of your team by reducing delays/blockers during test execution.

Communication is the key

As a tester, we'll be communicating with many people but it's mainly the developers and the product owner/business analysts.
  • It's important that you're able to explain the issue in a way that a non-technical and a technical person can understand.
  • Some people can get sensitive when you tell them that their work is wrong so you have to know how to approach them and tell them in a way it won't create a conflict.
  • There are times you have to report a complex bug. You have to know how to break it down so that it's easy to follow.
  • You should be able to ask effective questions if something is not clear to you.

In relation to the last point... Never assume anything

It's dangerous to always settle with assumptions especially when analyzing a requirement/user story. It's rare that a user story covers all the specific details we need so you must always make sure to clear out any possible confusions. It could be as simple like:

User story description: Display the following text and links in the Campaign section: "Sign up now and get 50% off. T&Cs apply." Where the "T&Cs apply" links to www.somelinkscom URL.

A minor question that still has to be cleared out: Will the link open in the same tab or a new tab?

Domain knowledge is also important

Apart from the technical knowledge on how to approach the testing, one more way we can add value is to also understand the industry of the product we are testing.

In my first project, our client is a healthcare company in the US. We typically see the terms "Medicare", "Medicaid", "ICD-10", and "Prior Authorization" in the user stories. Without understanding the basics of American healthcare, it would've been difficult for us to grasp what the user story is trying to achieve.

Automation and process improvements

I'm not just talking about test automation in this sense but also in all parts of the testing process. We have a lot of tedious things that we do manually. It could be creating the test cases and uploading them to a test management tool or creating reports and metrics. We are forced to look at spreadsheets, Jira tickets, and other tedious things that break our souls. These things, although have their own importance, take away our time in actually testing the software. Learning how to automate this stuff and being able to streamline the parts of the testing process is a must in ensuring we can release a reliable product as early as we can.

There's still a lot to cover from here

Software testing is an essential part of the software development process. We give confidence to the organization that the software being released is reliable for the end user. There's also a wide range of areas to get into and a lot of interesting skills to learn.

I've given an overview of what software testing is, a glimpse into some of our responsibilities, and what skills can provide more value to your testing team. I hope this shed some light on what a career in software testing looks like.

Popular posts from this blog

Reframing how I identify bug root causes

It's been more than a year now since I've set up our bug tracking in JIRA. In there, I've set up an Issue Root Cause custom field where it had the following options: Incorrect coding Unclear / Missing / Incorrect Requirements Unclear / Missing / Incorrect Design Insufficient / Duplicated / Incorrect Testing Deployment Issue Environment Third-party issue My thoughts when I listed these as options is so that it would be easy to identify which team is responsible for the cause why we had that bug. They're pretty straightforward -  Incorrect coding  is of course when the developers didn't follow the expectations,  Unclear / Missing / Incorrect Requirements is because there's a gap in the requirement, and so on. And also, it's because that was the way it's done in my previous company so that's also my initial knowledge source. Recently, I've been reading a few articles regarding Shift Left, reducing silos, and generally how quality is a team activit...

QA Tools: Custom Test Case Generator in Google Sheet using Google App Script

When testers have to document test cases, it's usually done in the traditional format of putting all your test cases and steps in one sheet. Once it accumulates, for me it can be overwhelming to look at. It looks something like this: As a solution, I decided to make a tool that will help me focus on only drafting my test scenarios and look at my test cases one at a time. I'd like to share this here with everyone else who's like me. Hopefully, it can make your testing journey even a little better. Test Case Generator Tool This tool is for QA or non-QAs who need to write test cases. What it can do: Write your test scenarios in one tab Focus on writing steps for each test case one sheet at a time Generate an import file Generate a test execution document Sample test execution document: Scroll to the bottom to see how it works. Sheet Purpose Test Scenarios This is where you set the details for this test set/the project/story/epic where you're creating the test cases u...

A Bug's Life! Defect Management Process in Software Testing

First things first, what does a "bug" mean in the software development process? A bug is what we call a behavior that is different from what's expected based on the provided requirements. A tester's main purpose is to find and report bugs in the system as early as possible. In some companies, it's sometimes called a "defect". They actually mean slightly different if we go by the book. In this post, I'll be covering the lifecycle of a software bug which are issues that are found during the development phase. You're testing the system and you found a bug. What is the first thing you do? a) You immediately write a bug report b) You try to reproduce it c) You complain "How could this very obvious bug reach QA? Dev should've spotted this earlier ugh." The formal answer is B (I'll just let you figure out what's the informal answer), It's common for a QA to be gaslighted. "I cannot reproduce this bug.", "It doesn...