软件工程第二次个人作业

在沈阳航空航天大学计算机学院,我完成了我的软件工程第二次作业,旨在深入熟悉高质量软件的开发过程,特别是单元测试环节。我的任务是从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖中选择一个标准来设计测试用例。我选择了语句覆盖标准,因为它能有效确保代码的每一行都至少执行一次,从而发现可能的错误。

我从2024年4月5日开始着手这项作业,并在2024年4月10日完成,期间编写了46行代码并自豪地实现了零错误的成果。在测试用例的设计中,我注重覆盖各种可能的情况:

  1. 首先,我设计了一个测试空数组的用例,期望输出为‘0’,以确保在没有元素时,循环不会执行,并且能够直接返回max_so_far的初始值。
  2. 接着,我考虑了全为负数的数组,同样预期输出为‘0’。这个测试用例帮我验证了当所有元素都是负数时,max_so_far将保持为0的逻辑。
  3. 我还设计了一个包含正数和负数的数组,最大子数组在中间的情况,期望输出为20。这个测试用例帮我确保了所有路径都被执行,包括两个if语句和更新max_so_farmax_ending_here的值。
  4. 另一个测试用例考虑了正负数混合的数组,其中最大子数组在末尾,期望输出为7。这进一步测试了所有路径,尤其是当最大子数组和出现在数组末尾时的情况。
  5. 最后,我创建了一个所有元素都是正数的测试用例,期望输出为10。这确保了max_ending_here不会因为负数而被重置为0。

我使用了本机单元测试项目对这些测试用例进行自动化测试,并得到了成功通过的结果,这充分展示了我的代码覆盖率和质量。我还将我的作业发布到了Github上(https://github.com/aitongsheng/shengaitong),以便于与同学们分享和交流。

通过这次作业,我不仅加深了对单元测试重要性的理解,还提升了自己设计测试用例和使用测试工具的能力。我相信这些经验和技能将在我的软件工程职业生涯中发挥重要作用。

posted @ 2024-04-10 22:32  aitongsheng  阅读(7)  评论(0)    收藏  举报