软件测试需求
软件需求分析(Software Reguirement Analysis)是研究用户需求的产物,完全理解用户对软件需求的功能,确认用户软件功能需求,建立可确认、可验证的基本依据。
- 软件测试需求是设计测试用例的依据
- 保证测试质量
- 衡量测试覆盖率的指标
总而言之就是,明确怎么测,何时测,多少人力,多少物力。
软件测试需求分析
依据研发的软件产品类型,需求来源,产品用户群体,进行不同具体对象的需求分析
针对特定产品的研发
- 需求来源:市场分析,市场调研
- 用户群体:市场调研人员
- 需求特点:根据市场动态,研发主流产品
针对特定项目的研发
- 需求来源:客户需求
- 用户:指定的甲方
- 需求特点:客户想要啥,我们做啥
测试需求分析的设计
依据需求文档
提取测试点,根据测试点
来编写测试用例。
测试要点
分析:
正确性、必要性、优先级、明确性、完整性、可修改性、一致性
-
通过分析需求描述中的
输入,输出,处理,限制,约束
等,给出对应的验证内容,也称为功能测试。 -
通过分析模块之间的
业务顺序
,各个功能模块之间传递的信息和数据
,对存在交互功能
的功能项,给出对应验证结果,称为功能交互测试
。
如点了抖音app某款收藏之后,个人中心是否有收藏信息。功能模块之间的联系。
- 考虑到需求的完整性,充分覆盖软件需求的各种特性,包含隐性需求的验证,如
界面的验证
,注册账号的唯一性验证
,测试角度是界面
、易用性
、兼容性
、安全性
、性能压力
。
软件需求工程
软件测试计划书
测试计划是什么
测试计划是一个叙述了预定的测试活动的范围、途径、资源以及进度安排的文档。
此文档确认了测试项、被测特征、测试任务、人员安排,以及任何偶发事件的风险。
通过收集项目与产品相关的信息,对测试范围,测试风险进行分析,对测试用例,工作量,资源和时间进行估算,对测试采用的策略、方法、环境、资源、进度做出合理安排。
项目成功的要素
如下四点:时间、成本、范围、质量
时间由整个项目计划覆盖
成本由合同覆盖,甲方定制
范围由需求文档覆盖
质量:由QA计划或测试计划覆盖
测试员:
- 了解项目和测试活动的整体情况
- 明确测试策略,方法,范围,标准和约束
- 明确自身和团队的测试任务和目标
测试经理:
- 有利于对项目和测试活动宏观调控
- 明确职责分工,便于沟通协作
- 风险控制和资源统筹配置
测试计划核心内容
- 确定测试范围与风险,明确测试目标
- 确定总体的测试方法
- 确定测试内容,测试由谁来执行,如何执行
- 为测试的设计、实施与评估安排时间进度
- 为确定的测试活动分配资源
测试计划书内容包含:
- 人力以及时间资源分配
- 责任划分
- 风险控制
测试目标
产品的质量目标
- 测试已实现的产品是否达到设计的要求。
- 产品规定的操作是否实现,运行是否稳定。
测试活动的质量目标
- 所有的测试用例全部执行。
- 所有自动化脚本都已经通过。
- 所有严重级别的缺陷已经被修复。
- 每一部分的测试都通过评审
测试什么
以清单、表格等方式列出重点要测试什么,什么不需要测试。
列举测试的具体内容:
- 功能性需求:用户需求点,用户故事
- 非功能性需求:性能指标,兼容指标,安全指标。
测试优先级
哪些部分需要重点测试?哪些部分需要延后测试?以及测试优先顺序
整体测试策略
使用哪些测试方法?执行黑盒测试,是否需要白盒,自动化
规定各个阶段的测试工作重心
测试开始/中断/完成的标准
符合什么标准,可以进行测试
符合什么标准,测试必须中断或暂停
符合什么标准,测试可以结束
测试类型定义
- 功能测试
- 安装卸载测试
- 兼容性测试
- 易用性测试
- 测试技术
黑盒测试、白盒测试、自动化测试
周期内考虑点:
- 安排测试设计、执行、评估的时间,制作甘特图/Excel
- 明确测试过程中需要经历的测试阶段(单元、集成、系统、验收测试时间划分)
- 每个阶段明确起止时间,工作目标、重点
- 不同的测试类型间要合理安排(如功能测试发现bug较多,后续测试已经没必要)
活动、开始时间,结束时间,执行人员,执行目标
资源配置
人员资源:
- 多少名测试人员
- 测试人员需要具备什么技能
- 是否需要岗前培训
测试环境资源配置
- 硬件资源:服务器,计算机,手机,打印机,游戏手柄
- 软件资源:不同平台的操作系统,数据库软件,多种浏览器
- 网络环境:局域网或是wifi,或是公网,是否需要vpn
- 测试工具:自动化测试工具安装调试,管理工具安装(禅道等)
风险控制
风险指的是:
不可预料的后果,如事件,危险,威胁等特殊情况的发生。
客观性风险:
客观性因素,无法规避的风险:
- 人手不够了,短期也无法招到合适的人
- 同事生病请假了
- 开发团队不能如期交付代码
- 测试环境所需的环境,脚本,数据等没有提供好,无法进行
- 无法完全控制风险,只能遵循规律,降低风险造成的影响
- 遇见难以修复的bug造成其他功能无法测试
团队成员技能水平不够:
- 涉及新软件开发,对测试环境和工具不熟
- 成员被其他项目组调走了
如何制定测试计划:
1.任务送达
-
测试经理接到软件测试需求书和需求说明
2.分析测试任务 -
充分理解被测试软件的需求。
-
评估被测试软件的进度,状态,复杂度和风险
3.资源规划 -
组件测试团队,由资深人员进行开会研讨
-
准备人力资源
4.制定测试计划 -
研究确定测试计划的各项内容
5.评审测试计划 -
测试团队共同参与评审测试计划。
5W1H方法
what 对象
测试什么
测试是什么类型
被测软件有什么特点
测试环境是什么
when 时间什么时候开始测
什么时候提交缺陷报告
什么时候结束测试
why 原因为什么要做此项测试
who 有谁参与软件提供给谁去用
谁来执行测试用例
where 场所在哪里进行软件测试测试
到哪一个步骤算是完成
how 方法如何进行测试
如何编写测试用例书
如何控制风险