python3自动化测试_python3实现自动化测试 [基于python语言实现自动化测试的研究]...

[摘 要]自动化测试近年来的技术已经越来越成熟,在某些方面有着不可替代的作用,例如在性能测试,压力测试中,自动化测试可以模拟成千上万个用户对目标程序进行测试。本文通过对大型实际项目的分析研究,分析针对某一产品的自动化测试框架。然后讨论怎样用python实现自动化测试。

[关键词]测试技术手工测试自动化测试python脚本

[中图分类号]TP3[文献标识码]A[文章编号]1007-9416(2010)03-0088-01

地添加测试用例,为测试用例提供公用函数,执行测试用例,发送测试结果等功能。

1 自动化测试的重要概念

检查点(CheckPoint):将特定属性的当前数据与期望数据进行比较的地方,用于判定被测试程序的功能是否正确。

成本收益比:并不是所有的测试都适合自动化测试,衡量一个用例是否适合自动化测试一个很重要的参考是国际上流行的自动化测试成本收益比,即是p=k*n/c1+c2。各个参数的意义下:

K=手工执行自动化测试案例所花费的时间成本。

N=自动化测试案例执行的次数

C1=花费在自动化测试前期的(时间成本+人力成本+金钱成本)

C2=花费在自动化测试后期的(时间成本+人力成本+金钱成本)

二八定律:1897年意大利经济学家帕列托发现的二八定律在软件行业同样适用,而可以给我们很多启发,指导我们的软件开发和测试。80%的用户经常使用的是20%的软件功能。在软件测试中,80%的bug是集中在20%的软件模块中,对于自动化测试来说,找出这20%的测试用例是至关重要的。

2 自动化测试的执行步骤

每次脚本都是从一个统一的文件开始执行的,就是如上的Start.py。这样做的好处是可以把每个脚本都需要处理的工作放到一个文件中去执行,例如收集一些配置信息,读取命令行参数。以这样统一的处理风格为脚本的可读性提供了保证,也为简化了测试脚本的编写,不用每次都要处理一些基本的事务。

启动文件Start.py首先会读取命行参数,如pthon Start.py -s FileMenu.suite -t FileNew

通过python的内置函数sys.argv就可以读取命令行参数,非常方便。读取到命令行参数后,在Start.py内部可以判断命令行的格式是否符合我们的格式,如测试人员不小心把-s 写成了-z 这样就要退出测试执行。

如果输入的格式是正确的,Start.py 负责在特定的目录下寻找特定的Suite文件和Testcase。Suite文件和Testcase的格式会在下边的具体实例中作介绍。

找到特定的Testcase后就可以执行测试用例,根据检查点的通过或失败发送测试报告,该报告会以网页的形式显示,方便测试人员和开发人员的查找调试。

3 用python实现GUI测试

图形用户界面(GUI) 就是使用图象,输入的文字,带图标的计算机界面,取而代之了许多键盘的功能。GUI可以让用户通过图标和鼠标与计算机进行交互,而不是单调地在命令行中输入文本进行操作。设计良好的图形用户界面可以使用户从命令中解放出来。

GUI测试主要包括两个方面:一是纯GUI测试,主要关注应用程序上GUI组件是否符合规范或是用户的使用习惯,二是功能测试,主要是检验和验证系统是否实现了系统的业务需求,旨在验证系统的业务实现能力。但事实上两者不是完全独立的,一方面GUI的测试必定要触发功能,另一方面,功能测试也一定要通过GUI将事件传递给后台服务。

3.1 编写测试用例

ID 466540 :: Test CaseGeneral UI File Menu

Version 2

PriorityP1

Summary:Verify File New window

Steps

SelectFile -> New

Expected Results

1. The VM creation window should open.

Keywords: i18n

Requirements : None

Created on 09/22/2008 20:58:23by wangw

Last modified on04/17/2009 00:20:53by marian

3.2 测试用例分析

以上是一个完整测试用例, 该测试用例包括:

测试ID 466540 , 有了测试ID就可以在测试人员提交bug后,QA或开发人员通过ID找到这个测试用例。还有一个更大的用处就是,在自动个脚本生成测试报告后,可以根据测试ID把该测试用例显示在测试报告中,以供测试人员和开发人员调试。

测试名称,根据测试名称应该可以很快了解测试用例的内容,所以好的测试名称也是非常重要的。

测试用例的版本(Version)。

测试优先级(Priority),测试优先级也是一个很重要的参数,因为大型项目都要有很多测试用例要执行。只有明确测试优先级才能确保重要的测试用例得以及时进行,保证软件质量。

测试用例概述(summary),帮助测试执行人员了解该测试用例的用测的功能。

测试步骤,描述测试人员或是自动化脚本每一步是怎样操作的,例如本例告诉测试人员选择菜单Fie,然后选择菜单项New。

预期结果(Expected Results),说明经过以上测试步骤,期望程序运行出现的结果。

4 结语

本文在明确软件测试理论的基础上,对自动化测试做了重点阐述,通过实际项目的自动化测试分析,有些测试用例特别适合用自动化测试。例如GUI测试中,用些是要验证界面元素是否显示正常。如果是脚本就可以准确无误地很快验证完毕,而用人工验证不仅容易出错而且费时间。由于时间和硬件条件有限,本论文规避了许多问题,所以仍有许多工作需要完成。例如:做好脚本的复用,使测试脚本不断积累。及研究怎样在测试工具和自己搭建框架中寻找平衡等。

[参考文献]

[1] 张克东.《软件工程与软件测试自动化教程》.北京:电子工业出版社,2002.

[2] 朱菊,王志坚,杨雪.《基于数据驱动的软件自动化测试框架》[J]计算机技术测试与发展,2006.

[3] 马瑞芳,王会燃.《计算机软件测试方法的研究》.小型微型计算机系统,2003.

[4] 朱鸿,金凌紫.《软件质量保障和测试》[M].北京:电子科学出版社,1997.

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

你可能感兴趣的:(python3自动化测试)