《构建之法》阅读笔记05
第五次写阅读笔记了。
第十三章:软件测试
这章讲了各种测试方法和测试的设计方法。一些基本的名字解释:Bug:软件的缺陷,可分为:症状、程序错误、根本原因;Test Case:测试用例,描述完整的测试过程;Test Suite:测试用例集。按测试方法可分为黑箱和白箱;按测试目的可分为:功能测试、非功能测试;也可以按测试的时机和作用分类。测试方法有前面提过的单元测试和代码覆盖率测试,也有构建验证测试、验收测试、“探索式”测试、回归测试、场景/集成/系统测试、伙伴测试等。测试的目的便是保证软件的美观、运行稳定等。实战中测试的核心任务是:在满足最低接受条件的前提下,提高各个部分的质量。测试中也有一些似是而非的观点,测试中也需要建立一些文档:测试设计说明书、测试用例、错误报告、测试修复,关闭缺陷报告、测试报告。软件的开发很难,会出现很多问题,我们要学会改错、交流测试经验。
第十四章:质量保障
软件由用户的需求而生,可它的质量是否完美呢?软件质量=程序质量+软件工程质量。软件开发过程有三个主要特性:好、快、便宜。软件工程的质量体现在:软件开发过程的可见性、软件开发过程的风险控制、软件内部模块,项目中间阶段的交付质量,项目管理工具的因素、软件开发成本的控制、内部质量指标的完成情况。CMMI的实施能够提高企业的管理水平,降低企业的成本。SWEBOK特别定义了软件质量成本的组成成分,其中包括预防、评审、内部故障、外部故障四个方面,作者认为还要加上流程分析改进、投资改进等各种成本。软件质量保障工作:软件团队为了让软件达到事先定义的质量标准而进行的所有活动。测试的角色应该有,独立的测试角色存在也会出现各种问题。
第十五章:稳定和发布阶段
一个团队经历多个阶段,达到代码完成这一目标,然而软件生命周期的最后阶段往往是最考验团队的。软件团队的各个角色代表会组成会诊小组,处理每一个影响产品发布的问题。在稳定阶段的初期,团队只要决定需要修复哪些缺陷,但是随着项目的进展和发布日期的临近,团队还要保证修改方案不会给产品带来负面影响。会诊会议也有了更高的要求,包括:开发者提交参加会诊的Bug和修改方案;会议决定是否同意修改方案;执行。设计变更、ZBB、最后回归测试、砍掉功能、修改Bug的门槛逐渐提高、逐步冻结都是常用招式。不同频率和不同覆盖范围的渐进发布,大约一月一更。发布之后,也要开会议,称为事后诸葛亮会议。
软件测试也很重要,做好软件开发的每一步。
个人感受
1.在以前的编程中,测试的用例并不是很全面,有一些东西都没有想到。
2.软件质量=程序质量+软件工程质量。软件开发过程有三个主要特性:好、快、便宜。
3.以后会多考虑一下情况,完善用例。