The story behind how Naukri won DSTC 2016 Automation contest

5.00 avg. rating (93% score) - 1 vote

Long story short: Naukri.com recently participated & won the first prize in DSTC Test Automation Contest held by InStep Forum on 19th April 2016 in Radisson Blu, Dwarka.

Read on for the full story…

It all started when we got to know about a test automation contest being held in New Delhi. Eager to participate, we sent our nomination for the contest.

A few days later we received a mail from DSTC informing that we need to fill in the details of the participants & put our opinions on the latest trends in Agile & Test Automation in order to shortlist the teams that would participate.

Time had come, to form a team.

Spartans!! Unite.

The Planning

We decided to form a team of 5. We picked up people with varied experience levels to have a blend of maturity and enthusiasm. Also this would provide an exposure to such events to a larger spread of our team. We filed our nominations & crossed our fingers for the best.

It was 12th April when we got the confirmation from DSTC that we were among the 7 teams selected to participate in this prestigious event. We began preparations immediately. As the competition was supposed to be of 2 hours only, we figured that we would need to divide the scenarios among us while focusing on code reusability.

The automation framework at Naukri is based on Page Object Model. It is integrated with multiple tools such as TestNG, ANT, GIT, Jenkins & TestLink. Apart from running the tests from Jenkins/TestLink we can also run it from the command prompt by specifying arguments to run on desired Browsers types and version. We can also choose the test environment (Live/Staging/Test) on which we want to run the scripts.

Knowing that working with GIT would not be feasible remotely, the first thing we did was to make a new Java project in order to maintain a common folder structure that would make the coding & eventually merging, easier. We shared this project among us & executed a sample script beforehand to make sure that we had all dependencies in place.

In order to save time, to avoid typos & write clean reusable code we planned to make use of the in-house open sourced project Selenium Code Generator.

Although we were confident, there were many unanswered questions in our minds regarding the contest…

  • How would be the automation scenarios like?
  • What would be the judging criteria?
  • Is our automation framework competitive with others in market?

19th April 2016– Judgement Day

Finally the day arrived. We reached the venue early & finished the registration processes. The environment was tense. People were busy setting up their systems to avoid any unexpected technical glitches. The teams were from Bangalore, Gurgaon, Nagpur, Noida and Hyderabad. The judges for the day were three very experienced people from the Testing industry. They began by congratulating us on being selected out of a total of 30 teams that showed interest in participating.

They briefed us on what would be the competition like & what they were looking for:

We would be handed out three scenarios that we had to automate in 2hrs. The judges made clear the fact that they would NOT be judging on the basis of the automation framework & would be rating us only on What we achieve in the specified timeframe & more importantly, How.

By this time, we had already decided that our strategy would be to not to hurry into coding. Instead, we decided that we would thoroughly go through the scenarios, break them up into smaller pieces & divide the work accordingly in order to finish on time while reusing the common components.

After a short Tea break, at 10 AM, we were handed out papers comprising of the 3 problem statements.  The time had come. The time for War.

 THIS. IS. SPARTA!!!!

Well, at-least that’s what we thought in our heads. Anyways back to where we were.

We followed our plan & started analyzing the problems at hand. The cases revolved around Google Search, Google Drive, Google Login & Gmail. We figured that all these cases would be making use of common pages & functionalities.

The most important of these all was the Google Login Page, as it was required for using Google Drive & Gmail and would be used in all the 3 tests.

The second most important piece of the puzzle was the Google Apps Menu that we would use to navigate back & forth from the Google applications

Two of us picked up these modules first & in the meantime rest started creating page objects for other pages i.e. Google Drive, Gmail & Search. Once the Page Objects were finished we shared these among ourselves so that we can benefit by making use of the classes made by others. The cases which seemed easy at first, turned out to be a complicated set of puzzle that required the use of multiple flows for a single test. We raced against the clock to finish the cases while maintaining the coding standards & avoiding hardcoded Sleeps, in order to finish with a clean code. 10 Minutes to finish, we started merging our code. Our strategy of sharing page objects & following a common folder structure was the savior here. We were able to merge all the cases within 5 minutes & that too without any major merging related issues.

As we finished a run of our tests to make sure that the code ran fine, the clock struck 12. The time was over & all the teams were told to stop coding.

We proceeded for a sumptuous lunch after which all teams were to showcase what they had achieved that day.

The presentations started. 6 out of 7 teams used Selenium-Java/C# while 1 used QTP(or rather ALM). It was a great experience to see the different approaches taken by the teams to solve the 3 problems at hand. Various type of automation frameworks, ranging from Keyword driven, BDD, Page objects to Data-driven were showcased.

We decided not to present first, so as to evaluate what others had done, their Positives, Negatives & analyze what the judges were looking for. Strategies…you see…play an important role. We figured out that during the presentations, all the teams focused on their (awesome) frameworks & neglected the actual problem. The judges were getting irritated & even on repeating that they wanted to know about the actual automation done by them and not their framework, the teams didn’t pay any heed. Some teams were ear-pulled by the judges on not making use of OOPs concepts, not separating out the logic and test data & using hard coded values & sleeps in their programs. This went on for the first 5 teams. Finally we decided to present next.

We started by explaining the approach we took to solve the cases, the problems we faced & how we found the solutions. Next we showcased them our code and emphasized on the proper usage of OOPS concepts & coding conventions. We explained them about the ease of coding & reusability of functions that we achieved using our Selenium Code Generator. We ran the scripts to show the judges what we had made. Only after this, we explained the framework that we used. All the judges seemed happy & were impressed with our approach and the framework being used at Naukri. They applauded the fact that we were making use of Config files & Command line ANT arguments.

20th April: Results day

Next day, after a series of informative sessions on Testing, the time finally arrived in the evening when results for the competition were to be announced.

The Judges informed the audience about the teams one by one & appreciated all the teams for the efforts put in for the contest.

All ears were focused to hear the results. They announced the runner up & we did not hear our name. Our hearts started pounding. Only one thought crossed our minds. Would we win or not?

Suddenly we heard…

“And……the winner is…………Naukri”.

Dramatics apart. Thanks for reading.

“People rarely succeed unless they have Fun in what they are doing” – Dale Carneige 

3 thoughts on “The story behind how Naukri won DSTC 2016 Automation contest

  1. Really Enjoyed Reading this Blog and Congratulations to everybody Once Again !!!

Comments are closed.