Common Interview Questions and Sample Answers on Introduction, FW and Project
Tell me about yourself.
My Name is XYZ.
- I have a total of 2.4 years of exp in Automation Testing using Selenium in Java.
- I did my graduation from <ABC> in the year 2015 in IT Branch and secured 70 %.
- Currently, I am working with XYZ technologies from past 2.4 years as a Automation Tester.
- Working on Automation of Retail Banking Application using TestNG/ and page object model-page factory based Framework.
- Hi I am XYZ. I have a total of 3 years of exp in IT Industry. I completed my B Tech in Information Technology branch in the year 2008 from XYZ and secured 70 % marks.
- Then I joined “<CompanyName>” as an Automation Testers and since then I am working on Selenium with Java project to automate a GUI application.
- We are currently automating a Retail Banking Application. This Application has all the typical retail banking application functionalities like Transfer Funds, Bill Payment, Account Overview features etc. My assigned module is Transfer Funds.
- We are using a Hybrid FW with data driven Features such as Data Provider in Test NG. We are also using Page Object Model;page factory with Test NG in our FW.
- Using Git for version control and Maven as Build and dependencies management.
- In order to manage our Tasks we are using Jira.
- Agile environment with Scrum wit Sprint cycle as 2 weeks.
About your roles and responsibility:
What kind of work do you do in your project:
I am working in a agile dev-test env. Currently my roles and responsibility are creation, maintenance and Execution.Typically core level FW changes are being done by our architect/Team Lead.
As I said, We usually have three kinds of task:
- Maintenance Activity: If existing functionality of the application is changed due to new enhancement, we need to change our scripts accordingly, to make them work else they will continue to fail, due to functionality change.
- New Test Cases Automation: We also have to automate new test cases given to us by Manual Testers.
- Execution: We are responsible for execution of Automation Pack. We run Smoke Tests after each code deployment and regression pack once every Sprint.
We the analyze the results generated by our Regression pack and log defects if any.
Manual test Case Execution
How do you decide which test case to automate:
- We have a “Automation BackLog Sheet”. Our team lead maintains that sheet. It is a collection of all the test cases. Once new test cases are created, we add those test case in the sheet and after discussion with the manual team we put the priority i.e. (High, Medium,Low) for the test cases.
- We also analyze the test case based on its complexity (High, Medium,Low).
- We first pick the High Priority test cases for automation and then medium and low.
What do you mean by Complexity of the test cases:
- Complexity indicates how much efforts are required to Automate a Particular test case. This will help in estimations about the Automation project. Generally speaking, a High Complexity TC takes 1 day to complete where as a 5 Low complexity test cases can be done in a day. This is how we (our team lead) do estimations.
What is the parameters to categorize Complexity
What is High, Low and Medium Complexity:
- Low Complexity: If a Test case only says to login in to the application and validate if login is successful, such test cases are of low complexity.
- Medium Complexity: If a test case requires to automate steps like, Login, then transfer funds and validate that amount has been deducted from “source” and added in “destination” account. This requires additional validations and need to navigate to multiple pages and need to interact with multiple locators and validation logic is to be written. Such test cases could be classified as Medium Complexity.
- High Complexity: Generally test cases which requires navigation to many pages or lots of Locators are to be handled.
- Or, test cases whose steps require to navigate to different Systems, i.e. a multi system environment.
- Or Test case which requires DB validations or Excel Manipulations etc,
- Such kind of test cases could be termed as High Complexity
Explain about your Application:
- I am currently working on a E Commerce website. Website’s Business is B2C. We have all the necessary features and functionalities of a B2C e-commerce website like Search for Product, Compare products, Add to Wish List, Add to basket, Check out and Payment gateway.
- I am currently working on Search feature, as it is the most volatile functionality of the application. As different products are being added very frequently and functionality of those search varies with each product, it becomes quite challenging to test it.
- Testing of payment gateway is another challenging area which is challenging. We make use of API testing tools to test payment gateway APIs which is done by our API testing team.
- I am currently working on a Retail Banking Application. This application has typical Retail Banking features like Transfer funds, Bill payments, Account Overview etc.
- It also provides features to its customer like, to check account activities. I am currently working on or assigned, Billl module where I am working on automating the test cases related to account activity.
Explain about your Project:
- Our project is following agile-scrum methodology.
- We have a Sprint cycle of 3 weeks. 1st two weeks is dedicated towards Development work. Remaining 1 week is reserved for testing activities.
- In the first two weeks while development team is working on the “Sprint BackLog” our functional team is also going through the same Sprint BackLog and deducing the corresponding Test Scenarios.
- Once development Team is done with their work and deploys the latest code on our Test server; then our Test Execution Cycle starts.
- New Test Cases i.e. test cases created in the same sprint by Manual testers are being executed manually.
- And Automation testers to which I am part of, go ahead and execute our automation test pack for regression purposes.
- We are maintaining all of the activities in Jira and Storing our test artifacts in Agile Central.
How many Test Cases are there in your Automation Pack:
We have a total of 600 test cases.
This list keeps on increasing with new test case being added every sprint.
We usually automate High priority test cases first and so far we have automated 600 high priority test cases.
We run these 600 test cases through Automation Pack every sprint as a part of regression.
We also continue to Automate the remaining test cases from our “Automation Back Log”
Test case which are not part of Automation Pack are being executed manually.
Since, testing Cycle is only one week, we have to complete all our testing efforts, manual and automation in this one week only.
All high priority test cases are covered in automation. Whatever is pending is done by manual team and on the last day Manual team also do exploratory testing.
What is execution time for these test cases:
Ans: 5 hrs parallel execution
In our FW, 1 test script usually takes around 5 mins on average and we have total of 600 test cases. So total sequential execution i.e. when executed on a single thread/instance takes 3000 mins i.e. 50 hrs which is almost 2 days.
But we do parallel execution on a Virtual Machine with 10 consecutive instances/threads. This give us results in just 5 hrs.
Explain you current FW:
Since I joined this company, I am working on the same project.
- Our FW is a Hybrid FW which uses TestNG and page object model/page Factory as its main Components.
- We have different page object file for different pages of the application.
- These Page object class files stores the locators of that page along with the public reusable methods.
- We create our test cases in TestNG classes by calling reusable methods from the page object files.
- We also have reusable utilities classes where we keep our all the reusable components and methods like BrowserManager, FileAndFolderManager,ExcelManager, DBManager etc.
- Log4j for logging
- For reporting we are using native TetsNG Reporter
If u join our company and we want to improve our Automation process how will u improve that? What will be proper answer for this sir? This question asked me in manager round.
TO suggest improvement you need to know the problems which one could face in an automation project. Typically any automation project could have below issues in general. These are based on my years of experience.
Of Course this is not the exhaustive list, just listed what was on top my mind.
- Number of Script creation per day. It should be above 8 for an average complexity application, if it below, you need to find out why script creation output is low. Is automation testes are not disciplined enough, are they getting support from functional team on time, are the getting test data on time; if everything seems to be alright then flaw must be in the framework. Framework should be designed in a way to facilitate faster script creation, by providing more generic components as well as business related generic methods.
- Script failure rate: If you have 100 test scripts, failure rate should not be more than 10 percent. That means after every execution maximum 10 test cases should fail not more. Failure usually happens due to three major reasons, a. Actual application bug. b. Bug in the Script, script is not performing as expected 3. Sync related issues.
Your FW should be robust enough to minimize sync issues. Other than that your automation pack should tested multiple times before executing them during regression cycle. Your regression pack should not have faulty scripts. This reduces credibility of automation script and a blow to automation initiative.
- Total Script Execution time: Total execution time should not be more than 5 hours for 1000 test cases for an average complex application. Reduce the execution time by adding more machine to test bed or increase instances of parallel execution. Also, check if your FW or test scripts has proper synchronization implemented. No hard wait or thread sleep should be present. Proper times outs should be present. Test scripts or FW are not going in to infinite loops etc.
- Remove Hard Coding of Data: Data which is subject to change should not be hard coded and at the same time FW should be 100 percent configurable, no manual intervention should be there in order to trigger the FW execution.
- Time bound deliveries of Test Scripts.
- Correct estimation based on complexity should be done before starting test case creation.
- Your FW should be designed in a way so that even a non technical person should be able to trigger and analyze the results.
- Work should be evenly distributed among all the team members.
- Continuous process improvement as well as FW enhancement should happen during the course of automation life cycle.
10: Continue to explore the opportunity to achieve back end automation. As per agile pyramid, it is imperative to have more back end tests than UI.
- Peer review of code should be a part of every sprint. Script created by one should be checked and validated by each other. It is very important to ensure the quality of your automation scripts.
Test Plan Document: