软件工程第二次作业总结

1.题目要求:

题目(1):最大连续子数组和(最大子段和)

背景

问题: 给定n个整数(可能为负数)组成的序列a[1], a[2], a[3], …, a[n], 求该序列如a[i] + a[i + 1] + … + a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{ 0,a[i] + a[i + 1] + … + a[j] }, 1 <= i <= j <= n
例如,当(a[1], a[2], a[3], a[4], a[5], a[6]) = (-2, 11, -4, 13, -5, -2)时,最大子段和为20。

2.请从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖五个覆盖标准中(条件组合覆盖难度较大,鼓励尝试,但请谨慎选择),任选一个标准设计测试用例;

3.请利用自动测试工具对程序进行测试;

首先,对所选题目的代码进行设计部分,采用了简单的函数调用,设计了最大连续子数组求和的函数,功能实现较为普通,只是根据键盘输入的序列长度与序列元素而进行操作,通过for循环以及简单的条件判断即可完成。其次,在对根据题目要求设计出的代码进行测试用例设计的过程中,选择了条件覆盖作为覆盖标准。条件覆盖要求每个判定的每个条件应取到各种可能的值,这有助于确保代码中的条件逻辑得到有效的测试覆盖。通过这样的测试用例设计,我们可以确保对于不同情况下的输入,代码能够正确地计算出最大连续子数组的和,并且覆盖了代码中的各种条件逻辑分支。总的来说,通过合理的测试用例设计,可以有效地检验代码的正确性,并帮助发现潜在的错误或漏洞,提高代码的质量和可靠性。在完成此次任务后,对我的软件工程能力有一定的提升,加深了我对各种覆盖标准的理解,受益匪浅。

posted @   Awakening007  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· Apache Tomcat RCE漏洞复现(CVE-2025-24813)
点击右上角即可分享
微信分享提示