Q1. What do you understand by a user story?
Ans: Every software targets a certain group of users. A user story explains the motivation of the user and the goal they want to achieve after using the software. It also describes the method of usage of the application by the user. What it does not include is the design and details regarding the implementation of the software.
The aim of the user story is to give priority to the value provided to the end user and not on details of input and output.
A tester tries to use real names and characteristics to create a real-life situation of interaction with the software. It is very useful to identify some hidden problems which remain un-detected by other formal tests.
Q2. Can you explain ‘Equivalence partitioning system?
Ans: You can keep your response to this question very precise. Equivalence partitioning system is a popular technique for software testing in which the input test data of the application is divided in each of the partition at least once of equivalent data so that the test cases can be derived. This technique largely reduces the required time for software testing.
Q3. Can you enumerate the steps for conducting Risk Analysis?
Ans: The process of Risk analysis involves the following steps:
- Find the score of the risk.
- Create a profile for the risk.
- Making changes to properties of risk.
- Deployment of resources of the test risk.
- Create a database of risk.
Q4. Can you explain the various approaches of debugging?
Ans: Debugging is done to detect and diagnose defects which lie within a program in the computer which obstructs the smooth operation of the software. Below are the approaches of debugging :
- Brute force : The first step is to select the review team. Here, you will need to identify the stakeholders involved in the review and then choose a team of qualified reviewers. It is vital to have a good mix of people on the team, including developers, testers, architects, and business stakeholders.
- Back Tracking Method : Most small applications find this technique extremely useful as an approach of debugging. The method begins at the location where a symptom of the problem has been observed followed by backward tracing all the way to the source code until the cause (site) is identified. It is often difficult to manage too many backward paths which are created in case the number of source lines increases.
- Cause Elimination : This approach to debugging demonstrates induction or deduction and establishes the notion of binary partitioning. This is the reason that this approach is also referred to as induction and deduction. In this technique, data which corresponds to the occurrence of the error is collected and organized in order to diagnose the potential causes. The next step involves formulation of cause hypothesis’ which is either approved or disapproved basis the data collected. All possible causes are enlisted and are eliminated after thorough testing. In case the initial tests show a particular cause hypothesis to be true, data is analyzed further to identify the bug.
Q5.What do you understand by a blocker?
Ans: A bug with high priority and high severity is called a blocker. It is capable of preventing the process of testing of other portions of the application as well and hence is called a blocker.
Q6. Please explain decision table testing.
Ans: This technique of testing is specification based and involves testing using decision tables which display the behavior of the application based on various combinations of values of input. Decision testing is particularly popular with creating test cases complex business situations that may require the application to be authenticated with various combinations of input.
Q7. How will you explain cause-effect graph?
Ans: This technique of testing is a part of black box test design which uses graphical depiction of cause (input) and effect (output) for the purpose of test designing. There are multiple notations like AND, OR, NOT, etc. which show the relation between input and output.
Q8. Please explain Data flow testing?
Ans: As the name suggests, this technique of testing includes thorough testing of all the paths in the workflow of the application. This is done in order to test the series of events and status of variables and data objects during the stages. Data flow testing enables identification of variables which are utilized at different stages of the control flow of the program. This aids in elimination of those variables which are declared but were not used, de-allocation of variables before they are used, or those variables which changed their values many times before being used.
Q9. What do you understand by Error guessing and Error seeding?
Ans: Error guessing is a type of test case design in which the tester needs to guess the faults which might occur in future. Tester then designs tests to represent these errors.
Error seeding refers to a process in which known faults are added to the program with an intent to gauge the rate at which the fault is detected and removed from the program along with the remaining faults in the program.
Q10. Please explain Statement Coverage?
Ans: Statement coverage is one of the matrices from white box testing. The aim of this metric is to make sure that all the statements of the code of the program are executed at least one time. Statement coverage is calculated with the given formula :-
Statement coverage = Number of statements tested/ total number of statements.
There are some benefits that statement coverage offers. These have been listed below:-
- It helps to verify if the code is written correctly.
- It also assists in the measurement of the quality of the code.
- It identifies the control flow of the program.
Q11. What do you understand by Alpha testing?
Ans: Alpha testing is a testing technique carried out by both the developers and testers before the release of the product. It is the first step in which end to end testing of the software is done to make sure it suits the business requirements. This test makes sure that the product fulfils all the expectations and performs as expected.
Q12. What do you understand by Endurance testing?
Ans: Endurance testing is also referred to as Soak testing and is a type of performance testing. This type of testing is generally done to gauge the sustainability of the system which is in use under high load. It also includes monitoring of utilization of memory in order to detect any leaks during testing.
Q13. Can you name a few tools that you know for Endurance testing?
Ans: This question is clearly asked with the aim to check your practical experience and hands on knowledge with Endurance testing.
Here are some common tools that you can talk about to answer this question :-
- WebLOAD
- LoadUI
- OpenSTA
- LoadComplete
- ApacheJMeter
Q14. Discuss the importance of localization testing?
Ans: As the name suggests, localization testing is done to evaluate the functionality and usability of the software in a specific locale. Usually, it aims to verify how accurate and suitable is the content and deals with GUI and functionality of the software.
Q15. What do you understand by Path testing?
Ans: This type of testing is specifically aimed at designing test cases. The process of testing involves designing a control graph of the application which helps to detect linear independent paths of execution. The primary goal of this testing is to make sure that every path is not only covered but also executed appropriately. This type of testing also aids to bring down the frequency of redundant tests.
Q16. What is your understanding of Selenium? Can you enumerate a few benefits of Selenium?
Ans: It is an automation tool for web browser which automates the test suites which run on a web browser.
Below are some of its advantages :-
- There is no cost of license as it is an open source software.
- Selenium is capable of supporting all major languages like Java, C#, Python etc.
- It also supports popular web browsers like Google Chrome, Safari, Firefox etc.
- It integrates well with many other testing tools which helps to create a comprehensive test suite for the application.
Q17. Can you explain the process of testing a customer facing software?
Ans: The success factor of an application largely depends on the fact that its functionality meets the expected requirements. However, in a site, which is facing the users, merely testing the functionality is not enough. It is also required to check the usability and security features as well.
This also means that while the first level of testing will look at meeting functional requirements, the subsequent levels of testing must gauge the usability aspect of the application.
For example, in case of a loan management website, the new customers must be able to apply for loans and the existing customers must be able to access their loan account information. However, this is not enough. It is important to make sure that the customers are not annoyed by passing multiple screens to enter their basic information.
For a customer facing website, some level of performance testing is also very important. Let’s take the same example of a loan website. Performance testing is required to check how much time does the application take to load search results or load customer information during peak load hours.
Security testing is yet another important testing which needs to be conducted for applications which require sensitive customer information for a secure login.
Q18. Please tell us how you have coached a new team member in your team?
Ans: This is a question specifically aiming to assess your leadership skills. To answer this question successfully, you must elaborate the process of providing the new team member with all important documentation, access for various tools, hands on Knowledge transfer sessions. You can also discuss at length the process of introducing the new member to every component of the project followed by assigning small tasks to gauge understanding. These steps pave a smooth way for them in the testing project.
Q19. Let us imagine a situation in which there is no Functional Spec or any document regarding the system and developer who had written the code has left the organization. How do you test the given system in this situation?
Ans: This is a common situation which testers face in many organizations in India owing to a high rate of attrition. Some of you may have already faced this situation in reality while for some this situation may just be around the corner.
One of the best testing techniques that comes handy in this situation is to do Exploratory testing of the system. As the name suggests, this testing aims to identify (explore) details about the software in terms of its functionality, what works , what does not work etc. In a nutshell, Exploratory testing lets the tester know about the product and its fundamental workflow. This testing technique also aids detection of blocker bugs which may cause harm to the system. For a white box tester, the subsequent stages could also include analyzing different module codes. This helps in the analysis of the test cases for various modules including their relations.
Q20. What are the advantages of manual testing?
Ans: Manual testing offers the tester a lot of flexibility to get to deeper aspects of the software which may have been overlooked by automated testing. Manual testing, owing to its user-oriented nature shows what the customers will experience upon using the software. It is cost effective while preparing and carrying out tests as compared to automated testing.
Q21. Are there any shortcomings of manual testing?
Ans: One of the major drawbacks of manual testing is the time it takes for completion as against in automated testing which works with fixed time frame. Also, the success of manual testing depends on the skill set and experience of the tester. In case an organization hires a non-experienced tester, the results of manual tests conducted by this tester will depict wrong set of requirements of the software. Therefore, it is extremely crucial to find an experienced tester.
Q22. Can you tell us some qualities of a good tester?
Ans: While this question seems to be very straightforward at first but it aims to thoroughly evaluate your skillset. While counting on the qualities of a good tester like Analytical and logical thinking, technical knowledge, communication skills, quick learning skills etc. it is also very important to highlight specific skills.
- A good tester must be able to represent the end user’s experience effectively.
- The focus of the tester must be at enhancing the quality and functionalities of the software.
- Tester must also be aware of every minute detail regarding the software application.
- Last but not the least, tester must always maintain clear communication with the software developers and the customers.
Q23. How is smoke testing different from sanity testing?
Ans: Smoke testing is a type of testing to ensure that all the main features of the first build of the software are working fine. It is carried out during the SDLC phase and pave the way for further series of tests to be conducted on the product. The most important aspect of smoke test is to check if all the functionalities are working as expected. In short, the aim of smoke testing is to find out what could be defective in the first build of the software.
Sanity test, on the other hand aims to find out if the initial build of the product operates well after a few new functions are added to it. This test is also as quick as smoke test. The table below enumerates a few differences between smoke test and sanity test.
Smoke Test
Sanity Test
It aims at making the core functions of a program work as per the expectation.
This type of testing aims to ensure that the added features of the program work as expected.
Tests the entire system.
Specific components are tested.
Purpose of the test is to ensure the stability of the application before further tests are carried out.
Purpose of sanity testing is to test the rationality of the application before further tests are carried out.
Subset of regression testing
Subset of acceptance testing.
Can be executed manually as well as with the help of automation tools.
Can only be executed manually.
It is documented.
It is not documented.
Q24. Are there any methods of testing which an experienced QA engineer must know?
Ans: To answer this question successfully, you must discuss some of the experienced and reliant tests which are mostly conducted with the aim of exploration, examination and understanding. The tester must engage in constant analysis of the software utilizing his/her experience, knowledge and skills to be able to establish test plan and test cases needed to execute the required tests. In a nutshell, an experienced engineer must be familiar with assessment methods such as exploratory testing, error guessing etc.
Q25. Can you explain experienced based testing techniques?
Ans: It is advisable to answer this question precisely. Experience based testing is essentially based on the experience of the tester w.r.t testing procedures to understand the important aspects of the system. This technique is usually a part of a system with low risk. Some of the main supporters of test conditions in experience- based testing are individual’s information, abilities and basic knowledge. The image below shows the four experience-based testing techniques.