Professional Documents
Culture Documents
White Paper
June 2011
White Paper: Web App Testing
White Paper
Web App Testing
How to test and launch a world-class application
Table of Contents
Introduction.. 3
- New Challenges, Old Solutions.. 3
- The Crowdsourcing Advantage.. 4
- Testing Types.... 4
About uTest.. 12
2
White Paper: Web App Testing
Introduction
New Challenges, Old Solutions for Testing Your Web Application
Establishing procedure amidst a constant state of change may seem like an absurdity
(and a losing battle), but this is what todays software companies face when it comes to
testing their web applications. Aside from an expanding matrix of new browsers, plugins,
third party apps, programming languages and more, there are now thousands, if not
millions, of new users from all around the globe. Of course, none of this was in the
manual!
Complexity kills. It sucks the life out
Thus, the purpose of this whitepaper is of developers, it makes products
twofold. While our 10 Tips section will
difficult to plan, build and test, it
help you stay on top on of the latest
trends in web app testing, our
introduces security challenges, and it
introduction will outline the basics of causes end-user and administrator
functional, usability and load testing for frustration.
web-based applications. Along the - Ray Ozzie
way, well cover topics such as: Chief Software Architect, Microsoft
Third Party Apps: Your
product is only part of the equation - what about the satellite apps that are
orbiting your web application?
Cloud Computing: With opportunity comes risk. Theres a ton of upside to cloud
computing, but what happens to your web app when it fails to functional
properly?
Multimedia: How will your web app perform for users with different versions of
Flash, Acrobat, Java, etc.? Have you thought about HTML5 and the challenges
of managing H.264 vs. Theora?
Plugins: While the use of plugins may be slowing, the use of extensions are not.
Learn why plugins and their extensions should be a testing focal point.
Localization: Obviously, your application needs to work where your users
reside. Discover why most software companies underestimate the importance of
localization in their web testing.
Deadlines: Your web application will never be perfect, so how will you know
when its safe to launch? Its called the Testing Managers Dilemma and well
show you how to deal with it.
Metrics: As one testing expert put it, When your car is about to go off a cliff, its
a weird time to be thinking about gas mileage and drag coefficients. Find out
how metrics can mislead.
3
White Paper: Web App Testing
To learn more about the growing trend of crowdsourcing - and how companies of all
sizes can use it to complement their in-house efforts check out the 8 Essentials of
Crowdsourcing whitepaper.
Bottom line: Does your web application work when, where and how your users need it
to work?
Usability Testing
Beta testing may be suitable for some large companies (mainly those with name
recognition) who want to solicit user feedback, but it is NOT an effective substitute for
usability testing, which should include professional analysis of:
Graphics: Have you identified and addressed the major GUI bugs in your web
app? Are the color schemes easy to understand (in every country of your user
4
White Paper: Web App Testing
base)? Many of these flaws will not be reported by beta users, but they should be
known about and fixed before launch.
Feature Set: This can include the intuitiveness of shopping lists, online
checkouts and other e-commerce actions; the accuracy of search results, data
entry, sign-up forms and other features.
Accessibility: Is your application accessible for all users, including the visually
impaired? Does your app involve parental or administrator restrictions? Be aware
of your legal obligations.
Benchmarking: How does your web application stand up to that of your closest
competitors? What about your own previous versions? What areas does it
compare favorably or unfavorably?
Overall Usability: Beta testers - if they report bugs at all - are likely to respond
with this-site-sucks or this-site-is-great type of analysis. When launching a
web application, professional, non-biased analysis is essential.
Bottom line: Is your web application intuitive and highly usable for your target
audience?
Load Testing
How will your web application hold up when it
The real value of tests is not
needs to most? Synthetic load tools are helpful in
that they detect bugs in the code,
simulating these types of scenarios, but with the but that they detect inadequacies
assistance of real testers, you can obtain a in the methods, concentration
complete picture of how your application and skill of those who design and
performs under stress. produce the code.
Load testing should, at the very least, involve one
of the following methods: - Tony Hoare
Testing Expert
Live Load Testing: A team of live testers
(preferably from where your users reside whether it be North America or a
global audience) will test your application simultaneously, enabling you to see
how your app performs under real-world, non-simulated load. This process, as its
name would indicate, requires NO automated tools. Ideal for web apps that
contain Flash, streaming video or other types of multimedia that are difficult to
evaluate with simulated load.
Simulated Load Testing: Using the simulated load testing tool of your choice
(more on this below) you can obtain a realistic snapshot of your web application's
performance under peak synthetic usage.
5
White Paper: Web App Testing
Bottom line: Will your web application perform as expected under maximum pressure?
Will it crash? Will the performance degrade?
Some people enslave numbers. They make numbers work too hard, and too
often. Ive seen organizations collect piles of data about defect escape ratios and
defect detection percentages. They hire market research firms and calculate the
ratio of happy customers to unhappy customers. But the aggregated data doesnt
6
White Paper: Web App Testing
tell you anything specific on how to make things better for the unhappy
customers.
In other words, while comprehensive testing will present you with a ton of raw data,
the most important information will still come from your testers, managers and
customers.
Live chat
Checkout processes
Search plug-ins
RSS Feeds
Embedded videos or audio players
Ad servers or embedded ads
Web analytics packages
Blogs, forums and message boards
Social networking modules or toolbars (like Tweet streams or Digg)
Do any of these apply to your web application? To your users, these are part of your
app.
Besides, to a good testing manager, their job is never complete. In theory, software
testing could go on forever! Despite knowing better, software executives regularly
pressure their testing managers into providing an answer, and end up being told
what exactly they want to hear.
Also, it is okay to fall off the agile wagon every once and awhile. With the short sprint
cycles and constant deadlines, its amazing that more companies dont wind up there
more often. But just because you cant maintain a truly agile schedule 24/7, doesnt
mean that certain aspects of your development (like testing consistently) should ever
be abandoned.
7
White Paper: Web App Testing
Is your web app behaving the way your privacy policy claims it does?
Can a tester easily get an app to cough up the private data of another user?
For example, if they see user_id=232 in the URL, what happens if they
change it to user_id=231? Do they get to see someone elses personal
data?
Are you sharing personally identifiable information about your users with
third-parties like Salesforce.com or Google Analytics? What about the
company thats hosting your app?
What happens if your web app is cached when it shouldnt be? Does it share
the wrong data with people? What happens if you actually want caching? Is it
sending out the right things to be cached? Are end users actually seeing a
benefit?
8
White Paper: Web App Testing
Is your site vulnerable to common security exploits like XSS, injection flaws,
broken authentication, flawed session management, unvalidated redirects
and forwards?
Since these areas are sometimes overlooked by in-house teams, it can be helpful to
leverage testers who are skilled in testing, but new to your application.
6. Multimedia, Multi-Problems
How much does your web application rely on Flash, HTML 5, Java and other rich-
media tools? Even if you answered a little bit, multimedia testing - including load
testing - should become a critical component of your testing from this day forward.
If test teams can work with development (rather than blame them) to improve the
quality of the software prior to code completion, then it will improve the speed of the
whole system. Buggy software can seem like the test teams fault, but it is important
realize that other factors are contributing the pace of each development cycle - so
dont take it out on your testing team.
Making developers better, helping them understand failures and the factors that
cause them will mean fewer bugs to find in the future. Testers are quality gurus
and that means teaching those responsible for anti-quality what they are doing wrong
and where they could improve.
9
White Paper: Web App Testing
8. Be Everywhere
Does your web application work in New Zealand? What about Singapore? If your
web app is localized that is, if your users are dispersed throughout the globe then
youll need to test language translation, currency conversion and other location-
specific features. Aside from functionality, it is equally important to run usability
testing with users from around the world.
Neither in-house QA teams nor outsourcing firms can efficiently complete such a
task. It would be (and indeed, has been) time-consuming, costly and impractical. And
thus, it has been ignored. However, crowdsourcing enables you to easily leverage a
global community of professional testers, letting you handpick the testers you need
to fill out your testing coverage matrix.
Plugins remain a significant problem for web application developers. In fact, most of
the security issues on the web today are a direct result of Flash and Acrobat bugs. In
many cases, people end up with ancient versions of Acrobat reader that can run
random exploits simply because they forgot to make the needed updates. Does this
sound familiar?
Also, while the sheer number of browser plugins has declined in recent years,
extensions have gained in popularity. While less common (and usually only found on
more advanced users browsers), extensions can dramatically impact how an app
will work if they are buggy. As such, they too will require testing prior to launch.
10
White Paper: Web App Testing
Also, CSS3 is slowly making its presence felt. In fact, many web apps already use it
for additional layout effects. If you go down this road, how will non-CSS3 browsers
deal with this?
Cloud computing is another major trend to keep in mind when testing your web app.
How will your application behave when different parts of the cloud are misbehaving?
What happens to your lead generation efforts, for example, if your CRM system
malfunctions? Or if Omniture goes down for an hour? What effect will this have on
your users? Consider these cloud issues when testing.
While some trends will die before their time, others will persist far beyond whats
anticipated. For web application companies, it is critical to be mindful of these trends
and remain on the offensive.
11
White Paper: Web App Testing
About uTest
uTest provides in-the-wild testing services that span the entire software development lifecycle
including functional, security, load, localization and usability testing. The companys community
of 50,000+ professional testers from 180 countries put web, mobile and desktop applications
through their paces by testing on real devices under real-world conditions.
More info is available at www.utest.com or blog.utest.com, or you can watch a brief online
demo at www.utest.com/demo.
uTest, Inc.
153 Cordaville Road
Southborough, MA 01772
p: 1.800.445.3914
e: info@utest.com
w: www.utest.com
Case Study
Case Study
12