⇒ 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 Fresher..
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.
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, branches 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
Black box testing is the software testing method which is used to test the software without knowing the internal structure of code or program. This testing is usually done to check the functionality of an application. The different black box testing techniques are
Verification is a process of evaluating software at the development phase and to decide 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 to check whether it meets the customer requirements.
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 the 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.
Difference between test scenarios and test cases is that
Test Scenarios : Test scenario is prepared before the actual testing starts, it includes plans for the testing product, number of team members, environmental conditions, making test cases, making 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.
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 in product-oriented activities. It executes the program or code to identify the defects in the Software Application.
Positive Testing : It is to determine what system supposed to do. It helps to check whether the application is justifying the requirements or not.
Negative Testing : It is to determine what system not supposed to do. It helps to find the defects from the software.
The prerequisites that must be achieved before commencing the testing process.
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:
Q14. What is the difference between Pilot and Beta testing?
The differences between these two are listed below:
Q15. Describe how to perform Risk analysis during software testing?
Risk analysis is the process of identifying risk in the application and prioritizing them to test. Following are some of the risks:
We prioritize them into three categories these are :
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 the applications which are based on Window, Java, web or traditional client/server. Silk Test help 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 Master Test Plan and Test Plan ?
The differences between the Master Plan and Test Plan are given below:
- Master Test Plan contains all the testing and risk involved area of the application whereas the Test case document contains test cases.
- Master Test plan contains all the details of each and every individual test to be run during the overall development of 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 the small project then we called it a test plan.
Q18. How to deal with not a reproducible bug?
A bug cannot be reproduced for the following reasons:
A tester can do the following things to deal with not a reproducible bug:
Q19. What is the difference between coupling and cohesion?
The difference between coupling and cohesion is discussed below:
- Cohesion is the degree which is measures dependency of the software component that combines related functionality into a single unit whereas coupling means that binding the related functionality into a different unit.
- Cohesion deals with the functionality that related 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 QA team are planning the testing execution process.
- QA Lead creates the time tables 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 upon the following factors:
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 which is followed to produce a quality product. QA tracks the outcomes and adjusts the process to meet the expectation.
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 is concurrent user hits in load testing?
When the 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 concurrency point, the virtual users will wait for the other Virtual users which are running the scripts, if they reach early. When all the users reached the concurrency point, only then 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.
- Front end consist of web site look where user can interact whereas in case of back end it is the database which is required to store the data.
- When the ender user enters data in 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 the human intervention this 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 then tools automatically generate the test report and report.
Q27. What is Testware?
The testware is:
- The subset of software which 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 required for testing a software package.
Testware is special because it has:
Q28. What is Exhaustive Testing?
Exhaustive Testing, as the name suggests is very exhaustive. Exhaustive testing means to test every component in the application with every possible number of inputs. According to Principles of testing Exhaustive Testing is Impossible because exhaustive testing requires more time and effort to test the application for all possible number of 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 approaches to do integration testing:
- Top-down Approach tests the components by integrating 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 is 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 in order 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 doing 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 contain all the requirement 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 into 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 the 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 the 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 condition.
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:
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 stub and test drivers are dummy software components.
We need to test stub and test driver because of the following reason:
- 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. The 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. The 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 about the Software development process
- Improve the teamwork to increase productivity
- Improve cooperation between software, test, and QA engineers
- To improvements 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 automated system. it is conducted by testing teams.
Q39. What is Fuzz testing, backward compatibility testing and assertion testing?
Fuzz Testing: Testing application by entering invalid, unexpected, or random data to the application this testing is performed to ensure that application is not crashing when entering incorrect and unformatted data.
Backward Compatibility Testing : Testing method which examines the performance of the latest software with older versions of the test environment.
Assertion Testing : Type of testing consisting 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, and 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 application is unable to meet those 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 maybe an attribute desired by the user of the product.
Q42. Tell some examples of Bug Severity and Bug Priority?
High Priority & High Severity : Submit button is not working on a 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 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 one-tier architecture. Presentation, Business, and Database layer are in one system for a single user.
Client-Server Application :
Client-server applications follow two-tier architecture. Presentation and Business layer are in a client system and Database layer on another server. It works majorly in Intranet.
Web Application :
Web server applications follow three-tier or n-tier architecture. The presentation layer is in a client system, a Business layer is in an application server and the Database layer is in a Database server. It works both on Intranet and 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.
There are different stages of bug that 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 tester it is passed to lead tester. He approves that 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 resolve 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 itself found that bug is not genuine then he assigns the bug to the category of “Rejected”.
Duplicate : If it is found that bug is repeated with 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 allotted to software tester. If 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 to fixed then 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 software tester finds that bug no longer exists then he submits it to “Closed”
Q45. What is Bug Leakage?
A bug that is 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 intendedly in a program to identify the rate of error detection. It helps in the process of estimating the tester 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 could not move further because the login button is not functioning.
Q50. What is HotFix?
A bug that needs to handle 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 career or you need the 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.
For more Details Follow us :