测试工作在软件开发中是必不可少的组成部分,包括测试分析、测试设计、测试策略、测试用例、测试执行等。然而,随着软件规模的增大,测试执行成为了最大的瓶颈。自动化测试的技术门槛和成本较高,导致许多测试用例仍然需要手工测试,因此出现了大量的手动测试执行人员,从而显著降低了软件研发的效率。然而,随着开源自动化测试框架、工具和基础设施的大量出现和普及,自动化测试的实施成本有所降低。特别是对于持续交付的项目,自动化测试可以大大降低回归测试成本,从而极大地提高软件研发的效率。

自动化测试可以从开发角度进行分类为三种类型:步骤录制型、编写代码型和界面配置型。从架构和使用角度进行分类,可以分为三个类型:测试工具型、测试框架型和测试平台型。此外,从版权角度进行分类,还可以分为自研型、开源型和商用型。无论从哪个角度进行分类,其目的都是为了解决自动化测试的问题。不同的项目选用了不同类型的自动化测试方案,因为项目的情况不同,比如人力资源多少、人员技能高低、项目周期长短、资金预算多寡、质量需求高低等。因此,没有绝对高低优劣的自动化测试方案,只有适合和不适合。要选择一个适合自己项目的自动化测试方案,需要从多个角度进行考虑。

例如,如果项目人员技能高,但项目资金不足,并且项目规模大、质量要求高,需要大量的自动化测试,可以考虑使用开源测试框架,并通过编写代码来实施自动化测试。而如果项目规模超大、周期长,并且测试有不少的特殊需求,可以考虑选用自研测试平台,并通过编写代码和界面配置来实施自动化测试等。

在软件开源领域,有大量与软件测试和软件自动化测试相关的项目,包括规模复杂的项目。在这些众多的开源测试框架和工具中,找到适合自己项目的一个是一项非常困难的任务。首先,你需要了解备选自动化测试框架和工具的各种细节情况,并进行横向对比同一类或相似的框架和工具。最后,根据自己团队的技术能力和资源情况选择一款适合自己的开源测试框架和工具。因此,了解当前有多少开源免费的自动化测试框架和工具,并能快速过滤出几款备选项,并深入了解和对比它们,是做好开源自动化测试的重要前提。此外,开源测试框架的灵活性也使得你有机会对其进行定制化开发,以满足特定需求,这也是做好自动化测试的重要一步。
许多项目的自动化测试实施困难或效果不佳,甚至失败,往往是由于没有综合考虑各个角度,从而选择了错误的自动化测试类型,并设定了远高于现实情况的预期或者不合理的目标。比如设定功能自动化测试覆盖率100%,用自动化测试代替人来找bug等。这使得自动化测试事倍功半,领导无法看到充足的理由来投资自动化测试,员工失去了证明自己价值的动力,最终导致自动化测试无法成功实施。

现在很多人在做事时越来越注重道和术,而忽略了器的重要性,甚至认为器并不重要。例如,在自动化测试方面,很多人没有了解和熟练掌握好的自动化测试框架和语言,就贸然随便选择一个自动化测试框架来实施自动化。然后遇到框架的一些局限,就开始抱怨自动化测试难,然后一直抱怨,最终自动化测试就没有然后了。因此,我们应该牢记自动化测试的重要性:“道为器之本,器为道之末。据器而道存,离器而道毁。”

标签: none