输入域分析问题与解答

输入域分析问题与解答

这个问题涉及输入域分析。
在整个问题中,我们将使用以下描述对简单系统的要求。
被测系统已开发用于计算通过在线超市系统购买的成本。 有两种类型的商品:标准商品和折扣商品。 不含运费的总成本是以下两项成本的总和:
• 标准项目的成本总和; 和
• 其中之一:
如果订购的折扣商品少于三个,则折扣商品的成本总和; 或者如果订购了三个或更多折扣商品,则为折扣商品成本总和的 90%。
客户可以选择自取物品,在这种情况下不收取运费。 但是,如果顾客选择送货上门,那么如果他们居住在距离超市 3 公里以内的地方,他们将被收取 3 英镑的费用,否则将被收取 7 英镑的费用。 最后,所有超过 200 英镑的订单均可享受 5% 的折扣。
a) 描述基于分区的输入域分析Input Domain Analysis based on partitioning及其作为测试生成基础的使用。 [20%]

输入域分区的属性
1.分区必须覆盖整个域(即完整)
2. 等价类不能重叠(即它们是不相交的)

应用输入域分析Applying Input Domain Analysis

  1. 确定要测试的功能
    2.识别输入域
  2. 识别特征
    • 基于接口的输入域建模Interface-Based Input Domain Modelling
    • 基于功能的输入域建模Functionality-Based Input Domain Modelling
  3. 识别等价类

#####################################

a) 基于分区的输入域分析是一种在输入域中划分不同分区或类别的技术,以便设计有效的测试用例。在这个问题中,我们可以进行以下的基于分区的输入域分析:

  1. 商品类型分区:

    • 分区1:标准商品
    • 分区2:折扣商品
  2. 折扣商品数量分区:

    • 分区3:订购的折扣商品少于三个
    • 分区4:订购的折扣商品等于或多于三个
  3. 运输方式分区:

    • 分区5:自取物品
    • 分区6:送货上门,居住在距离超市 3 公里以内
    • 分区7:送货上门,居住在距离超市超过 3 公里
  4. 订单总额分区:

    • 分区8:订单总额小于等于 200 英镑
    • 分区9:订单总额大于 200 英镑

基于上述分区,我们可以设计测试用例来覆盖不同分区中的各种情况。例如,我们可以选择以下测试用例:

  • 测试用例1:标准商品,少于三个折扣商品,自取物品,订单总额小于等于 200 英镑
  • 测试用例2:标准商品,三个或更多折扣商品,送货上门(距离超市 3 公里以内),订单总额大于 200 英镑
  • 测试用例3:标准商品,三个或更多折扣商品,送货上门(距离超市超过 3 公里),订单总额小于等于 200 英镑
  • 等等

b) 在输入域分析的背景下解释以下内容及其优缺点。
(i) 基于接口的输入域建模。
(ii) 基于功能的输入域建模。
[20%]

b) 在输入域分析的背景下解释以下内容及其优缺点。

(i) 基于接口的输入域建模:
基于接口的输入域建模是一种测试方法,其中测试设计基于系统与外部组件之间的接口。这种建模方法关注于外部输入和输出的交互,并将其作为测试用例的基础。在输入域分析的背景下,基于接口的输入域建模可以包括确定系统与超市系统之间的接口,例如购物车接口、价格计算接口、订单接口等。测试可以集中在这些接口上,以验证系统正确地处理输入并生成预期的输出。

优点:

  • 基于接口的输入域建模将重点放在系统与外部组件的集成点上,有助于发现接口通信方面的问题。
  • 它可以提供有关系统与外部系统之间交互的详细信息,从而更准确地设计测试用例。

缺点:

  • 基于接口的输入域建模可能无法全面覆盖内部系统的各个部分。它主要关注系统与外部组件的交互,可能无法发现系统内部的逻辑错误或问题。
  • 对于复杂系统,涉及多个接口和组件的情况下,管理和协调测试工作可能会变得复杂。

(ii) 基于功能的输入域建模:
基于功能的输入域建模是一种测试方法,其中测试设计基于系统功能和业务规则的理解。该方法关注系统应如何处理各种输入情况,并根据功能需求和规格设计相应的测试用例。

优点:

  • 基于功能的输入域建模能够全面考虑系统的功能需求和规则,以设计测试用例。
  • 它可以帮助发现系统中的逻辑错误、功能缺陷和规则违反等问题。

缺点:

  • 基于功能的输入域建模可能无法完全覆盖系统的所有边界条件和特殊情况。在设计测试用例时,可能会遗漏某些输入组合或边界情况。
  • 针对复杂系统,设计和管理大量的功能测试用例可能会变得繁琐和复杂。

