Professional Documents
Culture Documents
Pure Test - Software Testing Tutorial
Pure Test - Software Testing Tutorial
Tutorial
The best tester isn’t the one who finds the most bugs or who
embarrasses the most programmers. The best tester is the one who
gets the most bugs fixed.
1. Performance Testing
In white box testing testers, developers, system administrators and DBAs
work together in order to instrument the application code and the
database queries (via specialized profilers for example), and the
hardware/operating system of the server(s) running the application and
the database (via monitoring tools such as vmstat, iostat, top or Windows
PerfMon). All these activities belong to performance testing.
c. at the operating system level, system engineers can use utilities such
as top, vmstat, iostat (on Unix-type systems) and PerfMon (on Windows)
to monitor hardware resources such as CPU, memory, swap, disk I/O;
specialized kernel monitoring software can also be used
d. at the network level, network engineers can use packet sniffers such as
tcpdump, network protocol analyzers such as ethereal, and various
utilities such as netstat, MRTG, ntop, mii-tool.
From a testing point of view, the activities described above all take a
white-box approach, where the system is inspected and monitored "from
the inside out" and from a variety of angles.
2. Load Testing
Are you actively profiling your application code and/or monitoring the
server(s) running your application? If the answer is yes, then you're
engaged in performance testing. If the answer is no, then what you're
doing is load testing.
In the testing literature, the term "load testing" is usually defined as the
process of exercising the system under test by feeding it the largest tasks
it can operate with. Load testing is sometimes called volume testing, or
longevity/endurance testing.
Although performance testing and load testing can seem similar, their
goals are different. On one hand, performance testing uses load testing
techniques and tools for measurement and benchmarking purposes and
uses various load levels. On the other hand, load testing operates at a
predefined load level, usually the highest load that the system can accept
while still functioning properly. Note that load testing does not aim to
break the system by overwhelming it, but instead tries to keep the
system constantly humming like a well-oiled machine.
3. Stress Testing
If you want to actually discover bugs and to see if your application fails
and recovers gracefully, you need to do stress testing. Blast your Web
server with double the number of users for example. Unplug network
cables randomly (or shut down/restart switch ports via SNMP). Take out a
disk from a RAID array.
The main purpose behind this madness is to make sure that the system
fails and recovers gracefully.
Here are some ways in which stress can be applied to the system:
a. double the baseline number for concurrent users/HTTP connections
b. randomly shut down and restart ports on the network switches/routers
that connect the servers (via SNMP commands for example)
Differences
b. Load test: To verify application behavior under normal and peak load
conditions
1 Comments:
vik said...
good article with simple examples. Thanks.
Post a Comment
Create a Link
With Love
Intelligaia
Chaos to Clarity
List of Universities
ISTQB EXAM QUESTIONS