软件工程读书报告
一、软件测试
1、软件测试的概念:等同于“调试”,目的是纠正软件中以知道的故障。
2、软件测试的分类:
- 白盒测试:直接在软件的源程序上进行测试、修改、复制
- 黑盒测试:对软件程序结构有一定的了解,介于白、黑两者之间
- 基本功能测试:对软件的关键功能进行测试
- 全面测试:对关键功能和覆盖软件的全部功能都测试
- 基准测试:执行速度、完成需时的比较测试
- 功能测试:等价区间测试
- 非功能测试:安装卸载测
3、自动化测试:一般认为使用(自动化测试)工具来进行的测试叫自动化测试,一般不需要人的干预,但不能完全取代手测。
4、BUG管理流程:
- BUG登记——测试工程师,初始
- 指派任务——项目经理,激活
- 修改BUG——开发工程师,修改
- 验证——测试工程师,通过则转第五步,否则转第2步,状态为再激活
- 关闭——测试工程师
二、系统实现与测试过程
1、CMMI中对应实践
- 技术解决方案过程域
- 验证过程域
- 产品集成过程域
2、系统实现于测试过程简述
主要有以下三个目的:
- 实现产品组件的编码并产生相应的支持文档
- 准备产品/系统集成,确保接口兼容性,组装产品组件
- 同时适应对产品组件进行单元测试和集成测试,实现对产品组件及集成的产品构建的验证
3、编码流程
开发人员根据《实现与测试计划》编写模块代码
开发人员在编写完成每个模块时,必须对自己的代码进行必要的自查和测试
项目经理或编码组长指定专人对系统程序代码进行抽查或审核,并将发现bug填写在bug清单中
4、测试流程:单元测试、集成测试
5、缺陷管理与改错
(1) 发现系统中的缺陷时,必须将缺陷记录
(2) 开发人员及时消除已发现的缺陷
(3) 缺陷消除后,要马上进行回归测试
(4) 完成集成测试后,填写《缺陷管理统计报告》
(5) ……
6、建立产品支持文档
文档人员在开发人员的协助下编制《用户操作手册》、《系统操作手册》、《培训教材》、联机帮助、系统安装包等
三、指定测试方案和测试用例
1、CMMI中对应实践
- 选择需确定的产品
- 建立确定环境
- 建立并维护确定过程和准则
2、测试资料收集与整理
- 通用的信息
- 被测试软件的类别及构成
- 被测软件的用户界面
3、检查产品说明书
- 高级审查:
- 测试产品说明书的第一部不是砖进去找软件缺陷,而是在一个高度上审视,以找出根本性的大问题、疏忽或遗漏。
- 通过研究更好地了解软件要做什么,以便可以做更好的测试。
- 怎样进行高级审查?
- 低级审查:
……
4、测试方案的制定
- 软件的现状及将来可能的发展
- 现有资源及将来可能获得的补充资源
- 风险分析
- 制定测试的策略
四、系统测试
1、CMMI对应测试
- 确定产品或产品组件
- 执行确定
- 分析确定结果
2、系统测试简述
执行测试计划活动的进入准则是:集成测试已通过
3、系统测试活动内容
(1) 用户层,主要是面向产品最终的使用操作者的测试,重点突出的是从操作者的角度,测试系统对用户支持的情况,用户界面的规范性、友好性、可操作性、以及数据的安全性。
(2) 应用层,针对产品应用的测试,重点在系统应用的角度,模拟实际应用环境,对系统的兼容性、可靠性、性能等进行的测试。
(3) 功能层,针对产品具体功能实现的测试。
(4) 子系统层,针对产品内部结构性能的测试,关注子系统内部的性能,模块间接口的瓶颈。
(5) 协议/指标层,针对系统支持的协议、指标的测试(主要是测试协议或指标的一致性及互通性)。