Case study: E-commerce company
During the analysis phase, we discovered some problems the client was facing:
- The testing team was overwhelmed and struggled with the task of testing the apps currently in development
- Automated testing was incomplete, difficult to maintain and thus rarely used
- Implementing a testing process to achieve a coverage up to 80% during development phase
- Implementing a testing process to achieve the coverage,at least, for the major functionalities during support phase
- Developing a testing framework suiting the company’s development process
- Making this testing framework highly adaptable in order to cover all the different platforms and apps the company was developing
- Making the testing framework very easy to use and customize by the client’s testing team, regardless if they had programming skills or not. The testing framework was to be easily adapted by the team only by changing some data and minor assets.
- Providing the end clients with acceptance criteria in order to set the right expectations for the project outcome and to ensure the base for proper testing. Acceptance criteria are a formalized list of requirements which ensure that the final product meets the customer needs and expectations.
- The client’s testing team had no development or programming skills
- Teaching the client’s team members (designer, programmers, testers etc.) about the importance of acceptance criteria and how to use it in order to optimize their workflow and the final products
We used an Agile — Scrum addapted methodology. We made sure that in the first sprints we focused on writing proper manual and automated tests. This way, during the last sprints phase we could focus on execution and the tests needed very few to 0 revisions. To achieve this goal, we relied on the defined and agreed acceptance criteria.
For the apps already in support phase we created smoke tests, and we increased the test bed when new functionalities were added.
For the software test automation we used an existent open source framework which we modified and adapted to meet the acceptance criteria and the workflow of the client’s team.
We used Robot Framework, written in Python and data driven and customized it in order to:
- Use data as variables in order to minimize the effort of rewriting similar information
- Reuse tests or parts of test (e.g. the test for the login section of an app)
We provided software performance testing by developing a suite of tests that would cover all the developed apps.