为什么要自动化?
自动化测试并不是万能的。但是它在你的长期部署的稳定性和质量上有戏剧性的区别。关键在于要明白自动化什么时候会用到什么时候不可以用,并且如何保证你的成功。
自动化的优点
1.扩大测试的覆盖率
2.节约时间和资源
3.知识的积累
扩大测试的覆盖率是最好的一个优点,因为他能使停工期、返工期、错误定位期保持高质量和低成本。在平时的测试工作中,经常会发生要新增一定数量的业务流程。
因此,每次成功的新增一个业务流程,都可能带来程序破坏的风险。如果新增了10%的功能,那么就需要100%的去测试来保证他的风险(越缺乏分层分块设计的紧凑的程序这种风险越高)。
当使用手工测试时,下方有一张图来解释功能数、风险、测试资源的关系:
当功能的添加数量越多,那么人工资源限制,测试覆盖越少,风险越大。
自动化测试比人工的去重新验证所有功能点,更加的省时、省力。
同时自动化测试也释放了大量重复劳动,使测试人员用更多的精力放到了测试用例设计和需求覆盖上。
但是当自动化测试的框架搭的并不好时,可能对于新功能点,会用比人工更多的时间资源去写脚本,这种情况是要绝对避免的,因此下面会谈论一些常用的自动化测试框架。
什么时候进行自动化测试
传统观念认为:只有在回归测试中才适合运用自动化测试。这种说法,第一次只能人工测试,如果执行成功,就转为自动化测试。这种观念起源于录制/回放的自动化测试方式。
新的方法,让代码或者架构完成时,自动化脚本已经设计好了。
自动化测试什么
自动化测试的前提,就是对软件的明确规范,软件的测试过程和结果都是可以预估的,就像测试用例写的步骤和预期结果和实际结果。如果这一步无法做到,那么自动化测试也就没有意义。
关键的成功原因
成功的自动化测试需要
1、管理上的保证实施
2、计划和训练
3、专门的资源
4、对于测试环境的控制
5、试点项目实施
没有一个项目可以再管理不支持的情况下获得成功,自动化测试也不例外。为了让管理更好的来管理自动化,我们需要明白这个东西的立场和它的产出。我们需要让管理清晰的知道每一步骤,那样你就能被他们支持并且继续做下去。这个的前提是有对项目计划的合适理解。
自动化测试计划必须清楚地定位总的成本和效益,提供一个详细的项目计划所需的资源、时间表及相关活动、然后跟踪结果和管理人员定期报告。成本包括选择合适的工具,培训团队,建立一个测试环境,开发测试库,维护测试和工具。你需要的时间和资源,最关键的是你所使用的方法。
如果碰到了障碍,那么就让管理层知道这个东西。