前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不同的测试规模优缺点有哪些?

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

原创
作者头像
漫谈测试
发布2024-09-11 18:22:32
1060
发布2024-09-11 18:22:32
举报
文章被收录于专栏:漫谈测试

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

一、大型测试

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

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

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

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

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

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

二、中型测试

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

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

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

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

它们依赖外部系统。

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

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

三、小型测试

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

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

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

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

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

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

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

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

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

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

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

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、大型测试
  • 二、中型测试
  • 三、小型测试
相关产品与服务
测试服务
测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档