Team Sahi Pro believes in continuous learning and we nominated ourselves for the Test Automation Contest conducted by STeP-IN Forum as part of STeP-IN SUMMIT 2016. Each team could have up to five members. We went with three members - our lead developer Kshitij Gupta, our support guru Pratik Shah and yours truly me (Ajay Balamurugadas). As soon as we got the email from the organizing committee about the pre-requisites, we kept asking them questions about the contest - the format, the purpose of VM, pre-requisites and what else was necessary from our side. Once we understood the expectations, we had all the pre-requisites in a pen drive and ready for the contest.
Contest Day:
We arrived on time for the contest and ready for the instructions. There was only one socket working in the power strip near our table. We quickly got it replaced and tested it. Then, once the pen drive was given to us with the VM image, we faced issues w.r.t network and BIOS settings. Virtualization was disabled in BIOS settings. Rahul explained the different types of networking modes like Host-only, Bridged and NAT. The volunteers from Test Mile helped us get ready for the contest. We received the problem statement at 9.35am. We quickly read the instructions and jumped to asking questions. It was soon announced that we will get time for asking questions.
here were three scenarios to be automated and the criteria to get selected for the final round was straightforward. The teams that had the scenarios automated would be through to the next round. There were a total of 32 teams participating and only 8 final slots. While Pratik started with the first scenario and Kshitij started working on the second scenario, I took the role of a business user who would keep cross checking the implementation against the requirement document. I took the role of timekeeper and noting down the team's progress in a notepad.
120 mins left for the contest to end:
We were clear on what to achieve at the end of the three hours and the progress was steady. None of the scenarios were automated till now. Work on the third scenario was not even started. At the same time, we thought that whatever we did till no was without any errors.
60 mins left for the contest to end:
Both the first scenarios were automated and the code was on two different machines. We also asked clarifying questions to the judges and were ready with some features that were over and above the expectations. While Kshitij refactored his code for scenario 2, Pratik ensured that his scenario 1 code worked without any errors. We wanted both the code snippets to be consistent with each other. So, we were also cross-checking the function names, password masking and the comments. Backup of each scenario was emailed to all of us.
30 mins left for the contest to end:
By now, we had integrated the code and started work on the third scenario. Some of the merge issues were resolved quickly. There were also some issues with Accessor Repository files. Each scenario was played back individually and the problematic line was identified. Though we were tempted to hard code the value due to lack of time, good sense prevailed and we troubleshooted it the right way.
15 mins left for the contest to end:
We started our work on Jenkins Integration and we tested our code on both the machines. One of them did not have Jenkins configured. As the clock struck 1pm, we were asked to close the laptops, wait for judges to judge us and head to lunch. We were satisfied with what we had achieved. Before we left, we had started the playback to verify one last time. The slides were also ready with our progress timeline, approach and the CTC (Challenges, Team work and Components) used. Then, judges came to us and asked to demonstrate our work. They checked if our code worked, which tool we used and the approach we followed. There were few questions asked and we confidently answered all of them to our satisfaction
After a good lunch, we were back to know who had qualified for the final round. We waited for more than 15 mins and we still did not know if we had qualified for the finals. Then the team names were announced. We were in the top 8. We were ready with the tweet and as soon as the name was announced, we pressed the 'Tweet' button.
It was time for the presentations to begin. We were third in the presentation order. We connected our laptop and the HDMI cable to the projector. The input was not detected. We were given some time to sort it out. We tried installing drivers but it did not help. We had to try with the other laptop but remember, it did not have Jenkins. We quickly configured Jenkins on this machine and we were ready for our presentation.
Presentation Time:
We presented our approach, the code for each scenario, the challenges we faced and how we solved each challenge - the latest challenge being the HDMI connectivity issue. We also demonstrated our code by playing back the whole code. We highlighted the strengths of this approach and answered questions on why a particular approach was followed. There were questions on which parts we worked in the three hours and which came as part of the tool pre-packaged.
Time for results:
Then the results for the Test Automation contest was announced along with highlights of each of the 8 presentations by the finalists. Team Sahi Pro came second and we were happy about it. One reason why we thought we missed the first prize was Sahi Pro is so feature rich that it might look that we did not do much in the 3 hours, which is acceptable. It is a testimony to the power of Sahi Pro. :)
Our special thanks to our CTO Mr. Narayan Raman for sponsoring this team for the contest. We also want to thank everyone at Sahi Pro for making Sahi Pro - The Tester's Web Automation Tool. Looking forward to the next contest. Till then, happy testing with Sahi Pro!!!