分享

读书日志:代码大全之第二十五章

 cupid8505 2012-07-07
第二十五章 单元测试

单元测试是指对单个子程序和模块而不是对整个系统的测试。

“玻璃盒”测试,你可用它来测试你自己的代码;而功能测试是一独立测试者用基本的功能描述来检查一个程序。

25.l 单元测试在软件质量中的作用

常用的测试方法(单元测试、功能测试、部分测试、系统测试)。

单元测试所占总的项目时间从 8%到 35%不等。

创建中的测试
通常测试方法是将子程序设计成黑盒子形状——子程序的用户只需了解接口要求,而不必知道子程序的内部情况。
不论你的集成或系统测试策略如何,在你将其合并之前,你应仔细地测试每个单元。

25.2 单元测试的一般方法
· 对每个需求进行测试,以便确保需求得到实现。
· 对和设计有关的程序进行测试以确保设计得到了实现。
· 在详细测试的基础上对需求和设计测试增加基本测试。

25.3 测试技巧
不完全测试
测试的艺术在于从所有测试用例中找出 最能发现错误的示例来。
善于结构的测试
其意思是你应对你程序中 的每一条语句至少测试一次
数据流测试
数据流测试是基于数据使用至少同控制流一样易受错误影响这个事实。
数据的存在有以下三种状态: 
已定义数据。数据已经初始化,但是还没有被使用。 
已使用数据。数据已经作为子程序或其它程序的变量用于计算了。 
已无效的数据。
等效类划分
“等效类划分”的概念是以上思想的体系化并可减少所需的测试 用例数。

错误猜测
以下几部分讨论了几种可进行错误猜测的错误类型。
边界分析
复合边界
坏数据的排序
好数据排序

25.4 典型错误
哪一个程序含最多的错误
错误排序
每位程序员都曾遇到 过令人生厌的错误:边界错误、忘记重新初始化循环变量等等。

所能发现错误的数量随开发过程的质量而异。

25.5 测试支持工具
建立“脚手架”以便测试你的子程序
软件“脚 手架”的唯一目的是为了能方便地测试代码。
结果比较
测试数据生成程序
覆盖监控
符号调试程序
系统的测试
错误数据库

25.6 提高测试质量
提高测试质量的方法和其它提高任何过程的质量的方法是相似的。
计划测试
进行有效测试的关键是从项目开始就计划测试。
再测试(回归测试)
管理回归测试的唯一可行方法是使回归测试自动化。

25.7 测试记录
度量项目的数据:
· 对错误的管理性描述(所提交的数据、编写报告的人所修改的数据)
· 对问题的充分描述
· 重复问题的方法
· 对问题的建议处理方法
· 相关错误
· 问题的严重性——例如,致命错误,令人讨厌的错误或无关紧要的错误
· 错误排序——分析、设计、代码或测试错误
· 代码错误的排序——边界错误、赋值错误、数组指针错误、子程序调用错误等等
· 所确定的错误位置。
· 由修改所引起的模块和子程序修改

25.8 小 结
· 开发者使用测试是完成测试策略的一个重要组成部分.
· 各种测试方法的混合使用也是搞好软件程序质量的一个方面。
· 通过采用基本测试、数据流分析和错误猜测你可生成许多测试用例。
· 测试数据往往比受测试的代码含有更多的错误。
· 最终提高测试质量的最好方法是,有条理地度量它,利用你的知识提高测试质量。















    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多