Possible interview questions for Testing
What is Software Testing?
Testing is a process of verifying the operation of a system or application under controlled conditions and evaluating the result.
Software testing is usually performed for one or two reasons:
1.defect detection
2.reliability or Process of executing a computer program and comparing the actual behavior with the expected behavior.
What is a Test Case?
Test case is nothing but a step by step procedure to test the requirement.
Samples of a test case..W
hat are the things you will put in the first step of you test case?
Lets make a test case for Yahoomail.com
Sample of a Software requirement Specification(SRS)
What is prerequisites in the test case?
Ans:Prerequisites means
1.The application is up and running and accessible to the user.If the application is not up and running then you cannot test the application .So it's necessary to include in the test case .
2.Valid username and password exists in the system.
Step2:
User enters the yahoo url(www.yahoo.com) on the browser's address bar and press enter.
Result:Verify that yahoo home page render or displayed.
Step 3:
Click on the mail link on the home page .
Result:Verify that the yahoo mail will display correctly.
Step 4:
User enter invalid username and invalid password.
Result:Verify that the user was unable to login and displayed a validation message :"Invalid Username and password"
Step 5:User enter a Valid UserName and valid password .
Result:Verify that the user will come up to next page thats is his/her personal mailing page..where he can see inbox,compose,draft,trash etc.
What is a test plan:
The test plan is a document that describes the objectives,scope,approach and focus of a software testing effort.The process of preparing a test plan is a useful way to think through the efforts needed to validate the acceptability of a software product.
The following are the some of the items that might be included in a testing plan ,depending on the particular project:
1.Title
2.Identification of the software including version /release numbers
3.Revision History of document including authors,dates,approvals
4Table of contents
5.Purpose of document intended audience
6.Objective of testing effort
7.Software product overview
8.Relevant related document list such as requirements,design documents,other test plan etc
9.relevant standards or legal document
10.relevant naming conventions
11.Test environment
12.Test tools
13.Test Script
14.Project test matrices to be used
15.Software entrance and exit criteria
16.Initial Sanity testing period and criteria
17.Training
18.test site/location
19.Relevant security and licensing issue
20.Open issues
21.Appendix
What is Requirement Traceability Matrix(RTM)?
It's a mapping between the requirement and testcases to see which test case is for which requirement.
If you have 100 requirements then you can have 500 test cases.So one requirement can have more than one test case.
What is Manual Testing?
Manual Testing is a part of software testing that requires human input,analysis or evaluation.
What is black box testing?
Black box testing is performed from a business/user perceptive.For black box testing the tester doesnt have to know the internal knowledge of the system or code.
What is White Box Testing?
White box testing is based on the knowledge of internal logic of the application's code.Usually the developer do this type of testing.
What is Unit Testing?
This comes under White Box Testing .This is typically done by the programmer and not by testers as it requires the detailed knowledge of the program design and code.
What is Integration Testing?
Integration testing is done when one module is integrated with other module ,to check if the system is working fine as a whole after the integration of the module.
What is positive testing?
This testing is done under the expected behavior of the system.
What is Negative Testing?
This testing is done under the unexpected behavior of the system.
What is SOAK testing?
It is a type of testing in which the application is tested for a longer period of time to check the stability .
What is Sanity or SMOKE Testing?
Sanity testing is done when new build release.We have to test for the majority functionality of the application which could stop our testing part continuation.
If it fails then we should not continue with our testing part.
What is Regression Testing?
Regression testing is done after a fix or modifications of the software or it's environment.
What is performance testing?
The performance testing is used to determine the speed or effectiveness of a computer,network,software programmer device.
What is Load Testing?
Load Testing can be defined as a set of test to determine the response times of a system with various workloads.
What is recovery Testing?
To check if the system recovers gracefully after crash without losing useful /critical data .
What is User Acceptance Testing(UAT)?
This testing is done to determine if the software is satisfactory to an end user or customer.
What is a Defect?
Defect or bug is an error of the application .If the system doesnt work as per the requirement then it is known as an error/bug or defect.
What is defect life cycle?
Defect Life Cycle is nothing but various phases a defect undergoes after the tester reported a defect.
The phases are
1.Open
2.Assign
3.Fixed
4.Closed
What is automation testing ?
Test Automation is the process that can automate the existing process.It's a type of testing where the testing is done by a tool to compare the actual result
with the expected result.
When will you start the automation tesing?
1.When the test case should be executed and passed for two consecutive iteration.
2.The application has to be stable.
3.The application UI should be available.
What is the difference between Manual testing and Automation Testing?
Manual Testing Automation Testing
Time Consuming Speed
Low Reliability Reliable
Human Resource Consistent
Inconsistent Repeatable/Reusable
Non Repeatable Save time and resources
More details about UAT Testing:
User Acceptance Testing is often the final step before rolling out the application.
Usually the end users who will be using the applications test the application before ‘accepting’ the application.
This type of testing gives the end users the confidence that the application being delivered to them meets their requirements.This testing also helps nail bugs related to usability of the application.
When to start UAT Testing?
Before the User Acceptance testing can be done the application is fully developed.
Various levels of testing (Unit, Integration and System) are already completed before User Acceptance Testing is done. As various levels of testing have been completed most of the technical bugs have already been fixed before UAT.
What happen in UAT Testing?
To ensure an effective User Acceptance Testing Test cases are created.
These Test cases can be created using various use cases identified during the Requirements definition stage.
The Test cases ensure proper coverage of all the scenarios during testing.
During this type of testing the specific focus is the exact real world usage of the application. The Testing is done in an environment that simulates the production environment.The Test cases are written using real world scenarios for the application.
The steps taken for User Acceptance Testing typically involve one or more of the following:
.......1) User Acceptance Test (UAT) Planning
.......2) Designing UA Test Cases
.......3) Selecting a Team that would execute the (UAT) Test Cases
.......4) Executing Test Cases
.......5) Documenting the Defects found during UAT
.......6) Resolving the issues/Bug Fixing
.......7) Sign Off
User Acceptance Test (UAT) Planning:As always the Planning Process is the most important of all the steps. This affects the effectiveness of the Testing Process. The Planning process outlines the User Acceptance Testing Strategy. It also describes the key focus areas, entry and exit criteria.
Designing UA Test Cases:The User Acceptance Test Cases help the Test Execution Team to test the application thoroughly. This also helps ensure that the UA Testing provides sufficient coverage of all the scenarios.
The Use Cases created during the Requirements definition phase may be used as inputs for creating Test Cases. The inputs from Business Analysts and Subject Matter Experts are also used for creating.
Each User Acceptance Test Case describes in a simple language the precise steps to be taken to test something.
The Business Analysts and the Project Team review the User Acceptance Test Cases.
Selecting a Team that would execute the (UAT) Test Cases:Selecting a Team that would execute the UAT Test Cases is an important step.
The UAT Team is generally a good representation of the real world end users.
The Team thus comprises of the actual end users who will be using the application.
Executing Test Cases:The Testing Team executes the Test Cases and may additional perform random Tests relevant to them
Documenting the Defects found during UAT:The Team logs their comments and any defects or issues found during testing.
Resolving the issues/Bug Fixing:The issues/defects found during Testing are discussed with the Project Team, Subject Matter Experts and Business Analysts. The issues are resolved as per the mutual consensus and to the satisfaction of the end users.
Sign Off:Upon successful completion of the User Acceptance Testing and resolution of the issues the team generally indicates the acceptance of the application. This step is important in commercial software sales. Once the User “Accept” the Software delivered they indicate that the software meets their requirements.
Testing Tools:
Quality Control:Here I will tell you how to use Quality Center to manage the
application testing process.It will cover how to create test plan or test case in the quality center and how to execute them and also defect tracking.