12.5 BBS主测试计划
本文按照IEEE Std 829-2008模板《主软件测试计划》书写,具体IEEE Std 829-2008模板请参见附录A。
案例12-5:BBS主测试计划。
1.介绍
1.1 文档标识
BBS RV 1.0主软件测试计划。
1.2 范围
本文针对BBS RV 1.0项目制定主软件测试计划,用于指导BBS RV 1.0软件测试活动。针对BBS RV 1.0项目,软件测试包括单元测试、集成测试、系统测试和验收测试4个级别,涉及软件测试计划与控制、软件测试分析与设计、软件测试实现和执行、软件测试出口评估报告和软件测试结束活动。由于项目采取敏捷开发模式,每个Sprint开发一到多个用户故事,所以软件测试级别分布在每个Sprint中。总体测试计划在项目开始时制定。Sprint测试分析,测试控制,测试设计,测试实现和执行,评估Sprint测试结束活动分布在每个Sprint中。总体测试出口评估报告和测试结束活动处于项目后期执行。非功能性测试在每个Sprint期间都要执行。
测试类型分为功能性、准确性、安全性、互操作性、易用性、可靠性、性能、维护性,都基于风险的测试基础。此外,还包括40%的反应式测试。
不测试特性包括可移植性测试。由于BBS安装比较简单,并且为仅提供一家公司使用,所以可移植性测试不作为本次测试重点。
1.3 参考资料
《×××软件公司软件测试方针》
《×××软件公司软件测试策略》
《BBS RV 1.0项目计划》
《BBS RV 1.0需求规格说明》
《BBS RV 1.0系统规格说明》
《×××软件公司配置管理计划》
《×××软件公司质量保证计划》
《×××软件公司编码规范》
1.4 系统概述和主要功能
电子公告牌系统(Bulletin Board System,BBS)通过在计算机上运行服务软件,允许用户使用Internet连接,执行下载数据或程序、上传数据、阅读新闻、与其他用户交换消息等功能。许多BBS由站长(通常被称为SYSP)业余维护,而另一些则提供收费服务。目前,有时BBS也泛指网络论坛或网络社群。
BBS 1.0主要提供以下功能:
后台
001:超级管理员可以建立BBS分论坛。
002:超级管理员可以建立、修改、删除每个BBS分论坛版主信息,包括登录名与密码,每个BBS分论坛可以有一到多个版主。
003:版主登录后可以修改用户名及密码。
004:版主查看本分论坛未审批的帖子进行审批或退回。对于其他分论坛信息,本论坛版主权限与普通用户相同。
前台
005:普通用户注册用户信息。
006:普通用户登录后可以修改自己的用户信息。
007:普通用户登录后可以建立、修改、删除自己书写的帖子。
008:普通用户登录后可以查询,查看别人发表的审核通过的帖子。
009:普通用户登录后可以对其他人已经发表的审核通过的帖子进行回帖。
010:普通用户登录后可以根据发的帖子及回复的帖子数量获得积分,根据积分参与网站内的活动。
1.5 软件测试概述
1.5.1 组织结构
业务团队
(1)负责收集需求。
(2)在整个开发期间充当用户代表。
(3)联系真正用户。
(4)组织验收测试。
SCRUM团队
(1)配合软件测试经理和开发经理管理研发团队。
(2)组织每日例会。
(3)每个Sprint开始组织计划。
(4)每个Sprint期间汇报进度给软件测试经理和开发经理。
(5)每个Sprint结束组织会议回顾。
配置管理团队
(1)配置代码管理。
(2)配置文档管理。
研发团队
(1)开发工程师负责产品任务。
(2)软件测试工程师负责软件测试任务。
1.5.2 主软件测试进度
每个Sprint软件测试包括:Sprint测试分析、测试控制、测试设计、测试实现和执行、评估Sprint测试结束活动,具体详细程度参考每个Sprint级别软件测试计划。
1.5.3 完整性级别
根据BBS项目的实际情况,本项目完整性定义为3级(次高级),具体参见《×××软件公司软件测试策略》。
1.5.4 角色和职责
软件测试团队涉及的角色包括:软件测试经理、软件测试系统分析师、软件测试技术分析师、软件测试自动化人员、软件测试环境管理员和软件测试执行人员。各个角色具体的职责参见《啄木鸟软件公司软件测试策略》。
合计:6人
1.5.5 工具、技术、方法和度量
1.硬件需求
2.软件需求
3.度量
时间进度偏移。
工作量偏移。
发布前缺陷发现密度。
各个文档发现的缺陷率。
各个Sprint软件测试活动发现缺陷率。
2.详细内容
2.1 软件测试过程定义
项目前期进行总体的项目计划工作,产生《软件测试方针》《软件测试策略》和《主软件测试计划》。整个开发过程采用敏捷的方法,定义6个Sprint。每个Sprint开始定义Sprint计划,软件测试系统分析师和软件测试技术分析师书写《级别软件测试计划》、《级别软件测试设计规格说明书》《级别测试用例规格说明书》和《级别软件测试规程规格说明书》。Sprint测试分析,测试控制,测试设计,测试实现和执行,评估Sprint测试结束活动分别在每个Sprint中进行。每天早晨Scrum Master组织人员召开研发小组例会,项目成员依次汇报工作情况,然后Scrum Master总结汇报给软件测试经理、开发经理,便于项目监控(包括开发监控和软件测试监控)。每个Sprint接近结束时,软件测试经理汇总阶段软件测试报告,决定是否可以结束本次Sprint软件测试活动。
执行过程中需要书写《软件测试日志》,若发现问题,就上报JIRA。
单元测试、集成测试由开发工程师完成,系统测试由软件测试工程师完成,验收测试由软件测试工程师配合运维工程师和/或业务团队人员进行。
每个Sprint正式开始系统测试由《级别软件测试计划》中描述的入口条件决定。
非第一个Sprint期间要随时对老功能进行回归测试。冒烟测试用例由软件测试自动化人员通过Selenium书写测试代码,建立自动化测试。其余基于手工测试。
所有Sprint结束,测试所有测试用例,最后安排两天的探索式测试时间,依据《级别软件测试计划》中描述的出口标准决定是否结束本次Sprint软件测试活动。
软件测试结束需要进行软件测试结束活动,具体参见《×××软件公司软件测试策略》。
2.1.1 项目风险列表
2.1.2 质量风险列表
解释如下。
1-5:粗略的软件测试,标记为1级。
6-10:广泛的软件测试,标记为2级。
11-15:详尽的软件测试,标记为3级。
16-20:详细的软件测试,标记为4级。
21-25:重要的软件测试,标记为5级。
软件测试系统分析师、软件测试技术分析师设计《Sprint软件测试计划》《Sprint软件测试设计规格说明书》《Sprint测试用例规格说明书》《Sprint软件测试规程规格说明书》。根据风险等级进行深度优先的软件测试。
2.2 软件测试文档需求
《软件测试方针》。
《软件测试策略》。
《主软件测试计划》。
《Sprint软件测试计划》。
《Sprint软件测试设计规格说明书》。
《Sprint测试用例规格说明书》。
《Sprint软件测试规程规格说明书》。
《软件测试日志》。
《Sprint软件测试报告》。
《软件测试报告》。
2.3 软件测试管理需求
通过Rational TestManager管理软件测试。
2.4 软件测试报告需求
软件测试需求覆盖率。
测试用例覆盖率。
测试用例执行通过/失败的数目。
提交的缺陷,根据缺陷的严重度和优先级进行分类。
提交的缺陷,接受的缺陷和拒绝的缺陷的比例。
计划支出成本与实际支出成本偏差。
计划花费时间与实际花费时间偏差。
软件测试中识别的风险和处理的风险数目。
由于事件制约因素浪费的时间。
3.其他
3.1 术语与缩略语
BBS:Bulletin Board System。
测试依据:能够从中推断出组件/系统需求的所有文档。测试用例是基于这些文档的。只有通过正式的修正过程修正的文档才称为固定软件测试依据。
测试条件:组件/系统中能被一个或多个测试用例验证的条目或事件,如功能、事务、特性、质量属性或者结构化元素。
用例:为特定目标或软件测试条件(例如,执行特定的程序路径,或验证与特定需求的一致性)制定的一组输入值、执行入口条件、预期结果和执行出口条件。
概念测试用例:(High level test case)没有具体的(实现级别)输入数据和预期结果的测试用例。实际值没有定义或是可变的,而用逻辑概念代替。
详细测试用例:(low level test case)具有具体的(实现级别)输入数据和预期结果的测试用例。将抽象测试用例中使用的逻辑运算符替换为相对应的逻辑运算符的实际值。
测试说明:由软件测试设计说明、测试用例说明和/或软件测试规程说明组成的文档。
测试设计说明:为一个软件测试项指定软件测试条件(覆盖项)、具体软件测试方法,并识别相关高层测试用例的文档。
测试用例说明:对于一个软件测试项,用来指定一组测试用例(目标、输入、软件测试动作、期望结果、执行预置条件)的文档。
测试规程说明/软件测试规程:规定了执行软件测试的一系列行为的文档,也称为软件测试脚本或手工软件测试脚本。
准入准则:进入下一个任务(如软件测试阶段)必须满足的条件。准入条件的目的是防止执行不能满足准入条件的活动而浪费资源。
出口准则:和利益相关者达成一致的系列通用和专门的条件,来正式定义一个过程的结束点。出口准则的目的可以防止将没有完成的任务错误地看成任务已经完成。软件测试中使用的出口准则可以报告和计划什么时候可以停止软件测试。
测试策划:制定或更新软件测试计划的活动。
测试计划:描述预期软件测试活动的范围、方法、资源和进度的文档。它标识了软件测试项、软件测试的特性、软件测试任务、任务负责人、软件测试工程师的独立程度、软件测试环境、软件测试设计技术、软件测试的进入/退出准则和选择的合理性、需要紧急预案的风险,是软件测试策划过程的一份记录。
测试监控:处理与定时检查软件测试项目状态等活动相关的软件测试管理工作。用软件测试报告来比较实际结果和期望结果。
测试控制:当监测到的情况与预期情况背离时,制定和应用一组修正动作,以使软件测试项目保持正常进行的软件测试管理工作。
测试实现:开发、排序软件测试规程,创建软件测试数据,若需要,还包括准备软件测试用具和编写自动化软件测试脚本的过程。
测试结束:从已完成的软件测试活动中收集数据,总结基于软件测试件及相关事实和数据的软件测试结束阶段,包括对软件测试件的最终处理和归档,以及软件测试过程评估(包含软件测试评估报告的准备)。
风险:将会导致负面结果的因素,通常表达成可能的(负面)影响。
产品风险:与软件测试对象有直接关系的风险。
项目风险:与(软件测试)项目的管理与控制相关的风险。例如,缺乏配备人员,严格的限期,需求的变更等。
风险分析:评估识别出的风险,以估计其影响和发生的可能性的过程。
风险控制:为降低风险或控制风险在指定级别而达成的决议和实施防范(度量)措施的过程。
风险识别:使用技术手段(如头脑风暴、检查表和失败历史记录)标识风险的过程。
风险级别:风险的重要性,由风险的影响和可能性定义。风险级别能用于决定软件测试的强度。风险级别既能用定性的词(如高、中、低)表示,又能用定量的词表示。
风险管理:对风险进行标识、分析、优先级划分和控制所应用的系统化过程和实践。
风险类型:通过一个或多个公共因子对风险分组,如质量属性、原因、位置或风险的潜在影响等。用特定类型的软件测试能降低特定类型的风险。例如,易用性测试能降低因用户错误操作而引起的风险。
主测试计划:通常针对多个软件测试级别的软件测试计划。
级别测试计划:通常用于一个软件测试级别的软件测试计划。
测试估算:对(如花费的工作量、完成时间、涉及的成本、测试用例的数目等)可用的,即使可能不完整、不确定或嘈杂的输入数据近似计算的结果。
3.2 文档修改记录
每个Sprint对应一个级别测试计划。下一节为Sprint2级别测试计划。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关推荐: