Quality Control

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.
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..What 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.






Software Development Life Cycle

Here in this blog I will tell you what is software development life cycle,the phases of software development life cycle and Methods of SDLC.

What is Software Development Life Cycle?

The various activities which are undertaken when developing software commonly modeled as a software development life cycle.
The software development life cycle starts with requirement phase and ends at implementation .


















1.Requirement Analysis:
In this phase the requirements for the software are gathered and analyzed ,to produce a complete and unambiguous specification of the software required by the client.

2.Design Phase:
In this phase a software architecture for the implemenatation of the requirements is designed and specified ,Identifying the components within the software and the relationship between the components.

3.Code and Unit Test:In this phase each component of the software is coded and tested to verify that it faithfully implements the design .

4.System Integration testing:In this phase each component of the software is integrated to overall product and tested.

5.Implementation:This phase started after the testing is done and the whole software is ready to instal or ready to sell.

6.Maintenance:This phase take care if a new defects arise or new requirement comes.

There are different models of software development life cycle:

1.WaterFall LifeCycle Model
2.V Life Cycle Model
3.Iterative Life Cycle Model
4.Agile Methodology

1.WaterFall LifeCycle Model:
This type model was commonly used previously.In this model each is completed before next phase starts.It's very simple to understand.This model is best for small projects but it is very time consuming.You have to wait till the whole software is developed.

The phases of Water fall model are:














V LifeCycle Model:

Just like water fall model in the V life Cycle model each phase must be completed before the next phase begins.Testing is emphasized in this model more than waterfall model. In this type of model the test plan has started before the development.So it has higher chances of success than water fall model.It's easy to use.It's useful for small project.If later the requirement changes then you need to start the whole system again.
The phases of V Life cycle models are:














3.Iterative Life Cycle Model:
An iterative life cycle model doesnt not attempt to start with a full specification of requirements.Instead,development begins by specifying and implementing just part of the software ,which can then be reviewed in order to identify further requirements.This process is then repeated ,producing a new version of the software for each life cycle of the model.
The phases of Iterative LifeCycle models are:

AJAX TUTORIAL

What is AJAX?
Ajax stands for Asynchronous Java Script and XML.By AJAX we can update a webpage without reloading the page.It's a techonolgy for craeting a fast and dynamic web page.It combines the java script and XML together.

Here in this tutorial I will tell you how to implement AJAX in JSP Page.

A Simple Ajax Example-
We will enter your name in the texbox and on button click it will show the message welcome to [yourname] to AJAX world without reloading the page.

1.First create a java script file and name this file as ajax.js
write the below code in the ajax.js file.
function createRequestObject(){
var req;
if (window.xmlHttpRequest){
//For Firefox ,Safari and Opera
req=new xmlHttpReuest();
}
else if(window.ActiveXObject){
//For IE 5+
req=new ActiveXObject("Microsoft.XMLHTTP");
}
else{
//Error for an old browser
alert('Your browser is not IE 5 or higher ,or Firefox or Safari or Opera);
}
return req;
}
//Make the XMLHttpRequest object
var http=createRequestObject();
function sendRequest(method,url){
if(method=='post' method=='POST'){
myvar=document.myForm.Countrynameddl.options[document.myForm.countrynameddl.selectedindex].value;
url=url+"?abc="+myvar;
http.open(method,url);
http.onreadystatechange=handleResponse;
http.send(null);
}
}

function handleResponse(){
if(http.readyState== 4 && http.status== 200){
var response=http.responseText;
if(response){
document.getElementById("ajax_res").innerHTML=response;
}
}
}

}