
⇒ Are you a Fresher IT Graduate?
⇒ Want to crack the Software Testing Interview ?
Then just go through these Top 50 Software Testing Interview Questions & Answers for Freshers..
Q1. What is Software Testing ?
The process or method of finding error/s in a software application or program so that the application functions according to the end user’s requirement is called software testing.
Q2. What is the Traceability matrix ?
The relationship between test cases and requirements is shown with the help of a document. This document is known as a traceability matrix.
Q3. What is white box testing and list the types of white box testing ?
White box testing technique involves the selection of test cases based on an analysis of the internal structure (Code coverage, branch coverage, paths coverage, condition coverage, etc.) of a component or system. It is also known as Code-Based testing or Structural testing. Different types of white box testing are
- Statement Coverage
- Decision Coverage
Q4. What is black box testing? What are the different black box testing techniques?
Black box testing is the software testing method used to test the software without knowing the internal structure of the code or program. This testing is usually done to check the functionality of an application. The different black box testing techniques are
- Equivalence Partitioning
- Boundary value analysis
- Cause effect graphing
Q5. What is verification and validation ?
Verification is a process of evaluating software at the development phase and deciding whether the product of a given application satisfies the specified requirements. Validation is the process of evaluating software at the end of the development process and checking whether it meets the customer’s requirements.
Q6. What is the difference between UAT (User Acceptance Testing) and System testing ?
System Testing : System testing is finding defects when the system undergoes testing as a whole, it is also known as end-to-end testing. In such type of testing, the application undergoes from beginning till end.
UAT: User Acceptance Testing (UAT) involves running a product through a series of specific tests that determine whether the product will meet the needs of its users.
Q7. What is the difference between test scenarios, test cases, and test script ?
The difference between test scenarios and test cases is that
Test Scenarios : A test scenario is prepared before the actual testing starts, it includes plans for the testing product, the number of team members, environmental conditions, test cases, test plans, and all the features that are to be tested for the product.
Test Cases : It is a document that contains the steps that have to be executed, it has been planned earlier.
Test Script: It is written in a programming language and it’s a short program used to test part of the functionality of the software system. In other words, a written set of steps should be performed manually.
Q8. What are Quality Assurance and Quality Control?
Quality Assurance : Quality Assurance involves in process-oriented activities. It ensures the prevention of defects in the process used to make Software Applications. So the defects don’t arise when the Software Application is being developed.
Quality Control : Quality Control involves product-oriented activities. It executes the program or code to identify the defects in the Software Application.
Q9. What is Positive and Negative Testing ?
Positive Testing : It is to determine what the system is supposed to do. It helps to check whether the application is justifying the requirements or not.
Negative Testing : It is to determine what the system is not supposed to do. It helps to find the defects in the software.
Q10. What is an entry criteria ?
The prerequisites that must be achieved before commencing the testing process.
Q11. What is SDLC?
Software Development Life Cycle (SDLC) aims to produce a high-quality system that meets or exceeds customer expectations, works effectively and efficiently in the current and planned information technology infrastructure, and is inexpensive to maintain and cost-effective to enhance.
Q12. What to Automate?
It is not possible to automate everything in the software. The areas at which a user can make transactions such as the login form or registration forms, any area where a large number of users can access the software simultaneously should be automated.
Q13. What is the Requirement Traceability Matrix?
The Requirements Traceability Matrix (RTM) is a tool to make sure that the project requirement remains the same throughout the whole development process. RTM is used in the development process because of the following reasons:
- To determine whether the developed project meets the requirements of the user.
- To determine all the requirements given by the user.
- To make sure the application requirement can be fulfilled in the verification process.
Q14. What is the difference between Pilot and Beta testing?
The differences between these two are listed below:
- A beta test is when the product is about to release to the end user whereas pilot testing takes place in the earlier phase of the development cycle.
- In beta testing application is given to a few users to make sure that applicants meet the user requirement and does not contain any showstopper whereas in the case of pilot testing team members give their feedback to improve the quality of the application.
Q15. Describe how to perform Risk analysis during software testing?
Risk analysis is the process of identifying risks in the application and prioritizing them to test. Following are some of the risks:
- New Hardware.
- New Technology.
- New Automation Tool.
- The sequence of code delivery.
- Availability of application test resources.
We prioritize them into three categories these are :
- High magnitude: Impact of the bug on the other functionality of the application.
- Medium: it can be tolerable in the application but not desirable.
- Low: it can be tolerable. This type of risk has no impact on the company’s business.
Q16. What is Silk Test?
Silk Test is a tool developed for performing the regression and functionality testing of the application. Silk Test a tool is used when we are testing applications that are based on Windows, Java, web, or traditional client/server. Silk Test helps in preparing the test plan and management of those test plans, to provide the direct accessing of the database and validation of the field.
Q17. What is the difference between a Master Test Plan and a Test Plan?
The differences between the Master Plan and Test Plan are given below:
– Master Test Plan contains all the testing and risk-involved areas of the application whereas the Test case document contains test cases.
– Master Test plan contains all the details of every individual test to be run during the overall development of the application whereas the test plan describes the scope, approach, resources, and schedule of performing the test.
– Master Test plan contains the description of every test that is going to be performed on the application whereas the test plan only contains the description of a few test cases. during the testing cycle like a Unit test, System test, beta test, etc
– Master Test Plan is created for all large projects but when it is created for a small project then we call it a test plan.
Q18. How to deal with not a reproducible bug?
A bug cannot be reproduced for the following reasons:
- Low memory.
- Addressing non-available memory location.
- Things happening in a particular sequence.
A tester can do the following things to deal with not a reproducible bug:
- Includes steps that are close to the error statement.
- Evaluate the test environment.
- Examine and evaluate test execution results.
- Resources & Time Constraints must be kept in point.
Q19. What is the difference between coupling and cohesion?
The difference between coupling and cohesion is discussed below:
– Cohesion is the degree that measures dependency of the software component that combines related functionality into a single unit whereas coupling means binding the related functionality into a different unit.
– Cohesion deals with the functionality that relates different processes within the single module whereas coupling deals with how much one module is dependent on the other modules within the application.
– It is good to increase the cohesion between the software whereas increasing coupling is avoided.
Q20. What is the role of QA in project development?
The role of Quality Assurance is discussed below:
– QA team is responsible for monitoring the process to be carried out for development.
– Responsibilities of the QA team are planning the testing execution process.
– QA Lead creates the timetables and agrees on a Quality Assurance Plan for the product.
– QA team communicated the QA process to the team members.
– QA team ensures the traceability of test cases to requirements.
Q21. When do you choose automated testing over manual testing?
This choice between automated testing over manual testing can be based on the following factors:
- Frequency of use of test case
- Time Comparison (automated script runs much faster than manual execution.)
- Reusability of Automation Script
- The adaptability of a test case for automation.
- The exploitation of the automation tool
- The exploitation of the automation tool
Q22. What are the key challenges of software testing?
Following are some challenges of software testing:
1. The application should be stable enough to be tested.
2. Testing always under a time constraint.
3. Understanding the requirements.
4. Domain knowledge and business user perspective understanding.
5. Which tests to execute first?
6. Testing the Complete Application.
7. Regression testing.
8. Lack of skilled testers.
9. Changing requirements.
10. Lack of resources, tools, and training.
Q23. What is the difference between QA, QC and Software Testing?
Quality Assurance (QA) : QA refers to the planned and systematic way of monitoring the quality of the process that is followed to produce a quality product. QA tracks the outcomes and adjusts the process to meet the expectations.
Quality Control (QC) : Concern with the quality of the product. QC finds the defects and suggests improvements. The process set by QA is implemented by QC. The QC is the responsibility of the tester.
Software Testing : is the process of ensuring that a product that is developed by the developer meets the user requirement. The motive to perform testing is to find the bugs and make sure that they get fixed.
Q24. What are concurrent user hits in load testing?
When multiple users, without any time difference, hit on the same event of the application under the load test is called a concurrent user hit. The concurrency point is added so that multiple Virtual Users can work on a single event of the application. By adding a concurrency point, the virtual users will wait for the other Virtual users who are running the scripts, if they reach early. When all the users reach the concurrency point, only then do they start hitting the requests.
Q25. What is the difference between front-end Testing and back-end testing?
The differences between front and back-end testing are:
– Front End Testing is performed on the Graphical User Interface (GUI). whereas Back End Testing involves database testing.
The front-end consists of a website look where users can interact whereas in the case of the back-end, it is the database that is required to store the data.
– When the end user enters data in the GUI of the front-end application, then this entered data is stored in the database. To save this data into the database we write SQL queries.
Q26. What is Automated Testing?
The process of performing testing automatically which reduces human intervention is automation testing. The automation testing is carried out with the help of some automation tools like QTP, Selenium, WinRunner, etc. In automation testing we use a tool that runs the test script to test the application; this test script can be generated manually or automatically. When testing is completed the tools automatically generate the test report and report.
Q27. What is Testware?
The testware is:
– The subset of software that helps in performing the testing of the application.
– Testware is required to plan, design, and execute tests. It contains documents, scripts, inputs, expected results, set-up, and additional software or utilities used in testing.
– Testware is a term given to the combination of all utilities and application software that is required for testing a software package.
Testware is special because it has:
- Different purpose
- Different metrics for quality and
- Different users
Q28. What is Exhaustive Testing?
Exhaustive Testing, as the name suggests is very exhaustive. Exhaustive testing means testing every component in the application with every possible number of inputs. According to the Principles of testing Exhaustive Testing is Impossible because exhaustive testing requires more time and effort to test the application for all possible inputs. This may lead to high costs and delays in the release of the application.
Q29. What is Gray Box Testing?
Gray box testing is the hybrid of the black box and white box testing. In gray box testing, the test engineer has the knowledge of the coding section of the component and designs test cases or test data based on system knowledge. This tester has knowledge of code, but this is less than the knowledge of white box testing. Based on this knowledge the test cases are designed and the software application under test treats as a black box & tester test the application from outside.
Q30. What is Integration Testing?
Integration testing is black-box testing. Integration testing focuses on the interfaces between units, to ensure that units work together to complete a specified task. The purpose of integration testing is to confirm that different components of the application interact with each other. Test cases are developed with the purpose of exercising the interfaces between the components. Integration testing is considered complete when actual results and expected results are the same. Integration testing is done after unit testing. There are mainly three main approaches to integration testing:
– Top-down Approach tests the components by integrating them from top to bottom.
– Bottom-up approach It takes place from the bottom of the control flow to the higher-level components
– Big bang approach In this different modules are joined together to form a complete system and then testing is performed on it.
Q31. What is Scalability Testing?
Scalability testing is testing performed to enhance and improve the functionality and performance capabilities of the application. So, the application can meet the requirements of the end-users. The scalability measurements are done by evaluating the application performance in load and stress conditions. Now depending upon this evaluation we improve and enhance the capabilities of the application.
Q32. What is the Software Requirements Specification?
– A software requirements specification is a document that acts as a contract between the customer and the supplier.
– This SRS contains all the requirements of the end-user regarding that application. SRS can be used as a communication medium between the customer and the supplier.
– The developer and tester prepare and examine the application based on the requirements written in the SRS document.
– The SRS document is prepared by the Business Analyst by taking all the requirements for the customer.
Q33. What is Storage Testing?
In Storage Testing, we test those functionalities of the application which is responsible for storing the data in the database. The data entered by the end-user in the GUI or front end is the same data that is stored in the database. The storage testing determines that the data taken from the front end of the application is stored incorrect place and an incorrect manner in the database.
Q34. What is Stress Testing?
Stress testing tests the software with a motive to check that the application does not crash if we increase the stress on the application by increasing a large number of users working on the application. We can also apply the stress on the application firing the lots of processes that cannot be handled by the application. We perform stress testing on the application to evaluate the application capabilities at or beyond the limits of its specified requirements to determine. Generally, this is a type of performance testing performed at a very high level of load and stress conditions.
Q35. What is Test Harness?
A test harness is a collection of software and test data required to test the application by running it in different testing conditions like stress, load, data-driven, and monitoring its behavior and outputs. Test Harness contains two main parts:
- Test execution engine
- Test script repository
Automation testing is the use of a tool to control the execution of tests and compare the actual results with the expected results. It also involves the setting up of test pre-conditions.
Can you define the test driver and test stub?
– The Stub is called from the software component to be tested. It is used in a top-down approach.
– The driver calls a component to be tested. It is used in the bottom-up approach.
– Both test stubs and test drivers are dummy software components.
We need to test stub and test driver for the following reasons:
– Suppose we want to test the interface between modules A and B and we have developed only module A. So we cannot test module A but if a dummy module is prepared, using that we can test module A.
– Now, module B cannot send or receive data from module A directly so, in these cases, we have to transfer data from one module to another module by some external features. This external feature used is called Driver.
Q36. What is good design?
Design refers to the functional design or internal design. Good internal design is indicated by software code whose overall structure is clear, understandable, easily modifiable, and maintainable; is robust with sufficient error-handling and status logging capability, and works correctly when implemented. A good functional design is indicated by an application whose functionality can be traced back to customer and end-user requirements.
Q37. What makes a good QA or Test manager?
A good QA or Test manager should have the following characteristics:
– Knowledge of the Software development process
– Improve the teamwork to increase productivity
– Improve cooperation between software, test, and QA engineers
– To improve the QA processes
– Communication skills
– Ability to conduct meetings and keep them focused
Q38. What is Manual scripted Testing and Manual Support testing?
Manual Scripted Testing : Testing the method in which the test cases are designed and reviewed by the team before executing it. It is done by manual testing teams.
Manual-Support Testing : Testing technique that involves testing of all the functions performed by the people while preparing the data and using these data from an automated system. it is conducted by testing teams.
Q39. What is Fuzz testing, backward compatibility testing, and assertion testing?
Fuzz Testing: Testing the application by entering invalid, unexpected, or random data to the application this testing is performed to ensure that the application does not crash when entering incorrect and unformatted data.
Backward Compatibility Testing : A testing method that examines the performance of the latest software with older versions of the test environment.
Assertion Testing : This type of testing consists of verifying if the conditions confirm the product requirements.
Q40. How does a client or server environment affect testing?
There are lots of environmental factors that affect testing like the speed of data transfer, hardware, server etc while working with client or server technologies, testing will be extensive. When we have a time limit, we do the integration testing. In most cases, we prefer the load, stress, and performance testing for examining the capabilities of the application for the client or server environment.
Q41. What are the categories of defects?
There are three main categories of defects:
Wrong : The requirements are implemented incorrectly in the application.
Missing : When the requirement given by the customer and the application is unable to meet that application.
Extra : A requirement incorporated into the product that was not given by the end customer. This is always a variance from the specification, but may be an attribute desired by the user of the product.
Q42. Tell some examples of Bug Severity and Bug Priority.
High Priority & High Severity : The submit button is not working on the login page and customers are unable to login to the application
Low Priority & High Severity : Crash in some functionality which is going to deliver after a couple of releases
High Priority & Low Severity : Spelling mistake of a company name on the homepage
Low Priority & Low Severity : FAQ page takes a long time to load
Q43. What is the difference between a Standalone application, Client-Server application and Web application?
Standalone application :
Standalone applications follow a one-tier architecture. Presentation, Business, and Database layers are in one system for a single user.
Client-Server Application :
Client-server applications follow a two-tier architecture. The presentation and Business layer are in a client system and the Database layer is on another server. It works mainly in the Intranet.
Web Application :
Web server applications follow three-tier or n-tier architecture. The presentation layer is in a client system, the Business layer is in an application server and the Database layer is in a Database server. It works both on the Intranet and the Internet.
Q44. What is a Defect Life Cycle or a Bug lifecycle in software testing?
The defect life cycle is a cycle in which a defect goes through during its lifetime. It starts when a defect is found and ends when a defect is closed, after ensuring it’s not reproduced. The defect life cycle is related to the bug found during testing.
Different stages of bug can be summarized as:
New : When a bug is found and not yet approved then it comes under the category of “New”.
Open : After a bug is detected by the tester it is passed to the lead tester. He approves whether bug is genuine or not and changes its status to “Open”.
Assign : Once a bug is in the Open category then it is allotted to the corresponding developer. This is the time when the status of the bug is changed to “Assign”.
Test : When the developer fixes the bug and allotted the software to a tester for further approval and verification. He changes the status of the bug to “Test”.
Deferred : This is a state when the bug is expected to be resolved in the next release but not fixed yet. The reasons may be a low priority or lack of time to release. This status is known as “Deferred”.
Rejected : If the developer finds that the bug is not genuine then he assigns the bug to the category of “Rejected”.
Duplicate : If it is found that the bug is repeated with a name or concept then one of them is assigned to the status of “Duplicate”.
Verified : Once the bug is fixed then it comes under “Test” status and is allotted to the software tester. If the software tester approves that it is fixed now then it comes under the status of “Verified”.
Re-opened : If the bug still exists after the developer submitted it for fixing then the software tester assigns this type of bug to the category “Re-opened”. Now, the bug will pass again through the entire life cycle.
Closed : When the bug is fixed, it is transferred to the software tester for approval. If the software tester finds that the bug no longer exists then he submits it to “Closed”
Q45. What is Bug Leakage?
A bug that was actually missed by the testing team while testing and the build was released to the Production. If now that bug (which was missed by the testing team) was found by the end-user or customer then we call it Bug Leakage.
Q46. What is Bug Release?
Releasing the software to the Production with the known bugs then we call it as Bug Release. These known bugs should be included in the release note.
Q47. What is Defect Age?
Defect age can be defined as the time interval between the date of defect detection and the date of defect closure.
Defect Age = Date of defect closure – Date of defect detection
Assume, a tester found a bug and reported it on 1 Jan 2016 and it was successfully fixed on 5 Jan 2016. So the defect age is 5 days.
Q48. What is Error Seeding?
Error seeding is a process of adding known errors intended in a program to identify the rate of error detection. It helps in the process of estimating the tester’s skills of finding bugs and also to know the ability of the application (how well the application is working when it has errors.)
Q49. What is the Showstopper Defect?
A showstopper defect is a defect that won’t allow a user to move further in the application. It’s almost like a crash.
Assume that the login button is not working. Even though you have a valid username and valid password, you cannot move further because the login button is not functioning.
Q50. What is HotFix?
A bug that needs to be handled as a high-priority bug and fix it immediately.
Q51. What is Boundary Value Analysis?
Boundary value analysis (BVA) is based on testing the boundary values of valid and invalid partitions. The Behavior at the edge of each equivalence partition is more likely to be incorrect than the behavior within the partition, so boundaries are an area where testing is likely to yield defects. Every partition has its maximum and minimum values and these maximum and minimum values are the boundary values of a partition. A boundary value for a valid partition is a valid boundary value. Similarly, a boundary value for an invalid partition is an invalid boundary value.
Dear Career Aspirants,
If you have still some queries related to your career or you need information related to ‘How to clear Software Testing Interview? You can contact us. STAD Solution is the Best Software Testing Training Institute. Which also helps to get the job to the IT fresher.