• 1. 《单元测试》总结肖睿 rui.xiao@jb-aptech.com.cn
  • 2. 内容我们学习了什么 我们还要理解什么
  • 3. 我们学习了什么什么叫单元测试 测试应用中的最小单元,如C++中的一个类 单元测试是一种测试策略 尽早开始测试,经常做测试 单元测试应该有流程和文档的要求 测试工具影响效率,测试设计影响效果随着问题被检测出来的时间的推迟,发现软件错误所需的时间和成本会惊人地增加: IBM: 确定软件错误的相对成本是:在设计阶段,1.5;编码前,1;编码中,1.5;测试前,10;测试中,60;交付后,100。[Watts Humphrey] 确定错误的相对时间:需求分析阶段,1;设计阶段,3-6;编码阶段,10;开发测试阶段,15-40;接受性测试阶段,30-70;应用运行中,40-1000。[Boehm] JPL: 每个错误的平均成本:编码,US$90-US$120;测试,US$10,000。[Bush] Freedman and Weinberg: 使用设计评审和代码检查手段的项目在测试时发现错误的数量会减少10倍,测试成本降低50%-80%,包括评审和检查的成本。[Freedman]
  • 4. 我们学习了什么单元测试会用到什么测试技术 静态分析 白盒测试 黑盒测试 回归测试
  • 5. 我们学习了什么什么叫做静态分析 不实际运行程序,而是通过检查和阅读等手段来发现错误并评估代码质量的软件测试技术。也称为静态测试技术。 方法: 走查:WalkThrough 审查:Inspection 评审:Review
  • 6. 我们学习了什么什么叫做黑盒测试与白盒测试 都是设计测试用例的一种方法 黑盒:不了解实现结构,根据需求设计测试用例 白盒:了解实现结构,根据程序结构设计测试用例
  • 7. 我们学习了什么什么叫回归测试 代码或程序变更后,为了确保错误没有重复出现,而重新执行过去的测试用例
  • 8. 我们学习了什么什么是测试设计和测试用例 测试用例 为了提高有效测试的比率,有针对性的使用的测试步骤、测试场景、测试代码和测试数据(包括预期结果)。 测试设计 设计测试用例的技巧 测试覆盖是度量测试用例效果的手段之一 逻辑覆盖 基本路径覆盖
  • 9. 我们学习了什么什么是测试流程测试计划测试设计测试执行测试记录分析测试总结完毕缺陷跟踪针对测试目标,规定测试任务、资源分配、人员角色、进度安排等。根据测试计划,设计测试用例,包括:测试步骤、测试场景、测试代码、测试数据(包括预期结果)。根据测试计划,配置测试环境,并手动或者自动执行测试设计。根据测试计划,忠实地记录测试执行的过程和结果。分析测试记录,如果发现与预期结果不同,确定并重现缺陷。检查测试设计是否全部执行完毕,缺陷是否全部关闭。记录、分发、评估、关闭缺陷报告。分析测试过程和缺陷报告,评估测试质量和测试效果,给出是否通过测试的建议。
  • 10. 我们学习了什么什么是测试文档测试计划测试设计测试执行测试记录分析测试总结完毕缺陷跟踪测试计划文档测试用例文档测试记录文档缺陷跟踪报告测试总结报告
  • 11. 我们学习了什么测试工具 静态分析 编码规范 体系结构理解 动态分析 测试用例生成、管理、自动执行 覆盖分析 内存检查 性能检查 回归测试 Panorama/PurifyPlus/C++Test/Numega JUnit
  • 12. 内容我们学习了什么 我们还要理解什么
  • 13. 我们还要理解什么什么是单元测试的优点 单元测试技术是XP过程的基础 防止在开发的后期因BUG过多而失控 著名测试专家Boris Beizer博士认为: “软件开发历史上最臭名昭彰的错误都是单元错误--即通过适当的单元测试可以发现的错误。” 他引证了Voyager的错误(将探测器发送到太阳)、AT&T和DCS的错误(曾造成美国三分之一的电话瘫痪)以及Intel奔腾芯片错误,都能够通过全面的单元测试排除掉。
  • 14. 我们还要理解什么什么是单元测试的难点 到底要测试到什么程度 草草了事/过犹不及/何处是平衡点 确定测试的标准之一:覆盖率 大量的测试代码和测试用例 生成、共享、管理、标注很麻烦 尽量使用测试工具 测试过程中工具用的最多的地方 单元测试 后期的回归测试 负载测试 缺陷管理
  • 15. 内容我们学习了什么 我们还要理解什么