不同的测试规模优缺点有哪些?

目录

一、大型测试

二、中型测试

三、小型测试


每一种测试规模带来了一些益处,从测试的规模来说可以分为三种小型,中型,大型三类,如下图。不同规模的测试对测试者的信息成正比,越是大规模的测试对整个系统信息越高,越是规模大依赖性越高,速度越慢。每种测试规模的优点和缺点也都进行罗列,仅供参考和比较。

一、大型测试

大型测试的优点和缺点包括如下:

测试最根本最重要的:在考虑外部系统的情况下应用系统是如何工作的。

由于对外部系统有依赖,因此它们是非确定性的。

很宽的测试范畴意味着如果测试运行失败,寻找精准失败根源就会比较困难。

测试数据的准备工作会非常耗时。

大型测试是较高层次的操作,如果想要走到特定的代码路径区域是不切实际的,而这一部分却是小型测试的专长。

二、中型测试

中型测试的优点和缺点包括如下:

由于不需要使用 mock 技术,且不受运行时刻的限制,因此该测试是从大型测试到小型测试之间的一个过渡。

因为它们运行速度相对较快,所以可以频繁地运行它们。

它们可以在标准的开发环境中运行,因此开发人员也可以很容易运行它们。

它们依赖外部系统。

由于对外部系统有依赖,因此它们本身就有不确定性。

它们的运行速度没有小型测试快。

三、小型测试

小型测试的优点和缺点包括如下:

为了更容易地就被测试到,代码应清晰干净、函数规模较小且重点集中。为了方便模拟,系统之间的接口需要有良好的定义。

由于它们可以很快运行完毕,因此在有代码变更发生的时候就可以立刻运行,从而可以较早地发现缺陷并提供及时的反馈。

在所有的环境下它们都可以可靠地运行。

它们有较小的测试范围,这样可以很容易地做边界场景与错误条件的测试,例如一个空指针。

它们有特定的范畴,可以很容易地隔离错误。

不要做模块之间的集成测试,这是其他类型的测试要做的事情(中型测试)。

有时候对子系统的模拟是有难度的。

使用 mock 或 fàake 环境,可以不与真实的环境同步。

小型测试带来优秀的代码质量、良好的异常处理、优雅的错误报告;大中型测试带来整体产品质量和数据验证。单一的测试类型不能解决所有项目需求。正是由于这个原因,某些公司的项目维护着一个不同测试类型之间的健康比例。对于一个项目,如果全部使用大型的端到端自动化测试是错误的,全部使用小型的单元测试同样也是错误的。

小型测试带来优秀的代码质量、良好的异常处理、优雅的错误报告;大中型测试会带来整体产品质量和数据验证。

检验一个项目里小型测试、中型测试和大型测试之间的比率是否健康,一个好办法是使用代码覆盖率。测试代码覆盖率可以针对小型测试、中大型测试分别单独产生报告。覆盖率报告会针对不同的项目展示一个可被接受的覆盖率结果。如果中大型测试只有 20%的代码覆盖率,而小型测试有近 100%的覆盖率,则说明这个项目缺乏端到端的功能验证。如果结果数字反过来了,则说明这个项目很难去做升级扩展和维护,由于小型测试较少,就需要大量的时间消耗在底层代码调试査错上。测试开发工程师可以使用构建与运行测试时使用的工具,来产生并查看测试覆盖率结果,只需要在命令行中额外增加一个选项即可。覆盖率结果会存储在云端,任何工程师在公司内网络环境下都可以通过浏览器查看这些报告。

有些大厂有许多不同类型的项目,这些项目对测试的需求也不同,小型测试、中型测试和大型测试之间的比例随着项目团队的不同而不同。这个比例并不是固定的,总体上有一个经验法则,即 70/20/10 原则:70%是小型测试,20%是中型测试,10%是大型测试。如果一个项目是面向用户的,拥有较高的集成度,或者用户接口比较复杂,他们就应该有更多的中型和大型测试;如果是基础平台或者面向数据的项目,例如索引或网络爬虫,则最好有大量的小型测试,中型测试和大型测试的数量要求会少很多。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Feng.Lee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值