从自身的经历讨论手工测试与自动化测试
在我还没有踏入测试领域的时候,就知道了自动化测试与手工测试的争论,现在,我就以我们公司的项目为例,讲述一下我认知的手工测试与自动化测试。
因为保密原则,不方便透漏项目的名字,就以项目表示了。我的工作是测试web端界面+后台测试,因为公司不是很大,测试流程是很不规范,请不要介意。
首先说明,web端开发,我们公司没有专业人员,就外包了出去,测试还是我们这边来。
先说web端测试:
(1)web端在UI布局、整体协调性、字体是否有错误等方面,是只能用手工测试,没得选。(2)软件整体改变较大,这就造成了自动化时,时间成本太大,这个是很多公司所不能接受的。(3)测试的内容方面,逻辑性强,复杂度高,单纯的自动化测试用例很难检测出来问题。(4)公司的测试人手是否充足,向我们公司,原先三个测试,现在就我一个。 根据我们的项目,阻碍自动化最大的就是第二、第三点。
我们开发的项目,在开发过程中,客户会不时的检查,结果就是以前软件开发流程中的软件设计部分,在客户眼中,根本形同虚设,客户说这里需要改,那里需要添加,是常有的事(小公司的悲哀)。我记得刚开始测得时候,项目是四个页面,现在已经添加到七个了,而且页面里的功能也在不断的改变,在有限的时间内,跟本没有充足的时间的去做自动化。而第三点,也是一个很关键的因素。测试,就是要检测出问题,不分手工与自动化,能测出bug就是好方法,而我们的项目,各个模块之间连接性很强,问题的对错没有硬性标准,只是在七八个条件下去分析是否合理,这就造成在编写脚本的时候耗时过高,还不能确定问题的对错,很不适合自动化。 也就是说,我们的项目在web端测试方面,整体都是以手工测试为主,只是在定位bug的时候,编写了大量的脚本辅助web端测试。
后台测试就简单多了,纯数据,而且后台的测试,也是为web端测试服务。很多web端不能确定的问题,都会拿到后台直接进行测试,测试过程也是linux命令与shell脚本,这个可以划拨到自动化测试了。
当然,不是说自动化测试不好,而是要看各个公司的项目情况了,刚好,我们的项目就属于那种需要手工测试大于自动化测试的项目。加上我在上家公司测试web端项目的经历,一个web端项目,只有百分之三十左右的代码是稳定的,可以用自动化,剩下的都是版本更新迭代很快的,特别是在中小型公司,代码稳定部分会更少。这里不是否定自动化测试,只是说在web端测试,还是是手工测试为主,自动化测试为辅。同时自动化测试,在编写脚本方面,也是一件不容易的事,阻止了一份人在测试的时候,会不自觉的绕开自动化去选择手工测试。
对于项目的测试工作,选择用手工测试还是自动化测试?其实不用选,是都需要,只是看谁为主,谁为辅。手工与自动化,没有贵贱高低,只有适用不适用。