在自动化测试工做以前,你应该知道的10条建议

转自:https://mp.weixin.qq.com/s?__biz=MzI0NDQ5NzYxNg==&mid=2247485859&idx=1&sn=9ea7c7f5dd18a27d6b37dc1a273245a5&chksm=e95da41cde2a2d0a0ceceeb8393f841fcc10672284db0b6eb275146bde13b477a7d9b143ce21&mpshare=1&scene=23&srcid=0312lUZTYsNn5E2BIMq2QTdY#rd编程

介绍后端

        关于自动化测试,这些年经历了太多的坑,有被动的坑,也有本身主动挖的坑,在这里作了一些总结。安全

 

        主要思考总结下这些年来自动化测试过程当中的一些基本的东西,例如什么时候进行自动化、如何自动化、或是怎么自动化咱们的测试工做。工具

 

        接触过各类经验、能力、业务领域、行业等从事自动化测试的人员,我想其中应该有很多比我更聪明,或是经验更丰富,或是技术更专等,在交流的过程当中我得到不一样领域专家以及他们自动化测试方面的经验,也深刻的交换了彼此的一些想法和自动化测试的经验,有不少不同的思想碰撞。性能

 

注:笔者在这里对自动化的定义,不局限于UI、接口等,而是指在测试过程当中全部基于技术进行解决问题和改进效率的技术测试,包括但不限于UI、接口、性能、安全等。测试

 

为何要进行自动化测试?设计

 

1. 在咱们平常的测试工做中,常常会引入新的需求或是修复bug,那么如何肯定新的需求的加入或bug的修复没有在原有功能中引入新的bug呢?接口

 

我想为了保证原有功能的正常,是颇有必要对原功能进行测试的。生命周期

 

那么在每次修复bug或新增需求时,咱们都须要手动的测试全部功能吗?在没有更多的成本、资源、时间时,你依旧须要手动的进行测试,但其成效是否能达到要求呢?ci

 

我想这个时候,自动化测试的需求来了,在咱们的平常测试工做中,有大量的回归测试须要咱们把它们给自动化了。

 

2. 在咱们的平常测试中,你会不会收到老板对你说:对咱们的系统压测下,看看性能怎么样?

 

一般,对于大部分从事软件测试的同行来说,不论是否具有这个技术能力,大都会收到这样的工做需求。

 

那么如何对系统进行压测呢?我想确定不是让你去喊几百几千甚至过万的人来一块儿点点点,由于这个靠人力来作是不现实的事。

 

因此自动化你的压测工做就是必须的选项了。

 

3. 在平常测试工做中,是否是常常面临着这样的状况?UI已经再也不大幅变动,然后端服务接口在不停的升级,这个时候UI级的自动化测试就显得有价值了。

        一样的,在项目初中期,UI在不停的变动,但核心的业务接口已经初步稳定,这个时候接口级自动化测试也是引入的好时机了。

 

在不一样的技术层级,咱们能够根据其更新频度等状况,咱们能够将其自动化,以达到改进效率和提高质量的效果。

 

将测试工做进行自动化,必然须要成本的投入的,一样也有着各类风险,下面是一些总结。

 

自动化测试的风险是什么?

        在某些状况下,可能须要考虑自动化咱们的测试工做,若是你已经作出了自动化的决定,或是打算进行自动化,那么你就须要考虑如下几个方面的场景:

 

1. 你的团队是否拥有足够熟练的资源?

        想一想你的团队,对于自动化测试是否有足够的编程开发知识和能力?若是没有,他们是否具有必定的基础,能够快速的掌握相应的技术?

        是否打算组建一个好的自动化团队呢?若是是,那么能够考虑自动化你的测试工做。

 

2. 自动化的初始投入成本很是高

        不能否认的是,手工测试的成本也是很高的,尤为是对于高素质的手工测试人才,若是你认为自动化测试能解决手工测试的成本问题,我建议你三思然后行。

         自动化测试的成本体如今如下几个方面:

- 自动化工具的采购

- 人才的引入或培训

- 自动化测试脚本的维护

- 自动化测试的实施推广

等等其余

        许多开展自动化测试的团队对于其自动化成果感到遗憾,由于在投入了大量的人力、时间、资源后,获得的仅仅是一堆基本的自动化脚本或是一个好看的测试工具。

 

      请思考, 若是是这样的成果, 那么自动化的用途是什么呢?

 

3. 慎重对待UI自动化测试

        在进行UI级自动化测试前要谨慎选择业务场景,尤为是要注意规避可能的大面积发生UI更新的场景,否则自动化脚本的维护成本会很是的高。

        因此UI级自动化测试,笔者一般只自动化最核心的业务流程、或最典型用户业务场景,或重点关注的功能模块。

 

4. 是否须要系统足够稳定才能够自动化咱们的测试工做?

        笔者觉得不用等到系统足够稳定时才开始自动化测试。

        固然,前提是团队拥有足够强的技术功底,能从源码级或数据层级就开始规划、设计自动化测试解决方案。

 

5. 是否要考虑100%的自动化?

        只能说,别作梦了,你要是都能100%了,那我点点点的功力如何发挥装X?固然了,在性能测试、回归测试、负载压力测试等领域,是有机会实现“100%”的。

 

6. 不要对一次性工做进行自动化

        对于哪些可能只需运行一次或几回的测试工做,请不要将其自动化,太浪费了。

 

7. 你的自动化套件寿命足够长吗?

        若是你选中的自动化场景生命周期不够长,那么请不要自动化它,构建自动化的一个基本准则是让自动化了的测试工做比手工执行成本要明显下降。

        固然,肯定每一个自动化测试场景的有效成本是有些难度的,可是咱们必须思考的。

 

        若是你能将实现自动化测试工做作到平常化、版本化,那么其成本下降将是明显的、效率改进也是显著的、是能够得到良好的投资回报率的。

 

小结

        自动化测试是实现大多数测试目标和有效利用资源和时间的最佳解决方案。但在进行自动化前,应该谨慎对待,不然你获取的可能仅仅是一堆脚本或一个漂亮的工具。

相关文章
相关标签/搜索