Friday, February 8, 2013

Checklist and Guidelines for LISA Virtualization

DB connection:

1) Put the OJDBC14 jar file in LISA—lib and hot deploy folder
2) Go to LISA – database and copy oracle-site property file and paste it in the LISA home directory
3) Change the file name as Site
4) Edit the below properties


5) In LISA add a step for sql injection with the below instructions

Enter jdbc driver as oracle.jdbc.driver.Oracledriver
Enter connection string
Enter username and pw
Select “Returns results set” checkbox only for select query. Disable it for insert and update queries
Make the sql command in single line
Remove semi colon at the end of the query

6) Always declare the property in the below format -  '{{ItemTag}}'

Creating WSDL

1) Click Add button in stateless transaction section
2) Change the match style as operation
3) In operation enter ( GET /”End point”) not wsdl url
4) In request data add an arguments name and value as “wsdl”
5) In request data meta data add the below details

HTTP-Method    GET
HTTP-URI    /”End point”
HTTP-Version    HTTP/1.1
Accept    image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/, application/xaml+xml, application/, application/, application/msword, */*
Accept-Language    en-us
User-Agent    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2; MS-RTC LM 8)
Accept-Encoding    gzip, deflate
Host    localhost:8001
Connection    Keep-Alive

6) In response section copy and paste the request

Enter the wsdl url for the service and copy the request and paste it in the response body section
Change the end point of the service in the request. It should be in            “

7) In Meta data section enter the below keys

Content-Type    text/xml; charset=utf-8
Date    {{=httpNow()}}
HTTP-Response-Code    200
HTTP-Response-Code-Text    OK
Server    LISA/Virtual-Environment-Server

X-Powered-By        Servlet/2.5 JSP/2.1

8) Run the ITR and open IE , open the end point wsdl url. It should display the request without error

Deploying the VSM:

1) Open server console
2) Right click VSM and select create MAR info file
3) Enter the name and version and click ok
4) Now select mar info and click Build model archive
5) Save it to the project
6) In server console select deploy a new service button in the top
7) Select a model archive from your project and click deploy button
8) After deploy start the service
9) Now hit the service in the real environment

VSM Model

1) Always the respond should come from the virtual image selection
2) We can remove virtual route tracker
3) Double click https listen and enter the end point in  the base path field “/end point”

Adding a filter

Select https listen
Select add filter button under filter section
Select xml filter – parse text from xml flter
Enter filter in as “lisa.vse.http.current.transaction.body”
Enter the tag which is used in the request for ex : v12:StoreID
Enter any property name

For database filter

Select databse filter – Extract result from jdbc result set

Adding an assertion

Select add xml filter ---ensure result contains the string

Adding a data set

Select common data sets and random code generator

General guidelines:

1) All the req and res pair should be in Data folder
2) Req should be in the format of –req and response should be in the format f –rsp
3) Save the service image as “SI_project name.VSI” and the vsm as “VSM_project name.vsm”
4) Save the project as BBYM_RL_service name_Ver01”
5) Enter 9090 in the port while configuring HTTPS protocol
6) Save the ITR after execution if required
7) Request match style should be signature and response should be exact
8) Enable magic string check box for the all the values which is passed through the request
9) In response all the comparison operation should be “Anything” under the arguments
10) Check for the VSM path before the execution
11) Note down all the steps added and the changes made under Documentation section
12) Check with the content type in the response
13) Check with the req/res pairs which is currently used  in the application

Web Service Virtualization

Service Virtualization

The most increasing trend in web service testing is Virtualization. Before dragging into virtualization and the tools used for this we will have a look into the basic concepts of web services.

What is web service?

Web service is an API which can be used from a common repository or in a web server. For ex: In your company you will be developing n no of projects. Consider that most of the projects are using the common login functionality. In that case we can implement the login functionality as a web service, so that all the projects can call the login we service which is configured in a web server.

Types of Web Services:

There are two types of web services listed below,
1) SOAP – Soap is xml oriented protocol
2) REST – Rest is architecture oriented protocol which can be used for different data formats

What is Virtualization?

While testing these web services the most common issues what we have faced is all the Environment issues. Because if the project has very complex architecture and if it has many interfaces, most of the time this web services may be down and it will affect the testing flow. This is the place where virtualization of web services comes into picture. In virtualization we are going to create a Service Images by using the request and response pairs and that will use as a virtual web service where we can test the request what we have created.

Tools used for Virtualization:

 Most common tool used for this virtualization is ITKO LISA and I have worked on this tool only.

Advantages of Virtualization:

1) Don’t bother about the environment issues. You can continue your testing without interruption
2) Most effective
3) Time conception method of testing
4) We can test in lower environments, that will end up in investing more of server configuration

Saturday, April 28, 2012

Testing during production deployment:

Last week we had a major production deployment for our existing website.Project team came up with an eight hour estimate whereas testing covered with 2 hours time period. So we are in a position to plan our self to complete the entire testing activities within the scheduled time period.

For this initially, we have prepared some smoke and sanity test cases for existing application and the new enhancements. Also we have included some test cases from regression test suite to this. We executed this smoke and sanity suite as part of our daily testing activities five days prior to deployment, with the intention of getting some hands on experience in execution to reduce the time period during production deployment.

After completing the successful deployment we came up with some checklists for testing the application during production deployment. They are listed below,

1) Get the test login id’s for production server
2) Ask the data team to insert some test data to the test user login or account
3) Check for the “Website Maintenance / Offline messages displayed while accessing the website at the time of        deployment
4) Execute the sanity and smoke test cases which you have prepared to ensure all the major functionalities are working fine
5) Check for any broken links
6) Check for any images missing throughout the application
7) If the website has different group of users, test by using the default user in every group
8) Ensure with the browser you are testing with the project team
9) If there are any configuration or environmental issues during deployment , convey them to the project team immediately
10) Sign off email from QA team to ensure the website is working fine after the deployment

If you want to add some more points to this post please add them in the comments section.

Also please correct me if anything wrong.