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
   132   133   134   135   136   137   138   139   140   141   142