基于测试数据覆盖率的测试数据准备的手法示例(采用正交分析法 就可以满足)

简介:

2、生成测试数据的流程分析步骤主要为:

  1)按照等价区分法,将表切分成不同的集合(也就是表设计是的子表),这里最重要的是确定数据集的切分是的最大业务概念分类。

  如本例中的往来单位信息表,应该首先按照顾客/收货人/供应商/运输商切分成4等分数据集。

  以顾客为例,下一个的重要信息就是顾客状态了,失效顾客一般来说就是判断其是否生效,提示出错即完成,因此其他数据对测试用例来说是没有任何意义的,只要准备一条数据即可。

  然后根据项目最大候选输入数,以及相互项目的可能的排列组合,进行数据的细分设计。

  2)作为第2步来说,只用一条数据进行测试是危险的,因此需要准备多条的测试数据。

  3)作为第3步,适当的准备Null/“”/Full-Width等的边界值、特殊值测试数据即可。

  作为总体的数据量,大概20多条顾客数据就可以保证整个系统测试的测试用例使用。

 基于我们假设的测试数据的覆盖率层次,我们可以按照下述图形示例进行测试数据的准备:

  步骤1:通过等价区间法来减少数据复杂度

  主要是要按照数据的大、中、小层次进行分类,减少数据准备的复杂度。

  步骤2:通过识别项目相互间的影响要素提供数据覆盖率

  由于很能做到穷举测试,因此需要使用直交法等手法取得测试质量和投入成本间的平衡。

  步骤3:准备测试数据覆盖率=C1层的测试数

  步骤4:结合边界值法准备多件测试数据

  由于各种类型的测试数据只准备一件在测试上是危险的,因此需要对各种类型的测试数据准备多条测试数据。

  步骤5:对数据下工夫,提高测试数据到数据覆盖率C2层

  对准备的多条数据,可以在数据上下工夫,把空值、Null、最大值、最小值、数据位数等等的边界值和特殊值条件嵌入在数条的测试数据中,在尽可能少的测试数据下提供尽可高覆盖率的测试数据组合。

  步骤6:在各个测试中,有必要时按需添加部分数据

  根据上面提出的测试数据准备步骤,让我们用一个具体的示例来演示测试数据准备的技巧。

  基本思路是按照排列组合、边界值、特殊值的多少,考虑测试数据覆盖率进行测试数据准备。

  1、按照最大可选择的项目候选值进行数据设计的示意图如下:








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
6天前
|
JSON 数据可视化 测试技术
性能测试之Artillery(示例及指标)
性能测试之Artillery(示例及指标)
21 2
|
6天前
|
传感器 数据采集 算法
LabVIEW无人机大气数据智能测试系统
LabVIEW无人机大气数据智能测试系统
12 3
|
5天前
|
测试技术
深入理解与应用软件测试中的边界值分析法
【5月更文挑战第16天】 在追求软件产品质量的道路上,边界值分析法(Boundary Value Analysis, BVA)作为一种高效的测试设计技术,因其独特的关注点和较高的缺陷检出率而备受青睐。本文将探讨BVA的核心概念、操作流程及其在多变的测试场景中的应用优势。通过深入剖析边界值分析法的原理和执行步骤,揭示其在发现潜藏于输入、输出范围边界的软件缺陷方面的有效性,并讨论如何结合其他测试方法以优化测试覆盖率。文章还将展示通过案例分析和统计数据支撑的BVA应用效果,以及在实践中应注意的问题和可能的改进方向。
6 0
|
6天前
|
监控 数据挖掘 定位技术
Spartacus 测试,后台修改 product price 数据后,添加到 Cart 时,会带出来最新的价格吗
Spartacus 测试,后台修改 product price 数据后,添加到 Cart 时,会带出来最新的价格吗
16 2
|
6天前
|
测试技术
深入理解与应用软件测试中的边界值分析法
【5月更文挑战第14天】 在软件开发的生命周期中,确保代码质量和功能正确性是至关重要的。本文将深入探讨一种高效的软件测试技术——边界值分析法(Boundary Value Analysis, BVA)。不同于通常的摘要形式,此部分将直接引导读者了解BVA的核心原理、应用方法及其在实际工作中的重要性。通过分析边界条件引发的缺陷案例,我们揭示了如何利用BVA提高测试覆盖率,优化测试用例设计,从而提升软件测试的有效性和效率。
|
6天前
|
传感器 数据处理
示例三、光照度测试仪
示例三、光照度测试仪
18 1
|
6天前
|
机器学习/深度学习 人工智能 数据管理
深入分析自动化测试中的挑战与机遇
【5月更文挑战第9天】随着软件行业的迅速发展,自动化测试已经成为确保软件质量、提高开发效率的关键手段。然而,在实施自动化测试过程中,企业和测试人员面临着众多挑战,包括测试脚本的维护问题、测试数据管理、与持续集成/持续部署(CI/CD)流程的融合等。本文将探讨这些挑战,并分析在这些挑战背后所隐藏的机遇,比如测试自动化工具的创新使用、人工智能(AI)在测试中的应用以及测试策略的优化。通过案例分析和最新行业趋势的讨论,我们旨在为读者提供对自动化测试未来发展的深刻见解。
|
6天前
|
SQL 测试技术 网络安全
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
29 0
|
6天前
|
JSON 测试技术 数据格式
Elasticsearch 8.X 如何生成 TB 级的测试数据 ?
Elasticsearch 8.X 如何生成 TB 级的测试数据 ?
16 0
|
6天前
|
安全 数据挖掘 测试技术
深入探究软件测试中的风险分析与管理
【5月更文挑战第7天】 在软件开发生命周期中,风险分析与管理是确保产品质量和项目成功的关键步骤。本文将探讨软件测试过程中如何有效进行风险评估、分类及采取相应的缓解措施。文章首先介绍了风险管理的重要性,然后详细阐述了风险识别的技术和工具,接着分析了如何制定和实施风险应对策略。最后,通过案例研究展示了一个结构化风险分析流程的实施效果。

热门文章

最新文章