自动化是否可以引入手动测试过程中?
设想一种这样的场景,在自动化测试过程中,手动暂停,在页面上输入测试参数,再继续执行,可是为什么会有这样的手动测试的自动化?
1.手工测试过程,很多时候是在重复指定流程,而如果等着自动化测试脚本+测试数据准备完全,进度上完全跟不上,所以说半手工+半自动化应该可以解决手工测试过程重复性和纯自动化进度缓慢的问题;
2.、我们多开展的自动化测试,都是在特定的前置条件、预置数据、特定步骤下进行,其固定性与局限性都比较大,所以说100%自动化比较适用于稳定、变化小的测试场景;
3、UI层面的自动化测试对页面元素定位的依耐性比较高,一旦某一个定位元素出现偏差,则整个流程都将受到影响,如果在人工值守时能干预则可以保证测试的连贯性;
4、接我上面说的自动化测试结果比较(见【读书笔记】自动化结果比较),如果可以实现不依赖预制数据的测试,那么对于那些流程复杂且对操作顺序要求较高的项目,可以预先设置好自动化测试步骤,在运行的过程中手动添加测试数据,一方面可以保证每次测试的流程是相同的,另一方面可以规避测试随机性问题。
那么如何开始手动测试的自动化呢?
1、自动化测试场景只有测试步骤,没有具体预制的测试数据;
以查询为例,测试场景中只有输入查询条件 —> 单击查询按钮 —>检查查询结果
(1).人工测试只负责准备查询条件数据,在自动化脚本运行到单击查询按钮前,
暂停 —>手动输入数据 —>启动;
(2).后续的操作就交给自动化脚本去完成(该过程也会比较复杂)。
2、设计完整的手工测试数据,供自动化测试过程使用;
3、在手工测试结束后,将部分数据作为自动化测试数据写入测试数据中,便构成了日常的自动化测试场景+数据。
其难点在哪里:
1、如何实现脚本运行过程中的暂停和启动;
2、如何实现这种半自动化—>纯自动化的自由转换,而不需要耗费很多的时间去改代码。
最终的目标是:
1、手工测试半自动化
2、回归测试等纯自动化