第二步Evaluation(评估):如何量化评估自动化测试规模并选择合适的工具?
俗话说:“工欲善其事,必先利其器”,工具对自动化测试的成败是一个非常关键的因素,选择合适的工具会使我们进行自动化测试事半功倍。
从技术的角度考虑,要做出准确的评估,我们必须要弄清楚以下两点:
(1)测试项目的软件特征和测试特征
(2)同族各种工具的细微差别,包括支持程度、可扩展性等等
以上都是从技术角度出发阐述的,在现实中我们并不是想选择哪个工具就能选择的,但掌握前面两点对于项目自动化的实施同样是至关重要的,例如:实施自动化过程中遇到问题,你能根据对项目和工具的了解快速地确定是哪方面的原因造成的。
第三步Architecture(构建):如何构建和设计自动化测试?
自动化测试绝对不能理解成测试工具简单的录制与回放过程。实际上,从实现成熟度来说,自动化测试分五个级别:
级别 |
说明 |
优点 |
缺点 |
用法 |
一级 |
录制和回放 |
自动化的测试脚本能够被自动的生成,而不需要有任何的编程知识 |
拥有大量的测试脚本,当需求和应用发生变化时相应的测试脚本也必须被重新录制 |
当测试的系统不会发生变化时,实现小规模的自动化 |
二级 |
录制、编辑和回放 |
减少脚本的数量和维护的工作 |
需要一定的编程知识;频繁的变化难于维护 |
回归测试时,用于被测试的应用有很小的变化 |
三级 |
编程和回放 |
确定了测试脚本的设计,在项目的早期就可以开始自动化的测试 |
要求测试人员具有很好的软件技能,包括设计、开发 |
大规模的测试套件被开发、执行和维护的专业自动化测试 |
四级 |
数据驱动的测试 |
能够维护和使用良好的并且有效的模拟真实生活中数据的测试数据 |
软件开发的技能是基础,并且需要访问相关的测试数据 |
大规模的测试套件被开发、执行和维护的专业自动化测试 |
五级 |
使用动作词的测试自动化 |
测试用例的设计被从测试工具中分离了出来 |
需要一个具有工具技能和开发技能的测试团队 |
专业的测试自动化将技能的使用最优化的结合起来 |
综合现有的技术储备和实践困难度考虑,我们将根据四级-数据驱动测试的程度引入自动化测试。因而我们需要设计一个便于实施的自动化框架来支撑整个过程,具体框架目录设计如下:
1. 公共函数库(存放不同项目都可能会用到的函数,例如数据比对函数)
2. 公共脚本库(存放项目中不同功能可能会用到的脚本、函数,例如登录脚本)
3. 项目脚本库(存放项目的核心功能脚本)
4. 数据驱动库(存放各脚本、函数中所需的驱动数据,当前以Excel形式保存)
5. GUI对象库(存放项目中会用到的所有对象集合)