如何进行测试方案设计

时间:2020-12-04 08:52:59 辅助设计与工程计算 我要投稿

如何进行测试方案设计

  容量测试是用来研究程序已经加载非常大量的数据后,处理很少量或很大量数据任务时的运行情况。下面请看小编带来的如何进行测试方案设计!

如何进行测试方案设计

  如何进行测试方案设计

  一、方法简介

  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: tableconfig_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: tableconfig_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: tableconfig_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)再次增加数据,测试是否能够增加成功。

  四、总结

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

【如何进行测试方案设计】相关文章:

如何进行职业定位01-19

如何进行自我评价09-08

美联储为什么要进行银行压力测试?03-13

如何对医疗事故进行鉴定08-11

小企业应该如何进行战略管理01-11

如何看动态筹码分布进行股票操作09-21

如何对鼠标键盘进行日常维护12-18

奶茶店创业要如何进行管理01-13

物流企业如何有效进行成本管理的论文07-28

该如何对电力企业进行绩效管理01-14