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