软件测试的概念
使用人工或自动的手段测试某个系统的过程,目的在于检测他是否满足规定的需求,弄清楚预期结果与实际结果的差别
软件测试分类
- 测试方式(运不运行代码)分类
静态测试,动态测试。 - 测试方法(看不看代码)
黑白灰盒 - 测试过程分类
单元测试-> 集成测试 -> 系统测试 -> 验收测试 - 测试目的分类
功能测试 健壮性测试 压力测试 界面测试 安全测试 安装,反安装测试 兼容性测试 等
软件测试的V,W模型
V模型
先开发后测试
用户需求 -> 需求分析/系统设计 -> 概要设计 -> 详细设计 -> 编码 ->
<- 验收测试 <- 系统测试 <- 集成测试 <- 单元测试 <---------------------
W模型
测试与开发同步进行
用户需求 -> 需求分析/系统设计 -> 概要设计 -> 详细设计 ->
编码 -> 集成 ->实施 -> 交付
(准备) 验收测试 -> 系统测试 -> 集成测试 -> 单元测试 ->
单元测试 -> 集成测试 ->系统测试-> 验收测试
测试用例的概念
测试用例是测试执行的最小实体,是为特定的目的而设计的一组测试输入,执行条件和预期结果。
测试用例的分类
- 白盒测试用例
- 软件各项功能的测试用例 (黑盒测试用例)
- 用户界面测试用例
- 软件各项非功能测试用例
- 对软件缺项修正所确认的测用例
测试阶段与测试用例的对应关系
- 单元测试 :模块功能测试
- 集成测试 :接口测试,路径测试
- 系统测试 :功能测试,兼容性测试,性能测试,用户界面测试,安全性测试,强度测试,可靠性测试,安装、反安装测试
- 验收测试: 基本同上,包括文档测试
软件缺陷的概念
存在于软件(文档,程序,数据)中那些不希望或不可接受的偏差而导致的质量问题
软件复杂缺陷的生命周期
--- [发现]
--- 登记缺陷,移交程序员 ---> [打开]
--- 程序员认为是小缺陷,移交项目管理员--> [打开]
--- 项目管理员认为缺陷不重要 --> [以不修复的方式解决]
--- 测试员不同意,找出案例并提交到项目管理员 -> [打开]
--- 项目管理员统一修复,移交到程序员 --> [打开]
--- 程序员修复缺陷,移交到测试员 --> [以修复的形式解决]
--- 测试员确认缺陷以修复, 关闭缺陷 --> [关闭]
测试组织与人员管理原则
- 尽快落实责任 (尽早指定负责人)
- 减少接口 (减少组内层级,方便人员沟通,提高工作效率)
- 职责明确,均匀 (组员明确自身角色)
软件测试人员的基本素质
- 一般能力: 表达 交流 协调 管理
- 测试技能与方法: 测试的基本概念与方法,测试工具与环境,测试标准
- 测试执行能力: 编写测试脚本/用例, 测试比较与分析, 缺陷记录与处理
- 测试分析,报告,改进: 测试度量,统计技术,测试报告,过程检测与持续改进
软件测试常用文档
前置作业文档
- 测试计划
- 测试设计规格说明
- 测试用例说明
- 测试规程说明
- 测试日志
后置作业文档
- 测试缺陷报告
- 测试总结报告
测试计划文档
- 测试计划标识符
- 介绍
- 测试项
- 需要测试的功能
- 测试方法
- 不需要测试的功能
- 测试通过与失败的标准
- 测试中断与恢复的条件
- 测试完成锁提交的材料
- 测试任务
- 环境需求
- 职责
- 人员安排与培训需求
- 进度表
- 潜在问题与风险
- 审批