针对三角形问题,使用边界值分析法设计测试用例

简介: 一、测试问题描述输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。要求输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200

一、测试问题描述

输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。要求输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。

二、设计测试用例

1.用边界值测试方法设计测试用例

用边界值分析法设计测试用例,按照下列步骤进行:

(1) 分析各变量取值

边界值分析的基本思想是使用输入变量的最小值、略高于最小值、正常值、略 低于最大值和最大值设计测试用例。因此a, b, c的边界取值是: 1, 2,100,199,200

(2)测试用例数

有n个变量的程序,其边界值分析会产生4n+1 个测试用例。这里有3个变 量,因此会产生13个测试用例。

(3)设计测试用例

用边界值分析法设计测试用例就是使一个变量取边界值( 分别取最小值、略 高于最小值、正常值、略低于最大值和最大值),其余变量取正常值,然后对每 个变量重复进行。本例用边界值分析法设计的测试用例见表1-1.

表1-1三角形问题的测试用例

测试用例

输入数据

预期输出

a

b

c

1

100

100

1

等腰三角形

2

100

100

2

等腰三角形

3

100

100

100

等边三角形

4

100

100

199

等腰三角形

5

100

100

200

非三角形

6

100

1

100

等腰三角形

7

100

2

100

等腰三角形

8

100

199

100

等腰三角形

9

100

200

100

非三角形

10

1

100

100

等腰三角形

11

2

100

100

等腰三角形

12

199

100

100

等腰三角形

13

200

100

100

非三角形

显示详细信息

 

测试二

测试用例

输入数据

预期

输出

备注

a

b

c

 

 

对 A 的边界测试

1

1

100

100

等腰三角形

2

2

100

100

等腰三角形

3

100

100

100

等边三角形

4

199

100

100

等腰三角形

5

200

100

100

三角形

6

100

1

100

等腰三角形

 

对 B 的边界测试

7

100

2

100

等腰三角形

8

100

199

100

等腰三角形

9

100

200

100

非三角形

10

100

100

1

等腰三角形

 

对 C 的边界测试

11

100

100

2

等腰三角形

12

100

100

199

等腰三角形

13

100

100

200

三角形

显示详细信息

 

2.用等价类测试方法设计测试用例

 

  1. 正整数:
  2. 三个数: 构成一般三角形:
  3. 构成等腰三角形;
  4. 构成等边三角形:
  5. 不能构成三角形

(2)根据输入条件的要求划分等价类,列出等价类表并编号,如表1-2

表1-2三角形问题的等价类

等价类输入条件

有效等价类

编号

无效等价类

编号

 

 

 

 

 

 

三个正整数

正整数

1

一边非正整数

a为非正整数

10

b为非正整数

11

c为非正整数

12

两边非正整数

a、b为非正整数

13

a、c为非正整数

14

b、c为非正整数

15

 

 

三边均为非正整数

16

三个数

2

只输入一个数

只给a

17

只给b

18

只给c

19

只输入两个数

只给a,b

20

只给a,c

21

只给b,c

22

未输入数

23

 

 

构成一般三角形

a+b>c,

且a≠b≠c

3

a+b<c

24

a+b=c

25

a+c>b,

且a≠b≠c

4

a+c<b

26

a+c=b

27

b+c>a

且a≠b≠c

5

b+c<a

28

b+c=a

29

 

 

 

 

 

 

构成等腰三角形

a=b, a≠c,且两边之和大于第三边

6

 

 

a=c, a≠b,且两边之和大于第三边

7

 

 

 

b=c, a≠b,且两边之和大于第三边

8

 

 

 

构成等比三角形

a=b=c

9

 

 

 

显示详细信息

 


