软件测试
1. 软件测试流程:
需求分析----测试计划----设计测试用例----实施测试----提交缺陷报告----生成测试总结和报告
2. 软件生命周期:
瀑布模型:需求分析—系统设计—程序设计—编码—测试—运行及维护
3. 软件测试分类(P256):
- 功能性(安全保密性,依从性)
- 可靠性(成熟性,容错性,可恢复性)
- 可用性(可理解性,易学性,可操作性)
- 效率 (时间特性,资源特性)
- 维护性 (可分析性,可修改性,稳定性,可测试性)
- 可移植性 (适应性,易安装性,一致性,可替换性)
4.软件缺陷报告主要内容:
- 问题报告编号
- 标题
- 报告人
- 报告日期
- 程序或组件的名称
- 版本号
- 配置
- 缺陷的类型
- 严重性
- 优先级
- 关键词
- 缺陷描述
- 重现步骤
- 结果对比
5. 软件缺陷状态:
- 初始化 new
- 待分配 open
- 待修正 solve,unsure,suspend
- 待验证 confirm,reopen
- 待评审
- 关闭 closed
6. 导致软件缺陷的原因:
- 需求的不完善
- 客户-开发者通信失败
- 对软件需求的故意偏离
- 逻辑设计错误
- 编码错误
- 不符合文档编制与编码规定
- 测试过程不足
- 规程错误
- 文档编制错误
7.静态测试&动态测试:
白盒测试:按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法,分为静态测试和动态测试
静态测试不实际运行软件,主要是对软件的编程格式,结构等方面进行评估,采用的是代码走查,代码审查,程序结构分析,控制流分析,数据流测试及信息流分析
动态测试实际运行软件,并使用设计的测试用例去探测软件缺陷,测试方法是逻辑覆盖(语句覆盖,分支覆盖,条件覆盖,分支-条件覆盖,条件组合覆盖,路径覆盖)
黑盒测试:
等价类划分,边界值分析,因果图,随机测试,猜错法,探索性测试
8.单元测试,集成测试,系统测试差别:
测试类型 | 对象 | 目的 | 测试角度 | 测试方法 |
单元测试 | 模块内部程序错误 | 消除局部模块的逻辑和功能上的错误和缺陷 | 开发人员角度 | 大量采用白盒测试方法 |
集成测试 | 模块间的集成和调用关系 |
找出与软件设计相关的程序结构,模块调用关系, 模块间接口方面的问题 |
测试人员角度 | 灰盒测试,较多黑盒方法 |
系统测试 | 整个系统,包括系统中的硬件等 | 对整个系统进行一系列的整体,有效性测试 | 用户角度 | 黑盒测试 |