综上所述,基于接口的输入域建模和基于功能的输入域建模各有其优点和局限性。在实际测试中,可以综合使用这两种方法来实现更全面的测试覆盖。

c) 通过将基于功能的输入域建模应用于问题开头的示例来说明您对上述问题的回答,给出一组可能作为结果产生的测试输入。 您应该证明所做的任何决定都是合理的。 [30%]

c) 通过将基于功能的输入域建模应用于问题开头的示例,我们可以根据问题描述识别不同的功能和规则,并设计相应的测试输入。以下是一组可能的测试输入和解释:

  1. 测试输入:购买一件标准商品,自取物品,订单总额小于等于 200 英镑。
    解释:这个测试输入涵盖了购买标准商品、选择自取物品、订单总额在免费送货阈值以下的情况。通过此测试,我们可以验证系统是否正确计算标准商品的成本和总成本。

  2. 测试输入:购买两件折扣商品,送货上门(居住在距离超市 3 公里以内),订单总额大于 200 英镑。
    解释:这个测试输入涵盖了购买折扣商品、选择送货上门(距离超市 3 公里以内)、订单总额超过 200 英镑的情况。通过此测试,我们可以验证系统是否正确计算折扣商品的成本、运费和总成本,并应用折扣。

  3. 测试输入:购买四件折扣商品,送货上门(居住在距离超市超过 3 公里),订单总额小于等于 200 英镑。
    解释:这个测试输入涵盖了购买折扣商品、选择送货上门(距离超市超过 3 公里)、订单总额在免费送货阈值以下的情况。通过此测试,我们可以验证系统是否正确计算折扣商品的成本、运费和总成本。

  4. 测试输入:购买三件折扣商品,自取物品,订单总额大于 200 英镑。
    解释:这个测试输入涵盖了购买折扣商品、选择自取物品、订单总额超过 200 英镑的情况。通过此测试,我们可以验证系统是否正确计算折扣商品的成本和总成本,并应用折扣。

  5. 测试输入:购买两件标准商品,送货上门(居住在距离超市超过 3 公里),订单总额大于 200 英镑。
    解释:这个测试输入涵盖了购买标准商品、选择送货上门(居住在距离超市超过 3 公里)、订单总额超过 200 英镑的情况。通过此测试,我们可以验证系统是否正确计算标准商品的成本、运费和总成本,并应用折扣。

通过以上测试输入,我们覆盖了不同的功能和规则,验证了系统在各种情况下的计算准确性和规则应用正确性。这些测试输入是根据问题

d) 描述边界值分析及其作为测试生成基础的用途。 作为其中的一部分,您应该解释为什么在测试生成中使用它并使用问题开头的示例来说明您的答案

d) 边界值分析是一种输入域分析技术,用于确定输入的边界情况并设计相应的测试用例。在测试生成中使用边界值分析可以帮助揭示潜在的错误和问题,因为往往边界条件是导致系统错误的关键点。边界值分析基于以下观点:在接近边界值的情况下,系统的行为可能会发生变化,因此这些情况需要特别关注。

在问题开头的示例中,我们可以应用边界值分析来生成测试用例。以下是边界值分析在这个问题中的应用和解释:

  1. 购买标准商品和折扣商品的边界情况:

    • 边界情况1: 购买0个折扣商品。
    • 边界情况2: 购买1个折扣商品。
    • 边界情况3: 购买2个折扣商品。
    • 边界情况4: 购买3个折扣商品。

    解释:通过考虑购买折扣商品数量的边界情况,我们可以验证系统在不同数量折扣商品的情况下是否正确计算成本和总成本。

  2. 运费收取的边界情况:

    • 边界情况5: 顾客居住在距离超市 3 公里以内。
    • 边界情况6: 顾客居住在距离超市 3 公里以上。

    解释:通过考虑顾客居住距离超市的边界情况,我们可以验证系统在不同情况下是否正确计算运费。

  3. 订单总额享受折扣的边界情况:

    • 边界情况7: 订单总额恰好等于 200 英镑。
    • 边界情况8: 订单总额超过 200 英镑。

    解释:通过考虑订单总额的边界情况,特别是在接近 200 英镑的情况下,我们可以验证系统是否正确应用折扣规则。

通过边界值分析生成的测试用例,我们可以覆盖系统在边界情况下的行为,并且有助于揭示系统处理极限条件的准确性。这些边界情况通常是错误和缺陷的潜在来源,因此在测试中重点关注它们是非常重要的。

你可能感兴趣的:(Java,测试用例,单元测试,算法,功能测试,数据结构)