一、测试项目启动与研读需求文档
(一) 组建测试团队
1 测试团队中的角色
2 测试团队的基本责任
- 尽早地发现软件程序、系统或产品中所有的问题。
- 督促和协助开发人员尽快地解决程序中的缺陷。
- 帮助项目管理人员制定合理的开发和测试计划。
- 对缺陷进行跟踪、分析和分类总结,以便让项目的管理人员和相关的负责人能够及时、 清楚地了解产品当前的质量状态。
- 帮助改善开发流程、提高产品开发效率。
- 促进程序编写的规范性、易读性、可维护性等
3 测试团队与开发团队的 3 种模式
- (1)以开发为核心,测试只是开发队伍的一部分,也就是开发团队中有测试人员,但 没有形成独立的团队
- (2)以项目经理为核心,开发小组和测试小组并存,隶属于项目经理领导。
- (3)项目经理、开发组长和测试组长“三足鼎立”,测试团队具有独立的、权威的地 位。
(二)软件质量需求
1 软件质量需求的分类
- 软件质量需求用于确定测试目标。
- 测试目标包括:功能、性能、界面、易用性、兼容性、安全性、可用性/可靠性、可维 护性、可扩展性等。
- 功能以外统称非功能。
2 功能
- 软件能做什么?
- -需要做什么?
- 怎么做是正确的?
- 哪些功能要测试、哪些功能不需要测试?
- 哪些功能重要,哪些不重要?
- 哪些功能先实现或先测试?
3 性能
- 反映软件运行时的效率和占用资源情况的能力。
时间特性:时间短、速度快、效率高。
资源特性:占用资源(CPU、内存、硬盘、网络)少。
4 界面(UI)
- 布局合理;
- 控件位置恰当;
- 文字没有乱码、字体大小合适;
- 颜色使用恰当;
- 图片、表格恰当、舒适、美观。
5 易用性
- 在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
6 兼容性/可移植性
- 指软件产品从一种环境迁移到另一个环境的能力,反映一个软件与不同的硬件环境、操 作平台、其他软件的共同使用的能力。
包括与不同硬件、平台、软件自身不同版本、其他软件、数据的兼容。
7 安全性
- 指软件产品保护信息和数据的能力。
8 可用性/可靠性
- 指系统正常运行的能力或程度,可用性=正常运行时间/(正常运行时间+非正常运行时 间)×100%。
可用性指标一般要求达到 4 个 9 即 99.99%(全年 52 分钟不正常工作)或 5 个 9 即 99.999%(全年 5 分钟),对一些军事系统,可用性高达 7 个 9(99.99999%(全年 失效时间不超过两秒)。
一般测试时间不足,可以采用空间换时间的办法,如在高负载情况下进 行为期一周 或一个月的测试,以判断其可靠性。
关注 MTTF(平均无故障时间)、MTTR(平均恢复时间)、MTBF(平均失效间 隔时间)。
9 可维护性
- 指软件产品可被修改的能力。
修改可能包括修正、改进或软件对环境需求和功能规格说明变化的适应。
可维护性的软件应该是易改变的、稳定的、易测试的。
10 可扩展性/可伸缩性测试
- 通过很少的改动就能实现整个系统处理能力的增长。
如在部署两台服务器时测试系统性能(容量,即最大负载),再部署四台、八台服 务器时分别进行系统容量的测试,看其容量是否为上次(两台、四台)实验值的两 倍或接近两倍。如果是,系统就具有良好的可伸缩性。
(三)研读需求文档
1 测试需求分析的过程
- 收集与研读文档,提出并解决问题,整理需求信息
- 功能拆分、功能描述/需求整理
- 编写测试点
- 需求评审
2 研读需求文档
2.1 研读文档主要任务
- 提取有用的需求信息
- 提出需求中不清晰、不理解、不明白的问题
和用户、业务人员、产品经理或产品设计人员、开发人员等沟通
2.2 怎么研读文档
- 分析思路
分析软件的用户群,分析用户的实际需要;
分析软件的开发环境、开发语言、数据类型;
分析软件架构、软件的运行环境和平台、数据库类型;
分析软件要实现哪些目标(功能、性能、界面、易用性、兼容性、安全性)以 及具体的要求是什么;
分析软件有哪些功能,每种功能要完成什么业务,这些业务应该怎么实现,业 务逻辑是什么,业务流程是怎样的,业务规则有何要求;
分析功能或业务间的联系,哪些业务更关键或重要;
明确测试周期,测试目标,测试范围。 - 细节上
分析每个模块或功能上实现的功能
设计的开发原理包括数据类型
从用户使用场景角度分析业务流程
记录业务规则 - 实施
以情景再现的形式写出需求信息。
2.3 研读需求文档案例
- 拿到一个项目,怎么入手?
– 即时贴程序部分需求说明
便签的数量最多为 50 个
便签标题字数最多为 40 个字节
便签的正文文字数量最多为 200 个
年份只能设置在 1900-2100 之间
(四)需求评审
1 意义
- 对软件需求进行正确性的检查。
- 保证软件需求的可测试性。
- 通过产品需求文档的评审,与市场、产品、开发等各部门相关人员沟通,使得大家 认识一致,避免在后期产生不同的理解,引起争吵。
- 通过产品需求文档的评审,更好地理解产品的功能性和非功能性需求
- 在需求文档评审通过后,测试的目标和范围就确定了。虽然此后会有需求的变更, 但可以得到有效的控制,这样可降低测试的风险。
- 评审是否完成是以需求文档获得多方“邮件确认”或“签字”通过为标志的。这不 应该只体现在“签字”形式上,更重要的是达到下面的结果。
所有参与方达成一致。
已发现的问题被阐述清楚、被修正。
2 需求评审的质量要求
- 正确性
- 完备性
- 易理解性
- 一致性
- 可行性
- 易修改性
- 可测试性
- 可追溯性
3 需求评审的参加人员
- 用户代表
- 需求人员
- 产品经理
- 项目经理
- 开发人员
- 开发经理
- 测试人员
- 测试经理
- 市场经理
- 质量保证人员