Softwareperformance testing one of the most significant factors consideredwhen ascertaining the quality of given software. The quality isassessed in a process known as software performance testing, whichrefers to the practice of determining whether a given system has thecapacity to perform in terms of scalability and responsiveness undera certain workload (Gan, 2006). This implies that the process ofsoftware performance testing has two dimensions, namelyresponsiveness and scalability. Responsiveness refers to the abilityof a given system to meet pre-determined objectives for throughputwhile scalability is the number of activities processed within agiven time.
Softwareperformance testing is done to serve three main purposes. First,testing is done to determine whether the system meets the requiredperformance criteria (Tutorial Points, 2014). Secondly, performancetesting is done to compare two or more software with the objective ofdetermining which one can perform better. Lastly, performance testingis done to measure the parts of a given system that are responsiblefor the poor performance of the system (Gan, 2006). The entireprocess of software performance testing is done to accomplish a setof four goals. First, the first goal is to determine the throughputor the rate of transaction. A system with highly desirableconcurrency goals should be able to identify the end users throughthe long-in procedures (Gan, 2006). The second goals is thedetermination of the server response time, which is the time taken bya given system node to give a response to a request made by anothernode. Third, performance testing is done to determine the responsetime of the render, which requires the inclusion of functional testscripts in the test scenario. The last goal is the determination ofperformance specifications and documenting them in the test plan.
Thereare six major types of software performance testing. First, loadtesting is one of the simplest performance testing techniques thatused to study the behavior of the system in certain load (TutorialPoints, 2014). Load test is mainly done to measure response times,resource utilization levels, and throughput rates.
Secondly,a stress test is performed to determine the upper limit of the systemcapacity and how the system performs when the current load exceedsthe expected maximum. The main objective of performing this test isto identify application bugs that occur in high load conditions(Microsoft, 2014). This test determines the maximum load that a givensystem can support.
Third,soak test is performed with the objective of determining differentparameters of the system in continuous expected load. For example, asoak test can be performed to monitor memory utilization and detectmemory leaks and other performance problems (Microsoft, 2014). Theobjective of performing this type of test is to determine the systemperformance in sustained use.
Fourth,spike testing is performed to determine whether a given system hasthe capacity to sustain the workload (Tutorial Points, 2014). Thetest is accomplished by increasing the number of end-users by a largeamount and assessing the performance of the system.
Configurationand isolation testing are also useful, but they are not common.Configuration testing is performed to determine the impacts ofconfiguration changes to components of the system on the system’sbehavior and performance (Microsoft, 2014). Isolation testing isperformed to isolate the fault domain.
Gan,X. (2006). Softwareperformance testing.Helsinki: University of Helsinki.
Microsoft(2014). Chapter 2: Types of performance testing. Microsoft.Retrieved July 22, 2014, fromhttp://msdn.microsoft.com/en-us/library/bb924357.aspx
TutorialPoints (2014). What is performance testing? TutorialPoints.Retrieved July 22, 2014, fromhttp://www.tutorialspoint.com/software_testing_dictionary/performance_testing.htm