自动化测试:软件Software测试自动化的一些具体做法



软件Software测试自动化些具体做法

作者:海龟(美国硅谷)

 

作者在上篇文章略微谈到了软件Software测试自动化但并没有把本文内容也起写进去原因主要是希望读者先努力考虑在自己企业或项目内可以有些如何样做法而不会先入为主地受到我所写具体例子影响而局限了思路

   软件Software测试工作量很大(40% 到60% 总开发时间)而又有很大部分适于自动化因此测试改进会对整个开发工作质量、成本和周期带来非常显著效果

   首先谈谈在测试自动化情况下带有图形界面产品测试用例设计问题图形界面输出显示不是很容易做到测试结果自动化比较所以做法是把图形界面输出部分单独建立测试用例以手工运行而所有非图形输出则可进行自动测试

   下面举出些测试自动化例子:

   1.测试个案(test 或称为测试用例)生成:

   用编程语言或更方便剧本语言(script language 例如Perl等)写出短小来产生大量测试输入(包括输入数据和操作指令)或同时也按逻辑规律产生标准输出输入和输出文件名字按规定进行配对以便控制自动化测试及结果核对易于操作

   这里提到测试个案命名问题如果在项目文档设计中作统规划软件Software产品需求和功能命名就应该成为后继开发过程中间产品命名分类依据这样就会为文档管理和配置管理带来很大方便使整个产品开发过程变得更有条理更符合逻辑任何新手半途加入到开发工作中也会更容易进入状态

   2.测试执行写控制:

   单元测试或集成测试可能多用单机运行但对于系统测试或回归测试就极有可能需要多台机在网络上同时运行记住个这样原则在开发过程中任何时候如果你需要等候测试运行结果那就是个缩短开发时间机会

   对于单个测试运行挖潜机会在测试设置及开始运行和结果对比及显示有时候需要反复修改重新汇编和重新测试这样个循环各种手工键入设置和指令所花费时间加起来就非常可观如果能利用make或类似软件Software工具来帮助就能节省大量时间

   对于系统测试或回归测试这类涉及大量测试个案运行情况挖潜机会除了利用软件Software工具来实现自动化的外就是怎样充分利用切硬件资源往往就算是在白天工作时间内每台计算机负荷都没有被充分利用能够把大量测试个案分配到各台机器上去同时运行就能节省大量时间另外把大量系统测试及回归测试安排到夜间及周末运行更能提高效率

   如果不购买商品化工具应当遵从正规软件Software开发要求来开发出好软件Software测试自动化工具在实战中许多企业自行开发自动化工具都是利用些现成软件Software工具再加上自己写而组成这些自己开发工具完全是为本企业量身定做因此可用性非常强同时也能根据需要随时进行改进而不必受制于人当然这就要求有人力投入

   在设计软件Software自动测试工具时候路径(path)控制是个非常重要功能理想使用情况是:这个工具可以在任何个路径位置上运行可以到任何路径位置去取得测试用例同时也可以把测试结果输出放到任何路径位置上去这样设计可以使区别测试运行能够使用同组测试用例而不至于互相干扰也可以灵活使用硬盘空间并且使备份保存工作易于控制

   同时软件Software自动测试工具必须能够有办法方便地选择测试用例库中全部或部分来运行也必须能够自由地选择被测试产品或中间产品采作为测试对象

   3.测试结果和标准输出对比:

   在设计测试用例时候必须考虑到怎样才能够易于对此测试结果和标准输出输出数据量多少及数据格式对比较速度有直接影响而另方面也必须考虑到输出数据和测试用例测试目标逻辑对应性及易读性这将会大大有利于分析测试所发现不吻合也有利于测试用例维护

   许多时候要写些特殊软件Software来执行测试结果和标准输出对比工作可能有部分输出内容是不能直接对比(比如对运行日期时间记录对运行路径记录以及测试对象版本数据等)就要用进行处理

   4.不吻合测试结果分析、分类、记录和通报:

   上点所谈到用于对测试结果和标准输出进行对比特殊软件Software往往也同时担任对不吻合测试结果进行分析、分类、记录和通报任务

   “分析”是找出不吻合地方并指出可能起因“分类”包括各种统计上分项例如对应位置严重级别(提示、警告、非失效性、失效性;或别分类思路方法)新发现还是已有记录等等“记录”是按分类存档“通报”是主动地对测试运行者及测试用例“负责人”通报出错信息

   这里提到测试用例“负责人”概念是用以指定个测试用例运行时发现缺陷由哪个开发人员负责分析(有时是另外开发人员引进缺陷而导致)及修复在设立测试用例库时各用例均应有指定负责人

   最直接通报思路方法是由自动测试软件Software发出电子邮件给测试运行者及测试用例负责人邮件内容详细程度可根据需要灵活决定

   5.总测试状况统计报表产生:

   这些都是自动测试工具所应有功能是提高过程管理质量同时节省用于产生统计数据时间

   产生出来统计报表最好是存放到个约定路径位置以便任何有关人员都知道怎样查阅同时可按需要用电子邮件向适当对象(如项目经理(project manager)测试经理和质量保证经理)寄出统计报表

   6.自动测试和开发中产品每日构建(build )配合:

   自动测试应该是整个开发过程中个有机部分自动测试要依靠配置管理来提供良好运行环境同时它必须要和开发中软件Software构建紧密配合



   在开发中产品达到定程度时候就应该开始进行每日构建和测试这种做法能使软件Software开发状态得到频繁更新以及及早发现设计和集成缺陷

   为了充分利用时间和设备资源下班的后进行自动软件Software构建紧接着进行自动测试(这里多数指是系统测试或回归测试)个非常行的有效思路方法如果安排得好到第 2天上班时测试结果就已经在各人电子邮箱里面面了等待着新开发工作

   整理总结:以上只是根据经验和体会举了些软件Software测试自动化做法

   由于企业开发环境区别、产品区别测试自动化实施思路方法会有很大差异希望大家从这些具体例子中掌握到这项工作基本精神及思路然后结合自己情况大胆创新同时千万不要忘记向大家介绍好经验祝大家测试愉快



(本文从http://www.testmanager.com.cn/测试管理中心站点摘取)




 



Tags:  自动化测试框架 什么是自动化测试 自动化测试工具 自动化测试

延伸阅读

最新评论

发表评论