Top software testing interview questions for freshers
Software testing is an activity conducted in the software development life-cycle to verify that the software is accurate and works according to the requirements. Testing plays an integral part in any software development project.
In its essence, software testing aims to answer the question: How does one ensure that the software does what it is supposed to do and doesn’t do what it is not supposed to do? The primary goal behind software testing is to get enough confidence that the software under testing produces the correct output for a given input.
An important thing to keep in mind when learning about software testing is that testing does not improve software quality by itself. Or that a high amount of testing doesn’t mean that the software is high quality. Testing is an indicator of quality, providing crucial feedback to the developers who created the software to take necessary action to fix the problems found in testing.
1. What is Exploratory Testing?
Exploratory testing is a hands-on approach in which testers are involved in minimum planning and maximum test execution. The planning involves the creation of a test charter, a short declaration of the scope of a short (1 to 2 hour) time-boxed test effort, the objectives and possible approaches to be used. The test design and test execution activities are performed in parallel typically without formally documenting the test conditions, test cases or test scripts. This does not mean that other, more formal testing techniques will not be used. For example, the tester may decide to use boundary value analysis but will think through and test the most important boundary values without necessarily writing them down. Some notes will be written during the exploratory-testing session so that a report can be produced afterward.
2. What is "use case testing"?
In order to identify and execute the functional requirement of an application from start to finish "use case" is used and the technique used to do this is known as "Use Case Testing."
3. What is the difference between the STLC (Software Testing Life Cycle) and SDLC (Software Development Life Cycle)?
SDLC deals with the development/coding of the software while STLC deals with validation and verification of the software
4. 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.
5. What is Equivalence partitioning testing?
Equivalence partitioning testing is a software testing technique that divides the application input test data into each partition at least once of equivalent data from which test cases can be derived. By this testing method, it reduces the time required for software testing.
6. What is white box testing and list the types of white box testing?
White box testing technique involves a 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
Statement Coverage
Decision Coverage
7. In white box testing, what do you verify?
In white-box testing following steps are verified.
Verify the security holes in the code
Verify the incomplete or broken paths in the code
Verify the flow of structure according to the document specification
Verify the expected outputs
Verify all conditional loops in the code to check the complete functionality of the application
Verify the line by line coding and cover 100% testing
8. What is black box testing? What are the different black box testing techniques?
Black box testing is the software testing method that is 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
9. What is the difference between static and dynamic testing?
Static testing: During the Static testing method, the code is not executed, and it is performed using the software documentation.
Dynamic testing: To perform this testing the code is required to be in an executable form.
10. What are verification and validation?
Verification is a process of evaluating software at the development phase. It helps you to decide whether the product of a given application satisfies the specified requirements. Validation is the process of evaluating software at after the development process and checking whether it meets the customer requirements.
11. What are the different methods of testing?
There are three methods of software testing and they are as follows:
Black-box testing: It is a testing strategy based solely on requirements and specifications. This strategy, it requires no knowledge of internal paths, structures, or implementation of the software being tested.
White box testing: It is a testing strategy based on internal paths, code structures, and implementation of the software being tested. White box testing generally requires detailed programming skills.
Gray box testing: It is a strategy for software debugging in which the tester has limited knowledge of the internal details of the program.
12. What are the different levels of testing?
There are mainly four testing levels and they are:
Unit Testing
Integration Testing
System Testing
Acceptance Testing
13. Explain Bug Life Cycle or Defect life cycle.
A defect life cycle is a process in which a defect goes through various phases during its entire lifetime. It starts when a defect is found and ends when a defect is closed, after ensuring it’s not reproduced.
Bug or defect life cycle includes the steps as illustrated in the below figure. If you wish to learn in-depth about Bug Life Cycle then you can refer to my article on Software Testing Tutorial.
14. What is a test case?
A test case is nothing but a set of conditions or variables under which a tester will determine whether a system under test satisfies requirements or works correctly.
15. What is Verification and Validation in Software Testing?
Verification: It is a static analysis technique. Here, testing is done without executing the code. Examples include – Reviews, Inspection, and walkthroughs.
Validation: It is a dynamic analysis technique where testing is done by executing the code. Examples include functional and non-functional testing techniques.
16. What is usability testing?
It is a testing methodology where the end customer is asked to use the software to see if the product is easy to use, to see the customer’s perception and task time. An accurate way to finalize the customer's point of view for usability is by using prototype or mock-up software during the initial stages.
17. What are the categories of defects?
There are three main categories of defects as shown in the below figure:
Wrong: It implies that requirements have been implemented incorrectly. It is a variance from the given specification.
Missing: This is a variance from the specifications, an indication that a specification was not implemented, or a requirement of the customer was not noted properly.
Extra: It is a requirement incorporated into the product that was not given by the end customer. It is always a variance from the specification but may be an attribute desired by the user of the product.
18. On what basis the acceptance plan is prepared?
Basically, the acceptance document is prepared using the following inputs.
Requirement document: It specifies what exactly is needed in the project from the customer's perspective.
Input from the customer: This can be discussions, informal talks, emails, etc.
Project plan: The project plan prepared by the project manager also serves as good input to finalize your acceptance test.
19. What is covered and what are the different types of coverage techniques?
The parameter used in software testing to describe the extent to which the source code is tested is known as coverage. There are three basic types of coverage techniques and they are:
Statement coverage: It ensures that each line of source code has been executed and tested.
Decision coverage: It assures that every decision (true/false) in the source code has been executed and tested.
Path coverage: Here we ensure that every possible route through a given part of the code is executed and tested.
20. What is a Latent defect?
Latent defect: This defect is an existing defect in the system which does not cause any failure as the exact set of conditions has never been met
21. What are the two parameters which can be useful to know the quality of test execution?
To know the quality of test execution, we can use two parameters
Defect reject ratio
Defect leakage ratio
22. What is the function of the software testing tool "phantom"?
Phantom is freeware and is used for windows GUI automation scripting language. It allows us to take control of windows and functions automatically. It can simulate any combination of keystrokes and mouse clicks as well as menus, lists, and more.
23. Explain what Test Deliverables are?
Test Deliverables are a set of documents, tools, and other components that have to be developed and maintained in support of testing.
24. What is mutation testing?
Mutation testing is a technique to identify if a set of test data or test cases is useful by intentionally introducing various code changes (bugs) and retesting with original test data/ cases to determine if the bugs are detected.
25. What are the categories of debugging?
Categories for debugging
Brute force debugging
Backtracking
Cause elimination
Program Slicing
Fault tree analysis
26. What is fault-masking explain with example?
When the presence of one defect hides the presence of another defect in the system, it is known as fault masking.
Example: If the "Negative Value" causes a firing of unhandled system exception, the developer will prevent the negative values input. This will resolve the issue and hide the defect of unhandled exception firing.
27. Explain what Test Plan is? What is the information that should be covered in Test Plan?
A test plan can be defined as a document describing the scope, approach, resources, and schedule of testing activities and a test plan should cover the following details.
Test Strategy
Test Objective
Exit/Suspension Criteria
Resource Planning
Test Deliverables
28. How can you eliminate the product risk in your project?
It helps you to eliminate product risk in your project, and there is a simple yet crucial step that can reduce the product risk in your project.
Investigate the specification documents
Have discussions about the project with all stakeholders including the developer
As a real user walk around the website
29. What is the common risk that leads to project failure?
The common risk that leads to a project failure are
Not having enough human resource
Testing Environment may not be set up properly
Limited Budget
Time Limitations
30. On what basis you can arrive at an estimation for your project?
To estimate your project, you have to consider the following points
Divide the whole project into the smallest tasks
Allocate each task to team members
Estimate the effort required to complete each task
Validate the estimation
31. What is test management review and why it is important?
Management review is also referred to as Software Quality Assurance or SQA. SQA focuses more on the software process rather than the software work products. It is a set of activities designed to make sure that the project manager follows the standard process. SQA helps the test manager to benchmark the project against the set standards.
32. What is the difference between the Test matrix and the Traceability matrix?
Test Matrix: The test matrix is used to capture actual quality, effort, the plan, resources and time required to capture all phases of software testing
33. When is RTM (Requirement Traceability Matrix) prepared?
RTM is prepared before test case designing. Requirements should be traceable from review activities.
34. In manual testing what are stubs and drivers?
Both stubs and drivers are part of incremental testing. In incremental testing, there are two approaches namely the bottom-up and the top-down approaches. Drivers are used in bottom-up testing and stub is used for a top-down approach. In order to test the main module, the stub is used, which is a dummy code or program.
The Sands Casino Review - TCS Casino
ReplyDeleteA detailed review of The Sands Casino septcasino and the online casino game 1xbet korean selection, including a ranking of all the games, software, and bonuses.Visit The Sands Casino: play 온카지노 Here!