Tải bản đầy đủ (.pptx) (54 trang)

Báo cáo Server side testing tips

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.1 MB, 54 trang )

LOGO
Server Side Testing
◊ GVHD: CH. Nguyễn Đăng Khoa
◊ Nhóm: 8
www.themegallery.com
Nguyễn Văn Đồng 09520065
Company Logo
Trần Thiện Khiêm 09520415
Võ Văn Phúc 09520427
Nguyễn Như Quỳnh 09520431
Thành viên nhóm
www.themegallery.com
Server-Side Testing

Introduction

Common Server-Side Issues

Connectivity Issues

Resource Issues

Backup and Restore Issues

Fail-over Issues

Multithreading Issues

Server Side Testing Tips

Using Log Files



Using Monitoring Tools

Creating Test Interfaces or Test Drivers

The Testing Environment

Using Scripts in Server-Side Testing
www.themegallery.com
Introduction

What is server?

Many software services and much processing in a Web application happen on the
server-side rather than on the client-side.

Testing on the server-side is difficult to exercise fully via the UI.
Company Logo
www.themegallery.com
Common Server-Side Testing Issues
Connectivity Issues
Company Logo

Time-Out Issues
Maintaining State
www.themegallery.com
Time-Out Issues
o
Determine what is the longest possible time delay for the various server-side tasks.
o

Set up conditions and test the system against those scenarios.
o
If the application is not architected and implemented well, time-out conditions not
only often lead to loss of connection.
o
For example : In the database systems.
Company Logo
www.themegallery.com
Maintaining State
o
State is a relationship between the client and server wherein information supplied
from previous transactions is available to the server.
o
Many applications use cookies, session IDs, or IP addresses, sometimes coupled
with user logins, to establish an application state.
o
To test state-related problems, you need to understand where and how state
information is stored in the application.
Company Logo
www.themegallery.com
Maintaining State
o
Some state-related problems include:

Lost information

Stale data

“Duplicate” data


Wrong information being sent to a client

Lost clients

Data integrity
o
The configuration settings on the server-side will have an effect on the
behavior of the application.
Company Logo
www.themegallery.com
Resource Issues

A resource is anything that an application uses to properly execute given
Instructions.

Ability to scalable.
Company Logo
www.themegallery.com
Backup and Restore Issues

Backup and Restore data.

Special handling for the backup process to work

The installation guides and operating guides for instructions related to backup and restore process.

On systems using encryption.

In a system that is in continual (24/7) use.
Company Logo

www.themegallery.com
Fail-over Issues

A backup operation that automatically switches to a standby
database, server, or network if the primary system fails or is
temporarily shut down for servicing.

Redirects requests from the failed or down system to the backup
system that
mimics the operations of the primary system.
Company Logo
www.themegallery.com
Fail-over Issues

Is typically an integral part of mission-critical systems that must be
constantly available.

Failover can apply to any network component or system of components,
such as a connection path, storage device, or Web server.
Company Logo
www.themegallery.com
Fail-over trigger failure

Do the fail-over configurations work as expected?

Are (failure of the application) scenarios asboth software-only fail-over
well as hardware fail-over (failure of all nodes) scenarios tested?

What are the possible fail-over scenarios that should be tested?


Upon the occurrence of the fail-over, are users’ requests routed to other
available servers without losing any sessions?
Company Logo
www.themegallery.com

Upon failure, does the failed server restart and automatically resume
processing without performance degradation?

When the primary server in the cluster is brought down under heavy load,
does the fail-over process work as expected; and, ultimately, does the
application recover to its fully functional state?

After a server in the cluster is down, how long does it take for it to resume
processing and to return the site to the service levels of the original
throughput? Is that time frame acceptable?
Company Logo
www.themegallery.com
Failover vs Switchover
Company Logo
www.themegallery.com
Company Logo
Multithreading Issues
www.themegallery.com
What’s threads?

A thread is the smallest unit of independently scheduled code
that a machine can execute.
Company Logo
www.themegallery.com
Threads & Process


Processes are typically independent, while threads exist as
subsets of a process.

Processes have separate address spaces , whereas threads share
their address space.

Context switching between threads in the same process is
typically faster than context switching between processes.
Company Logo
www.themegallery.com
Why

Server receive andanswers to client (the end user) more quickly.

One thread may inadvertently interact with the other threads by
changing global variables or by executing in a different order
than
expected.
Company Logo
www.themegallery.com
Multithreading Issues
Company Logo
www.themegallery.com
Threading testing

One thread may inadvertently interact with the other threads by
changing global variables or by executing in a different order
than expected.


Unit tests are concerned with smaller modules of code.
Company Logo
www.themegallery.com
Threading testing

A problem that appears on one system may not be reproducible
in another environment.

You can use log files to find problems.
Company Logo
www.themegallery.com
Threading testing

Web server

File system for Web server

Database engine

Database file storage
Company Logo
www.themegallery.com
Problems

Time and data.

Resource contention.
Company Logo
www.themegallery.com
Challengers


The behavior of the application can be environment-dependent.

Unit testing will probably fail to reveal run-time multithreaded problems.

Running the various processes on the same machine will limit the
opportunities to reveal multithreading problems.

System interrupts and processing dependency will cause threads to take
varying amounts of time to complete.

Finding multithreading problems often requires running a simple test
thousands of times before the problem will appear.
Company Logo

×