请选择行业
请选择职位
请选择省份
请选择城市

关于我对自动化测试的理解

时间: 2019-07-01 09:42   作者: Test__Ming   点击次数: 
 

  什么叫自动化测试?

  自动化测试,顾名思义,就是自动完成测试工作。通过一些自动化测试工具完成测试工作并验证其结果的测试过程,这样的便是自动化测试。

  自动化测试,听起来很高大上,自动进行测试,再也不用人工反复的去测,去验证机器代替手工劳动的时代。其实实际操作起来却不是这样,虽然说叫自动化测试,但是因为每一个自动化测试的case都是从手工测试做起的,所以换句话说,如果没有手工测试的基础,是没法进行自动化测试。

 

那自动化测试的优点和缺点是什么?为什么要进行自动化测试呢?

 

  为什么要进行自动化测试?我认为有以下三个方面

  1.自动化测试节约成本

  自动化测试可以解放一大堆人力,这一堆被解放的人力可以去从事其他方面的测试工作,这大大的节约了人力成本。并且如果让人反复,重复的去一件事,会大大的降低他的工作激情,效率,也会消磨他的创造力,但是机器则不同了,毕竟所有的工作只是一条又一条的命令而已,它只是在反复的执行预先输入好的命令,并不会有任何负面影响。

  2.有些测试项目手工很难实现

  比如一个大型网站的负载测试,压力测试,公司根本可能可以找到那么多的测试人员去模拟这样一个情况,但是通过机器却可以实现。

  3.项目质量流程需要

 

  自动化测试的优点:

  1.提高测试效率,避免测试人员进行反复的工作而产生倦怠的情绪。

  2.使每一次的测试都可以高度保持一致性

  3.可以进行一些手工无法完成的测试

  

自动化测试的缺点:

  1.因为是自动测试,系统执行的命令是提前预设好的,所以在bug的覆盖率上回比手工测试低

  2.ui布局的问题无法发现

  3.测试的时间可能会变得更长

 

  那么到底什么样的项目适合用自动化测试呢?

  项目有以下特点的适合做自动化测试:

  1.项目需求变更少

  自动化测试虽然是自动测试,但是前文也说到过,他始终是在完成提前预设好的命令。所以如果需求未确定的情况下,老是变更需求,那么测试的功能就需要反复改变,命令也要跟着反复改动,这样的项目是不适合做自动化测试的。

  2.项目周期足够长

  自动化测试是一个长期的测试过程,因为你在面对不同的需求时,命令也需要做不同的改变。打个比方,如果一个互联网项目,要求两周之内必须上线,那么这边你可能自动化才做完,项目就已经准备上线了,所以说,这种周期短的项目是不适合做自动化测试的。

  3.项目资源足够

 

  说了这么多,现在我们来谈谈,做自动化测试需要什么能力

  1.首先,你得掌握代码能力

流行的 java Python c#等等。至少掌握一门,但不局限于一门。因为自动化测试需要你自己去编写命令让机器完成一些特定的操作,如果你连一点代码能力都没有,又怎么能让机器听懂你的需求,去做你想要做的事呢?

 

  2.其次,你得熟悉你需要测试的系统的一些基本概念

  比如说,你要做wbe端的测试,你需要懂htmlcss jsxpath

  你要做的是移动端的测试,你至少需要懂Android开发基础,ios开发基础

  如果你做的是c/s测试,那就需要懂tcp/ip 协议

  自动化测试是一个长期学习的过程,上述的这些都是一些基础的知识储备,如果没有这些基础的知识储备,还是先从手工测试做起吧

 

  3.你得会使用自动化测试工具

比如seleniumappiumtestng等等,工欲善其事必先利其器,不会使用工具,你怎么能在自动化这条路上走的顺风顺水呢?

 

  4.最后,你得善于学习,能够接受新的事物

  现在互联网技术日新月异,每隔一段时间就会出现一些新的东西,如果你不学习,固步自封,那么你就只能做你以前做的事,无法进步,甚至有可能被淘汰。

  软件行业从桌面到web端,又从web端到了移动端,谁也不知道下一个趋势是什么,最近这两年的AI,人工智能让Python又火了一把,如果你还停留在那个c#java的时代,是否再过几年你就跟不上行业的步伐而被淘汰了呢?这是谁都说不准的。

  所以说,核心的能力还是学习,如果你擅长学习,能接受新的事物,那么你的能力一定会越来越强,如果你不能达到这一点,那么还是老老实实的做手工测试吧。

打印本页 | 加入收藏

上一篇:强行解释一波面试造火箭    

关闭  
主要城市: 北京 上海 杭州 广州 南京 武汉 长沙
全部城市: