Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
This round started with some basic questions from Software Testing and then the interviewer started asking some questions from Automation Testing.
What is a test environment?
A test environment consists of a server/computer on which a tester runs their tests. It is different from a development machine and tries to represent the actual hardware on which the software will run; once it’s in production.
Whenever a new build of the software is released, the tester updates the test environment with the latest build and runs the regression tests suite. Once it passes, the tester moves on to testing new functionality.
What is black-box testing?
1) In black-box testing, the tester views the software as a black box, ignoring all the internal structure and behavior. Their only concern is the input provided to the system and the generated output.
2) Black-box testing verifies the program’s behavior against the specified requirements.
3) During black-box testing, the test conditions are created based upon the software’s functionality but are unaware of how the software works internally.
4) The software is tested from the end user’s perspective and gives a broader picture of the whole system.
5) Given that the users are only concerned with whether the software works according to their needs and don’t care how it works, black-box testing helps test software usability and anticipate how the customer will use the product.
What is static software testing?
1) Static testing is a technique in which you test the software without actually executing it.
2) It involves doing code walkthroughs, code reviews, peer-reviews, or using sophisticated tools such as eslint, StyleCop to perform static analysis of the source code.
3) Static testing is typically performed during software development.
What is API testing?
1) API testing ensures that the APIs that the software is using work as expected.
2) The tester writes code that makes an API request to the server that provides the API, provides the required inputs, collects the output from the response, and matches the actual output with the expected output.
3) API testing primarily concerns the business logic of the software that’s exposing the API. It does not involve the look and feel, accessibility, or usability of the software.
4) API testing can be automated to make it repeatable and reproducible each time they run.
What is browser automation?
Browser automation is the technique of programmatically launching a web application in a browser and automatically executing various actions, just as a regular user would. Browser testing gives you the speed and efficiency that would be impossible for a human tester. Protractor, Cypress, and Selenium are some of the popular tools used in-browser
testing.
Some of the activities performed in browser automation are as follows :
1) Navigate to the application URL and make sure it launches
2) Test the various links on the web page and ensure they are not broken.
3) Keep a record of the broken links on the page.
4) Perform load and performance testing on your web application.
5) Launch multiple instances of the browsers with different test users and ensure that concurrent actions work as expected.
What are some of the best practices in test automation?
Here are some of the best practices a software development and the testing team should use to ensure quality
software.
1) Decide what to automate :
i) It’s not possible or practical to automate certain tests, such as usability, accessibility, exploratory testing, or non-repetitive test cases that frequently change.
2) Assign test cases based on skill and experience :
i) When dividing test cases, take into account the skills and experience of the tester and the complexity and severity of the feature under test.
3) Removing Uncertainty :
i) The whole goal of test automation is to have reliable, accurate, consistent tests that provide helpful feedback to the tester. If the tests fail due to bugs in the test itself, or it’s giving false positives, then the ROI on test automation starts decreasing.
4) Choosing the right frameworks and tools :
i) There are a lot of tools to perform automation testing. Picking the wrong tool for the test at hand will waste time and provide false confidence to release software that may fail in production.
5) Keeping test records in a bug database :
i) Using a bug database is a best practice whether a team uses test automation or not.
ii) Whenever new bugs are found by the automation tool or by the testers, they should be recorded in a bug tracking tool with the exact steps to reproduce the bugs and other details.
What is Protractor?
1) Protractor is an open-source automated testing framework that allows you to perform end-to-end testing of your web applications. It’s built on top of WebDriverJS.
2) Protractor is developed by Google and is especially used for testing Angular applications.
3) Protractor runs the tests against the web application by running it in real web browsers.
4) It also interacts with the application like an end-user would, e.g. clicking buttons, links, filling forms, etc., and verifying the result with the expected outcome.
5) Since Protractor is based on the Selenium WebDriver, it’s easy to perform cross-browser testing. It provides a simple API compared to Selenium, so the learning curve is not too steep.
6) Developers can quickly get familiar with it and start writing the end-to-end UI tests.
7) You can also take snapshots and compare them using Protractor. It also allows you to run parallel test cases on different machines.
This round had questions from Software and Automation Testing Fundamentals, Selenium and CI/CD.
Explain STLC.
STLC (Software Testing Life Cycle) is a fundamental part of SDLC which is used to test software and ensure that the quality standards are met. It generally involves both verification activities and validation activities. In this, different activities are executed in a specific order throughout the software testing process. There are basically six different
phases in STLC. They are as follows :
1) Requirement Analysis
2) Test Planning
3) Test Case Development
4) Test Environment Setup
5) Test Execution
6) Test Cycle Closure
What is boundary value analysis?
In software, many errors occur near the edges of the range of the data values. For example, when the programmer uses the greater-than operator (>) instead of the greater-than-or-equal-to (>=) operator, it causes the off-by-one indexing error.
Typically, developers miss these boundary cases because they follow a happy path when developing and testing. Boundary value analysis helps to discover the errors caused by extreme values. The tester chooses the test data at and immediately above and below the boundaries of the input domain of the data.
For example, if an input field expects a string of 20 characters long, the tester tests it with strings of lengths 19, 20 and 21.
How will you automate basic “login” functionality test cases for an application?
Assuming that the automation tool and framework is already in place of the test environment.
To test the basic “Login” functionality :
1) Understand the project requirement: Login functionality will have a username textbox, a password textbox, and a login button.
2) Identify the Test scenarios: For login functionality, the possible test scenarios are :
2.1) Blank username and password
2.2) Invalid username and password
2.3) A valid username and invalid password
2.4) Valid username and password
3) Prepare a Data input file with the data corresponding to each scenario.
4) Launch the tool from the program.
5) Identify the username field, password field, and the login button.
6) For each test scenario, get the data from the data file and enter into the corresponding fields. Program click on the login button after entering the data.
7) Validate the error message for negative scenarios and the success message for positive scenarios in the test script with the help of assertions.
8) Run the test suite and generate the report.
What are the different forms of Selenium?
Selenium comes in four forms-
1) Selenium WebDriver – Selenium WebDriver is used to automate web applications by directly calling the browser’s native methods.
2) The Selenium IDE Plugin – Selenium IDE is an open-source test automation tool that works on record and playback principles.
3) Selenium RC component – Selenium Remote Control(RC) is officially deprecated by Selenium and it used to work using javascript to automate the web applications.
4) Selenium Grid – Allows Selenium tests to run in parallel across multiple machines.
What is the difference between the commands "type" and "typeAndWait" in the context of Selenium?
The "type" command is used to enter keyboard key values into a software web application's text box. It can also be used to choose values from a combo box. You must use a basic "type" command if there is no page reload event when typing.
Whereas the "typeAndWait" command is used when you finish typing and the software web page begins to reload. This command will wait for the page of the software program to reload before proceeding.
Explain what are the JUnits annotation linked with Selenium?
The JUnits annotation linked with Selenium are :
1) @Before public void method() – It will perform the method () before each test, this method can prepare the test
2) @Test public void method() – Annotations @Test identifies that this method is a test method environment
3) @After public void method() - To execute a method before this annotation is used, test method must start with
test @Before
What do you know about Continuous Integration, Continuous Delivery, and Continuous Deployment?
Continuous Integration : A software development process where the changes made to software are integrated into the main code as and when a patch is ready so that the software will be always ready to be - built, tested, deployed, monitored - continuously.
Continuous Delivery : This is a Software Development Process where the continuously integrated (CI) changes will be tested & deployed continuously into a specific environment, generally through a manual release process, after all the quality checks are successful.
Continuous Deployment : A Software Development practice where the continuously integrated (CI) changes are deployed automatically into the target environment after all the quality checks are successful.
What is Continuous Testing (CT)?
Continuous Testing (CT) is that phase of DevOps which involves the process of running the automated test cases as part of an automated software delivery pipeline with the sole aim of getting immediate feedback regarding the quality and validation of business risks associated with the automated build of code developed by the developers.
Using this phase will help the team to test each build continuously (as soon as the code developed is pushed) thereby giving the dev teams a chance to get instant feedback on their work and ensuring that these problems don’t arrive in the later stages of SDLC cycle.
Doing this would drastically speed up the workflow followed by the developer to develop the project due to the lack of manual intervention steps to rebuild the project and run the automated test cases every time the changes are made.
How CI/CD is different from DevOps?
1) CI/CD and DevOps are two related concepts rather than different.
2) CI/CD emphasize the automation of activities carried along the software-defined life cycle from building to delivery.
3) DevOps refers core set of practices for quality software development and focus on culture that removes barriers between operations and engineering team.
4) DevOps is an agile development practice and mindset that uses agile principles to streamline software building, testing, and release.
5) CI/CD is a DevOps tactic, which makes use of the right automated testing tools to implement agile development.
This was a typical HR round with some standard Behavioral questions.
Tell me something about yourself?
Tip 1 : Prepare the points that you will speak in your introduction prior to the interview.
Tip 2 : Tell about your current cgpa, achievements and authenticated certification.
Tip 3 : I told about my role in current internship and what all I do.
Why should we hire you?
Tip 1 : The cross questioning can go intense some time, think before you speak.
Tip 2 : Be open minded and answer whatever you are thinking, in these rounds I feel it is important to have opinion.
Tip 3 : Context of questions can be switched, pay attention to the details. It is okay to ask questions in these round, like what are the projects currently the company is investing, which team you are mentoring. How all is the work environment etc.
Tip 4 : Since everybody in the interview panel is from tech background, here too you can expect some technical questions. No coding in most of the cases but some discussions over the design can surely happen.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?