In this blog I would be covering a case study for a category of projects that was tricky to roll out. You will get to know in a while why I call them tricky.
How do you all feel about a migration project? Some can be more complex than another, isn’t it? The complexity depends on many factors like
- Size of the application,
- Number of interfaces,
- Technology used,
- Availability of documentation,
- Availability of test cases,
- Level of understanding of application by the existing team.
There can be many other factors but these are the obvious and more prevalent once.
Case in Point
Functional Testing and Regression Automation for A Media UK Media Giant.
Nature of the project: Migration from the legacy code, the technology for which is going to get retired. There was lack of documentation as well as absence of test cases. The project had to be migrated from Silverlight to ReactJS.
The project started with knowledge transfer from the current Silverlight team and BAs. All the testers were part of this training. New documents were created in word format which were fine but did not really provide a base to derive detailed requirement and business flows. This led to requirement leakage and error prone code.
At this point we had to brainstorm and come up with an effective approach to ensure quality and release timeline.
So how did we overcome the challenges in front of us?
Adoption of Behavior-Driven Development for writing User stories
The fact that the entire system information was not on paper but in minds of various people was the biggest challenge for Genisys team to get the right information drafted and implemented. The application is complex. The data combinations as well account of business logic flows. The training provided in the early stage of the project was not enough as there were many open ended flows.
At this stage the old Silverlight code was the only reference for new application design and implementation and then comparing it with the old application was the only acceptance criteria available. This led to many issues because all the business flows cannot be understood in this manner. This process made us copy the flawed design and drawbacks of the old code.
The only way to improvise was to get documentation in place. The QA team looked through the Silverlight code and the exiting application to write down feature files. These feature files were then sent to the client for review and approval. This was the time when we all realized the gaps in our understanding. After getting review comments from the client SME, the feature files for user stories were considered as single point of truth. These files are so easy to understand and maintain that a person who does not know the application also can come and get the hand of it by going through it. That is the beauty of BDD. It also easy to map the user stories to the test cases and test scenarios.
Adoption of Behavior-Driven Development for writing functional and regression scenarios
Manual test cases were derived from the user stories written in the feature files. These test cases were easy to understand and the acceptance criteria could be defined clearly.
The same was done for regression and integration scenarios. It was very easy for the client to read through the feature files and understand in details about the validation that are actually taking place at each step. With such complex application, getting a clear cut sign off using and ambiguous word document would have caused lot of errors. But BDD helped us to sail though smoothly.
What did we achieve?
After doing so much of work and getting the project on track, the point of truth comes when we sit down to calculate the ROI.
This project had 1129160 LOC, With 51 user stories, 5500 test cases and 207 regression scenarios. Total number of defects for the entire project timeline were only 988. This in itself says a lot about the application quality, code quality and test quality.
We saved on 20% man days because of the bugs being captured early and requirement being base lined on time. The defect density per line of code was as minimal as 0.08 percent. I am very happy with how this project was executed and kudos to the Genisys QA team for pulling this through.
These type of projects set a new trend because now my QAs are my BAs. My QAs also understand good amount of technologies. As an organization my goal is to move towards having a team of SDeTs. Such projects make it happen.
No project is the same. Genisys ensures that the frameworks and approach are flexible enough. We plug and play the layers as needed. This is what is unique about the Genisys automation framework and Genisys QA approach.
To know more drop your query to: Get in touch