Quality Assurance at Magine Pro – How we ensure the best streaming experience
My name is Ksenia, I’m a Quality Assurance Engineer within one of our backend teams and in this blog post, I will share insights about the Quality Assurance (QA) process here at Magine Pro.
The QA process is a critical component of any successful software project. QA is important in a product like a streaming platform for several reasons, both from the user and business perspectives.
From the user perspective, a high-quality streaming platform can significantly enhance the user experience, which is critical to user satisfaction. With a robust QA process, the platform can ensure streaming quality is consistent and reliable. And users are more likely to return to a platform.
From the business perspective, QA is crucial because a reliable and high-quality platform can attract more users, which can increase the platform’s revenue through subscriptions. Moreover, a platform with a poor QA process can result in negative reviews and feedback from users, which can harm the platform’s reputation and lead to lost revenue.
The QA process is responsible for ensuring the software meets the required quality standards and performs as expected. It involves a series of testing and analysis techniques that are designed to identify and resolve issues or bugs in the software.
We will explore the various stages of the QA process, including planning, design, and execution, and how they contribute to the overall success of a project. So, let’s dive in and explore the world of QA!
Our QA process consists of several steps:
- Requirements Analysis
- Test Planning
- Test Design
- Environment Setup
- Test Execution
- Test Closure
- Requirements Analysis
Our team has a refinement meeting where the product manager introduces a new feature to us and we ask questions about the functionality, purpose of the feature and clarify the requirements. As a QA engineer, I prepare high-level test cases which will make sure everything works as expected in the next steps of the development process. We use Jira here for keeping our requirements and Google Spreadsheets to track the traceability between requirements and tests.
- Test Planning
When the high-level test cases are ready I sort them by priority. Also in this step, it is essential to understand if we have dependencies with other functionality and if so include them in the planned checks.
- Test Design
Based on the requirements and high-level test cases, I go on to create detailed test cases and figure out what test data we need to run the different tests. And think over the test data we need for tests. Then I create automation tests for the most critical cases. To automate tests, we use the Assertible no-code tool in tandem with the Ngrok service, which provides Assertible with a secure and safe connection to our internal services. For our manual test cases and checklists, we use Google Spreadsheets.
- Test Environment Setup
I ensure the component versions are in the test environment and prepare test data for test cases.
- Test Execution
As I mentioned, I’m from the backend team, so I do testing mostly on the backend side where the logic is stored. I execute manual and automated test cases that were created on the Test Design step in our integration environment and check the feature works according to requirements, API calls correspond to the expectations, and ensure there is nothing suspicious in the logs.Also at this stage, we check the implemented functionality has not introduced new bugs, and run a suite of regression tests in Assertible. A regression test suite is a set of tests that cover existing functionality and are continually updated and extended. After a new feature is implemented, the tests developed for it go into the regression suite.I also run some tests on the front-end side to make sure it integrates well with the backend. I report the issues which were found during testing and once the defects are fixed, I retest functionality to ensure that the defects have been resolved and haven’t introduced new bugs. We have a lot of monitors and dashboards and a good logging system where we can see the system state in real-time and it is actively used during testing to check the status of the services.One of the important steps here is acceptance testing. This is the final test execution step which includes two activities in our process.
A. Mob testing: This is an activity in which we get together with QAs from other teams and our Product Manager and check new features against requirements. As soon as this step is done we can deliver the feature to production.
B. Acceptance test: Our partners can also make an acceptance test and ensure that the product meets the expectations.
- Test Closure.
I ensure once more that critical bugs found are fixed, set the regression schedule and post the report about the test results and links to test documentation and new automated tests in the Jira ticket.
All of our features go through these steps and we think about quality from users’ and partners’ perspectives. For example, during hack days for the Recommendation system, we checked all used internal components were integrated well without any issues with existing functionality. We checked if the customer could configure the recommendation collection and made sure that this collection is available for the user and shows unique content to each user based on their data.
This is our current process which constantly changes and adapts for business purposes. A well-designed QA process can help ensure that products meet the desired level of quality, and functionality, while also minimizing the risk of defects and errors.
_______________________________________________________________________________
Find out more about Magine Pro’s extensive library of technical resources and experienced team that enable our partners to deliver seamless streaming experiences on all devices here. You can also head over to our experience page to learn more about our partners.
Don’t forget to subscribe to the Magine Pro e-newsletter to stay up-to-date with our latest news, partners, products, and to find out which industry events we’ll be attending next.