Category Archives: Automation

Android Parallel Automation

Android parallel automation Android Parallel Automation to increase Coverage Naukri has more than a lakh users using its Android application. These users are widely spread across multiple android devices with various combinations of android versions. We work hard to ensure that our application works well for our entire user base. Acknowledging that appium scripts are slow, it was a time taking task to execute a 10 hours long script on multiple devices, calculatedly taking around half a day in execution on single device and completely taking around two to three days on just 3 devices (in the best possible scenario). If... Read More

MAILER AUTOMATION THROUGH JAVAMAIL API

MAILER AUTOMATION THROUGH JAVAMAIL API “Discovering the unexpected is more important than confirming the known.” Owing to the large number of mails that are a part of the daily user interactions, it becomes imperative that the mails that reach the users are bug free. This system is developed as an initiative to continuously validate the mails that the end user is receiving for accuracy, without manually testing the mails each and every day. Problem Statement: In Naukri, automating mailers was considered unfruitful mainly due to the low ROI yielded when tackled with conventional... Read More

Page Object Pattern

Before discussing about “Page Object Pattern”, let’s understand what is Test Specification and Test Implementation? There is a difference between Test Specification and Test Implementation Test Specification - What to Test? Test Implementation - How to Test? For Example, Test Specification is “When user enters username and password and clicks the login button, then he is logged in and can see his Dashboard”. This describes a scenario – it’s a specification of what the test should do. However, Test Implementation has to deal with following things: The username field... Read More

How to Reduce Test Automation Flakiness

We all have heard the story of the Boy Who Cried Wolf, let’s just revisit it. “A shepherd-boy, who watched a flock of sheep near a village, brought out the villagers three or four times by crying out, "Wolf! Wolf!" and when his neighbours came to help him, laughed at them for their pains. The Wolf, however, did truly come at last. The Shepherd-boy, now really alarmed, shouted in an agony of terror: "Pray, do come and help me; the Wolf is killing the sheep"; but no one paid any heed to his cries, nor rendered any assistance. The Wolf, having no cause of fear, at his leisure lacerated or... Read More

Continuous Integration of the Naukri India iOS with Jenkins

Continuous Integration (CI) is a valuable addition to our workflow. Running the test cases manually is tedious. Here’s when CI comes into picture. CI tools execute test cases automatically and sends notifications to the developers. This helps increase the performance and product quality. Jenkins is a popular Continuous Integration tool. It is a Java application that monitors and configures Jobs and can be used for Backend and Mobile end. Jenkins is responsible for the following: Pulls the source code using Source Code Management (SCM). Compiles the code. Creation of the... Read More

Continuous Testing at Naukri

Continuous integration is the talk of the town. Every business is aiming to ship products quicker with no compromise on quality. With this evolution in the IT industry, there was a huge requirement to fine tune our test processes and revive the traditional test approaches. This blog details out some of the changes that happened at Naukri leading to more focused and grown-up QA practices. Challenges faced during continuous improvement: The IT industry has evolved significantly with the changing time. This evolution is majorly driven by factors like advancement in information technology,... Read More

Automating Front-End Processes – The Jenkins way

Being an IT techie, we are highly concerned with the way our websites are being developed and the way they perform. We are constantly pushing our limits to build and deliver high performance products and hence take up the end-users’ experience to another level and we do this by following countless techniques and technologies. In order to achieve the above said, we have a long list of tasks and processes we need to do or follow and the pain point is that most of them are taken care of and done manually. Before diving deep into the ways of doing all the stuff, lets first have a look at... Read More

Android App automation @Naukri

AppiumAndroid Naukri is one of the early bird which started automating mobile applications using Appium. It took us lot of time to identify compatibility of Appium with Android versions, and then with Selenium versions and further with java and java clients. The challenges we faced and the final compatibility that worked well for us is something I am sharing here. So, just putting it down here for the benefit of any beginner to appium. Appium! I’m sure is by now not an uncommon tool in the testing community. I consider that you already know ‘What’ and ‘Why’ about Appium. One of the... Read More

Selenium Webdriver Compatibility

Problem Statement: We at Naukri define and follow various test processes and the aim of these test processes is to deliver quality products to our customers. One of these processes is to define and upgrade compatibility matrix once in a quarter and we test our web products against this matrix. We can perform manual testing against the defined matrix, when it comes to automation testing following questions arise? Can we execute our automation suites against the defined matrix? If so which selenium version is compatible for latest Firefox version? In case of Chrome, which... Read More

Parallel Testing at Naukri

What is parallel testing? In simple terms, running your test scripts in parallel on same machine or on different machines is known as parallel testing.   Problem Statement: Let’s consider one of the application of Naukri say “Job Search”, consists of 900 test cases which takes around 3 hours for complete execution on a standalone machine.   Whenever a build related to “Job Search” is about to go live, we need to run the complete automation suite to achieve quality. The issues found from the resulting report are logged and get fixed by the dev team. Once fixed the entire Job... Read More