欢迎来到天天文库
浏览记录
ID:44665129
大小:46.00 KB
页数:6页
时间:2019-10-24
《软件测试小论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、湖南理工学院软件测试自动化专业:计算机科学与技术班级:1101学号:14112400676学牛姓名:于青霞指导教师:_张建东—二零一四年六月摘要自动化测试是相对手工测试而存在的一个概念,由手工逐个地运行测试用例的操作过程被测试工具或系统自动执行的过程所代替,包括输入数据自动生成、结果的验证、自动发送测试报告等。主要是通过所开发的软件测试工具、脚本等来实现,但软件测试仅仅使用测试工具还不够,还需要借助网络通信环境、邮件系统、系统Shell命令、后台运行程序、改进的开发流程等,由系统自动完成软件测试的各项工作。测试自动化是软件测试中提高测试效率、覆盖率和可靠性等的重要手段,也可以说,测试自动化
2、是软件测试不可分割的一部分。【关键字】自动化测试工具效率目录摘要2前言4一、测试自动化的内涵4(一)手工测试的局限性4(二)什么是测试自动化4二、测试自动化实现的原理4(一)代码分析5(二)对象识别5(三)脚木技术5(四)白动比较技术5(五)测试口动化系统的构成6三、测试自动化的引入和应用6四、软件自动化的优劣势6五、总结6参考文献7软件测试自动化软件测试时一项艰苦的工作,需要投入人量的时间和精力,据统计,软件测试会占用整个开发时间的40%甚至更高。而且软件测试工作貝有较大的重复性,,我们知道,软件在发布Z前都耍进行几轮测试,也就是说大量的测试用例会被执行儿遍。在测试后期所进行的冋归测试,
3、大部分测试工作也是重复的。对于为了解决软件缺陷、需求变化、代码修改很少,而为了覆盖代码改动所造成的影响而需要进行的大量的测试这种情况,虽然回归测试找到软件缺陷的可能性很小,效率比较低,但又是必耍的。此后,软件产品版木不断更新,不断增加功能或者修改功能,期间所进行的测试工作重复性也很高,所以这些因素驱动着软件自动化的产生和发展。一、测试自动化的内涵(一)手工测试的局限性测试人员在进行手工测试时,具冇创造性,可以举一反三,而且对于那些复杂的逻辑判断、界面是否友好,手工测试具有明显的优势。但是,简单的功能性测试用例在每一轮测试屮都不能少,而且具有一定的机械性、重复性,其工作量往往很大,无法体现手
4、工测试优越性。如果让手工做重复的测试,容易引起测试人员的乏味,严重影响工作情绪等。而且,手工测试在某些方面甚至束手无策、无法实现测试的目标,存在着一定的局限性。(二)什么是测试自动化自动化测试是把人为驱动的测试行为转化为机器执行的一种过程,即模拟手工测试步骤,通过执行由程序语言编制的测试脚本。自动地完成软件的单元测试、功能测试、负载测试或性能测试等全部工作。口动化意味着测试全过程的口动化和测试管理工作的自动化。虽然软件测试过程不能完全实现自动化,但是,我们理应每时每刻想这个方向努力,不断地问自己-一这些测试工作能否由软件系统或者工具来自动完成?在测试计划、设计、实施和管理的任何时刻,始终寻
5、求更有效、更可靠地方法和手段,以冇助于提高测试的效率。所冇冇人更希槊将测试口动化解释为“能够使测试过程简单并有效率、使测试过程更为快捷而没有延谋的方法或努力”。“全过程的自动化测试”思想是非常重要的,会改变我们测试工作的思维、改变我们测试的生活,将测试带到一个新的境界。二、测试自动化实现的原理(一)代码分析最早进行代码分析的工具室编译器。但是,早期的编译器对那些语法上正确但是非常可疑的代码结构置之不理。1979年,贝尔实验室的SteveJohnson在PCC基础上开发出代码分析工具Lint,能检查出更多不符合规范的错误以及函数接口参数不一致性问题等,完成代码健壮性检查。代码分析工貝•还体现
6、在集成开发环境(IDE)中,多数IDE的代码编辑器都可以实时进行代码检查,直接定位和高亮显示警告信息和可能的错误。除了基本的分析、内建的静态分析外,大部分IDE都有可选的插件来执行更全面的代码分析。(二)对象识别通过寻找UI上的对象来确定操作的目标能够实现对用户界面的操作,GUI对象的识别工具比较多,微软VisualStudio屮就柏涵了Spy++,它可以用来识别各种Windows的GUI对彖。要识别对彖,就是获得UI对象的ID、对象名、然后根据对象的ID、对象名,确定其属性值等数据。基于GUI对象识别和控制的自动化测试工具,在脚本语言中一般使用WindowsUserInterface一类
7、的APT调用來识别、操作GUI对象。WindowsUIAPI函数封装了操作应用软件所需的接口函数,包括键盘和鼠标的捕获,以及窗口、按钮、选择项等的识别和操作。除了WindowsAPI函数调用方法之外,还有其他的一些技术可以采用,如反射机制。通过反射来加载被测试程序,获取被测试程序的各种属性,触发被测试程序的各种事件,从而达到自动化测试的目的。在.NET、C++、Ja眩程序语言中都提供了反射机制,增加了这些非动态语言的动态
此文档下载收益归作者所有