软件工程第13讲:C语言三角形检测程序与软件测试基础

需积分: 11 1 下载量 38 浏览量 更新于2024-08-23 收藏 1.04MB PPT 举报
"这篇资源是关于软件测试的课程资料,主要关注C语言程序设计和软件测试的基础知识。其中,提供了一个C语言程序示例用于测试输入的三个整数是否能构成三角形,并根据条件判断其类型。课程内容涵盖第14章软件测试,包括软件测试的基础知识、技术如白盒测试中的逻辑覆盖,以及测试步骤、常见错误类型和逻辑覆盖的难点。此外,提到了软件测试在软件开发工作量中的占比,强调了测试的重要性。课程还计划讨论软件测试过程、调试、排错技术和测试工具。" 在这个C语言程序中,主要涉及以下几个知识点: 1. **输入输出处理**:`printf`函数用于输出提示信息,`scanf`函数用于从用户那里获取输入的整数。在本例中,程序要求用户输入三个整数`a`, `b`, `c`。 2. **条件判断**:使用`while`循环确保输入的三个数都大于0,因为三角形的边长必须为正数。`if-else`结构用来判断输入的三个数能否构成三角形,以及三角形的类型。条件包括`a+b<=c`(不满足三角形条件)、`abs(a-b)>=c`(两边之差大于第三边),以及边长相等的情况,以判断是否为等腰或等边三角形。 3. **数学库的使用**:`#include "math.h"`引入了数学库,使得可以使用`abs`函数来计算绝对值,判断边长之间的关系。 4. **逻辑覆盖测试**:虽然在描述中没有直接提到,但课程内容提到了逻辑覆盖作为软件测试技术的一部分。逻辑覆盖测试是一种白盒测试方法,它确保程序的每条逻辑路径至少被执行一次。在示例程序中,可以分析逻辑路径,例如:是否进入`while`循环,`if-else`结构中的每个分支是否都被执行。 5. **软件测试基础**:软件测试是为了发现和修复错误,它是软件生命周期的重要环节,应在开发的各个阶段进行。测试用例设计应包括合理和不合理的输入,以检查程序的健壮性。测试计划的制定和执行对于保证测试的有效性和避免随意性至关重要。 6. **测试过程和调试**:课程将探讨软件测试的过程,包括如何进行调试和错误排查。调试通常涉及到定位错误、理解错误原因,并采取相应措施修复。 7. **帕累托原则**:在测试中,20%的模块可能含有80%的错误,因此需要对这些关键模块进行重点测试,以提高效率。 这个资源适合初学者了解软件测试的基本概念,以及如何在实际的C语言编程中应用这些概念。同时,对于软件工程的实践者来说,它提醒了软件测试的重要性以及测试过程中应遵循的原则和方法。