Fleek IT Solutions > Core QA Services > Optimizing QA for Software Stability
Software-Stability

Optimizing QA for Software Stability

Our customer is a software provider specializing in multi-channel retailing solutions. Their ecosystem enables sellers to effortlessly sell products across various e-commerce marketplace websites, apps, and point-of-sale (POS) systems. With features like efficient inventory and order management, seamless warehousing, and both B2B and B2C order fulfillment, the customer aims to empower retailers in the digital landscape.

Unstable Environment:
The existing Quality Assurance (QA) workflow involved individual team members testing changes and bug fixes on their local machines. This process included database restoration using MySQL Workbench and creating local servers for application testing. However, the tight release cycle of one week left no time for thorough regression testing before production. As a result, several issues remained undetected until after the code was merged.

Lack of Documentation:
Verbal communication was the primary mode of sharing software knowledge, leading to limited reference materials. Existing user stories and bug reports lacked proper documentation of test data and test cases, resulting in reduced visibility and traceability.

Restrictions on Server Access for QA:
QA team members faced challenges when they required developer assistance to address environment and data-related issues. Limited server access hindered their ability to test specific scenarios, identify the causes of errors, and troubleshoot independently, ultimately impacting the efficiency of the QA process.

No Automation:
The absence of automated testing for Application Programming Interfaces (APIs) posed a significant challenge. With frequent changes to APIs, manually covering all test cases became time-consuming and prone to errors.

To address these challenges and improve the overall QA process, the following solutions were proposed and implemented:

Unified Testing Environment:
A unified environment was established, providing all QA team members access to a shared database and a single URL. This allowed testing to begin from the initial stages, ensuring consistency and collaboration among team members. The shared environment streamlined the testing process and enabled comprehensive validation.

Comprehensive Documentation:
Detailed test data and test cases were created, prioritizing comprehensive documentation. Each change and bug fix required a well-formatted change document, facilitating effective test planning and ensuring adequate test coverage. The focus on documentation enhanced visibility and traceability, enabling better coordination between the QA team and developers.

Enhanced Server Access for QA:
QA team members were granted access to log files through WinSCP, enabling them to review and analyze logs independently. This eliminated the need for constant developer assistance, leading to faster issue resolution and increased testing efficiency. With improved access to logs, the QA team could identify and address potential problems without relying solely on developers.

Test Automation:
API testing automation was implemented using the Python programming language and the pytest framework. Allure was utilized for reporting purposes. Automated tests covered various API scenarios, reducing manual effort and ensuring consistent and reliable API testing. Test automation improved efficiency and test coverage, particularly for frequent API changes.

The solutions implemented for our customer’s software challenges have yielded significant improvements:

The number of issues reported in the first stage of testing increased by 30% after the implementation of detailed test plans and cases for each change and bug fix. This improvement indicates better detection of problems at an earlier stage, allowing for mitigation before merging the changes. The number of issues reported within a week of going live decreased by 9%, demonstrating enhanced stability and reliability of the software after the changes were deployed. The creation of a knowledge base through well-documented materials has fostered knowledge sharing and served as a valuable resource for future reference. Enabling QA team members to access and review log files through WinSCP empowered them to