宏天信业测试方法论 咨询顾问
讲义提纲 什么是软件测试 组织结构及测试流程 测试各阶段管理要求 测试支撑工具及方法
什么是软件测试 组织结构及测试流程 测试各阶段管理要求 测试支撑工具及方法
为什么要加强测试 2000年推出Windows ME BUG问题 兼容性问题 2012年火车预售系统 压力问题
信息化建设的现状及问题 信息化的规模 越来越庞大。 信息化的功能 越来越复杂。 信息化的依赖 越来越紧密。 信息化的风险 越来越高…… 信息化的发展,越来越凸显测试工作的重要性!
质量管理的三个层面 亡羊补牢 让患未然 质量体系 投产前加强测试,交付更稳定的产品。 投产后发现问题,及时弥补修复。 开发中实施质量管理体系,避免潜在的缺陷。 亡羊补牢 让患未然 质量体系
软件验证的要素 正确性:符合范围要求。 健壮性:容错能力、恢复能力。 可靠性:运行稳定,无故障。 性能:运行效率高、速度快。 易用性:界面友好、操作简单。 安全性:资源合理保护的能力。 可扩展性:适应变化的能力。 兼容性:弱者设法与强者兼容,否则无容身之地。
众多的测试方法 白盒测试 黑盒测试 静态测试 动态测试 功能测试 压力测试 回归测试 边界测试 安装与反安装测试 安全性测试 兼容性测试 ……
测试方法结构图
测试通过准则 各单元功能同设计需求一致,且均可运行。 测试案例覆盖率及覆盖类达到要求。 测试案例均已执行正确。 对残留错误有合法解释或被认可暂留。
什么是软件测试 组织结构及测试流程 测试各阶段管理要求 测试支撑工具及方法
质量控制组织结构 项目管理部 开发中心 运维中心 测试中心
部门职责 项目管理部 开发中心 运维中心 测试中心 由专业的团队实施专业化的工作 负责项目立项 负责整体项目管理 负责过程的评审 项目开发落地 项目内部单元测试 项目相关文档提交 协助项目投产 负责项目投产工作 负责投产后运维 主持测试工作开展 负责项目质量保障 运维中心 测试中心 由专业的团队实施专业化的工作
测试中心组织结构 测试中心 文档验收组 功能测试组 压力测试组 制定文档验收标准 实施文档验收测试 提交文档入库资料 跟进测试环境 参与SIT测试。 主导UAT测试 编写UAT测试报告 压力测试组 准备压力测试环境 确定压力测试方法 实施压力测试 编写压力测试报告
提交物验收要求 文档的完整性检查。 文档的规范性检查。 文档的一致性抽查。 源代码验收。 执行码验收。 源代码、执行码及文档的入库与版本管理。
文档验收清单 用户需求说明书 技术方案建议书 开发环境软硬件要求及备份恢复方案 生产环境软硬件要求及备份恢复方案 需求规格说明书 总体设计说明书(概要设计说明书) 详细设计说明书 程序清单 单元测试计划、案例、记录单、总结报告 系统集成测试计划、案例、记录单、总结报告。 用户确认测试计划、案例、记录单、总结报告。 压力测试计划、案例、记录单、总结报告。 安装部署手册 用户手册 维护手册 验收测试报告 维护记录单及定期维护总结报告
测试过程 测试计划 测试准备 测试实施 测试总结 收集分析相关文档 测试策略及计划的制定 编写测试案例 准备测试数据 测试环境就绪检查 测试工具准备 测试人员准备 测试日程管理 测试问题管理 版本变更管理 测试质量控制 测试问题分析 测试总结报告 评议及批准报告
测试方案及测试计划 第一章 概述 1.1 测试目标 1.2 测试范围 1.2.1 数据范围 1.2.2 系统测试大纲 1.3 测试参考文档 1.4 系统风险、优先级 第二章 测试组织方案 2.1 测试地点 2.2 测试环境准备 2.3 人力资源 第三章 测试执行方案 3.1 测试工具及测试策略 3.2 数据准备 3.2.1 系统涉及的外部数据 3.2.2 系统集成测试需要的数据准备 3.3 测试任务分配 3.4 测试步骤 第四章 测试计划
测试案例模板 测试用例编号:项目编号_ 模块名称_A_FT_001 含义:项目编号_模块简称_功能标识码_测试类型_ 执行序号 用例中文说明: 测试重点: 测试需求ID: (可选项) 所属产品/分支: 所属模块: 版本:(可选项) 关联用例:(可选项) 创建者: 最后修改人: 创建时间: 年 月 日 最后修改时间: 年 月 日 测试前提:主要描述执行当前功能需要具备的相关权限,及相关依托功能描述。 序号 测试项 输入项 测试步骤 期望结果 实际结果 Pass/Fail 1 2
测试问题管理
测试问题严重度分类 NO SIT分类 UAT分类 问题影响说明 1 系统不能运行 关键问题 测试被中断,例如系统无法进行正常业务、系统数据完全混乱无法再继续进行测试、数据库死锁、死循环等。 2 模块不能使用 高级问题 某模块完全无法运行,或模块设计严重错误、接口错误等导致业务无法正确完成。 3 功能不能使用 中级问题 模块内的个别功能存在问题,导致业务无法有效执行,或重要业务报表严重的内容错误等。 4 功能运行不佳 一般问题 功能有瑕疵、报表有错误,但不影响业务进行。 5 修饰性问题 功能使用不便等问题,或界面误导客户等问题,界面不够友好、输入输出不规范等问题。 6 建议性问题 为程序使用更方便,提出的建议性的修改意见,非必须修改的问题。
版本变更管理 版本管理: 受控库对应测试环境,每轮测试期间版本不接受变更。 开发库:开发人员专用的库。 受控库:开发到某个阶段后(一般是系统测试完成),追加权限控制,限制开发人员对代码的随意修改(首次入库的资源称为基线)。 产品库:交付用户与生产环境一致的库。 受控库对应测试环境,每轮测试期间版本不接受变更。 开发库 系统外提交 受控库 开发人员确认 入库 出库 未通过评审 产品库 生产发布
测试问题分析 需求覆盖率 案例成功率 缺陷修复率 缺陷修复时间 缺陷重复率 缺陷密度
测试文档输出物 《测试方案及测试计划》 《测试用例》 《测试记录单》 《测试问题单》 《测试总结报告》
什么是软件测试 组织结构及测试流程 测试各阶段管理要求 测试支撑工具及方法
软件测试分类 多重测试验证软件质量: 每重测试根据项目需要,提供多轮反复验证,至少: 单元测试 – UT(Unit Test) 系统集成测试 – SIT(System Integration Test) 用户验收测试 – UAT(User Acceptance Test) 压力测试 – PT( Performance Test) 每重测试根据项目需要,提供多轮反复验证,至少: 单元测试:1轮 系统集成测试:2轮 用户验收测试:2轮 压力测试:1轮
测试验证依据 压力测试 招标要求 PT 用户确认测试 需求规格说明书 UAT 系统集成测试 功能规格说明书 SIT 单元测试 详细设计说明书 UT 编码
测试各阶段管理 测试管理阶段 0. UT 单元测试 1. SIT 系统集成测试 2. UAT 用户确认测试 3. PT 压力测试
UT测试参与角色 测试人员 开发人员 运维人员 需求方人员 - 编写测试案例 测试环境搭建 负责测试实施 测试环境运维 测试问题修正 测试总结报告 运维人员 测试环境提供 需求方人员
UT职能矩阵
UT管理要求 测试环境:由开发方自行管理。 测试实施:由开发方自行实施,并记录有效的测试记录单。 问题管理:使用有效的问题管理工具追踪问题的修改情况。
UT准出条件 全部模块均可独立运行。 完成全部测试案例的测试工作,并形成测试记录单。 未通过的测试案例不足整体测试案例的5%。 未通过的测试不影响业务的功能实现。
测试各阶段管理 测试管理阶段 0. UT 单元测试 1. SIT 系统集成测试 2. UAT 用户确认测试 3. PT 压力测试
SIT测试参与角色 测试人员 开发人员 运维人员 需求方人员 参与测试实施 编写测试案例 测试环境搭建 负责测试实施 测试环境运维 测试问题修正 测试总结报告 运维人员 测试环境提供 需求方人员 -
SIT职能矩阵
SIT准入条件 满足单元测试(UT)的准出标准。 完成UT测试总结报告。 文档要求: 完成SIT测试计划,并通过项目管理部的审批。 《需求规格说明书》 《详细设计说明书》 完成SIT测试计划,并通过项目管理部的审批。 完成SIT测试案例的准备。 提供SIT必要的硬件设备及通用软件环境。 提交封版的程序清单、程序源代码及执行码。
SIT管理要求 每周向项目管理层汇报SIT测试进展状况。 测试环境:由开发方自行管理。 测试实施:由开发方自行实施,并记录有效的测试记录单。 问题管理:使用有效的问题管理工具追踪问题的修改情况。
SIT准出条件 SIT案例在测试阶段全部执行完毕。 SIT期间发现的等级为1-4的问全部解决。 软件功能实现基本满足业务要求。 提交SIT测试报告,并经过项目管理部评议通过。
测试各阶段管理 测试管理阶段 0. UT 单元测试 1. SIT 系统集成测试 2. UAT 用户确认测试 3. PT 压力测试
UAT测试参与角色 测试人员 开发人员 运维人员 需求方人员 测试整体协调 协助编写案例 实施测试 测试总结报告 测试指导培训 测试环境搭建 测试问题修正 运维人员 测试环境提供 参与环境搭建 测试环境运维 需求方人员 编写测试案例
UAT职能矩阵
UAT准入条件 满足SIT准出标准,且通过质量管理部组织的评审。 按要求提交了完整的软件产品和文档,包括: 《安装部署手册》 《用户手册》 《维护手册》 UAT测试就绪准备工作检查通过,包括: 组织结构及UAT测试人员准备 UAT测试人员培训准备 UAT测试计划及案例通过评议 UAT场地设施准备 UAT测试环境准备 UAT测试数据准备 UAT测试参数准备 UAT测试工具准备
UAT管理要求 每周向项目管理层汇报UAT测试进展状况。 需求变更:统一管理并严格登记需求变更单。 测试环境:由测试组统一管理测试环境,并严格按测试计划与版本统一更新测试环境。回归测试将以补丁包方式进行升级,各升级程序必须与测试问题单或需求变更单严格对应。 测试实施:由测试组实施,并记录有效的测试记录单。 问题管理:使用有效的问题管理工具追踪问题的修改情况。
UAT准出条件 UAT测试案例在测试阶段全部执行完毕。 UAT期间发现的等级为1-4的问题全部解决或有经评议通过的绕行方案。 不合格处理: 退回软件须重新调整,并实施至少一轮SIT测试。
测试各阶段管理 测试管理阶段 0. UT 单元测试 1. SIT 系统集成测试 2. UAT 用户确认测试 3. PT 压力测试
PT测试参与角色 PT测试人员 开发人员 运维人员 需求方人员 测试整体协调 编写测试案例 参与环境搭建 测试环境运维 负责测试实施 测试总结报告 开发人员 测试指导培训 协助编写案例 协助环境搭建 测试问题修正 运维人员 测试环境提供 测试环境搭建 参与测试运维 需求方人员 -
PT职能矩阵
PT准入条件 满足UAT准出标准,且通过质量管理部组织的评审(特殊情况下,可以与UAT最后一轮同步开展)。
PT管理要求 每周向项目管理层汇报PT测试进展状况。 版本管理:PT期间版本不允许变更,如有无法通过性能测试,直接退回并重新实施UAT。 测试环境:由测试组统一管理测试环境。 测试实施:由测试组实施,并记录有效的测试记录单。
PT准出条件 PT测试案例在测试阶段全部执行完毕。 PT允许遗留的问题需经过需求方确认,且制定了由开发方确认的修复计划。 不合格处理: 退回软件须重新调整,须重新实施至少一轮UAT回归测试。
测试过程小结 阶段 任务 UT SIT UAT PT 测试计划 项目组 测试部门 开发环境 运维部门 测试案例 阶段 任务 UT SIT UAT PT 测试计划 项目组 测试部门 开发环境 运维部门 测试案例 业务部门:功能测试 测试组:非功能测试 PT小组 测试实施 版本管理 无 需要 必须 需求变更 需求管理 测试总结
什么是软件测试 组织结构及测试流程 测试各阶段管理要求 测试支撑工具及方法
常用测试软件 案例及缺陷管理工具 性能测试工具 BugFree(开源) TestDirector(TD) Bugzilla …… LoadRunner WinRunner Microsoft Web Application Stress Tool
问题管理 - BugFree
常用测试方法 PDCA管理 因果图分析 故障趋势分析 CheckList检查表
PDCA管理 建立策划方案 风险评估 设计 实施 监控 评审 纠正 预防 改进 计划:Plan 执行:Do 检查:Check 改进:Action 纠正 预防 改进
因果图(鱼骨图) 培训 系统硬件 软件 用户的硬件 问题:用户不能进入系统 用户未重新设置密码 用户未保存密码 用户总忘记密码 没有足够大的内存空间 无足够硬盘存贮空间 处理速度太慢 问题:用户不能进入系统
趋势分析图
CheckList检查表
小结:测试部门的职责 严谨的管理测试过程。 严格的控制测试准出。 科学的分析测试结果。 提升软件质量、降低投产风险。
小结:测试的目的 标准型观点 —— 测试和确认 风险论观点 —— 验证和评估 经济学观点 —— 为盈利而测试 测试不能表明软件中不存在错误,它只能说明软件中存在错误。
后记 补充说明
质量管理的内容 质量计划 确立质量管理目标 确定产品质量标准 策划达到目标过程 质量保证 对计划实施过程进行监管 对执行计划情况进行评估 对未达标的现象进行改进 质量控制 对照计划中的标准进行检查 找出质量缺陷的原因 找出解决问题的方法 质量改进 质量改进措施 质量缺陷纳入项目及企业知识库 制定流程预防未来潜在的质量缺陷
第三方主导测试 优势 劣势 测试更专业。 团队更负责。 成本更低廉。 对甲方业务不了解,导致测试的不完整: 知识产权 甲方业务人员参与测试。 与同一测试团队持续性的合作。 加强测试前的业务培训。 知识产权 与测试外包企业知识产权保密协议,与参与测试的个人签署知识产权保密协议。
成功案例 中国银行蓝图测试服务。 中国华融资产管理公司测试服务。 美国利宝互助保险公司测试服务。 渤海财险核心业务测试服务。
测试分析报告
Thank You! 北京市宏天信业科技发展有限公司 67 地 址:北京市海淀区高粱桥斜街59号中坤大厦809 地 址:北京市海淀区高粱桥斜街59号中坤大厦809 邮 编:100044 手机:13661277667 电 话:010-51663106-112 传真:010-82191731 网 址:www.macrosky.com.cn E-mail:wu_gang@macrosky.com.cn 67