More Related Content Similar to A perspective on web testing (20) More from sivaprasanth rentala (19) A perspective on web testing1. Business Unit or Product Name
© 2003 IBM CorporationIBM Confidential
A Perspective on Web Testing
Sivaprasanth Rentala
srentala@in.ibm.com
TPO,Pune,IGSI.
2. Business Unit or Product Name
© 200 3 IBMIBM 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.
3. Business Unit or Product Name
© 200 3 IBMIBM 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.
4. Business Unit or Product Name
© 200 3 IBMIBM 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.
5. Business Unit or Product Name
© 200 3 IBMIBM 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.
6. Business Unit or Product Name
© 200 3 IBMIBM 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.
7. Business Unit or Product Name
© 200 3 IBMIBM 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.
8. Business Unit or Product Name
© 200 3 IBMIBM 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
9. Business Unit or Product Name
© 200 3 IBMIBM 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.
10. Business Unit or Product Name
© 200 3 IBMIBM Confidential
Following diagram explains the automated web
testing process.
11. Business Unit or Product Name
© 200 3 IBMIBM 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.
12. Business Unit or Product Name
© 200 3 IBMIBM 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.
13. Business Unit or Product Name
© 200 3 IBMIBM 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
14. Business Unit or Product Name
© 200 3 IBMIBM 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.)
15. Business Unit or Product Name
© 200 3 IBMIBM 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.
16. Business Unit or Product Name
© 200 3 IBMIBM 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)
17. Business Unit or Product Name
© 200 3 IBMIBM 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
.
18. Business Unit or Product Name
© 200 3 IBMIBM Confidential
There are numerous situations
1. 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.
19. Business Unit or Product Name
© 200 3 IBMIBM 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>
20. Business Unit or Product Name
© 200 3 IBMIBM 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)
21. Business Unit or Product Name
© 200 3 IBMIBM 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)
22. Business Unit or Product Name
© 200 3 IBMIBM 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.
23. Business Unit or Product Name
© 200 3 IBMIBM 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.
24. Business Unit or Product Name
© 200 3 IBMIBM 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
25. Business Unit or Product Name
© 200 3 IBMIBM 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.
26. Business Unit or Product Name
© 200 3 IBMIBM 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.
27. Business Unit or Product Name
© 200 3 IBMIBM 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
28. Business Unit or Product Name
© 200 3 IBMIBM 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.
29. Business Unit or Product Name
© 200 3 IBMIBM Confidential
Web testing checklist
Following checklist is useful for web testing
.A perspective on Web TestingWeb Testing Checklist.doc
30. Business Unit or Product Name
© 200 3 IBMIBM Confidential
Vendors Of Web Testing tools
Following are the list of renowned companies famous in supplying
Web Testing tools.
..A perspective on Web TestingVendors Of Web Testing
tools.doc
31. Business Unit or Product Name
© 200 3 IBMIBM 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.
32. Business Unit or Product Name
© 200 3 IBMIBM 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.