1、存在一些缺陷未被单元测试暴露,但应用程序输出中出现了故障迹象。能否编写软件自动检测此类故障?讨论与分析日志文件相比,单元测试在检测缺陷方面的优缺点。
软件故障检测方法对比
单元测试
优点
- 能对代码单元进行独立验证
- 执行速度快,能快速定位代码问题
- 便于开发过程中及时发现缺陷
缺点
- 难以模拟复杂的实际场景
- 可能无法发现需要复杂交互才能暴露的缺陷
- 编写测试代码工作量大
分析日志文件
优点
- 能反映系统实际运行情况
- 发现一些单元测试难以发现的与实际环境相关的问题
- 无需额外编写大量测试代码
缺点
- 日志信息可能不全面
- 分析日志文件比较耗时且主观
- 定位问题相对困难
2、为你的实现编写并执行单元测试,模拟特定运行。你的实现如何处理最后一个操作未被启用的情况?
第二个运行会失败。代码中执行了 ShowTitles(); SortByFirst(); SortByFirst(); ShowText(); ,由于存在两个连续的 SortByFirst 操作,第二个 SortByFirst 未被启用(在实现中,此状态下该选项不可用)。
运行失败证实了模型程序无法执行此运行,输出显示测试失败,失败信息为:
NewsReader.Tests.ForbiddenRun : at NewsReader.Tests.ForbiddenRun()

最低0.47元/天 解锁文章
61

被折叠的 条评论
为什么被折叠?



