构建之法阅读笔记3
第十三章 软件测试 13.1 名词解释
- Bug:软件的缺陷
- Test Case:测试用例。描述了一个完整的测试过程,包括测试环境、输入、期望的结果等
- Test Suite:测试用例集。即一组相关的测试用例
13.2 Bug解释与实例 Bug可以分解为:症状(Symptom)、程序错误(Fault)、根本原因(Root Cause)
- 症状:从用户的角度看,软件出现的问题
- 程序错误:从代码的角度看,导致软件问题的代码错误
- 根本原因:错误的根本原因
Bug例子:
- 症状:用户报告,一个Windows应用程序有时在启动时报错,导致无法运行
- 程序错误:子窗口的handle有时为空,导致访问非法内存地址
- 根本原因:代码未确保创建子窗口,导致handle变量有时未赋值
13.3 测试方法
- 黑箱测试:将软件系统视为“黑箱”,设计测试从软件行为出发,而非内部结构
- 白箱测试:设计者可了解软件内部结构,选择测试数据和方法
第十四章 质量保障 14.1 软件质量 软件 = 程序 + 软件工程 软件(质量) = 程序(质量) + 软件工程(质量)
14.2 软件质量的保障与软件测试
- 软件测试:验证软件功能和特性,通常可量化
- 软件质量保障工作:软件团队为实现质量标准进行的活动,包括测试
第十五章 稳定和发布阶段 15.1 从代码完成到发布
- 第一步:开发者提交Bug和修改方案,报告Bug、危害、解决方案等
- 第二步:会议决定是否同意修改方案,分类处理缺陷
第十六章 IT行业的创新
- 影响产品竞争的因素:产品行业、公司和市场、团队执行、产品价值
- 产品的价值:产品给用户带来的价值,差异化功能、产品质量
第十七章 人、绩效和职业道德
- RASCI模型:Responsible、Accountable、Support、Consulted、Informed
- 团队合作阶段:萌芽、磨合、规范、创造
- 职业道德:不论职业,都需具备职业道德,软件工程师亦然。