At Mindbowser, we are always looking to create predictable Zero Hiccup processes. A process-driven QA manual is a cornerstone of such a strategy. In this blog, I share our software testing process that has worked well for us. The process keeps evolving but this blog gives you a good idea about the core process.
The software testing process starts with creating a test plan. A test plan is a systematic document for planning and documenting a test effort for a software product. It describes how we will execute the testing activities to determine whether the product is ready to be released.
The plan describes the test strategy, objectives, schedule, estimation, deliverables, and resources required to perform software testing for a product. It acts as a blueprint for all testing activities.
For Agile development, we do not need to create documents upfront. We decide the sprint objective, estimations, deliverables and what type of testing we are going to perform and activities during sprint planning. We set up a Qase.io account for each project to manage the testing for the project.
What is Test Suite?
The test plan has a test suite created for the different tests we do. Test suites help organize all the test cases into logical groups. Сomprehensive features of test cases help define the module/feature severity, priority, type of test cases [functional, smoke or regression], test cases behavior [positive or negative], pre-post conditions and steps to reproduce.
We primarily set up 3 test suites:
Fig: Snapshot of Qase tool where we define a different Test suite
The above test suites are completely mandatory for the team and failing to create the test suites results in rejection of test cases for the team.
a. Writing test cases in CSV file format
b. Uploading final updated test cases in QASE tool
c. Dev environment: Dev and QA run smoke test cases
d. Staging environment: QA runs Smoke/Functional and Regression testing
e. Logging defect in JIRA and retesting
f. If all test cases are passed in staging then the team will go for the Client demo
Fig: Test cases writing – CSV format screen dump for reference
Fig: Snapshot defining test cases in Qase
Fig: Snapshot defining test cases in Qase
Fig: Defect logging through Qase tool and integration with JIRA screen dumps for reference
Fig: Defect logging through Qase tool and integration with JIRA
Fig: Defect logging through Qase tool and integration with JIRA
Fig: Defect logging through Qase tool and integration with JIRA
Fig: Defect logging through Qase tool and integration with JIRA
Related read: A Guide to Zero QA Framework
Often founders complain that they do not really know where their project progress lies until one day they see the project state that has gaps and is too late to fix.
Keep a dedicated time for the demos and product walkthrough at every milestone or major feature update of the project. If your project is an ongoing engagement, then you can have a demo every 2-3 weeks. The demo should be happening over live video sharing followed with sharing of build that you can play around in your own comfortable setting as well.
We recommend to our customers that during the demo they understand thoroughly and provide feedback to the team. To avoid too much discussion, clients can keep notes and discuss at the end of the demo.
After the client demo, we share a detailed report of the sprint completed. It includes:
This report is shared by the QA team with the Project Manager to be further shared with the customer.
Keep proper naming convention for each test like: Build Version_Build type_DD/MM/YYYY_Smoke/Regression/Functional_1st pass
Keep past test cases handy for future us:
I hope the blog provides you with a good idea about the core QA process which has worked well for us.