Category Archives: Quality Assurance

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

Peripheral Testing

If anyone has played basketball during their school or college time then they would have got the lessons from their coach about peripheral vision. Peripheral vision is important in the game as it allows you to: Confuse the guys from other teams by looking at one member of your team and passing the ball to another member. 2. It helped you to pass the ball, at the right time to the right person, who is free at that moment. 3. It also helped you to see if someone is approaching you in order to block you, or coming from your back side to take the ball from you. There are many other... 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 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

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

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

How to automate HTML5 mobile site functional testing using Chrome Mobile Emulator

The most common is to use the firefox addon User Agent Switcher, however, the browser window that opens has the same size as that of a desktop browser. If we simulate the size of a mobile phone browser our automation will be much more closer to an actual user interaction, moreover, the screenshots will capture the look of the web page on an actual mobile and would allow us to automate responsive design testing as well. Such an option is provided by the chrome screen emulator.   Emulators are pretty much exactly as their names suggest, they emulate how a browser would render a web page.... Read More

Difference between Implicit and Explicit Wait in Selenium

What is a wait and why it is used in automation scripts? Have you ever seen a traffic signal? What does the Red light in the Traffic signal indicate? The origin of wait comes from the traffic signal problem. As Red light in traffic signal asks the traffic to halt for some time, similarly wait is used to halt the execution of our automation script for a specified time. In other words wait asks our script to stop the execution for a specified time. Wait is mostly used by automation testers like us to debug our code or to avoid situations like Element not found Exception(s) by the webdriver.... Read More