三角形类型判断与白盒测试

需积分: 50 57 下载量 197 浏览量 更新于2024-09-09 10 收藏 402KB DOC 举报
"这篇文档是关于一个编程作业的白盒测试案例,主要涉及三角形问题的判断,包括等腰三角形、等边三角形和一般三角形的识别。作者通过编写C++程序来实现功能,并设计了相应的白盒测试用例以确保程序的正确性。" 在这篇文档中,主要讨论了如何编写一个程序来判断输入的三个整数是否能够构成不同类型的三角形。首先,程序会检查输入的三个边长是否满足三角形的基本条件:任意两边之和大于第三边。如果满足,程序会进一步判断它是一般三角形、等腰三角形还是等边三角形。 1. 一般三角形:当输入的三个整数a、b、c互不相等时,它们可以构成一个一般三角形。在代码中,`denyao` 函数用于检测这种情况,输出"这是一般三角形"。 2. 等腰三角形:如果输入的三个整数中有两个相等,那么它们构成等腰三角形。在代码中,首先通过`denbian`函数检查是否为等边三角形,如果不是,则调用`denyao`函数检查是否为等腰三角形。 3. 等边三角形:当输入的三个整数完全相等时,它们构成等边三角形。`denbian`函数负责处理这种情况,输出"这是等边三角形"。 在程序的主体部分,`shu`函数首先检查输入的三个数是否都为正数,然后调用`sanjiao`函数来确认它们是否满足三角形的定义。如果输入的数值不满足条件,程序将输出错误信息。 对于白盒测试,这里提供了两种覆盖测试方法:判定覆盖 和 条件覆盖。 1. 判定覆盖测试 主要关注程序中的逻辑判断。例如,测试用例`011`验证输入包含负数或零的场景,预期输出是"输入的数中含有负数或零"。测试用例`222`则确保了当所有边长相等时,程序能正确识别为等边三角形。 2. 条件覆盖测试 更深入地检查每个条件的真假情况。例如,测试用例`-123`和`125`分别测试了条件`a<=0`和`a>0`,以确保所有可能的条件分支都被执行到。 这样的测试计划有助于发现程序潜在的逻辑错误,提高程序的可靠性。通过全面的测试用例设计,可以保证程序在各种情况下都能正确地识别三角形类型,从而满足用户的需求。