10 Steps to Implementing new QA Process for your App – Both Manual And Automated

Week 23 Updates and How we went about implementing QA Process for ZoomAdmin
This week I took some time off to visit Costa Rica, it’s a beautiful place, if you haven’t been, I strongly recommend to visit. The good part was that I took a lot of time to implement the new QA processes along with training videos for our new QA team members before I left.
ZoomAdmin looks simple, but as I went through different apps we have, I realized how much hidden logic we have even before our version 1 release. Hence, I hired a few very smart young individuals to kickstart our QA process.
Here is the goal: Implement Manual QA process that covers 100% of the logic/workflows, then slowly convert to automated and use Katalon to fully automate it.
After giving a lot of thought, here is the process I came up with to inject QA into our Development process:

1. Start an empty Katalon testing project

– this will allow you to source control your test cases as well as help with automation once you’re ready to start converting Manual test cases to automated.

2. Breakdown your app into screens/pages

and have a folder for each page/screen. This will make it easier to focus on a specific section of the app as QA writes the test cases.

3. Create empty Katalon test cases in sequence with a meaningful name

, i.e 01 – Login_Using_Existing_Account. You should easily be able to tell what the test case is intended to test by simply looking at the name.

4. Write a comment block which will act as Manual Testing script.

Example
– Purpose: Try to login using without password, confirm validations are working, then confirm able to successfully login with test account.
– Step1: go to login page
– Step2: enter “user” into username field
– Step3: hit Login
– Verify: Password required validation message appears
– Step4: enter “pass” into password field
– Step5: hit Login
– Verify: able to login and to go the user home page.
– Again, You will have the entire test script as a comment block on top of Katalon test case.

5. Repeat for all major features/functions/custom business logic for each page/screen.

Once you get a hang of it, becomes easier to repeat the same steps and create more test cases.

6. Verify you have full coverage using code review process

where you’ll see the test cases created and confirm you have full coverage or add comments to add the missing test cases.

7. Regression Test

– these manual test cases will become part of your regression test library as you make changes to the app. QA team members will not only learn the app and write the test cases, but also start testing the app following the exact steps created in these Manual Test scripts.

8. As you add new tickets for developers, be sure to have a subtask for QA

to implement the changes in their testing scripts according to the new requirements of the ticket.

9. Train the team to start using more advanced features of Katalon

and automate these manual test scripts. Manual test cases is hard part, to really understand the app and logic and write the proper test cases. After that, it’s just the matter of learning a tool like Katalon to automate the exact Action/Verify steps.

10. Start QA Early –

many make the mistake of going live without a solid QA process and risk creating massive issues when releasing bug fixes. It may not be reasonable to have 100% testing automation on day 1, but to have manual QA process is doable and can save you significantly in time/money invested on support or much bigger issues in PROD. Hence, I h3ly suggest to invest a little early on and always have solid deployments.
I think manual test cases are required for the QA team to have a good grasp on the logic/features of your app before jumping into automation. Automation will not help unless you know the exact steps to take to validate a certain business logic.
Thanks for reading, I will try to do a demo of newly implemented features in ZoomAdmin next week.
Write comment in Linked Post to let me know what QA process do you have with your app?