Questions for Interview perspective in face to face round
- What is sign off process how it is followed in your company?
- Sign off is given by Test Manager at the end of the Sprint.
- Sign off is given once Test Manager is satisfied with the test coverage and test goals have been achieved. All the SIT testing, performance testing, Regression Testing(manual or via Automation suite) is completed. All the defects have been fixed and retested. Exploratory testing is completed.
- Once all the above is completed Test Manager sends an email indicating that “we have done all forms of testing and now QA team can say to a considerable degree of confidence that release is bug free”
- Its a “go-ahead” from QA team side.
- Sign off activity happens after end of each sprint.
- What is User acceptance testing ? and what is the UAT criteria?
- UAT testing is a mechanism by which actual user or client make sure that what ever was promised is delivered.
- It happens after the test cycle.
- In few cases its not even part of Sprint and happens as a separate activity after test manager signs off the code base.
- In UAT primarily user stories of the current release is checked.
- What is a Smoke test and what type of test cases are included in your smoke pack?
- Smoke test is a way of validating the stability of the application.
- We run smoke test usually just after the deployment, to check if application is stable enough to start further testing activities.
- Smoke pack usually checks ‘end to end’ and top functionalities of the application.
- For example in the case an e commerce application, Smoke test would have these test cases:
- Check the URL
- Login
- Search a Product and add to cart
- Check out the cart
- Place Order and validate the price, quantity etc
- Validate the Payment gateway API
- Smoke test should be automated.
- Automated UI Smoke test pack should not take more than 10 mins to execute.
- What type of test cases included in your regression pack?
- We have a total of 1000 test cases.
- Out of 1000 we have automated around 700 + test case in a period of 1 year.
- Our regression test pack usually contains all the priority test cases.
- In each sprint we automate only the priority test cases from a list of Regression test cases.
- We execute these 800 test cases via our automation test pack.
- We are using test ng parallel execution feature. So, our Automation pack takes 5 to 6 hours to execute.
- Remaining test case are executed manually.
- Manual team usually only executes non-automated priority test cases
- Other than that we also do 1 day of exploratory testing just before sign off.
- How frequently do you execute the regression pack, its either a daily basis or weekly basis?
- Every 2 day we have a new code deployment during the sprint.
- We run our regression pack every 2 day i.e. as soon as new code is deployed.
- As soon as new code is deployed, we executes Smoke automation pack first and with in 10 mins we get to know if code deployment is successful or not.
- If smoke test results are green then we manually trigger full regression pack on Virtual Machine.
- So in a single sprint, which is of two weeks for us, we execute the regression pack at least 4-5 times in 2 weeks.
- What is the pipeline structure of Jenkins for execution of test packs?
- We are using Jenkins for Continuous Integration.
- Jenkins is primarily responsible for building the application code. Steps in CI typically goes like this in our project:
- Developer merges their code in to master branch of Git.
- Jenkins continuously polls or reads application Git master branch.
- As soon as there is new commit on application master branch, Jenkins triggers the Build process.
- Jenkins downloads the application code(in java, C#) etc and deploys the application code on the Test server.
- Jenkins also would execute the Unit test before the deployment.
- Then Jenkins Would go to the Selenium automation Git repository.
- Jenkins then read the master branch of the repo and create automation code build
- It then executes the test using maven sure fire plugin and TestNG.
- We first run Smoke tests pack via Jenkins, to test the Stability of the application.(However, you can run full regression as well)
- Once the execution is completed, Jenkins will email the report to all the stake holders.
- How nightly execution is executed via Jenkins who triggers it and how the reporting is generated and sent to the respective persons? What is included in the reports.
- How you configured Jenkins?
- When you started the automation testing after the project started(after how many days,what’s the reason of delay in starting automation procedure )?
- What if the requirements are fixed and customer needs an agile environment for testing?
- How you are integrating maven with Jenkins?
- How you are integrating maven with eclipse?
- What if maven is not used then is it possible to build a project without any tool and deploy it or distribute it?
- How you integrate Git with GitHub?
- What is .bat file? Where you are using it?
- How to reduce maintenance of our framework?
- Suppose if your release is @6 pm n before 2 hrs major blocker bug arises at client side then what should u do? And development team wants 2 days time to develop or Fix that issue?
- What is non reproducible bug? How to raise it to the developer team as it doesn’t get reproduced quite easily.
- If there is a verification module link and that is expired after 24 hrs and after link expired you have to automate or test it, then how can u automate that expired link?
- If 1 module or test cases tested 5 times but 1 bug is there and the whole project is retested already then how to handle that situation?
- What is scrum? Explain roles ?
- What is risk analysis?
- Suppose you have 100 test cases and you want to run within 1 hr,then what should you do?
- After automation testing completed assume that new requirement have been added how will you handle this in automation.
- What is the design factors should been taken into consideration while creation of framework.
- When you get the bug what is your approach.
- What are the qualities you should have for becoming a good test engineer?
- What is difference between test data and testing data?
- When do you interact with BA and for what reasons?
- Do you ask for a code freeze date for Dev Team?
- How deployment process works,and explain continuous integration process,how to make a build using jenkins and how to test it on your environment?
- internal working and flow of your FW?How to perform database validation at backend process?
- On what basis you decides priority for test cases.
- Realistically, its the manual team QA, BA or Scrum master determines the priority of the test cases.
- Usually, all the requirements are in the form of User stories kept in jira.
- All User stories have to have priorities and certain level of importance mentioned in the Jira itself.
- So when you create test cases out of User stories they also inherit the same priority from their user stories or epics.
- Higher the priority of user stories , higher the priority of the test cases.
- Priority is mostly decided based on the how risky the feature/functionality is. By risk I mean, if a defect is not caught in the feature/functionality what and how much the client/company lose.
- For example, take a case of an e-commerce application like amazon. Imagine there are two test cases.
- Search a product and check filters are correctly displayed.
- Search a product and check prices are correctly displayed.
- Check all the categories are displayed in the menu item.
- Check payment gateway window appears after user clicks “place Order”.
- Lets decide the priority of above cases.
- Any defect after the execution of above scenarios is bad, no doubt about it. But their impact would vary.
- Test case 3 is lowest priority.
- Test Case 1 and 2 will have Medium priority.
- Test Case 4 will have Highest priority as this will have direct financial loss to the company.
- What is drawback of your framework?
- Current drawback is that in the way we have implemented the logs and reporting. Currently since we using test ng framework, we are using the testng Reports for logging and reporting.
- We have around 1000 plus test cases, so the problem which we are facing is that our report becomes very bulky when we try to send it to client, as it contains low level logs and high level logs both.
- Low level logs: Element clicked, Screen shot taken, Element is set with value as John etc. These logs does not make sense to end customer, who is only interested in knowing test case pass and fail status.
- High Level logs: Number of test cases passed and failed, what is passed and high level detail on the step it failed etc. Client should only see this.
- Solution: We are trying to implement log4j2 for low level logs and Extent report for high level logs. Since we are having 1000 test cases it’s going to be little cumbersome, but we have started implementing the concept now.
- Another challenge can be that we are not able to run failed test cases programmatically. To solve it, we are trying to implement test ng interface (Nivedita will write its code)
- What is recovery scenario and how will achieve ?
- Recovery scenario is being handled via Exception handling in java. It is used to get out of un-expected errors which might come during the execution.
- We have good exception handling in al most all the important methods. So as soon as any method encounters an error, proper message is logged in the report and test case moves on to the next test cases.
- Another example is of StaleElementException. Some times due to dynamic pages with java script code we get StaleElementException. This is not really an application issue, but we need to give our script enough tolerance so that if stale element occurs our test case should not fail but rather capture the exception and retry the step.
123456789101112131415161718192021222324try {WebElement oPassword1 = driver.findElement(By.name("password"));oPassword.sendKeys("demo");}catch(StaleElementReferenceException e) {//Capture the error and try it againWebElement oPassword1 = driver.findElement(By.name("password"));oPassword.sendKeys("demo");}//Above can also be written using For loop in case stale element exception is//coming very frequently and you have to catch it multiple times to make it//work//This code will keep trying for at least 10 secondsfor(int i=0;i<10;i++) {try {WebElement oPassword1 = driver.findElement(By.name("password"));oPassword.sendKeys("demo");break;//if code reached here, that means opertion is successfull. Break the loop}catch(StaleElementReferenceException e) {//Capture the error and wait for 1 secondsThread.sleep(1000);}} - In short thats how we implement recovery scenarios in our project.
Questions for Interview perspective in Manager round
- What type of accomplishment you achieved in your career?
- What are your area of excellence?
- If you get a chance to lead a team, do you accept this offer? How you are knowing that you are a good team leader ?
- If you are hired for a different technology ex. Selenium with C# ? How would you able to perform in a totally different environment ? And then why should we hire you?
- Where do you see yourself in the next 5 Years?
- How do rate yourself in Selenium and Java on a Scale of 0 to 10?
- Can you work independently(Alone) for a whole project as a Tester?
- What’s the rating your manager will give on your total carrier performance?
- What if team lead is not present and you caught a high severity bug and without team lead how will you report it further?
- If in production environment the code is having issues, then who takes the responsibility? And what will you do at that time?
- If you get a chance to work in development then will you chose it a career opportunity? If Yes why? And If not then Why?
- What if client deadline for the project is not matching with your timeline then how will you handle the situation?
- If you get chance for onsite are you ready for it?
- What types of skills you having extra than Selenium Java and Automation?