验证与确认:
- 软件的错误
- 验证与确认
- V&V活动
软件测试基础:
- 什么是软件测试:
软件测试的目标在于以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。
- 软件测试的基本原则:
(1) 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。
(2) 程序员应避免检查自己的程序。
(3) 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。
(4) 测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。
(5) 充分注意测试中的群集现象。
(6) 严格执行测试计划,排除测试的随意性。
(7) 应当对每一个测试结果做全面检查。
(8) 妥善保存一切测试过程文档,为维护提供方便。
- 软件测试与软件开发各阶段的关系:V模型
- 测试文档:
(1) 测试计划
(2) 测试规范
(3) 测试用例
(4) 缺陷报告
重要性体现:
(1) 验证需求的正确性
(2) 检验测试资源
(3) 明确任务的风险
(4) 生成测试用例
(5) 评价测试结果
(6) 再测试
(7) 决定测试的有效性
软件测试信息流:
- 软件配置
- 测试配置
- 测试工具
软件测试人员:
- 沟通能力
- 移情能力
- 技术能力
- 自信心
- 外交能力
- 幽默感
- 很强的记忆力
- 耐心
- 怀疑精神
- 自我督促
- 洞察力
软件测试策略:
- 单元测试:
(1) 模块接口测试
(2) 局部数据结构测试
(3) 重要执行路径测试
(4) 错误处理测试
(5) 边界条件测试
(6) 单元测试方法
- 集成测试:
(1) 自顶向下集成
(2) 自底向上集成
- 确认测试
- 系统测试:
(1) 恢复测试
(2) 安全测试
(3) 强度测试
(4) 性能测试
- 软件调试:
(1) 简单的调试方法
(2) 归纳法调试
(3) 演绎法调试
(4) 回溯法调试
软件测试方法:
- 静态测试与动态测试
(1) 人工测试
(2) 计算机辅助静态分析
- 黑盒测试与白盒测试
黑盒测试:
(1) 等价类划分
(2) 边界值分析
(3) 状态测试
(4) 失败条件测试
(5) 错误推测法
白盒测试:
(1) 逻辑覆盖
(2) 路径测试
- 程序的静态测试:
(1) 查找问题
(2) 遵守规则
(3) 审查准备
(4) 编写报告
- 面1向对象软件测试:
面向对象软件测试类型:
(1) 模型测试
(2) 类测试
(3) 交互测试
(4) 系统(子系统)测试
(5) 验收测试
(6) 发布测试
- 软件测试工具:
(1) Junit
(2) LoadRunner