Behind the Scenes of PrimaKu: The Strategic Role of QA Engineers in Product Development
by Muhammad Syihab, QA Engineer
Hello everyone! 👋
Have you heard the term QA Engineer before? Or maybe you work in this field? If yes, let’s talk about PrimaKu’s QA Engineer to make sure our app gives the best experience for users! We believe QA isn’t just about “finding bugs” but an important partner in creating apps that aren’t just functional but high-quality too.
Here’s a closer look at what it’s like to be a QA Engineer at PrimaKu, what they do, and why their role is so essential. For those in the tech industry, this might sound familiar!
Creating User Stories to Make Work Easier for Everyone at PrimaKu
Before jumping into step-by-step creating user stories, it’s important to understand why QA Engineers are responsible for creating them instead of Product Managers (PM). While PMs focus on high-level business objectives, QA Engineers provide a more detailed approach, focusing on edge cases and technical scenarios to ensure every user interaction is thoroughly addressed. This ensures that the app is both functional and meets high-quality standards.
At PrimaKu, every feature or task starts with an Epic, which is then broken down into User Stories. The format is kept simple and focused on the user’s perspective to help all teams understand what needs to be achieved.
The Format We Use:
As a [user], I want to [action], so that [goal].
For example, for Epic A about the class list, we create user stories like:
- User Story A1: As a [PrimaKu user], I want to [see a list of classes], so that [I can get information about all the classes offered by PrimaKu].
- User Story A2: As a [PrimaKu user], I want to [see the details of the “Vaksinasi” class], so that [I can understand what the class offers before purchasing].
From these user stories, the PrimaKu QA team creates test cases, and the Mobile, Web, and Backend (BE) teams break them down further into more detailed dev tasks. This approach ensures that everyone — business, developers, and QA — works in sync and stays on the same page.
Test Cases Written in Story Format
The QA Engineers test cases at PrimaKu are designed to follow the user story format, making them easier to understand and closely aligned with the actual user experience. Using this format, each test describes real-life scenarios from the user’s perspective, whether it’s a Happy Path, Negative Path, or even edge cases.
User Story:
As a [PrimaKu user], I want to [see a list of class products on the explore page], so that [I can get information about all the classes offered by PrimaKu]
Test Case Derived in Story Format:
Positive Path:
As a [PrimaKu user], I want to [see more PrimaKu classes by scrolling down], so that [I can easily explore and find additional classes that suit my needs on the next page].
Expectations:
The system should load additional classes from the next page.
Negative Path:
As a [PrimaKu user], I want to [view the list of class products where one of the classes has an excessively long name], so that [I can still read the class name in a clean and easy-to-understand layout].
Expectations:
The class name should be visually truncated (e.g., using an ellipsis “…”).
Manual Testing & Reporting Feedback Efficiently
Despite automation, manual testing remains irreplaceable. At PrimaKu, our approach to manual testing focuses on two key aspects:
- Executing Test Cases: We carefully follow the test cases we’ve created to ensure that all scenarios — whether success, error, or edge cases — are thoroughly tested. Each test case is derived from user stories to closely align with the user experience.
- Exploratory Testing: Beyond just following predefined test cases, we also conduct exploratory testing. This allows us to uncover unexpected issues or edge cases that may not have been covered in the initial test cases, ensuring a more comprehensive testing process.
During testing, if QA Engineers encounter any issues, we report directly in the relevant dev task as a comment. If the issue is related to the mobile platform, we add our findings to the respective dev task and move it back to the “To Do” status.
This workflow is seamless thanks to the task structure at PrimaKu, which consists of epics, user stories, and dev tasks. Each dev task is clearly linked to a specific user story, so tasks don’t get mixed up with those from other user stories. This makes it easier for QA to identify which dev task the issue belongs to.
Additionally, this process sharpens the QA Engineers instinct to declare whether an issue originates from the front-end (FE) or back-end (BE), ensuring faster identification and resolution of the problem. This method keeps the testing process organized and enables clear communication between QA and developers. 🔍
Automating Product Testing with Cypress (BDD & POM Style)
At PrimaKu, we’re already familiar with using Gherkin syntax for writing user stories and test cases description. Now, we’ve taken it a step further by applying the same approach to our automation testing with Cypress, leveraging Behavior-Driven Development (BDD) for consistency. By using Gherkin’s Given-When-Then format, our automation scripts seamlessly align with the user stories and test cases we create, ensuring they reflect real user workflows and are easy for all team members to understand
We combine this with the Page Object Model (POM) to structure automation scripts in a modular and reusable way. This means common elements, like buttons or forms, are defined once and reused across multiple tests. The result? A testing framework that is clean, scalable, and easy to maintain — even when UI changes occur.
By combining BDD and POM, automation testing becomes structured, maintainable, and adaptable to change. We can quickly validate new features or updates, saving time while giving developers the confidence to deploy their code without fear of breaking existing functionality.
Quick Steps for Bug Reproduction by PrimaKu QA
When a bug is reported, the first step for the QA team at PrimaKu is to identify the source of the problem: is it a bug on mobile, or does it come from the API? To verify this, we use tools like:
- HTTP Toolkit: To check the API requests and responses.
- Shake Gesture Log: By simply shaking the device (yes, literally shaking it!), we can instantly view API logs and analyze what went wrong.
- TablePlus: To check and validate values directly in the database. By using TablePlus, we can read the database used by PrimaKu, ensuring data consistency and verifying whether the issue originates from incorrect or missing data.
What makes QA at PrimaKu more effective is our deep understanding of the database. We know the relationships between tables and how data flows between them. So, if the bug involves unsynchronized data or issues with the data structure, we can quickly pinpoint the root cause.
A deep understanding of PrimaKu’s database allows QA Engineers to identify data flow issues, making it easier to pinpoint and address problems. Bug reports often include not only the issue but also clear recommendations for fixes, enabling developers to focus on implementing solutions.
API Contract Testing
At the end of each workday (End of Day/EOD), QA Engineers always review the API tasks completed by the Backend (BE) team. We thoroughly examine the API responses to ensure:
- Are the responses as expected?
- Are all required properties included?
Our knowledge of the database plays a crucial role here. By understanding the database structure, QA can verify whether the properties sent by the API match the actual data in the database and ensure that there are no conflicts between tables.
This review process is essential to minimize bugs before the API is handed over to the Mobile team. By catching bugs early, we can prevent issues from escalating and make the integration process much smoother. ✨
PrimaKu QA Engineer: Balancing Testing and Development Processes
One thing that makes QA Engineer at PrimaKu unique is its active role in the Mid Sprint Review session. Here, QA Engineer doesn’t just focus on testing but also takes charge of ensuring that the sprint stays on track with its timeline while maintaining product quality as a top priority.
What Is a Mid-Sprint Review at PrimaKu ?
Mid Sprint Review is a session held in the middle of a sprint to:
- Evaluate the progress of ongoing tasks.
- Ensure priorities between development, testing, and bug fixes are balanced.
- Provide input on the status of minor/major bugs and decide which bugs need to be addressed immediately
With QA Engineer acting as the person in charge (PIC), this session becomes more focused because QA Engineer directly deals with the quality of the application and has a comprehensive view of the testing needs and features being developed. This approach ensures that both progress and quality are consistently aligned throughout the sprint.
SUMMARY
What makes PrimaKu’s QA approach highly successful? Here’s the answer:
- A Holistic Role for QA: At PrimaKu, QA doesn’t just focus on testing but also ensures the development process stays on track through Mid Sprint Review sessions and cross-team collaboration.
- Fast Bug Reproduction: QA uses tools like HTTP Toolkit, Shake Gesture Log, and TablePlus to quickly analyze bugs and provide solution recommendations that developers can implement right away.
- Daily API Review: QA routinely checks API responses at the end of the workday (End of Day) to ensure the data meets expectations and is ready for seamless integration with the Mobile team.
- Efficient Automation Framework: QA implements automation using BDD (Gherkin Syntax) and POM with Cypress, making testing more structured, flexible, and time-efficient.
- User Story & Directed Testing Approach: All features, test cases, and testing scenarios are centered on user stories, covering positive, negative, and edge cases, while also supporting the exploration of issues beyond standard test cases.
With this approach, QA at PrimaKu not only ensures product quality but also makes sure the development process runs smoothly, efficiently, and with clear direction. 🚀
CLOSING
At PrimaKu, QA Engineer isn’t just about finding bugs — it’s about being a core part of the team that ensures every feature is delivered with high quality, usability, and precision. By leveraging strategic practices like Mid Sprint Reviews, advanced tools like Cypress, and strong cross-team collaboration, QA Engineer at PrimaKu plays a crucial role in maintaining timelines and prioritizing what matters most: building a product that meets user expectations without compromising quality.
We take pride in contributing to a platform that supports the growth and well-being of children across Indonesia. 🌟
Have thoughts about QA or want to discuss PrimaKu’s unique approach? Drop your ideas in the comments! We’d love to hear your stories and grow together. 😊