更多课程 选择中心

软件测试培训
达内IT学院

400-111-8989

测试设计方法:容量测试用例设计方法(干货)


容量测试是用来研究程序已经加载非常大量的数据后,处理很少量或很大量数据任务时的运行情况。

一、方法简介

1. 定义

容量测试是用来研究程序已经加载非常大量的数据后,处理很少量或很大量数据任务时的运行情况。这一测试主要关注一次处理合理需求的大量数据时功能的运行情况。

2. 设计方法

系统中有许多功能都需要进行容量测试,比如:在局容量中进行了限定的指标都需要进行容量测试,另外系统经常扩容或者改版,每次扩容和改版都需要进行相应的容量测试。容量测试是用来测试系统已经加载了大量数据的情况下,系统各个功能的运行情况。容量测试有两个关键点:(1)如何加载大容量的数据;(2)加载数据后,需要进行哪些测试。以下用一个配置表的容量测试进行说明。

二、加载大容量数据的方法

添加数据一般需要开发测试脚本,根据数据呈现出的不同规律性,脚本的开发方式也有所差异,下面介绍使用WinRunner开发容量测试脚本的三种方式:

1. 开发结构化脚本进行容量测试

结构化脚本类似于结构化程序设计,利用脚本中的指令控制脚本的执行。这些指令一般是选择结构或者迭代结构。选择控制结构使脚本具有判断功能,最普通的形式是if语句。迭代控制结构可以根据需要重复一条或者几条语句,直到满足重复的次数为止。我们正是利用了WinRunner脚本的能够循环添加数据的功能达到容量测试的目的。结构化脚本适用于所添加的数据具有某种规律性,把数据的这种规律性以脚本的形式设计出来就可以完成数据的添加。

脚本设计步骤如下:

(1)寻找添加数据的规律,容量测试的数据在添加的时候一般都具有规律性,有的以某个关键字递增,有的以某个指标递增,首先把这种规律总结出来;

(2)将数据增加的规律以脚本的形式录制下来;

(3)添加迭代结构和选择控制结构,一般以循环结构满足数据重复添加的需要;

(4)调试并运行脚本,添加数据;

下面以添加No.7路由为例进行说明。

(1)寻找规律。局容量中设定了No.7路由的最大值为255,通过试验,我们发现No.7路由数据以路由号为关键字递增,每次添加路由数据成功后,添加的路由号都被删除,新添加时只需记录先前的位置即可。

(2)录制单次执行的脚本。如下所示:

# Add signaling route

win_mouse_click ("Add signaling route", 165, 46);

win_type ("Add signaling route","Route");

win_mouse_click ("Add signaling route", 193, 154);

(3)添加迭代语句。局容量中No.7路由的最大值为255,我们要将步骤(2)中录制的语句循环执行255次就可以添加255条数据,为此需要在(2)中的脚本上加入控制结构,如下:

For(i=0;i<255;i++)

{

# Add signaling route

win_mouse_click ("Add signaling route", 165, 46);

win_type ("Add signaling route","Route");

win_mouse_click ("Add signaling route", 193, 154);

}

(4)循环执行,添加数据。

2. 数据驱动的容量测试

如果添加的数据没有规律,那么就需要使用数据驱动脚本。数据驱动是指通过读取本地Excel表的方式进行测试。当执行数据驱动脚本时,WinRunner会读取数据表中的每一笔数据,并放入被参数化的地方,然后执行一次,直到把所有的数据都添加完为止。

脚本的设计步骤如下:

(1)将需要添加的数据放入一个Excel表中,表的第一行表示这组数据的名称。表中的数据可以是杂乱无章、毫无规律的数据,WinRunner将读取该表的数据添加到被测系统中;

(2)录制一个添加数据的普通脚本,我们将在这个脚本的基础上构建数据驱动测试;

(3)加上开启及关闭数据表的指令;

(4)加上循环语句,完成读取数据表的每一笔数据的功能;

(5)将脚本中录制的固定值参数化为数据表的字段值;

(6)调试并执行脚本,添加数据;

下面以号码分析为例进行说明。

(1)建立Excel数据表。将需要进行号码分析的数据添加到该表中,注意第一行表示数据的名称,不是真正的数据。

(2)录制普通脚本。录制号码分析的普通脚本,其中133851就是添加的号码,后面我们将对这个号码参数化,使其能够读取Eecel数据表中的数据。

# Add the Analysed Digit Type5 [Local Network] Entry5

win_mouse_click ("Add the Analysed Digit Type5 [Local Network] Entry5", 174, 25);

