You are on page 1of 17

CSI 5111

Web Testing vs.
Traditional Testing
Dr. Robert L. Probert
S.I.T.E., University of Ottawa
October 2005
Contents - Web Testing vs.
Traditional Testing

• The Application Model
• Hardware and Software Differences
• Web vs. Traditional Client-Server
• Web Systems
• Bug Inheritance
• Other Issues
The Application Model (1)

• A computer system receives input from the User, stores
that input, uses the stored input in a computation and
then returns the results to the User through the User
Interface as output.
The Application Model (2)

• A mainframe system where all applications processes
(except for User Interface controls) reside on the
mainframe computer. A dumb terminal acts as the User
Interface and simply echoes input to the mainframe.
The Application Model (3)

• A Desktop PC system consolidates all processes - from
UI through rules to file systems- on a single physical box.
No network is required.
The Application Model (4)

• A Client-Server system contains at least two machines,
a client computer and a server computer, which provides
requested data to the client computer.
The Application Model (4,
continued)
• The client-server model:
• The server receives input from the client and
manipulates the data by applying the application’s
business logic rules.
• Business logic rules are the computations that an
application is designed to carry out based on user input.
• The client-server model is not as clearly segmented as
the server or desktop models. Computation time and
storage can be split between both the client and server.
• Server-side processes can be split up between multiple
machines.
Hardware and Software
Differences
• A traditional mainframe system is a controlled
environment, meaning that hardware and software are
primarily supported, end to end by the same manufacturer.
• A single desktop system consists of mixed hardware and
software- multiple components built by a variety of
manufacturers, which allows for virtually limitless
combinations of hardware and software.
• A Web system consists of many individual clients and
servers all of which may have different (multiple-vendor)
hardware and software configurations.
Web vs. Traditional Client-
Server
• Client-Side Applications:
• Most client-server systems are data-access-driven
applications. A client typically enables users, through the
UI, to send and receive data, and interact with the back
end.
• Most Web-based systems are also data-access-driven
applications. The main difference is that the Web-based
client is operating within the Web browser’s environment.
Web vs. Traditional Client-
Server (2)
• Event Handling:
• In the GUI and event-driven (FSM) models, inputs are
events. Events are actions taken by users, the primary
examples being a mouse click or keyboard entry.
• Testing event-driven applications is more complicated
because it’s very labor-intensive to cover the testing of
the many possible combinations and sequences of
events.
• A good understand of the event-driven model is needed
to be able to develop usefful test cases and reproduce
errors effectively.
Web vs. Traditional Client-
Server (3)
• Application Instance and Windows Handling:
• Standard event-based applications may support multiple
instances, meaning that the same application can be
loaded into memory many times as separate processes.
• Many event-based applications also support having
multiple documents available simultaneously. Such
programs are said to be multiple document interface (MDI)
applications .
• The Web browser interface is considered flat because it
can only display one page at a time.
Web Systems
Web Systems (2)
• Hardware Mix:
• Web systems (both client and server) often contain a
mix of many brands of hardware to support, which can
lead to an environment that is hard to control.
• These hardware mixtures present testing challenges
because different computers in the same system may
employ different OSs, CPU speeds, buses, I/O interfaces,
and more.
• Software Mix:
• Web systems may consist of various OSs, Web servers,
firewalls, database servers, e-commerce servers, etc.
Web Systems (3)
• Software Mix (continued):
• Software is often designed to run on a wide range of
platform and OS combinations, and risks of software
incompatibility are always present.
• Server-Based Applications:
• Since a typical user doesn’t interact with the server
directly, it is sometimes difficult to reproduce errors that
deal with the server, or to correctly diagnose problems.
Bug Inheritance
• Web applications often rely on preexisting components.
Unfortunately this means that newly created systems often
contain the bugs that exist in those components.
• This problem has two major impacts on testing:
• Objects and existing components need to be checked
and tested thoroughly before including them in any code.
• Regression testing must be executed comprehensively.
Other Issues
• Back-End Data Accessing:
• Data in a Web system is often distributed; that is, it
resides on one or more (server) computers rather than on
the client.
• Thin-Client versus Thick-Client Processing:
• Thin-client systems do very little processing, and in
general simply display formatted server output.
• Thick-client systems might have the entire UI portion of
the application as well as execution of some or all of the
business logic on the client side. There may be more
incompatibility issues on a thick-client system.
Other Issues (2)
• Interoperability:
• Interoperability is the ability of a system or components
within a system to interact and work seamlessly with
other systems or other components. This is normally
achieved by adhering to certain APIs, communication
protocol standards, or to interface-converting technology
such as Common Object Request Broker Architecture
(CORBA).
• It is essential that the test-planning process for any Web
application include a study of the system architectural
design.