软件测试-进阶-2-软件测试分析
软件测试 – 进阶 2 软件测试分析
察消长之往来,辨利害于疑似。(调查事物的消失与产生的来龙去脉,分辨利害于似是似非之间。)– 宋·苏轼《谢宣谕札子》。
- 分析是什么
Analysis,分析是一种活动,指将待研究对象按一定规则分解成不同部分、不同模块、不同属性,并对各部分、模块、属性加以 考察认识 ,以离清对象的 内在联系 的过程。
- 分析的目的
- 分析的目的是化繁为简、由表及里,以求认只和透析对象的本质。
- 通过对待研究对象各部分、模块、属性的认识,发现并确认对象外在表现(现象)与对象本体之间的 关联关系, 从而 推动进一步、有效的行动 。
- 问题分析是日常遇到的常见的分析方式:通过对问题成因的分解,找出引起问题出现的主要原因,从而发现解决问题的方法。问题分析的目的是发现出现问题的对象与问题之间的关析,离清轻重缓急,最终发现问题根源并解决问题。
- 分析的步骤
- 明确分析对象
- 界定分析范围
- 确认分析目的
- 理清分析依据
- 选择分析方法
- 实施分析活动
- 分析结果检查与优化
4. 软件测试分析
分析对象
待测软件系统、软件模块、软件功能点
- 软件代码(基于CODE,单元测试、接口测试)
- 软件系统(基于GUI图形界面,功能测试、集成测试、系统测试。。。。。。)
分析范围
功能、可靠性、易用性、效率、可移植性、可维护性 – 参考
- 验证哪些功能
- 执行哪些测试
- 从何处入手
分析目的
分解待测对象为不同的测试项、测试点,以系统化离清待测对象各组成部分间的关系,明确哪些需要测试、如何测试,实现需求100%覆盖
- 功能性需求
- 非功能性需求
分析依据
- 用户原始需求
- 用户实际操作规范、流程(业务)
- 软件需求(文档)
- 软件设计(文档)
- 软件系统验收标准(合同功能、非功能描述)
分析方法
系统化 + 结构化 ==> 需求全覆盖
待测对象功能分解:待测对象 -> 功能模块 -> 功能点 -> 功能组件 -> 组件属性 ==> 测试项 + 测试数据(参考,软件测试设计)
面向过程(业务场景),主要业务场景 + 业务分支 + 正常业务流程 + 异常业务流程
面向对象(功能模块,page object),模块 + 界面 + 组件 + 操作
- 角色、对象、操作,系统用户分类 + 权限 + 可见界面 + 可操作对象 + 系统响应
- 平台、环境、参数配置,操作系统 + 运行环境 + 三方控件 + 配置
实施分析
基本原则:细化对象至不可再分(基本单元),识别对象属性 及 实加于对象属性的动作,细致、全面、准确、持续优化。
- 测试大纲,基于代码 或 程序界面,从整体到局部层层分解,生成测试项
- 测试用例,基于测试项生成测试用例,完成从分析到设计的转化
检查与优化
- 需求覆盖度
- 验收标准覆盖度
分析 -> 设计 -> 策略 -> 计划