Posts

Performance Testing Strategy Template

1.  INTRODUCTION     1.1  Description     1.2  Purpose     1.3  Scope     1.4  Related Documents 2.  PERFORMANCE ACCEPTANCE CRITERIA     2.1  Introduction     2.2  Performance Requirements     2.3  Performance Goals     2.4  Project Completion Criteria 3.  RISKS     3.1  Introduction     3.2  Risk 1     3.3  Risk 2 4.  ASSUMPTIONS     4.1  Introduction     4.2  Assumption 1     4.3  Assumption 2 5. WORKLOAD DISTRIBUTION     5.1  Introduction     5.2  Workload Distribution for application 6. SCRIPT DESCRIPTIONS     6.1  Introduction     6.2  Script1 Overview         6.2.1  Script Mesurements         6.2.2  Script Think Times         6.2.3  Script Data Parameterization         6.2.4  User Profiles    6.3  Script2 Overview 7. TEST EXECUTION PLAN     7.1 Introduction     7.2 Evaluate System         7.2.1 System Architecture (Test)             7.2.1.1  System Under Test             7.2.1.2  Test Input Injection System

Is Physical Memory a Bottleneck?

Introduction Doing analysis during performance testing can be overwhelming if some kinds of light-weight process (e.g. checklist or step by step instructions) are not used. In this article, I will be elaborating on finding if physical memory (RAM) is in scarcity and resulting in bottleneck as a first step of performance analysis process. Most of the time the performance problem in an application is because of bottleneck presents in following hardware resources – Processor Physical Memory Physical Disk Network Bandwidth The hardware resources might not be bottleneck directly but might be resultant of inefficient application(s) design / implementation. Even to find if an application is inefficient, we need to find its effects on hardware resources so that appropriate resolution can be taken during fixing the performance issues. Among all the above hardware resources, the physical memory is the cheapest to replace and we will analyze it in this article to find if it required to be upgr

Is processor a bottleneck?

Introduction When the processor is so busy that it cannot respond to requests in time, we say bottleneck is present in processor.  The situation is partly indicated by high rates of processor activities but mainly by long, sustained queues and poor application responses.  If the processor doesn’t maintain a long (thread) queue but is very busy doing activities then it shouldn’t be a concern. Bottleneck Detection Steps Step 1 Detection of processor bottleneck can be identified by charting following performance counters – Processor: % Processor Time System: Processor Queue Length System: % Total Processor Time If you see % Processor Time often exceeds 90% for sustained period of time and Processor Queue Length is greater than 2 and in case of multiprocessor system % Total Processor Time is greater than 50% then it is highly likely that the bottleneck is present in processor. Step 2 Merely identifying processor bottleneck doesn’t guarantee that upgrading the server with powerful p

Is Network Interface Card a Bottleneck?

An application might have performance issues because of bottleneck present in network.  Network bottleneck results usually because of following reasons – Network Bandwidth Network Interface Capacity Network Bandwidth Network bandwidth is usually discussed in terms of organization’s network bandwidth as well as bandwidth available to public from ISP / network of ISPs.  Network bandwidth is dependent on multiple factors like routers speed, physical network media, firewall etc.  I will not be discussing in this article on how to identify bottlenecks presents in the network.  There are many tools like ping, netstat, traceroute etc. that can be used for identifying problems present in network itself. Following are the list of issues that can be resulted due to inefficient network – a.         Loss of packets b.        Delay in the transmission of the packets (Jitter) c.         Resulting of high latency due to long round trips d.        Low bandwidth availability on physical network medi

Is Disk I/O a Bottleneck?

Types of bottlenecks that can happen pertaining to disk can be due to two reasons – a.         Pertaining to disk space b.        Pertaining to time The disk bottleneck pertaining to space can be identified easily by plotting following counters:             Logical Disk / Physical Disk: % Free Space But identifying disk bottleneck pertaining to time can be little tricky.  Following are the list of few disk parts that can create bottleneck pertaining to time. a.         I/O Bus b.        Device Bus c.         Disk Controller d.        Head Stack Assembly e.         Disk Adapter Over here, I will not discuss about isolating bottleneck present in the part of disk but overall disk.  Once it is confirmed that bottleneck is present in disk then later it can be diagnosed further to find which part of the disk is a bottleneck. For identifying bottleneck present in the disk, plot graph against following counters: a.         Logical / Physical Disk: Average Disk Queue Length b.        Logica

Performance Testing Types

Image
Introduction The target audiences for this article are product manager, project manager, performance test engineer and any one who cares about identifying performance issues in their application(s) before releasing it to market.  This article helps users to take decision on identifying correct type(s) of performance testing that need to be conducted on their application. Frequent releases of applications these days are not fashion but become necessity for businesses to survive.  Bringing quality product out in the market quickly makes software testing also challenging.  In addition to performing functional testing in short span of time, organizations have to consider non functional testing also like performance, security, compatibility, localization etc.  Because of the high cost involved in terms of infrastructure, skill set, duration etc. in non functional testing, outsourcing it to other organization makes business sense most of the time, if done correctly. Performance testing is