win_type ("Add the Analysed Digit Type5 [Local Network] Entry5","133851");

(3)添加开启和关闭数据表的指令,数据表只有在打开的条件下才能够读取数据。

table = "D:\\ table\\config_table.xls"; 表的路径

rc = ddt_open(table, DDT_MODE_READ);

if (rc!= E_OK && rc != E_FILE_OPEN)

pause("Cannot open table.");

# Add the Analysed Digit Type5 [Local Network] Entry5

win_mouse_click ("Add the Analysed Digit Type5 [Local Network] Entry5", 174, 25);

win_type ("Add the Analysed Digit Type5 [Local Network] Entry5","133851");

ddt_close(table);

注:该步骤也可以使用WinRunner 自带的数据驱动向导进行添加。

(4)添加循环语句。通过循环语句逐句读取数据表中的数据,完成数据的自动添加。

table = "D:\\ table\\config_table.xls";

rc = ddt_open(table, DDT_MODE_READ);

if (rc!= E_OK && rc != E_FILE_OPEN)

pause("Cannot open table.");

ddt_get_row_count(table,table_RowCount);

for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)

{

ddt_set_row(table,table_Row);

# Add the Analysed Digit Type5 [Local Network] Entry5

win_mouse_click ("Add the Analysed Digit Type5 [Local Network] Entry5", 174, 25);

win_type ("Add the Analysed Digit Type5 [Local Network] Entry5","133851");

}

ddt_close(table);

(5)参数化。将固定值133851替换为表的Digit参数,这样每一次循环就可以读取数据表的一个值,而不是原先的固定值了。

table = "D:\\ table\\config_table.xls";

rc = ddt_open(table, DDT_MODE_READ);

if (rc!= E_OK && rc != E_FILE_OPEN)

pause("Cannot open table.");

ddt_get_row_count(table,table_RowCount);

for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)

{

ddt_set_row(table,table_Row);

# Add the Analysed Digit Type5 [Local Network] Entry5

win_mouse_click ("Add the Analysed Digit Type5 [Local Network] Entry5", 174, 25);

win_type ("Add the Analysed Digit Type5 [Local Network] Entry5", ddt_val(table,"Digit"));

}

ddt_close(table);

(6)调试并执行步骤5中的脚本,即可完成数据的自动添加。

3. 结构化脚本和数据驱动相结合

如果添加的数据跟测试环境(如局向号、版本号等)有很大的关系,但是测试环境一旦确定下来,其数据又有很大的规律性,在这种情况下添加数据就需要将上述的两种方法结合起来开发脚本。使用数据驱动应对测试环境的变化,使用结构化脚本应对测试数据的变化,具体的使用方法2.1和2.2中已经说明,在此不再赘述。

三、 加载数据后的测试项

容量测试需要测试的内容:一是大容量的数据是否可以加载成功;二是加载大容量数据后系统是否可以正常运行。第二点需要根据系统的特点不断的进行整理总结,如下是一个配置表加满后的测试设计项目:

1. 能够添加最大的容量数据,在达到最大容量时功能能够正常运行;

2. 达到最大容量后,该功能的显示、修改和删除正常;

3. 超出容量最大值时会有限制,且提示已经达到了最大容量;

4. 能够进行备份、恢复和数据同步,同步后系统能够稳定的工作;查看前台表,数据跟后台一致,尤其是最后的几条记录;

5. 关联功能的测试,添加大容量的数据后,与该功能关联的功能能够正常使用;

6. 进行主备倒换和重启,单板能够启动并运行正常;

7. 日志管理中没有异常的日志信息;

8. 告警管理中,如果有相关的告警其告警信息正确;

9. 加满数据后不影响后台的使用,后台的CPU和内存冲高后可以恢复;

10. 前台的CPU和内存冲高后可以恢复;

11. 达到最大容量后,删除部分排序在前的数据,再次增加:

(1)配置数据达到最大容量;

(2)删除部分中间的数据或者排序在前面的数据;

(3)再次增加数据,测试是否能够增加成功。

四、总结

容量测试不仅仅是添加数据就可以了,要进行全面、深入的容量测试,必须在加载数据的基础上从多个不同的角度测试系统。本文给出了加载数据的方法和加载数据后的测试样例,实际应用中需要根据不同系统的特点进行不同的设计。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:评估软件质量和可靠性的两大指标、模型和因素!
下一篇:复杂测试用例设计案例剖析,一起来烧脑

selenium网页端的自动化测试

嵌入式自动化测试框架

白盒测试环形复杂度怎么算?

软件测试计划的内容

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

陕西省

湖南省

贵州省

云南省

广西省

海南省