Gary的软件测试空间

Performance Test — Soak Test

上一篇 / 下一篇  2009-09-15 10:34:39 / 个人分类:性能测试

Soak Tests (Also Known as Endurance Testing)
Soak testing is running a system at high levels of load for prolonged periods of time.  A soak test would normally execute several times more transactions in an entire day (or night) than would be expected in a busy day, to identify any performance problems that appear after a large number of transactions have been executed.

Also, it is possible that a system may ‘stop’ working after a certain number of transactions have been processed due to memory leaks or other defects.  Soak tests provide an opportunity to identify such defects, whereas load tests and stress tests may not find such problems due to their relatively short duration.

The above diagram shows activity for a certain type of site.   Each login results in an average session of 12 minutes duration with and average eight business transactions per session.

A soak test would run for as long as possible, given the limitations of the testing situation.  For example, weekends are often an opportune time for a soak test.  Soak testing for this application would be at a level of 550 logins per hour, using typical activity for each login. 

The average number of logins per day in this example is 4,384 per day, but it would only take 8 hours at 550 per hour to run an entire days activity through the system.

By Starting a 60 hour soak test on Friday evening at 6 pm  (to finish at 6am Monday morning), 33,000 logins would be put through the system, representing 7½ days of activity.  Only with such a test, will it be possible to observe any degradation of performance under controlled conditions. 

Some typical problems identified during soak tests are listed below:

 Serious memory leaks that would eventually result in a memory crisis,
 
 Failure to close connections between tiers of a multi-tiered system under some circumstances which could stall some or all modules of the system.
 
 Failure to close database cursors under some conditions which would eventually result in the entire system stalling.
 
 Gradual degradation of response time of some functions as internal data-structures become less efficient during a long test.
 

Apart from monitoring response time, it is also important to measure CPU usage and available memory.  If a server process needs to be available for the application to operate, it is often worthwhile to record it's memory usage at the start and end of a soak test.   It is also important to monitor internal memory usages of facilities such as Java Virtual Machines, if applicable.

Long Session Soak Testing
When an application is used for long periods of time each day, the above approach should be modified, because the soak test driver is not Logins and transactions per day, but transactions per active user for each user each day.

This type of situation occurs in internal systems, such as ERP and CRM systems, where users login and stay logged in for many hours, executing a number of business transactions during that time.  A soak test for such a system should emulate multiple days of activity in a compacted time-frame. rather than just pump multiple days worth of transactions through the system.

Long session soak tests should run with realistic user concurrency, but the focus should be on the number of transactions processed.  VUGen scripts used in long session soak testing may need to be more sophisticated than short session scripts, as they must be capable of running a long series of business transactions over a prolonged period of time.

Test Duration
The duration of most soak tests is often determined by the available time in the test lab.  There are many applications, however, that require extremely long soak tests.  Any application that must run, uninterrupted for extended periods of time, may need a soak test to cover all of the activity for a period of time that is agreed to by the stakeholders, such as a month.  Most systems have a regular maintenance window, and the time between such windows is usually a key driver for determining the scope of a soak test.

A classic example of a system that requires extensive soak testing is an air traffic control system.  A soak test for such a system may have a multi-week or even multi-month duration.


TAG: 性能测试 SoakTest

annabelliu的个人空间 引用 删除 annabelliu   /   2009-09-19 10:37:16
招聘-上海-资深软件测试员
基本要求:
         计算机方面专科以上的学历;
         4年以上的软件测试经验;
         具备良好的英语听、说、读、写的能力;
         工作认真、细致、 负责;
专业技能要求:
         能够熟练地根据需求编写测试案例;
         熟练掌握软件的功能测试和性能测试的技巧;
         有使用软件测试工具(如WinRunner,LoadRunner)2年以上的经验;
         能够用测试所需的脚本语言编写有关测试程序;
         具有下列经验者优先考虑:
         做过C/C++或Java编程;
         了解面向对象的概念和技术;
        具有一定的行业测试背景;
        编程经验


annabel@genhr.com
如果感兴趣,请发CV到我邮箱。在收到您的CV后 我会及时联系您。
 

评分:0

我来说两句

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 6611
  • 日志数: 8
  • 图片数: 2
  • 建立时间: 2007-07-26
  • 更新时间: 2009-09-27

RSS订阅

Open Toolbar