Triage QA Interview questions
What are some tools used by qa's? What tool are used for manual testing and whats used for automation?
jira for manual and selenium java, cypress for automation
How do you create a story in Jira?
To create a story in Jira, assuming you already created your project, first you navigate to create issue. Story is automatically selected but you can also create bugs or tasks here. You then enter your user story into your title, then in the description you reiterate your user story followed by your acceptance criteria. Then you assign it to yourself and label it.
What is a test case? What are the components for a test case?
A test case is the step by step process for testing a component of a software. The test components has a acronym TUPSIDOP T - test case name U - unique identifier, eg EZ-657, EZ-456, TC01.01 verifyingautoinsurance, TC01.02 verifyinghomeinsurance P - prerequisite S - step number I - input D - data O - output P - post condition
What is the difference between String and int?
A String is anything defined within quotations " ". It can be alphanumeric, alphabet, special characters, or even numeric. An int cant be defined by quotations and can only be whole numbers.
What is a class?
A class is a blueprint from which individual objects are created. Classes hold all the code you type within it and they begin with { and end with }
What is a for Loop? show the syntax
A for loop has 3 sections. the starting point, the gatekeeper, and the iterations. all loops run code using multiple values before stopping. the syntax looks like this for(int=0, i <=3; i++) { //code goes in here } The first section is where the loop starts i=0 means start at index 0 the second section is the gatekeeper, telling the loop to stop iterating once the index is less than or equal to 3 the final section is the iteration, telling the loop to increase the index by 1 and starting the loop from the top once it finishes its final statement.
What is a method?
A java method is a collection of statements that are grouped together to perform an operation.
What is a while loop?
A while loop also runs code multiple times except it doesnt reach a gatekeeper, it runs until the second section reaches true. this is known as a conditional loop. the syntax looks like this int i = 0; while(I<=3){ //code goes here i = i + 1 // this iteration goes at the end of the loop this time. }
What is the difference between absolute and relative xpath?
Absolute xpath follows the line down from the parent tag up until the element you want to interact with. it looks like this /html/body/div[4]/main/div/div/div[2]/div/div/div[1]/div[6]/div[1]/div[87]/div/div[3]/div[1]/div[2] Relative xpath goes directly to the element you wish to interact with and doesnt require such a lengthy xpath. it looks like this //*[@role='textbox']
What is an exception in Java
An exception is an event, usually an error, that disrupts the normal program execution sequence.
What is the difference between Agile Scrum and Waterfall environment
Approach to development. Flexibility and adaptability. Feedback and collaboration. Risk management. Documentation. Time to market. Customer involvement. Waterfall is a very linear and structured process where work only flows one way. Each step has its own time period where the work must be completed before the next step can begin. Agile scrum works in iterative sprints where a few features are selected from a backlog each sprint in order to be added to the software. So all the steps are happening at once and in short periods of time known as sprints.
What is an array? Give me an example of an array
Array allows you to store multiple values/sets of data into a single variable. There are string arrays and int arrays. each value in an array is assigned an index starting from 0 so the first item in the array is not index 1 but index 0 and the second would be index 1 and so on. To create a linear array the syntax looks like String[] myStringArray myStringArray = new String[]{ and you would put values into quotations here. } for int it would be the same but String would be replaced by int and the values would not need quotations.
What is an arraylist? give one example of using arraylist.
Arraylist is a resizable array. which means you can add values at any point after the arraylist is declared. to create one the syntax is ArrayList<String> countries = new ArrayList<>; countries.add("USA"); countries.add("Pakistan"); and so on and so forth following this syntax.
Talk about your project
Be clear and concise Be organized and structured Be aware of who the listener is, do they like visuals or would they rather hear you talking about your project without visuals Demonstrate your skills and how you contributed to the project Why is this project important Be enthusiastic Be prepared to answer any question about your project
What is the difference between use case and user story? Can you give an example of a complete user story.
Both are used to communicate requirements but user stories follow a certain format in the form of a conversation. As a [role] I want an [action] so I can [benefit]. A use case is written from the pov of an actor interacting with the system. A use case is a set of scenarios that describe an interaction with a product, eg amazon. A user story follows a certain format in the form of a conversation. As a [role] I want an [action] so I can [benefit]. A use case can have many user stories but a user story can only have one use case. A use case is general and a user story is very specific.
What is ChromeOptions?
ChromeOptions are used to customize the browser you are working on you can do ChromeOptions options = new ChromeOptions(); options.add("start-maximized"); to start the browser maximized options.add("incognito"); to start the browser in incognito options.add("headless"); to run the test without ever opening a visual browser. you also have to assign the options to your driver when you are defining your driver, like this WebDriver driver = new ChromeDriver(options);
who deployed code in your project? what was your role during deployments?
Code is usually deployed by developers themselves, release teams or head of the developers. As a qa my job during deployments is to first do my pre deployment testing, give my sign of approval and once it is deployed, to perform smoke testing. overall, during deployment my job is to make sure the transition from development to production is smooth and with minimal disruption. Also that the software meets quality and performance standards.
What is concatenation?
Concatenation is the process of combining variables and text using the plus sign +. For example: System.out.println("Hi " + name + ", you want " + numApples + " apples and " + numOranges + " oranges.");
What is a conditional statement? show the syntax for one.
Conditional statements allows you to execute a condition based on if an object true/exists or false/doesn't exist. there are 3 common conditions that are used such as if condition, if else condition, if else if else condition. conditional statements open with { and close with } example, if (a < b) { System.out.println("A is less than b"); } else { System.out.println("a is not less than b"); } in this code if a is less than b the system will print the first line, if a is not less than b or if it is equal to b then the system will print the second line.
Who are the different people you will interact with as a qa?
Devs, scrum masters(project manager), business analysts, product owners, business owners, architects, stakeholders, and subject matter experts. All teams are different, you may not interact with everyone here every day. Scrum masters are project managers that facilitate meetings and ceremonies. They manage the team. They make sure client needs are met and team members have the tools they need. They make sure the team meets deadlines and responsibilities. They assign tickets to team members. They oversee everything. Theyre in charge of the team.
How do we switch between tabs? just tell me the command for it
First you declare an arraylist of all tabs open like this ArrayList<String> tabs = new ArrayList<>(driver.getWindowHandles()); then you switch to a certain tab you need like this driver.switchTo().window(tabs.get(i)); again i being the index number of the tab you are trying to reach.
What are some tools you can use for manual and automation testing?
For manual testing you use Jira, for automation testing you use selenium. There are more but these are the most popular two.
What is the software testing life cycle (STLC) or fundamental test process?
Fundamental test process starts with test planning, then designing the test cases, then you execute test cases, then you send bug reports, wait for fixes, perform regression testing, and when all bugs are solved and the system performs as intended, the QA gives their sign of approval and the system is ready to be delivered.
Why are qa's important? Based on your company or project assigned to you, can you explain what feature or functionality you tested?
Important because we stand between the apps and the public and we have to test to make sure theyre bug free. Depending on the type of software or app, lives can be put in jeopardy. also if softwares dont work properly but arent tested or reported before they go to public, this can result in loss of money for companies.
How does your role as a QA change from scrum vs waterfall?
In a Scrum environment, QA professionals collaborate closely with the development team and continuously test and provide feedback throughout short iterative sprints, focusing on user stories and acceptance criteria, often utilizing test automation and adapting to changing requirements. In a Waterfall environment, QA's involvement intensifies during dedicated testing phases after development, with a focus on comprehensive documentation, manual testing, and less frequent communication, while adhering to a more sequential and rigid development process.
How is a software built in agile scrum environment? which would you prefer?
In an agile scrum environment everyone on the team is working together and all roles are hands on in each stage. First a product backlog is created with all features to be implemented. Each sprint, 1 or more features are selected from the product backlog to be added to the sprint backlog, depending on complexity of the features. Each sprint lasts 2 weeks. Everyone analyzes together, build together, test together. at the end of each sprint the business owner gets a demo of what was completed that sprint. adjustments are made as you go and there is constant involvement. Few user stories at a time from concept to build to test. Which you prefer depends on your priorities, agile scrum usually costs more but there is less margin for error.
What is Java?
Java isa programming language in the tradition of C and C++. Java is platform independent meaning it can run on any computer with a JRE or Java runtime environment. Java is also inherently object oriented which means that Java programs are made up of programming elements known as objects which have behavior meaning they can perform certain tasks known as methods.
What are some key deliverables you worked on recently?
Key deliverables are the specific, tangible outcomes or results that are essential pieces for the successful completion of a project. Use this definition to incorporate things from your project to talk about. Key delvierables a QA can work on: Test plans, test cases, test automation scripts, bug reports, test execution reports, test environment setup, performing different types of testing (Regression, Smoke, Performance and Load, Positive and Negative, Compatibility testing)
What is a locator? give some examples
Locators are used to identify elements by xpath. Locators can be "id", "name", "class", and others.
What is the difference between positive and negative testing?
Make sure system does what its supposed to do (positive testing) Make sure the system does NOT do anything it is not supposed to do (negative testing) - intentionally inputting incorrect information in hopes that the test will fail.
What is split?
Once a text has been capture you can use the split statement to split it into an arraylist by splitting it by a common factor such as a space " ". You can capture a result and name it result then use String[] arrayResult = result.split(" "); and this will split the message by each space and you can then choose which to print later on by using arrayResult[i]; "i" being the number of index you wish to call
Who writes the requirements?
Passed down from business owners and stake holders down to the product owners who passes it onto business analysts who share it with the team.
What is QA? What do you think makes a good QA?
QA or Quality assurance, In software development, QA involves testing and verifying that software meets the specified requirements and functions as intended, thereby minimizing defects and ensuring a positive user experience. Eye to detail Understanding the requirements Asking the right questions Documentation of work Looking at test results in terms of pass/fail Being able to write bug reports, mentioning what failed.
Why are RTM important? How does it help you as a QA?
Requirement traceability matrix. Mapping between test cases and requirements. Chart of testcases and requirement description, status and requirement numbers. RTM helps to keep track of progress done so far, which requirements are linked to which test cases, whats been done so far, whats left to do, etc.
What are the requirements?
Requirements are what youre testing. What are the functional requirements of the software you are testing, what is it supposed to do? Is it within the parameters of the non functioning requirements? Non functioning requirements are the restriction or boundaries set for the developers on the type of solutions that will meet the functional requirements. Requirements are important because we need to know what we are testing
How often did you perform smoke testing?
Smoke testing could be done every day, or 2 or 3 times a week to test if the major functionality of the website is working.
What is the SDLC (Software Design Life Cycle)? Can you explain how a software is built?
Software development life cycle or SDLC is how a software goes from just an idea or a concept to a final product Initial/ ideation phase Analysis phase Design phase Coding phase Testing phase Delivery and maintenance phase To build a software first you must gather all the requirements and user needs. Then, you create a project plan with timelines, resources, and goals. Then you must design the software architecture, interface, and technical details. Then you must write the code to implement the softwares features, then you test the software to find and fix all defects and ensure it meets requirements. Then you put the software in the production environment. lastly, you monitor, update and maintain the software as needed.
What is the smart requirement guideline?
Specific measurable attainable realistic time bound Keep these 5 things in mind. Requirements should be specific, measurable , attainable, realistic and time bound. Time bound means can this be accomplished within the time deadline or is it traceable.
Which method allows you to execute statements in Java?
The main method is the only method in java that allows you to execute your statements or codes. The syntax is always public static void main(string[] args). you can type "main" or "psvm" to shortcut the main method.
How many ways can i select an element from a dropdown using select method?
There are 3 ways to select an element using select method SelectByVisibleText SelectByIndex SelectByValue - the other two are self explanatory but value can also be found in the elements console for each element in the dropdowns
How do you print something?
To print something in java you have to use the println statement. You can type System.out.println() or you can shortcut with sout.
Can you explain how to write a test case? Can you give an example of a test case you wrote?
To write a test case you need to follow the TUPSIDOP acronym. Test case name Unique identifier Pre condition Step # Input Design steps Output Post condition you also write an expected result for each step, the actual result and if the step passed or failed.
Can you explain the different types of testing you performed? give examples from your project.
Unit testing - first to be tested, testing each unit or its own. done by devs usually Integration testing - combining multiple units and testing them working together. Smoke testing - testing major functionalities after a big release such as an update or first night of an anticipated software. Quickly checking if high level functionality still works. Eg can i log in can i check my balance, basically major functionalities. system/end to end testing - testing every single aspect of a software. Testing the system as a whole - system meets all function and quality requirements. for example amazon.com starting from searching for an item to adding it to cart to checking out and receiving confirmation, from start to end. Functional and regression testing - functional test tests does the system do what its supposed to do, regression is the technical term for retest after a bug has been fixed by devs. Did the fixed bug affect anything else? Make sure system does what its supposed to do (positive testing) Make sure the system does NOT do anything it is not supposed to do (negative testing) - intentionally inputting incorrect information in hopes that the test will fail. User acceptance testing UAT - alpha or beta testing. The user or you acting as a user tests the final software. Customers and end-users run the software in a "production-like" environment, not the official website for users but an alternative link that only testers have access to that mirrors the users page identically. Most of the time you work with smoke testing, system testing, and regression testing.
How can i store a locator into a variable? show syntax. lets say element name = abc
WebElement variable = driver.findElement(By.xpath("//*[@name='abc']"));
can a number be a String?
Yes a number can be a String. Anything within quotations can be a String.
How many ways can we handle exceptions?
You can handle exceptions using try and catch blocks. Try and catch blocks allow you to try a code and if it doesnt work, throws an exception, the rest of the code will still run but you will receive a message using the catch portion to let you know which piece of the code didnt work. syntax: try { //some code } catch ( Exception e ) { //some code for handling exception } you can try to click on an element and if it doesnt work you can have it print a line saying Unable to click on element + e.
Can int be decimal values?
int variables can not hold decimal values because the . in the decimal is a special character and int can only hold whole numbers.
Show syntax of how to enter a string into an input/text field
driver.findElement(By.xpath("//*[@title='myButton']")).sendKeys("Hello example text");
What is the difference of findElement and findElements?
findElement is used for unique xpaths which means the xpath is not shared by many elements. findElements is used for xpaths that are not unique to single xpath and you need to specify which one of these elements you are interacting with using its index number
Show syntax on how to capture a text from a browser.
first you need to location the element and then use the .getText statement. like this driver.findElement(By.xpath("//*[@title='myText']")).getText();
Lets say i have a button which has a property value of title=myButton. use xpath syntax to locate this element and click on it.
for this you would do driver.findElement(By.xpath("//*[@title='myButton']")).click();
What is the difference between quit() and close()?
quit() will quit the entire driver and end your code. close() will only close the current tab you are working on and the code will continue to run until it has used your computers entire RAM.
How do you prepare for testing when the software is yet to be built by the developers?
read up on the requirements, you want to make sure you understand the user story and the acceptance criteria and you want to look at previous test cases. you can also start to write test cases before the software is ready to be well prepared.
How do i launch the browser using WebDriver?
to launch a webdriver you must first define it WebDriverManager.chromedriver().setup(); WebDriver driver = new ChromeDriver(); now you can use driver.navigate().to(" "); to go to a website
What does xpath contains do?
xpath contains can be used when there is a lengthy xpath name that cant be avoided. or there is an xpath with many empty spaces that can be lost track of. by using contains we effectively eliminate the need to keep track of all the empty spaces by telling Java to interact with an element that contains what we type in the contains field. the syntax looks like this //*[contains(@class,'_yb_bu6pn')]