quarta-feira, 18 de março de 2015

Test Mirror: An test strategy using Scrum method in an outsourcing project

ABSTRACT


Although conduct software testing is extremely important to reaching the quality, tests are still not a common place among companies. Running software tests in agile development environment makes that situation even more complicated, since it has a quick development with little documentation. This scenario demands a complete adaptation of the testing processes. This work presents a case study applied in a multinational company during a project which was developed with the agile method named Scrum and some aspects of Feature Driven Development where the whole testing process was restructured on its many phases, offering a punctual and systematic way to coordinate outsourcing resources and conduct scrum team activities.

INTRODUCTION

Software testing improves the software quality and reduces the risks; using agile software development method the companies are able to deliver the product in a short time, therefore, the agile methods tend to use another ways for documentation, not formal documentations, it can result a lack on test coverage. In this specific project the agile method was adopted, more over reasons, it’s also applied to improve the tracking of requirements changes during the project.
The project leader used to set the priority on bug retests; it results in a bottleneck in test team.  Another point is the difficulty for the testers to understand and recheck bugs reported by development team (Feature Leaders and Architectures); they used to report as their preference describing coding for example.
Intermittent bugs, tester’s mistakes, bugs badly reported, imply a delay for development team fix. Each week the test team had a large number of bugs to be retested because the developers used put the bug in "Resolved" state in both following cases: when it is ready to be retested and when it hasn't enough information to be analyzed.
The test team didn’t have time to execute system tests in a current build; it was executed only “sanity test” to provide quickly feedback about software quality. Quality analysis based on sanity tests result, isn't a good practice because the proposal of the sanity test is to provide input to plan system tests.
Solving some of these troubles, a new test process has been created and applied during the software life cycle. The challenge was to define following:
·         tests roles;
·         the process to interaction of dev’s and tester’s;
·         following up outsourcing resources in Scrum;
This panel will describes the agile methods aspects and the software test importance in this specific project as well as presents project roles,  test team interaction in each Scrum phase, and the interaction among testers, outsourcing team and development team. In additional this case of study might be used as reference for another's similar projects.