欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 计算机论文

软件自动化测试浅谈

时间:2011-04-23  作者:秩名

论文导读:软件测试作为重要的环节之一。它包括测试活动的管理与实施、测试脚本的开发与执行。(1) IBM Rational的软件自动化测试工具。
关键词:软件测试,软件自动化测试,录制-回放,脚本
1、 自动化测试的引入与定义
1.1自动化测试的引入
在软件开发过程中,软件测试作为重要的环节之一,越来越受到人们的重视,但软件的测试工作不是一次就能完成的。测试某项性能,不仅要检查前面的测试中发现的软件故障和缺陷是否得到了修复和改进,同时还要检查在修复过程中是否又引入了新的故障或缺陷,因此要进项多次测试。这样会给测试人员带来很大的工作量,在时间和人力都有限的情况下,采用手工反复进行多次测试的执行是不大可能的,由此而产生了用自动化测试的软件来实现测试的自动化。
1.2 软件自动化测试的定义
自动化测试的一般定义为:使用某种程序设计语言编制的自动测试程序,控制被测试软件的执行,模拟手工测试步骤,来验证各种软件测试的需求,完成全自动或半自动测试。它包括测试活动的管理与实施、测试脚本的开发与执行。
2、自动化测试的原理和方法
软件测试自动化实现的基础是可以通过设计的特殊程序模拟测试人员对计算机的操作过程、操作行为,或者类似于编译系统那样对计算机程序进行检查。其实现的原理和方法主要有:直接对代码进行静态和动态分析、测试过程的捕获和回放、测试脚本技术。
(1)代码分析
代码分析类似于高级语言编译系统,一般针对不同的高级语言去构造分析工具,在工具中定义类、对象、函数、变量等定义规则、语法规则;在分析时对代码进行语法扫描,找出不符合编码规范的地方;根据某种质量模型评价代码质量,生成系统的调用关系图等。
(2)捕获和回放
代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法。捕获是将用户每一步操作都记录下来。这种记录的方式有两种:程序用户界面的像素坐标或程序显示对象(窗口、按钮、滚动条等)的位置,以及相对应的操作、状态变化或是属性变化。所有的记录转换为一种脚本语言所描述的过程,以模拟用户的操作。回放时,将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。捕获和回放可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。
(3)脚本技术
脚本是一组测试工具执行的指令集合,也是计算机程序的一种形式。科技论文。脚本可以通过录制测试的操作产生,然后再做修改,这样可以减少脚本编程的工作量。当然,也可以直接用脚本语言编写脚本。目前的自动化负载测试解决方案几乎都是采用 “录制-回放”的技术,就是先由手工完成一遍需要测试的流程,同时由计算机记录下这个流程期间客户端和服务器端之间的通信信息,这些信息通常是一些协议和数据,并形成特定的脚本程序 (Script) 。然后在系统的统一管理下同时生成多个虚拟用户,并运行该脚本,监控硬件和软件平台的性能,提供分析报告或相关资料。这样,通过几台机器就可以模拟出成百上千的用户对应用系统进行负载能力的测试。它的步骤包括脚本的录制、增强和改进以及执行自动化测试脚本完成测试,如图所示:

图1 脚本技术的过程
在录制测试脚本之前,首先要设计测试案例。主要包括:确定用例执行前所需要的测试环境和先决条件;确定所要测试的目标;确定对输入数据的要求和期望的输出。设计测试案例时应努力提高覆盖率,尽量减少执行、调试和结果分析的工作量;减少测试案例的数量、加强其独立性、并精确地文档化等来加强可维护性。在录制测试脚本时,应严格按照测试用例来录制。
然后是配置数据和优化脚本。大型软件依赖和共享的数据较多,业务流程较复杂,因此配置数据时要用一份文件详细描述:那些数据需要引入数据池,如何对全局的、过程间的参数命名,数据怎样放置和联系,优化脚本时往往需要设置分支和循环,设置对象的属性,设置检查点和数据的输出等,以使脚本能按照测试案例的要求适应各种情况。
最后执行测试任务,分析并报告测试结果。
3、 软件自动化测试的优缺点
3.1 软件自动化测试的优点
测试活动自动化在许多情况下可提供其最大价值,如对软件进行的功能性测试,是测试系统在做什么,这些测试可以明确知道应该在什么情况下输入什么,会有什么样的输出。这样的测试就很容易被自动化,也能从自动化中取得较大的效果。对软件进行的性能测试包括在不同的系统负载下进行的测试,这些测试需要采用工具辅助完成,也非常适合于采用自动化。通过自动化测试,可以使某些测试任务提高执行效率,除此之外,还有以下优点:
(1)对程序的回归测试更方便。软件测试实行自动化进程是因为测试工作的需要,更准确地说是回归测试和系统测试的需要。由于回归测试的动作和用例是完全设计好的,测试期望的结果也是完全可以预料的,将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间。
(2) 可以执行一些手工测试困难或不可能进行的测试。比如,对于大量用户的测试,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户,从而达到测试的目的。
(3) 更好地利用资源。将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。有些测试不适合于自动测试,仅适合于手工测试,将可自动测试的测试自动化后,可以让测试人员专注于手工测试部分,提高手工测试的效率。
(4) 测试具有一致性和可重复性。由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而达到测试的可重复的效果。
(5) 测试的复用性。由于自动测试通常采用脚本技术,这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。
(6) 此外,手工不能做的事情,自动化测试能做,如负载、性能测试等。科技论文。

查看相关论文专题
加入收藏  打印本文
上一篇论文:软件学院实训基地建设思考与实践
下一篇论文:三维动画艺术与技术的探究
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关计算机论文
    无相关信息
最新计算机论文
读者推荐的计算机论文