http://w3.ibm.com/ibm/presentations Business Unit or Product Name © 2003 IBM Corporation IBM Confidenti al A Perspective on Web Testing Sivaprasanth Rentala [email protected] TPO,Pune,IGSI.
Nov 01, 2014
Business Unit or Product Name
© 2003 IBM CorporationIBM Confidential
A Perspective on Web Testing
Sivaprasanth Rentala
TPO,Pune,IGSI.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Objective
The purpose of this presentation is to depict a perspective on Web
centric application testing. The document concentrates only on
describing importance of web testing, how to conduct web
testing and automation of web testing.
The importance of Web Testing is growing phenomenally as the
importance and implementation of Web applications is taking
place in a rapid speed in each and every company’s
applications.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Web application advantage
The foremost advantage of Web application is it reduces physical
distance between user and the application near to zero.
Web application can be accessed from anywhere and anytime by
anyone around the world.
E-COMMERCE applications like B2B, B2C and market places are
the most promising web application as E-COMMERCE is yet to
be part of life of the entire world
Hence the significance if Web Testing is growing tremendously.
Due to enormous growth in number of web applications the site
needs be not only user friendly but also reader friendly to attract
more users repeatedly.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
What is Web Testing?Web Testing is the process of testing
Web centric applications.
Web Testing goes beyond the basic
functional and system testing of the
client/server applications to include
tests for performance, usability and
compatibility etc.
Web Testing involves more
dimensions, less time, higher risks
and more exposure than client/server
applications. An optimal Web Testing
approach begins with a thorough risk
analysis of your application to
identify and prioritize key areas and
testing tasks.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
How Web Testing distinguish traditional Software Testing?
Software Testing was never easy.
But in Web arena the testing became more complex and
challenging.
Today the users of web applications are not only limited but also
users from all parts of the world.
With Web based applications the world is moved into the living
rooms.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Which distinguishes the web applications from Client-server applications. Performance due to concurrent users: More number of users access Web
application. The more the site is successful the more number of users will start using the site. Hence the application needs to increase the performance consistently. The speed should be the USP (Unique selling proposition) of the applications.
Compatibility:Users will use different types of computers, operating systems
and browsers to access the Web applications. Hence the application should be
compatible to the different types of platforms
Robustness :The web application needs to be robust to meet the expected
performance from different users, different platforms and from different places.
Continuous testing:Web applications needs continuous testing as more the
web site is successful the more users browse the site. Due to over load of usage
the performance problems may occur. Hence continuous testing is required
Security and user authentication: Security is the foremost criteria in E-Commerce related web applications as users provide personal information like credit card info, contact details so on.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
How to test Web applications?
Automated Vs Manual Testing
The automated testing is becoming more important and influential in the web application testing. While testing the web application the load testing, stress testing and performance testing cannot be done efficiently if we test manually. Manual testing cannot be possible to test the web site response time when 100 users access the site concurrently. An automated tool can test same scenario efficiently by simulating that more than 100 users accessing web site simultaneously.
But there is no automated testing tool, which supports 100% web testing. Web testing should be combination of manual and automated testing depending on the factors such as cost, possibility of automation, time factor to complete the test and so on. The combination of manual and automated testing should be optimized.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Here is the basic paradigm for GUI-based automated testing:
Design a test case, then run it.
If the program fails the test, write a bug report. Start over after
the bug is fixed.
If the program passes the test, automate it. Run the test again
(either from a script or with the aid of a capture utility). Capture
the screen output at the end of the test. Save the test case and
the output.
Next time, run the test case and compare its output to the
saved output. If the outputs match, the program passes the
test
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Advantage of automated testing Defects are caught early in the development cycle before they
become costly.
Time can be spent extending test coverage rather than
repeating manual tests.
The skill level required to run tests is reduced.
Fixes are easier to verify because the scenarios that created
them are automated.
Full regression testing can be performed on each target
platform.
Metrics can be automatically gathered.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Following diagram explains the automated web testing process.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Web Testing Execution
This section briefs about different scenarios in Web Testing, a
brief description about each scenario and list of tools available
to test a particular scenario also mentioned.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
User Interface testing
User Interface testing includes verifying the Web user Interface with respect to UI specifications. UI includes forms; menus, navigation and different features like download option, help, site map, static pages, feedback etc. The testing should verify that the UI built is as per UI specifications.
Following tools are available UI testing
1. Rational Robot
2. QA Partner by Segue Software and
3. Xrunner and WinRunner by Mercury Interactive.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
The functionality test should make sure that the application behaves as per design specifications.
The web components to be tested are: Java applets, forms, JavaScript, CGI scripts and databases that are contained within the web site. Develop positive and negative test cases; to ensure that web site responds in the way it is designed to.
Dead link testing, Navigation, HTML validation Spell check and Content check also can be part of Functionality testing.
Functionality
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Following tools can be used for functionality test.1. Rational Suite TestStudio (Functionality testing)
2. Xenu Link Sleuth software (For Link testing)
3. http://www.w3c.org (For HTML validation)
4. SilkTest International (Functionality testing)
5. Compuware WebCheck –(Web test tool can check links, site mapping, orphaned URL's , missing attributes; scans for over 50 types of web site problems)
6. Doctor HTML (Site with online web page checker by Imagiware.
Checks spelling, forms, table structure, form structure, tag usage.
Validates links.)
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Compatibility
Compatibility testing is necessary to ensure that the site performs
same and as intended across multiple operating systems and
different browser configurations.
This test is mandatory to make sure that all users who accesses
across different systems and browsers able to accesses the
site. Test should ensure Active X, Java, JavaScript, and CGI
scripts and different functions work same across the systems
and browsers.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Following are the minimal OS and browsers to be tested: Operation Systems:
Windows 95, 98, NT and 2000 and Mac OS 7.6.1 – 9, UNIX, Linux so on.
Browsers:
Web site to be tested from Netscape 3.0 - 6, IE 3.0 - 5.0, AOL 3.0 - 5.0, as well as other browsers for both Windows and Macintosh platforms.
Following testing tools can be used for Compatibility
1. VeriTest (Compatibility Testing)
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Performance testing Performance testing of web sites required sophisticated automating tools
due to manual tests couldn’t simulate the testing conditions like hundreds of users are accessing site concurrently.
Performance testing is required to test the web application performance at the times when maximum expected users access the web site.
There are numerous situations when famous sites like www.msnbc.com, www cnn.com faced performance problems apart from their preparedness to meet the maximum traffic.
Predictable events like Olympic games or Football world cup where famous sites are flood with heavy traffic.
The web applications also needs to gear for some unpredictable events like Sept 11 2001 attack on WTC in New York. Many sites were down due unexpected users accessed the sites on Sept 11th.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
There are numerous situations1. When famous sites like www.msnbc.com, www cnn.com faced
performance problems apart from their preparedness to meet the maximum traffic.
2. Predictable events like Olympic games or Football world cup where famous sites are flood with heavy traffic.
3. The web applications also needs to gear for some unpredictable events like Sept 11 2001 attack on WTC in New York. Many sites were down due unexpected users accessed the sites on Sept 11th.
4. For example On 12 February 2002, MSNBC.com, NBCOlympics.com and Olympics.com handled as many as 260,000 concurrent users.
5. MSNBC and KeyLabs predicted and planned for heavy site traffic by using RadView WebLOAD application testing and analysis software. MSNBC normally handles 15 million pages of information per day but ran at 30 million to 40 million per day during the first week of the Olympics.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
The performance testing includes following testing Load testing: The Load testing determines the system performance at
maximum usage levels. The measure of transaction times during load testing is not as important how far a system can be pushed until it fails. Load testing is a matter of creating different scenarios to ensure proper performance. The purpose of this testing is to simulate thousands of users concurrently visiting and interacting with web site. Concurrent users, session timeouts, and average page response time are three of the most fundamental concepts in load testing.
Stress testing: Stress testing runs or stresses a web application under heavy loads for sustained periods Stress testing determines when the performance of a system degrades over a period of time
In U.S. companies lose approximately $58 million per month in E-commerce sales due to Web page loading failures
-<Zona Research>
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Following tools can be used for load testing
1. Rational Suite TestStudio (Performance Load testing)
2. QALoad (Compuware's QALoad for load/stress testing of
database, web, and char-based systems)
3. Microsoft WCAT load test tool(Web load test tool from
Microsoft for load testing of MS IIS on NT)
4. SilkPerformer (Load and performance testing component of
Segue's Silk testing toolset)
5. Loadrunner (Load testing tool from Mercury; includes web load
testing capabilities)
6. WebLoad (Radview’s load and performance testing tool)
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Security The security is very important psychological factor while retaining
or attracting more users to visit the site. Especially E-Commerce related applications should be geared for security. Security is required for users to protect the users confidential information like credit card information, address, contact information and so on. The site should be able to protect user confidential information from hackers or fraud or viruses. Security needs to be treated as a business level issue, which can be treated as very important feature of any E-Commerce application.
For additional security and encryption, check to see if the Secure Sockets Layer (SSL) protocol is being used.
Following tools can be used for security testing:
1. Entrust (Securing the Internet)
2. ActiveTest Secure Check (Security testing service for web applications)
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Usability
For a large number of products, it is believed that the usability
becomes the final arbiter of quality. This is true for a large
number of desktop applications that gained market share
through providing a good user experience. Usability testing
needs to not only assess how usable a product is but also
provide feedback on methods to improve the user experience
and thereby gain a positive quality image. The best practice for
usability testing should also have knowledge about advances in
the area of Human Computer Interface.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Error handling testing
1. Error handling strategy to be tested thoroughly as the end user should not feel uneasy due to the error message displayed while browsing the site or submitting a web form if any error occurs. The error message and the way message displayed should be user friendly.
2. The error message should be meaningful and appropriate.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Network testing
Tests need to be run to ensure that a site is network able and can
run on several network OS environments. Also stress tests is
needed to ensure that a minimum number of users can use an
application at one time
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
White box testing Vs Black box testing. The manual testing can be done in following well-known software
testing techniques. Manual testing can be done wherever web test automation is not possible or feasible.
1.1 White box testing
Use White box testing to test the site's construction. White box testing in software development involves exercising all possible paths. In Web development, this involves testing every static and dynamic page for coding errors and link errors. Performing white-box testing on dynamic Web sites requires creating an instance of every static and dynamic site page.
1.2 Black Box testing
Black box testing can be used to test the site's functionality. Black box testing helps ensure that a program performs the way it was expected to function. In dynamic Web sites, the states of pages are constantly changing depending on how user visits a site.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Analysis of web testing results
Many of the automated web tools provide test results in different
forms of presentations. The analysis of these results is very
important in improving the web site performance by
understanding the areas of improvement. There are lots of
options available to improve the performance if problem domain
area is identified. Hence the web test result analysis is foremost
important activity to improve the web site popularity.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Tips for Web testing
The figures below represent total page size, including both text and graphics:
1. The 0-10K range qualifies as exemplary
2. Pages between 10-20K rate as well-optimized
3. The 20-40K range is merely adequate
4. 40-60K pages earn a dubious designator
5. Anything over 60K is unacceptable
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
What should be the optimal Download time? Download Time = 0.1 Second-When a Website (or anything, for that matter) operates as quickly as this, it appears to happen instantly to the user. Such loading times are not likely on the Web due to bandwidth constraints.
Download Time = 1 Second-If the site operates this quickly, the user won't have a chance to focus their attention somewhere else. The'll generally be engaged with what happens on your site because of the speed. Again, this time is also unlikely, however it's not impossible.
Download Time = <15 Seconds-This amount of time is accepted to be the threshold for keeping the user's attention focused. Feedback showing that progress is being made should be provided to the user, which is often best achieved by using interlaced images, however the browser progress bar may be sufficient.
Download Time - >15 Seconds -Over 15 seconds is considered to be too long to keep the user's attention focused, and they're likely to lose interest and do other things (e.g. use other Internet sites, check their email etc.) while waiting for your site to download. Or they may simply leave your site for another.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Web testing checklist
Following checklist is useful for web testing
.A perspective on Web Testing\Web Testing Checklist.doc
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Vendors Of Web Testing tools
Following are the list of renowned companies famous in supplying
Web Testing tools.
..\A perspective on Web Testing\Vendors Of Web Testing
tools.doc
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
Conclusion
Website testing is a very important part of web site development and sub sequent maintenance. Whether it be an assessment completed during development, or the analysis of your impact on the audience after you've launched the site, testing is vital. It can save any good Websites from failing to satisfy their visitors.
Business Unit or Product Name
© 200 3 IBM Corporation
IBM Confidential
References
What should a Test to be automated? By Brain Marick for Quality
week magazine.
WebSite testing by Edward Miller of Software Research inc.