目录
相关文章
|
6月前
|
机器学习/深度学习 人工智能 测试技术
深入分析自动化测试中的挑战与机遇
【5月更文挑战第27天】 随着软件开发周期的不断缩短和发布频率的增加,自动化测试成为确保软件产品质量的关键手段。本文将探讨在实施自动化测试过程中面临的主要挑战,包括维护成本、测试用例设计、与持续集成的融合等,并讨论如何通过最新的技术趋势如人工智能(AI)和机器学习(ML)来克服这些挑战,以及它们为自动化测试带来的新机遇。
|
27天前
|
缓存 监控 算法
软件测试中的性能瓶颈分析与优化策略
【10月更文挑战第6天】 性能测试是确保软件系统在高负载条件下稳定运行的重要手段。本文将深入探讨性能测试的常见瓶颈,包括硬件资源、网络延迟和代码效率等问题。通过具体案例分析,我们将展示如何识别并解决这些问题,从而提升软件的整体性能。最后,文章还将分享一些实用的性能优化技巧,帮助读者在日常开发和测试中更好地应对性能挑战。
70 3
|
2月前
|
监控 测试技术 持续交付
软件测试中的性能瓶颈分析与优化策略
性能瓶颈,如同潜伏于软件深处的隐形障碍,悄然阻碍着系统的流畅运行。本文旨在揭示这些瓶颈的形成机理,剖析其背后的复杂成因,并汇聚一系列针对性的优化策略,为软件开发者提供一套系统性的解决方案。
49 5
|
1月前
|
缓存 监控 测试技术
软件测试中的性能瓶颈分析与优化策略
本文深入探讨了在软件测试过程中,如何有效地识别和解决性能瓶颈问题。通过对性能瓶颈的定义、分类以及常见原因的分析,结合实际案例,提出了一系列针对性的优化策略和方法。这些策略旨在帮助测试人员和开发人员提高软件的性能表现,确保软件在高负载条件下依然能够稳定运行。
|
2月前
|
测试技术 持续交付 UED
软件测试的艺术与科学:平衡创新与质量的探索在软件开发的波澜壮阔中,软件测试如同灯塔,指引着产品质量的方向。本文旨在深入探讨软件测试的核心价值,通过分析其在现代软件工程中的应用,揭示其背后的艺术性与科学性,并探讨如何在追求技术创新的同时确保产品的高质量标准。
软件测试不仅仅是技术活动,它融合了创造力和方法论,是软件开发过程中不可或缺的一环。本文首先概述了软件测试的重要性及其在项目生命周期中的角色,随后详细讨论了测试用例设计的创新方法、自动化测试的策略与挑战,以及如何通过持续集成/持续部署(CI/CD)流程优化产品质量。最后,文章强调了团队间沟通在确保测试有效性中的关键作用,并通过案例分析展示了这些原则在实践中的应用。
70 1
|
2月前
|
监控 算法 测试技术
软件测试中的性能瓶颈分析与优化策略
本文旨在深入探讨软件测试过程中性能瓶颈的识别与优化方法。通过对性能瓶颈的概念、分类及其成因进行分析,结合实际案例,提出一套系统的性能瓶颈诊断流程和针对性的优化策略。文章首先概述了性能瓶颈的基本特征,随后详细介绍了内存泄漏、资源竞争、算法效率低下等常见瓶颈类型,并阐述了如何通过代码审查、性能监测工具以及负载测试等手段有效定位问题。最后,结合最佳实践,讨论了代码级优化、系统配置调整、架构改进等多方面的解决措施,旨在为软件开发和测试人员提供实用的性能优化指导。
67 4
|
3月前
|
前端开发 测试技术 UED
【测试效率对比】深入分析:为何UI自动化测试的投资回报率通常低于接口自动化测试?
这篇文章深入分析了UI自动化测试与接口自动化测试的投资回报率(ROI)问题,指出UI自动化测试在某些情况下的ROI并不低,反驳了没有实施过UI自动化就轻易下结论的观点,并强调了实践的重要性和自动化测试在项目迭代中的作用。
75 1
|
2月前
|
SQL 搜索推荐 测试技术
ChatGPT与测试分析
本产品需求文档(PRD)针对论坛网站的搜索功能优化,旨在提升搜索结果的准确性和速度,增强用户体验。文档涵盖项目背景、目标、功能需求(如搜索结果准确性、搜索速度优化、过滤和排序等)、非功能需求(如兼容性、性能、安全性等)、用户界面设计和技术架构等内容,并制定了详细的测试和上线计划,确保项目顺利实施。
28 0
|
5月前
|
存储 缓存 NoSQL
Redis性能测试实操记录与分析
Redis性能测试实操记录与分析
72 3
|
5月前
|
SQL 监控 中间件
【应急响应】拒绝服务&钓鱼指南&DDOS压力测试&邮件反制分析&应用日志
【应急响应】拒绝服务&钓鱼指南&DDOS压力测试&邮件反制分析&应用日志