软件工程第二次个人作业
在沈阳航空航天大学计算机学院,我完成了我的软件工程第二次作业,旨在深入熟悉高质量软件的开发过程,特别是单元测试环节。我的任务是从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖中选择一个标准来设计测试用例。我选择了语句覆盖标准,因为它能有效确保代码的每一行都至少执行一次,从而发现可能的错误。
我从2024年4月5日开始着手这项作业,并在2024年4月10日完成,期间编写了46行代码并自豪地实现了零错误的成果。在测试用例的设计中,我注重覆盖各种可能的情况:
- 首先,我设计了一个测试空数组的用例,期望输出为‘0’,以确保在没有元素时,循环不会执行,并且能够直接返回
max_so_far的初始值。 - 接着,我考虑了全为负数的数组,同样预期输出为‘0’。这个测试用例帮我验证了当所有元素都是负数时,
max_so_far将保持为0的逻辑。 - 我还设计了一个包含正数和负数的数组,最大子数组在中间的情况,期望输出为20。这个测试用例帮我确保了所有路径都被执行,包括两个if语句和更新
max_so_far及max_ending_here的值。 - 另一个测试用例考虑了正负数混合的数组,其中最大子数组在末尾,期望输出为7。这进一步测试了所有路径,尤其是当最大子数组和出现在数组末尾时的情况。
- 最后,我创建了一个所有元素都是正数的测试用例,期望输出为10。这确保了
max_ending_here不会因为负数而被重置为0。
我使用了本机单元测试项目对这些测试用例进行自动化测试,并得到了成功通过的结果,这充分展示了我的代码覆盖率和质量。我还将我的作业发布到了Github上(https://github.com/aitongsheng/shengaitong),以便于与同学们分享和交流。
通过这次作业,我不仅加深了对单元测试重要性的理解,还提升了自己设计测试用例和使用测试工具的能力。我相信这些经验和技能将在我的软件工程职业生涯中发挥重要作用。

浙公网安备 33010602011771号