WEb vs Client Server

17
r. Robert L. Probert .I.T.E., University of Ottawa ctober 2005 CSI 5111 Web Testing vs. Traditional Testing

Transcript of WEb vs Client Server

Page 1: WEb vs Client Server

Dr. Robert L. ProbertS.I.T.E., University of OttawaOctober 2005

CSI 5111Web Testing vs. Traditional Testing

Page 2: WEb vs Client Server

Contents - Web Testing vs. Traditional Testing

• The Application Model

• Hardware and Software Differences

• Web vs. Traditional Client-Server

• Web Systems

• Bug Inheritance

• Other Issues

Page 3: WEb vs Client Server

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.

Page 4: WEb vs Client Server

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.

Page 5: WEb vs Client Server

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.

Page 6: WEb vs Client Server

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.

Page 7: WEb vs Client Server

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.

Page 8: WEb vs Client Server

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.

Page 9: WEb vs Client Server

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.

Page 10: WEb vs Client Server

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.

Page 11: WEb vs Client Server

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.

Page 12: WEb vs Client Server

Web Systems

Page 13: WEb vs Client Server

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.

Page 14: WEb vs Client Server

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.

Page 15: WEb vs Client Server

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.

Page 16: WEb vs Client Server

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.

Page 17: WEb vs Client Server

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.