Page 137 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 137
Software Testing and Quality Assurance
4. Stress: Stress testing is a process in which the software is tested for its effectiveness in providing
steady or satisfactory performance under extreme and adverse conditions. These may include
heavy network traffic, heavy process load, under or over clocking of underlying hardware, and
working under maximum requests for resource utilization of the peripheral or in the system.
Stress testing helps to estimate the level of robustness and reliability, even when the limits for
normal operation of the system are crossed. Stress testing is considered vital with respect to
software that operates in critical or real time situation.
Consider a browser window. Users can open multiple browser windows to
navigate between different pages at the same time. However, all these windows
are dependent upon one another, and in case one browser crashes, all of them
crash. Stress testing is carried out in this scenario to test the browser.
Load2Test is a stress, performance, and load testing tool from Enteros Inc.
5. Performance: Performance testing is a testing process used to determine the speed or
effectiveness of software. This process involves performing quantitative tests in a laboratory such
as measuring the response time, the number of instructions executed per second at which a
system functions. The qualitative attributes like reliability, scalability, and interoperability are
also assessed. Performance testing is often conducted with stress testing. Performance testing is
used to confirm that a system meets the specifications stated by its manufacturer. Performance
testing can compare two or more devices or programs in terms of factors like speed, data transfer
rate, bandwidth, efficiency, or reliability. Performance testing can also be used as an analytical
aid in locating communication blocks. It has been noticed that often a system works in a better
way if a problem is resolved at a single point or in a single component.
Even the fastest computer would not function properly on today's Web if the
connection occurs at only 40 to 50 Kbps (kilobits per second).
6. Load: Load testing is a process of subjecting a computer, peripheral, server, network, or
application to a work level that is approaching the limits of its specifications. The load testing
process can be performed under controlled laboratory conditions to compare the capabilities of
different systems or to precisely measure the capabilities of a single system. Load testing can also
be performed in a field to obtain a qualitative idea of the performance of a system in real world.
Load testing is considered as a part of a more general process known as performance testing.
Few examples of load testing are:
(a) Transferring a number of tasks to a printer at a time.
(b) Loading a server with a large amount of e-mail traffic.
(c) Operating multiple applications on a computer server.
The above mentioned testing types can be automated.
In nearly all software development models, the code-test-fix loop gets repeated many times before the
software is released. If the tests are carried out for a particular feature, they are to be performed several
times. The tests are performed to check if the bugs found previously are fixed and that no new bugs are
introduced.
130 LOVELY PROFESSIONAL UNIVERSITY