自动化引入原因概述
判断测试过程中是否采用自动化测试是十分简单的,可以用一个简单的图来说明。如图所示,随着时间的递增,产特征数量不断增加。不幸的是,测试每个新版本所投资的人数和时间总数是持平的,甚至还可能是减少的。因此,测试覆盖度逐步降低,这使得故障风险不断增加,甚至转变为潜在的业务损失。
例如,如果开发组织改进的应用程序中加强部分是现有代码的10%,这意味着测试工作量是以前的110%.
当测试资源和时间跟不上的时候,必须忽略对一些功能特征的测试。一般来说,最新的功能特征会是测试重点,因为大家假设原来的功能特征能够运行。当然这个假设并不总是成立,所以最大的风险反倒存在于已有的功能特征内。
自动化是解决这一两难问题的唯一办法。通过不断在已有功能特征的自动测试库上为新的功能特征加入新测试,测试库可以追踪整个应用程序的功能性。
自动化覆盖度
根据自动化引入原因的分析,自动化覆盖度是越高越好,最好能将已有功能全覆盖。然而不幸的是,自动化脚本是需要投入人时去开发、设计、执行、调试和维护的,且随着需求变更的面目全非,自动化脚本也是会失效的。因此需要不断权衡人工投入和自动化覆盖投入的多少,进而作出自动化覆盖度的决定。
而对自动化覆盖度的分析,可以建立在对脚本价值的分析之上。
脚本价值分析
脚本价值=(功能特征需求稳定性×功能特征技术实现稳定性×界面控件稳定性)
/(脚本开发速度×脚本运行稳定性×脚本维护工作量)
说明:功能特征需求愈稳定,脚本价值愈高
功能特征技术实现愈稳定,脚本价值愈高
界面控件愈稳定,脚本价值愈高(因为公司现有的自动化都依赖于软件界面控件)
脚本开发速度愈快,开发自动化脚本投入的人时愈少
脚本运行愈稳定,执行自动化脚本时投入的人时愈少
需求变更愈少,版本控件变更愈少,脚本维护工作量愈少,对应投入维护的人时愈少;
公式赋值:
将分子上的每个因素定义三个值:高、中、低。分别对应分数3,2,1.
将分母上的每个因素定义三个值:高、中、低。分别对应分数1,2,3
脚本价值值计算示例:
综上,根据自动化脚本价值分析和产品功能特征,可以给出自动化覆盖度的建议。