ttcn-3

【原创】为什么要自动化测试?    

最近在做一个项目,需要将原有的手工用例实现自动化。面对这项任务,回想起我刚进公司那会,部门的软件测试基本都是自动化的,全部采用通信领域测试语言TTCN实现,当时面临的工作就是开始学习TTCN脚本,继而开始编写自动化脚本,全然没有对自己问这么个问题, 为什么要自动化测试?

     经过几年的测试,对这个问题已经有较全面的认识,主要有这么些好处:

     1. 缩短测试周期 以我们公司为例子,做的是通信类产品,一般通信类软件生命周期是非常长的,因此回归测试成为了家常便饭,出一个版本就需要投入人力进行回归,这样带来的问题就是需要回归测试周期能够尽量缩短。而自动化测试能够有效的解决这个问题,如果实现了这些自动化测试脚本,可以在夜间,午休等时间进行测试用例回归,实现无人值守测试,大大提高了测试效率,从多个版本累计看来,有效缩短了测试周期。

     2. 避免人为出错  说到自动化测试,与之对应的就是手工测试,所谓“人非圣贤,孰能无过”,传统的手工测试很大部分依赖于人,简单概括起来出错的可能性会有:

         * 用例执行方法出错
         * 输入数据出错
         * 用例执行步骤出错
         * 测试报告数据出错
         * 忘了执行某些用例
         * 忘了设置预置条件
         * 错误的理解被测系统的行为

         通过实现自动化,可以避免出现这些错误。

    3. 测试信息存储  自动化测试主要通过自动化脚本实现,和传统的手工用例相比,脚本中可以记录测试点,测试拓扑图,测试设计思路等信息,是非常理想的测试信息存储处,即“脚本体现思路”。另外带来的好处就是新人接收测试时,可以快速掌握已测试点,因为可以通过运行了解测试。

     4. 轻易获取覆盖率  在较好的自动化框架下,测试执行完自动化脚本,可以轻易的获取到代码覆盖率,进而根据覆盖情况分析,进行测试用例补充。

     5. 其他   比如:自动生成清晰的测试报告,定时执行测试套,数据驱动测试的测试套重用等。

     对于自动化测试,方向是对的,测试趋势应该就是往这方面去发展,但往往现实中会因为自动化框架的限制等原因,造成问题的漏测,因此适当的进行手工测试也是很有必要的。比如某天醒来有个灵感,进行一个随机测试,也许框架很难实现,不防手工试一把,也许就会有惊喜!

专注测试设计,自动化,安全,性能等测试技术,八年软件测试,四年测试管理,熟悉通信,互联网方面测试 QQ:2287337846 微博: http://weibo.com/u/3312939874


你可能感兴趣的:(软件测试,产品,领域,人力,可能性)