Overview
Virtusize is a Tokyo-based company developing a solution for e-commerce businesses. The product they develop makes online shopping easier, helping to choose the best clothing size and fit. The company creates a marketplace by placing e-stores within its platform.
Challenge
The task was to test the API service that helps users select the most suitable size of clothing.
Since Python 2 is deprecated since January 1st 2020, Virtusize was looking for an automated QA engineer to accompany the transition of API service from Python 2 to Python 3 in short time limits.
Solution
- After careful evaluation of the software and business objectives research, our QA engineer created autotest cases with the help of the Tavern and Pytest.
- To make a smooth transition from Python 2 to Python 3, QA pros usually test both versions first. This is exactly what our specialist did.
- The QA engineer carried out a thorough analysis of sufficient coverage by the application endpoints. This step was taken to ensure the traceability of the expected test results. The analysis showed a lack of current endpoint coverage. As a result of QA and developers` cooperation, the required amount of additional endpoints was designed and implemented in the system. This ensured better traceability of application data.
- All developed API endpoints of the service were covered by functional and integration tests, immediately upon their readiness.
- For this project, our QA engineer has implemented functional, integration testing, as well as regression testing. Regression testing was chosen to complete the service transition from Python 2 to Python 3 due to the use of third-party services by the application for storing business objects and images.
Results
- The QA engineer developed clear documentation and reports on the results, pointed out the areas for improvement. A daily launch of tests in the cloud service was implemented to monitor the stable operation of the API in the long-run.
- As a result of testing, QA pro has detected endpoint errors that prevented the system`s expected behavior of the application business model.
- Our recommendations related to the existing implementation of the endpoints to conform with the GET idempotent principle as per the REST API Best Practices.
- The collaboration helped the product team to improve the traceability of endpoint data, improve the implementation of the application business logic, and support a smooth, quality-controlled transition from Python 2 to Python 3.