一、自动化测试的概念
2010年前后开始成熟的以测试设计为中心的自动化,主要有两个概念:自动化测试执行技术和自动化测试设计技术。
1.自动化测试执行技术
指执行测试用例或脚本,自动操作被测对象及测试环境中周边设备来完成测试步骤和结果检查,自动判断出测试用例的执行结果的相关技术。
2.自动化测试设计技术
指通过某些信息(如系统的模型,设计模型,源代码等)由生成算法自动地测试生成测试用例和/或测试脚本的相关技术。
二、自动化测试的优缺点
1.自动化测试的优点
提高测试质量
提高测试效率,缩短测试工作时间
提高测试覆盖率
执行手工测试不易完成的测试任务
更好地重视软件缺陷的能力
更好地利用资源
增进测试人员与开发人员之间的合作伙伴关系
能执行测试步骤更长,综合性更强的测试用例
更快地反馈软件质量情况
提高系统的稳定性和可靠性
2.自动化测试的缺点
产生开发成本
需要测试技术团队
脚本维护成本高
无创造性
引入更多的复杂性
容易出现偏离原始的测试目标
可能引入额外的错误
三、基于模型的测试(MBT)
属于自动化测试设计目前的其中一个方向,另一个方向为基于搜索的测试技术。
1.基于模型的测试技术
基于模型的测试技术通过模型描述软件的需求和期待的行为,自动地生成测试用例和脚本。基于模型的测试技术通过建立系统的模型,利用模型来描述系统的需求、行为、数据等各个方面的信息,通过计算机算法从模型中自动地生成测试用例和测试脚本。然后通过成熟的自动化测试执行系统来执行生成的测试。从而进一步提高自动化测试的效率。其将原由人工实施的测试用例设计的过程分为测试建模和测试生成两大部分。测试建模仍然需要人工实施,而测试生成则由生成算法来自动完成。
2.基于模型的测试技术的主要优点
测试设计的自动化能改善工作效率和减少人为错误
尽早建立测试模型能改善沟通,提早发现需求中的缺陷
使得不了解测试设计技术的业务分析人员也能实施测试设计
提高测试覆盖,从而改进软件产品的质量
缩短测试设计的周期,加速测试活动
3.基于模型的测试技术的缺点
从模型生成测试用例数量可能过多(测试用例爆炸)。所以应仔细控制测试生成和选择合适的算法来避免
建模需要一定的投入
模型也可能描述错误。模型是人建立的,故此可能包含错误。由此生成的测试用例也会包含错误
模型的抽象可能带来理解上的困难。所有的模型都定一定程度的抽象,当抽象的逻辑原则未达成共识时,可能导致评审者无法理解测试模型
4.基于模型测试技术的常用工具
微软的Spec Explorer
GraphWalker
Stoat
MBT On Cloud
四、测试工具的选择
市场上的常用自动化测试工具有很多,常见的有UFT(别名简称:QTP)、Robot Framework、Selenium、Appium