Web Testing: a Critical Step in Web Application Development

Web testing: a critical step in web applicationmaximum number of users will see your web pages
developmentand feel comfortable with your site. This is done by
We all want our web sites to work well and to makerunning regression tests against the system at a
a good impression upon visitors. What can we do tomaximum load.
be sure that we provide an excellent web siteStress tests simulate “brute force” attacks
performance without any unpleasant surprises? Thethat apply excessive load to your Web server.
only solution here is to perform web tests where“Real world” situations like this can be
test volume and characteristics of expected trafficcreated by a massive spike of users – caused by
are simulated as realistically as possible.a large referrer (imagine your website being
In this article we will explain the importance of webmentioned on national TV…).
testing and the advantages you get using it. AlsoWhen to perform?
we’ll look more carefully on three main types ofThe best time to execute performance testing is at
web tests according to the tasks they perform.the earliest opportunity. Performance test at an early
Business view on web testingstage provides opportunity to prevent serious
Web site response time should be less than 10performance problems and to find bottlenecks
seconds. This is shown by the following graph, takenbefore load testing.
from the “Load time – the three importantRun load testing just after your eliminated the
limits” article by Jakob Nielsen:bottlenecks in your code (after performance testing).
It is recommended that a stress test is performed
Poor performance on the Internet leads toafter a load test phase.
dissatisfied users, and dissatisfied users may leave aWeb testing software – how does it work?
web site and never return again. Thus, load testingThere is a wide range of web testing software
implemented beforehand and corresponding measureswhich have different features and, of course,
taken to make you response time less than 10different price. Choosing a tool most suitable for
seconds can prevent these losses.one’s business often becomes rather difficult.
Company expenditures on a Web site’s supportYou should consider what you need exactly to spend
should be adequate to site’s expected traffic.your money most effectively. When choosing a web
Ideally, you want to spend enough, and no more,testing tool you’d better try to find one that
allocating resources where they’ll generate thesimulates real load conditions more effective than
most benefit. For example, you don’t need toothers do. This approach is much more efficient than
upgrade your Web servers if customers experienceproducing stress test by sending many identical
most delays in the database server or in somerequests to the server. Usually it’s performed by
scripts. Thus, to maximize your ROI, you shouldsimulating many different users coming from different
determine when and how to upgrade ITIP addresses, each with their own parameters:
infrastructure. Web testing can measure performancecookies, input data for various page forms, name and
of your web system and its components allowingpassword, connection speed and their own specific
you to invest with maximum effectiveness.path through the site. Let’s take a closer look at
Technical view on web testingsome features of web testing tools.
Complete web testing of a system before going liveVirtual users and profiles
is the primary step to get assured of an entire webWeb testing software emulates the activity of
application’s ability to work properly. It can helphuman users with the help of virtual users. Each
address such issues like readiness of your webvirtual user emulates the actions of a single real user.
server for the traffic you are expecting and for theA test run can contain hundreds or even thousands
increasing number of users, the ability to survive aof virtual users to let you emulate the load
massive spike in user traffic, your server hardwareexperienced by a web site when the corresponding
sufficiency and so on. After performing web testsnumber of real users browse it. User profiles describe
you’ll be able to find bottlenecks in your systemsthe behavior of virtual users. This allows to emulate a
before they happen in a production environment.real workload on a tested server. A workload (or
Neglecting performance problems can lead not onlytest volume) is the total amount of activity placed on
to poor end-user experience, but even applicationthe tested web application. It consists of a certain
crashes. Many bugs can only be found when thenumber of virtual users who process a defined set of
system is placed under load. You won’t be abletransactions in a specified time period. For each user
to discover these bugs by testing the system as aprofile, you should specify web pages that will be
single user during the development process. That isrequested (visited). It can be easily done with the
why testing of web systems under load is reallyhelp of recording tool.
important.Recording tool
Performance, load and stress testing –Usually web testing software lets you create profiles
what’s the difference?for virtual users by recording your own actions when
- Performance testing is the process of identifyingyou browse the web site. You should perform all the
how an application responds to a specified set ofsteps of the virtual user for which you create the
conditions.profile. The system then reproduces these steps
- Load testing is a type of testing where realistic (orduring test run. All you have to do is to make some
hyper-realistic) workloads are specified and simulated.requests by clicking on necessary links like you do
The load testing goal is to determine the maximumwhen surfing web pages in your browser. You can
time (from a usability and customer experienceuse this scenario later as many times as you want.
standpoint, not a technical one) it should take for allFlexible load level definition
page elements to load.You can either choose a constant load level for the
- The goal of stress testing is to estimate thewhole test time, or increase the load after the
maximum load that your web server can support.specified time intervals during the test, or periodically
The point is that most performance issues arise onlyincrease/decrease the number of users by
when the server is stressed with a high user load,introducing 2 phases changing one another: one with
because many important bugs simply do not surfacea low load level and another with a high load level.
unless you deal with very large entities such asYou also specify the duration of test run and the
thousands of users, thousands of mail servernumber of virtual users for each profile. Overall load
mailboxes, multi-gigabyte tables in databases, deepsignificantly depends on the type of users, so you
file/directory hierarchies on file systems, etc.can change it by introducing new types of users
Performance Testing Load Testing Stress Testingmaking them “slow” or “fast”.
PurposeTest reports and graphs
You do performance testing in order to find anySummary reports and graphs are useful to determine
bottlenecks in your web-application code andthe presence of any problems in the overall
eliminate them.performance. It’s better to choose a web
 testing tool that provides you with the highest level
 of detail in report. When using a good web testing
You do load testing in order to verify that yourapplication you can check through more detailed
application can meet your desired performancereports down to the level of separate user profiles
objectives with a comfort for the users.and pages to find specific bottlenecks. All reports are
 usually created in HTML format, so you can easily
You do stress testing in order to observe how theshare them with your colleagues. Some tools also
system reacts to failure and how to improve it.support saving test results in MS Excel compatible
How it works?format.
Performance tests verify each part of the webConclusion
server or the web application to discover how toWeb testing software gives you an assurance of
optimize them. Most often this is done by testingreliability and stable work of your web sites or
various implementations of single web pages/scriptsapplications. Of course, you always can neglect
to check what version of the code is the fastest. Allpurchasing testing software and hope that
the activities take a white-box approach – theeverything would be ok. But in that case nobody
system is inspected and monitored “from theguarantees that one day your web site won’t
inside out” and from a variety of angles.crash. So, web testing tool is a worthy purchase,
Load testing uses the best estimate of the trafficisn’t it?
your website needs to support to guarantee that the