如何有效的开展自动化测试

如题所述

自动化测试不宜大力投入
不管是自动化测试还是接口测试,都不宜在前期大量投入。当前业务是否适用自动化,哪些框架或者工具更适合,适合做接口自动化还是 UI 的自动化?如何让自动化达到收益和效果?
这些问题都需要根据团队和业务具体的情况去尝试,找到合适的才行。如果前期投入太大,团队对其期望太高,非常容易在遇到一点挫折的时候对自动化丧失信心。
另外,投入太大,毕竟加大人力或者减少手工测试的投入,会造成测试资源的紧张。在项目时间和成本的压力下,测试管理者需要顶着巨大的压力,这本身就很难成功。
可以安排一些技术强或者技术兴趣浓厚的成员,在项目允许的情况下减少其手工测试工作量,让其可以利用部分工作时间和部分业余时间尝试做自动化,先局部功能尝试,能够有效果,在扩大范围。逐步达到一定的自动化规模。
以接口为主UI为辅
UI 自动化因其运行环境的问题,会导致运行速度慢,对环境依赖过高。同时因程序界面的多变性,导致自动化脚本维护成本大大增加。
接口测试有很多优于 UI 自动化的地方。但是接口测试也自有其短板,对流程性质的测试并不适合用接口自动化来覆盖。接口自动化更适合覆盖单一接口功能的检查。
所以我们可以采用核心业务流程使用 UI 自动化,单一功能使用接口自动化,两种层面的自动化结合的方式来进行。
不轻谈自动化测试平台
目前测试界开始流行起自己开发测试平台(以接口为主)。简单来说就是模仿常见的接口测试工具,用 Python 或者 Java 写成了一个 web 版本的。
当然也有其理由,“定制性更强!”但是毕竟是软件都需要进行测试,花大量精力开发的平台并不稳定,而本身功能和理念上并没有太多更新。而这样的一些功能,市面上的绝大部分测试工具都能胜任。
如果是为了提高个人能力,项目时间有空余,怎么玩都可以。若是要在实际工作中应用,那么就有点得不偿失了。
自动化测试中,工具的重要性始终是最低的。理念、思维和环境治理才是最重要的。
通过不断小范围试错,找到适合自己团队的自动化策略才是最重要的。任何技术脱离实际应用都是耍流氓。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-21
很多时候测试人员在开展自动化测试的时候都是不加思考的就开始做,认为用工具录几个脚本再回放就可以了,没有考虑有效性;而做了并不一定就会有效果,如果自动化测试在整个测试工作中发挥不了作用,那么哪怕是只投入了很少的成本也是在浪费资源。所以在开展自动化测试之前必须认真思考虑一些问题,以确保它的有效性:

1、被测系统是否适合做自动化测试;
2、被测系统适合在哪些环节做自动化测试;
3、使用何种测试工具、测试框架;
4、开展自动化测试需要哪些资源,包括:人员、机器、时间;
5、当前可用或是可以申请到的资源;
6、如何在不影响日常测试工作的前提下,开展自动化测试工作;
1、被测系统是否适合做自动化测试;很多人可能都回觉得这个问题有些多余,不需要考虑。可事实上作为一名测试主管必须考虑这个问题,应为自动化测试并非只是做与不做这么简单,而是需要考虑成本投入与效果产出。不管是做软件、做系统、还是做网站,最终的目的基本上都是要盈利的,要盈利就必须控制成本,提高利润。所以在测试工作中也必须考虑到成本投入。如何确定系统是否适合做自动化测试呢?个人认为主要考虑当前的被测项目是长期的还是短期?如果被测项目是在今后半年或者几年间要不断进行开发维护的,那么就需要重复的进行大量的回归测试,这种情况下如果有自动化的回归测试体系就可以节省成本投入;如果被测项目是短期的,比如说一个月,或几个月,同时如果开发自动化测试又不是很容易,也没有足够的时间去做这件事,那么就完全没有必要作自动化测试,费尽力气做出的自动化测试脚本,可能只会用到一次或两次,这样就很不值当。
2、被测系统适合怎样的自动化测试;
自动化测试覆盖的范围很广:单元测试、集成测试、接口测试,GUI测试等等都可以实现自动化执行;同时,不同的系统情况是不一样,有的适合或是可以做GUI的自动化测试,有的可能只适合做接口的自动化测试,所以需要针对不同的被测项目,考虑具体在哪一个环节作自动化测试。比如说针对搜索引擎,前端往往比较简单,只是一个文本框和提交按钮,大部分的逻辑处理都是在后端完成的,这种情况做自动化的接口测试就可以达到事半功倍的效果;如果是被测系统有很多的页面操作,那么可以考虑GUI的自动化测试;以上这两种情况都不是绝对的,如果测试资源足够,那么在各个环节都是可以开展自动化测试的。此外,还有一点需要考虑的是自动化测试的可行性,比如说对一个系统而言,做GUI测试是最合适的,也是最有效,但是有可能通过各种工具或者是脚本很难实现GUI的自动化测试,那么就需要考虑变通,考虑是否可以将自动化测试调整到接口测试或是集成测试等环节。
3、使用何种测试工具、测试框架;
当前可以做自动化测试的工具不少,主流的付费的qtp,winrunner,silktest等,开源免费的Jemmy,watir,pywinauto等等。这么多的工具框架该如何选择,就要看被测系统了,至少要考虑是C/S、还是B/S结构的,服务端和客户端都是用何种语言编写的,是什么数据库,服务器类型等等。本回答被网友采纳
相似回答