某程序输入三个整数作为三角形的边长,判断并输出三角形的类型(等边三角形、等腰三角形、一般三角形)。请用等价类划分法设计该程序的测试用例。
时间: 2023-12-03 21:02:08 浏览: 197
等价类划分法是软件测试中一种重要的测试设计技术。它将测试用例划分为不同的等价类,以确保测试用例的充分性和有效性。对于这个程序,我们可以将输入的三个整数划分为以下等价类:
1.等边三角形:三个整数都相等。
2.等腰三角形:两个整数相等,另一个不相等。
3.一般三角形:三个整数都不相等。
4.不是三角形:任意两边之和小于第三边。
因此,我们可以设计以下测试用例:
等边三角形:
输入:3, 3, 3
输出:等边三角形
等腰三角形:
输入:5, 5, 3
输出:等腰三角形
输入:3, 4, 3
输出:等腰三角形
一般三角形:
输入:3, 4, 5
输出:一般三角形
输入:7, 8, 9
输出:一般三角形
不是三角形:
输入:1, 2, 4
输出:不是三角形
输入:5, 10, 25
输出:不是三角形
通过这些测试用例,我们可以覆盖所有的等价类,确保程序能够正确地判断三角形的类型。
相关问题
某程序输入三个整数作为三角形的边长,判断并输出三角形的类型(等边三角形、等腰三角形、一般三角形)。请用等价类划分法设计该程序的测试用例
根据等价类划分法,可以将输入的三个整数分为以下等价类:
1. 等边三角形:三个边长相等的情况
2. 等腰三角形:两个边长相等的情况
3. 一般三角形:三个边长都不相等的情况
4. 非三角形:其中任意两个边长之和小于第三个边长的情况
根据以上等价类,设计以下测试用例:
等边三角形:
- (3, 3, 3)
- (10, 10, 10)
等腰三角形:
- (3, 4, 4)
- (5, 5, 7)
一般三角形:
- (3, 4, 5)
- (7, 8, 9)
非三角形:
- (1, 2, 4)
- (5, 10, 25)
其中,等边三角形和等腰三角形都属于特殊情况,需要额外测试;一般三角形包含了边长都不相等的情况,也需要覆盖到;非三角形是不符合三角形定义的情况,也需要测试。
编写一个三角形程序,任意输入三个整数,判断三个整形边长能否构成三角形,如果是三角形,则判断它是一般三角形、等腰三角形或等边三角形,并输出三角形的类型。 2.画出程序的CFG,计算圈复杂度; 3.设计一组测试用例满足测试基本路径覆盖准则。
好的,我会根据您的要求回答您的问题。以下是您的问题的答案:
1. 三角形程序的代码:
```python
a = int(input("请输入第一个边长:"))
b = int(input("请输入第二个边长:"))
c = int(input("请输入第三个边长:"))
if a + b > c and a + c > b and b + c > a:
if a == b and b == c:
print("这是一个等边三角形")
elif a == b or b == c or a == c:
print("这是一个等腰三角形")
else:
print("这是一个一般三角形")
else:
print("这不是一个三角形")
```
2. 程序的CFG:
```
1
/ \
2 3
|\ |
4 5 6
\ |
7 8
|
9
```
3. 基本路径覆盖测试用例设计:
| 测试用例 | 输入值 | 预期输出 |
| -------- | ------ | -------- |
| 1 | 3, 4, 5 | 一般三角形 |
| 2 | 2, 2, 3 | 等腰三角形 |
| 3 | 1, 1, 1 | 等边三角形 |
| 4 | 1, 2, 3 | 不是三角形 |
| 5 | 0, 0, 0 | 不是三角形 |
阅读全文