自动化测试
一、考虑成本:自动化ROI计算
http://www-01.ibm.com/software/rational/offerings/testing/roi/tool/ROI_Rational.html
二、项目计划
三、测试方案:
1.考虑因素:
(1)项目的影响:能否对项目进度、覆盖率、风险有积极作用
(2)复杂度:是否容易实现
(3)时间
(4)早期需求和代码的稳定性
(5)维护工作量:是否能长期保持相对稳定,功能特性是否会进化
(6)覆盖率
(7)资源:人力、硬件、数据资源
(8)执行
四、构建功能自动化测试框架
1.框架:自动化测试脚本的编写方式:
(1)录制回放方式(线性的):缺——冗余度大、可读性差、可维护性差
(2)结构化框架:使用条件状态语句来实现判定、循环任务、调用函数
(3)模块化框架:按测试的功能划分不同模块(录制工具中提供Action来实现脚本的模块化)
(4)函数库结构框架:抽取一些公用的函数,主要包括:
①核心业务、工具类函数:字符串处理、数据库连接等
②导航函数
③错误处理函数
④加载函数:启动被测程序的函数
⑤各类验证(检查点)函数
(5)数据驱动框架:(参数化)
步骤:①参数化测试步骤的数据,绑定到数据表格中的某个字段
②编辑数据表格,在表格中编辑测试数据
③设置迭代次数,选择数据航,运行测试脚本
(6)关键字驱动框架(QTP中的keyword view):把检查点和执行操作的控制都维护在外部数据文件
特点:开发成本高,维护成本低,要求测试人员编程能力强,测试用例由数据定义,需额外的框架或库
五、管理规范:
1.用例选择
2.脚本命名规范、注释规范:每个脚本函数前注明测试目的和简要测试过程描述
3.对公用测试数据的维护
自动化测试——QTP脚本开发
一、关键字驱动测试方法:
1.优:保持结构清晰,让测试的创建和维护阶段更加有效
2.缺:缺乏更强大、灵活的编码支持
二、编辑步骤:
1.编辑对象库
2.选择测试对象
3.选择测试对象的相应操作
4.设置测试逻辑(如:条件判断、循环等)
5.添加检查点:
(1)标准检查点:检查测试对象的属性
(2)图像检查点:检查被测应用程序的图像
(3)位图检查点:把被测应用程序某个区域当成位图来检查
(4)文本检查点:检查文本字符串是否在程序中的适当位置出现
(5)文本区域检查点:检查文本字符串是否出现在预定区域
(6)可访问性检查点:检查网页是否满足W3C的网页内容可访问性指南的要求
(7)页面检查点:检查网页的属性
(8)数据库检查点:检查程序访问的数据库
(9)表格检查点:检查表格信息
(10)XML检查点:检查XML文档
二、数据驱动测试
1.把测试数据提取出来,存储到外部文件或数据库中,从文件中动态读入数据进行测试
2.步骤:
(1)参数化测试步骤的数据,绑定到数据表格中的某个字段
(2)编辑数据表格
(3)设置迭代次数,选择数据行,每次迭代选一行数据
性能测试
一、指标计算:
1、吞吐量:单位时间内处理的客户端请求数量
=并发虚拟用户数*每个用户发出请求量/测试用时
2、并发数量:平均并发用户数=访问系统用户数*登录到退出系统平均时间/考察时长
并发用户峰值=平均并发用户数+3(平均并发用户数开方)
3、思考时间:操作过程中停顿时间=处理时间/请求数
4、响应时间=网络传输时间+服务器处理时延+数据库服务器处理时延
5、点击数:该页面包含的元素向服务器发出的请求次数
6、性能计数器:描述服务器或操作系统、中间件性能的数据指标(eg:内存数、进程时间)
7、资源利用率:资源使用量/总资源可用量*100%
8、网络吞吐量:网络正常工作情况下,单位时间内通过网络的数据数量
9、错误率:负载情况下。失败交易的概率=(失败交易数/总交易数)*100%
10、系统稳定性:系统在标准压力下能够稳定运行的时间
二、基本过程
1、测试场景设计:
(1)以性能测试用例、测试脚本编写为基础,脚本编写完成后需进行:
①如需进行并发操作,加入集合点(同步虚拟用户)
②如需考察某一业务响应时间,插入事物
③如需检查正确执行某功能,设置检查点
④输入不同业务数据,参数化
2、场景运行监控要注意的事项:
(1)负载机可能是多台,时钟要一致,确保监控过程的数据是同步的
(2)场景运行监控也会对系统造成一定负担,所以尽量只收集与测试目标相关的参数信息
(3)以管理员身份登录才能对系统资源等进行监控