医疗器械软件开发全套文档模板(含软件风险管理、软件测试等).docx
-
资源ID:9447877
资源大小:344.12KB
全文页数:38页
- 资源格式: DOCX
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
医疗器械软件开发全套文档模板(含软件风险管理、软件测试等).docx
××××××有限公司医疗器械-软件开发描述文档文档目录软件基本信息2软件实现过程6软件风险管理报告16软件集成测试计划25系统测试计划27用户软件测试计划41第 1 页 共 48 页软件基本信息产品名称:1、产品标识:2、安全性级别××是一种××软件,所以随之而来的软件安全性问题也极为重要。(a) ××软件是一种抽象的逻辑产品,其存在形式是虚拟和动态的.(b) 软件质量的测度十分困难,其质量的控制重点在软件的需求分析和设计阶段,开发过程中产生错误的难以追踪;(c) 硬件有老化现象,失效曲线似浴盆,硬件的维护可通过纠错、修复或更换失效的系统重新恢复功能。而软件的维护复杂,只有通过修改代码来排错。同时软件可能在使用中随着缺陷的发现和消除,而使性能提高。软件的修改看似比硬件容易,却比硬件更难于控制。看上去无关紧要的软件代码修改会在软件的其他地方引起无法预测的、十分关键的问题;(d) 软件的失效防护困难。对硬件可采用预防性维护技术预防故障,采用断开失效部件的办法诊断故障,而软件则不能采用这些技术;但软件的失效会毫无征兆的出现,会因执行一条未经验证的路径而出现故障;而同一软件的冗余不能提高可靠性。(e) 软件的失效是系统性失效,其失效的条件有时比较复杂。因此,可能会无法清晰地洞察其原因,而误归结其为系统中硬件的随机失效。导致无法及时排除软件中的故障,造成隐患的长期存在。以上论述了××软件的复杂性,以及出现问题无法预测性和软件的实效防护困难。××软件一旦出现问题则很可能导致患者×××或者对患者造成严重的伤害,例如,×××软件一旦在运行过程中失效,机器停止工作则很可能导致患者由于××而变为×××,所以××软件安全性级别为××级。3、功能结构程序功能描述:1) 下位机:a) 功能模块网络:b) 下位机程序框图2) 上位机a) 功能模块网络:b) 上位机程序框图:4、硬件关系5、运行环境5.1 硬件配置:5.2 软件运行环境6、适应范围6.1 软件组件整体的功能用途6.2 医疗器械的适用范围7、禁忌症8、上市历史软件实现过程产品名称:1、 开发综述1.1 嵌入式开发平台1.1.1 单片机的开发平台1.2 分析测控系统在进行单片机应用系统开发时,首先要对该测控系统进行可行性分析以及系统总统方案设计。1.2.1. 可行性分析可行性分析主要是分析整个设计任务的可能性。1.2.2. 系统总体方案设计当完成可行性分析后,便进入系统整体方案设计阶段。这里,主要结合国内外相关产品的技术参数和功能特性、本系统的应用要求以及现有条件,来决定本设计所要实现的功能和技术指标。接着,制定合理的计划,编写设计任务书,从而完成该单片机应用系统的总体方案设计。1.3 器件选型1.4 硬件资源分配1.5 程序设计1.6 仿真测试1.7 实际硬件测试2、 需求规格2.1 编写目的1.2.2.2 背景1. 用户:医务专业人员2. 实现:×××公司3. 构建平台:2.3 定义1.2.3.4.5.6.2.4 对功能的规定1 功能划分1.2.3.4.5.6.7.2 功能描述2.5 对性能的规定2.5.1 精度2.5.2 时间特性要求新一次。2.5.3 输入输出要求2.5.4 警示信息3.软件的生存周期1. 确定软件开发的可行性与计划此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。在软件开发的可行性研究与计划阶段内,要确定该软件的开发目标和总的要求,要进行可行性分析、投资一收益分析、制订开发计划。这个阶段我们需要编制项目开发计划。到了编制项目开发计划阶段,我们要明白编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软、硬件条件等问题作出的安排记载下来,以便根据本计划开展和检查本项目的开发工作。2. 对所开发的软件需求进行分析在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。”唯一不变的是变化本身。”,同样需求也是在整个软件开发过程中不断变化和深人的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。这个阶段我们需要编写软件需求说明书和数据要求说明书。编制软件需求说明书是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础。内容包括对功能的规定对性能的规定等。这个阶段,我们可以通过编制数据要求说明书,来向整个开发时期提供关于被处理数据的描述和数据采集要求的技术信息。3. 软件开发的设计阶段此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。这个结算我们需要编写概要设计说明书、详细设计说明书、数据库设计说明书和测试计划初稿。概要设计说明书:概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计。运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。详细设计说明书:详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关内容合并人概要设计说明书。数据库设计说明书:数据库设计说明书的编制目的是对于设计中的数据库的所有标识、逻辑结构和物理结构作出具体的设计规定。测试计划初稿 :这里所说的测试,主要是指整个程序系统的组装测试和确认测试。本文件的编制是为了提供一个对该软件的测试计划,包括对每项测试活动的内容、进度安排、设计考虑、测试数据的整理方法及评价准则。4. 实现阶段此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。这个阶段我们需要编写模块开发卷宗和用户手册完工操作手册。模块开发卷宗(开始编写):模块开发卷宗是在模块开发过程中逐步编写出来的,每完成一个模块或一组密切相关的模块的复审时编写一份,应该把所有的模块开发卷宗汇集在一起。编写的目的是记录和汇总低层次开发的进度和结果,以便于对整个模块开发工作的管理和复审,并为将来的维护提供非常有用的技术信息。用户手册完工操作手册:操作手册的编制是为了向操作人员提供该软件每一个运行的具体过程和有关知识,包括操作方法的细节。5. 测试阶段在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。这个阶段我们需要编写模块开发卷宗和项目开发总结报告。 模块开发卷宗(此阶段内必须完成)测试分析报告:测试分析报告的编写是为了把组装测试和确认测试的结果、发现及分析写成文件加以记载。项目开发总结报告:项目开发总结报告的编制是为了总结本项目开发工作的经验,说明实际取得的开发结果以及对整个开发工作的各个方面的评价。6. 运行与维护阶段软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投人使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。总之,失败的软件项目各有其失败,而成功的软件项目都一样:离不开规范的软件开发过程。想要设计出优秀的,适合实际需要的软件作品,科学规范的软件开发流程是必须遵守的。当然,软件开发工作也需要与时俱进,这一套软件开发六部曲也并不是永远适用的。我们需要在平时的工作中多多总结,才能做到与时俱进,才能一直保持, 实现科学的软件开发。4. 软件的验证和确认软件测试工作量往往占软件开发总工作量的 40%以上。软件测试之所以在软件生命周期占有如此重要地位,是因为它贯穿了软件定义与开发的整个生命周期,是软件质量保证的重要手段。需求分析、概要设计、详细设计以及源程序, 都应成为软件测试的对象。与开发过程类似,测试过程也需要分步骤进行,后一个步骤在逻辑上是前一个步骤的继续。在众多测试中,确认测试检查软件能否按合同要求进行工作,即是否满足软件需求说明书中的确认标准,是软件发布之前不可或缺的重要测试之一。软件测试阶段的划分模型单元测试,是在程序编码阶段对各单元模块进行单独的测试,旨在及时发现并纠正程序单元中暗藏的缺陷。集成测试主要是考察模块的集成,包括这些模块组成的 (子)系 统的功能、性能及其外部接口等质量特性。确认测试,是根据软件需求规格说明中对功能性需求和非功能性需求的描述 ,考察软件各项特征是否符合要求。系统测试,则是测试由软件和硬件集成的完整系统,以检查其 是否符合需求 。4.1 测试方法我们采用了以下两种方法来测试软件:(1) 等价类划分:把程序的输入域划分成数据类,据此可以导出测试用例,一个理想的测试用例能独自发现一类错误。(2) 边值分析:确定程序处理的边界情况,设计使程序运行在边界情况附近的测试方案。诸如:下标、纯量、数据结构和循环等边界附近 。4.2 系统测试计划见附件4.3 用户测试计划见附件 5.核心算法 1)上位机程序核心算法:数字滤波无需其他的硬件成本,只用一个计算过程,可靠性高,不存在阻抗匹配问题。尤其是数字滤波可以对频率很低的信号进行滤波,这是模拟滤波器做不到的。数字滤波使用软件算法实现,多输入通道可共用一个滤波程序,降低系统开支。只要适当改变滤波器的滤波程序或运算,就能方便地改变其滤波特性, 这对于滤除低频干扰和随机信号会有较大的效果。本程序是采用的是数字滤波算法中的算术平均滤波算法,该算法的基本原理很简单,就是连续取 N 次采样值后进行算术平均。说明:算术平均滤波算法适用于对具有随机干扰的信号进行滤波。这种信号的特点是有一个平均值,信号在某一数值附近上下波动。信号的平均平滑程度完全到决于 N 值。当 N 较大时,平滑度高,灵敏度低;当 N 较小时,平滑度低, 但灵敏度高。为了方便求平均值,N 一般取 4、8、16、32 之类的 2 的整数幂, 以便在程序中用移位操作来代替除法。波形从左走到右,需要 18s;纵坐标一共 140 点,20 个点代表 1kPa。选择20 个点作为1kPa,每次刷新波形时候,先把压力轴从上到下清除(即用屏幕底色填充),在把当前压力值换算到纵坐标上,从当前点画蓝色线一直到时间轴上。随着时间的推移,便产生了蓝色的填充的压力波形。当时间轴到了最大值时, 回到最小值。压力轴范围为-1 到 6kPa,压力数值超出了上下限范围后,就强制把波形置为-1 或 6kPa。流速波形也是采用的数字滤波中的算术平均算法,波形纵坐标代表流速值, 横坐标代表时间。时间轴每 50ms 更新一次,一共 360 点,波形从左走到右,需要 18s;纵坐标一共 140 点,分为上下半轴,各占 70 个点,上半轴为吸气波形, 下半轴为呼气波形。每次刷新波形时候,先把流速轴从上到下清除(即用屏幕底色填充),每隔 50ms 采集一次流速值,即 50ms 之内累加的脉冲数换算为流速值, 在根据当前是吸气还是呼气状态,把流速值换算到纵坐标上,从当前点画浅蓝色线一直到时间轴上。随着时间的推移,便产生了浅蓝色的填充的流速波形。当时间轴到了最大值时,回到最小值。流速轴范围为 0-70,流速数值超出了上下限范围后,就强制把波形置为 70。2)下位机程序核心算法下位机潮气量的算法:由于打气的气流不是一个恒定的流速,所以采用了积分的算法,即气流流速的积分等于潮气量。上图曲线为潮气量流速波形,x 代表时间,y 代表流速。潮气量则为阴影部分的面积,采用积分算法在【a,b】内插入若干个分点a=x0<x1<x2<x3<<xn-1<xn =b1. 把【a,b】分成 n 个小区间【xi-1 ,xi】长度为xi =xi-xi-1;2. 近似替代:在每个【xi-1 ,xi】上任取一点i,以【xi-1 ,xi】为底,f(i) 为速度的小矩形面积为 A= f(i)xi3. 求和:面积的近似值为 Ani=1 f(i)xi4. 取极限:当分割无线加细,即小区间的最大长度=maxx1,x2,x3,xn0 时,有小矩形面积和ni=1 f(i)xiA,即可达到积分计算公式也就是潮气量计算公式A=limni=1 f(i)xi0软件风险管理报告产品名称:1. 概要:软件风险概述: 使软件项目的实施受到影响和损失、甚至导致失败的、可能会发生的事件 例如,人员的临时流失,计划过于乐观,设计的低劣软件风险的特点 事先难以确定 带来损失,影响项目实施,甚至会导致项目失败风险管理的组成风险评估 风险识别:识别风险,形成风险列表 风险分析:判定每一个风险出现的概率、产生的影响及其重要性 风险优先级:按照每个风险的重要性排出一个风险优先级风险评估是风险控制的基础风险控制 风险管理计划:针对各个重要风险制定风险管理计划,确保各个单独的风险管理计划之间以及它们与相互计划之间的一致性 风险化解:执行风险管理计划,以缓解或消除风险 风险监控:监控风险化解的过程,可能会识别出新的风险2. 风险评估2.1 风险识别n 风险的类别 计划编制 组织和管理 开发环境 最终用户 客户 需求 产品外部环境 人员 设计和实现 过程2.1.1 计划编制风险n 计划、资源和产品的定义完全由客户或上层领导决定,忽略了项目组的意见,并且这些决定不完全一致n 计划忽略了必要的任务和活动n 计划不切实际n 计划基于特定小组成员,而这样的小组成员根本得不到n 产品规模估算过于乐观n 工作量估算过于乐观n 进度的压力造成生产率的下降n 目标日期提前,但没有相应地调整产品范围和可用资源n 一个关键任务的延迟导致其他相关任务的连锁反应2.1.2 组织和管理风险n 缺乏强有力、有凝聚力的领导(项目组、企业)n 解雇员工导致项目小组能力下降n 削减预算打乱项目计划n 仅由管理层和市场人员进行技术决策,导致进度延长n 低效的项目组组织结构降低生产率n 管理层审查/决策的周期比预期时间长n 管理层作出了打击项目组积极性的决定n 非技术的第三方的工作比预期要长(如, 采购硬件设备)n 计划性太差,无法适应期望的开发速度n 项目计划由于压力而放弃,导致开发混乱n 管理方面的英雄主义,忽视客观确切的状态报告,降低发现和改正问题的能力2.1.3 开发环境风险n 设施不能及时到位n 设施到位,但不配套n 开发工具未能及时到位n 开发工具不如期望的那样有效,开发人员需要更多的时间,或者更换工具n 开发工具的学习期比预期的要长n 开发工具的选择不是基于技术需求,不能提供计划要求的功能2.1.4 最终用户风险n 最终用户坚持新的需求n 最终用户对最后交付的产品不满意,要求重新设计和重做n 最终用户不买进项目产品,无法提供后续支持n 最终用户的意见未被采纳,造成产品最终无法满足用户要求2.1.5 客户风险n 客户坚持新的需求n 客户对规划、原型和规格的审核/决策超出预期n 客户没有参与规划、原型和规格的审核,导致需求不稳定,以及长时间的变更n 客户答复的时间比预期的要长n 客户坚持技术决策而导致计划延长n 客户对开发进度管理过细,导致实际进度变慢n 客户提供的组件无法与开发的产品匹配,导致需要额外的设计和集成工作n 客户提供的组件质量欠佳,导致额外的测试、设计或者功能不完善n 客户要求的支持工具与环境不兼容,性能差或者不完善,导致生产率降低n 客户不接受交付的软件,尽管它满足了所有的规格n 客户期望的开发速度是开发人员所无法达到的2.1.6 需求风险n 需求已经成为项目基准,但仍在变化n 需求定义欠佳:不清晰、不准确、不一致n 增加额外的需求2.1.7 产品风险n 错误发生率高的模块,需要更多的时间对它进行测试、设计和实现n 矫正质量低下的不可接受的产品需要更多的时间对它进行测试、设计和实现n 由于功能错误,导致需要重新进行设计和实现n 开发额外不需要的功能延长了进度n 要满足产品规模和速度要求,需要更多的时间n 严格要求与现有系统兼容,需要更多的时间n 要求软件重用,需要更多的时间2.1.8 外边环境风险n 产品依赖政府规章,而规章的改变不可预期n 产品依赖草拟中的技术标准,而最后的标准不可预期2.1.9 人员风险n 招聘人员所需的时间比预期要长n 作为人员参与工作的先决条件(如培训、其他项目的完成等)不能按时完成n 开发人员与管理层关系不佳导致决策迟缓、影响全局n 项目组成员没有全身心地投入到项目中,因而无法达到所需的产品功能和性能需求n 缺乏激励措施、士气低下,降低生产能力n 缺乏必要的规范,增加工作失误,重复工作,降低工作质量n 缺乏工作基础(语言、经验、工具等)n 项目结束前,项目组成员离开项目组n 项目后期,加入新的开发人员,额外的培训和沟通降低了项目组成员的开发效率n 项目组成员不能有效的在一起工作n 由于项目组成员之间的冲突,导致沟通不畅,设计欠佳,接口错误和额外重复的工作n 有问题的项目组成员没有调离项目组,影响其他成员的积极性n 项目组的最佳人选没有加入项目组,或者加入项目组但没有合理使用n 关键任务只能兼职参与n 项目人员不足n 任务的分配和人员的技能不匹配n 人员工作的进展比预期的要慢n 项目管理人员怠工导致计划和进度失效n 技术人员怠工导致工作遗漏、质量低下,工作需要重做2.1.10 设计和实现风险n 设计过于简单,考虑不仔细、不全面,导致重新设计和实现n 设计过于复杂,导致一些不必要的工作,影响效率n 设计质量低下,导致重新设计和实现n 使用不熟悉的方法,导致需要额外的培训时间n 产品使用低级语言编写,导致效率较低n 分别开发的模块无法有效集成,需要重新设计和实现2.1.11 过程风险n 跟踪不准确,导致无法预知项目进展是否落后于计划n 前期的质量保证行为不真实,导致后期的重复工作n 质量跟踪不准确,导致无法得知影响进度的质量问题n 不能有效遵循标准,导致沟通不足,质量问题和重复工作n 风险管理粗心,导致没有发现重大的项目风险3. 风险列表编号风险名称1计划过于乐观2由于要完全支持自动从主机更新数据而照成额外的需求3由于市场变化而需额外的需求4图形格式子系统接口不稳定5设计欠佳,需要重新设计照成额外的需求2由于要完全支持自动从主机更新数据而照成额外的需求5%201.04. 风险分析4.1 评估风险发生的概率n 主观性较强,采用方法 熟悉系统、有经验的人参与评估 多人独立评估,综合折中采用分类:非常可能(0.8-1.0), 很可能(0.6-0.8),或许(0.40.6),不太可能(0.2-0.4),不可能(0-0.2)编号风险名称概率1计划过于乐观50%2由于要完全支持自动从主机更新数据而5%照成额外的需求3由于市场变化而需额外的需求35%4图形格式子系统接口不稳定25%5设计欠佳,需要重新设计15%4.2 评估风险发生造成的损失n 可以基于“进度”,“成本”或者“工作量”来进行估算编号风险名称概率损失(人周)1计划过于乐观50%52由于要完全支持自动从主机更新数据而5%203由于市场变化而需额外的需求35%84图形格式子系统接口不稳定25%45设计欠佳,需要重新设计15%154.3 计算风险危险度风险危险度 = 风险概率 × 风险损失编号风险名称概率损失(人周) 危险度1计划过于乐观50%52.53由于市场变化而需额外的需求35%82.84图形格式子系统接口不稳定25%41.05设计欠佳,需要重新设计15%152.254.4 风险优先级n 统计表明,项目 80%成本用于解决 20%的问题n 风险管理重点关注 20重要的部分照成额外的需求n 根据风险的危险度确定风险的重要性,忽略其他的部分编号3风险名称由于市场变化而需额外的需求概率35%损失(人周)8危险度2.81计划过于乐观50%52.55设计欠佳,需要重新设计15%152.2524由于要完全支持自动从主机更新数据而5%图形格式子系统接口不稳定25%2041.01.05. 风险监控n 检查风险的化解程度及其变化(概率、损失)n 风险监控的方式 监控和跟踪重要的(前 10 个)风险,记录风险危险度的变化以及风险化解的进展 中间审查,在每个里程碑后进行小规模的走查 任命风险官员(适合于大项目),警告项目风险,防止项目经理和开发人员忽略计划中的风险管理软件集成测试计划产品名称:1 目的软件集成测试计划用于明确软件产品确认测试过程中测试设计、测试执行及测试总结工作的具体任务分解、人员安排、进度及输出结果。以使整个测试工作有计划地顺利进行。本文规定了测试的编写格式及要求。2 适用范围本规范适用于软件项目与软件产品的集成测试活动。3 职责3.1 项目负责人:负责集成测试计划的审批。3.2 开发人员: 负责编制集成测试计划。4. 集成测试计划规范4.1 集成测试一般集中于各个模块接口间的测试。集成测试界于单元测试和系统测试之间。集成测试内容必须源于系统设计报告。集成测试着重于集成版本的外部接口的行为。因此,测试需求须具有可观测、可测评性。4.2 集成测试计划制定的时间类别 集成测试计划递交时间制定者审批者在系统设计阶段就可以起草, 开发人员最迟可在实现阶段之初递交。项目负责人在系统设计报告完成之后,依据系统设计报告制定集成测试计划。4.3 集成测试计划内容:1) 明确测试所需要的资源(人员、人员的任务分派、各小组的联系人、时间进度、team 里面的各种 server、Lab 环境等等),各种支持资源由谁负责维护等。2) 明确测试策略。就是什么测,什么不测。测的东西,测到什么程度,是不是用自动化,等等。若有本次测试不涉及的地方,需在测试计划里注明:哪些内容不测、不测的原因是什么。3) 必须列明产品通过的准则。4) 指明测试中可能遇到的问题与对策4.4 集成测试计划制定后,需经过项目相关人员的评审。系统测试计划产品名称:目录1 目的12 适用范围13 图例说明14 规程文档结构15 规程25.1 进入准则25.2 测试策划25.2.1 流程图25.2.2 活动描述35.3 测试设计35.3.1 流程图35.3.2 活动描述45.4 测试执行45.4.1 流程图45.4.2 活动描述55.5 缺陷管理65.5.1 流程图65.5.2 活动描述75.5.3 缺陷等级85.5.4 缺陷状态85.6 变更管理95.7 退出准则95.8 规程接口96 文件清单97 图表索引10目的使软件系统测试活动是规范和有计划的及时对软件产品进行系统测试,验证系统是否满足需求规格的定义,找出与需求规格不相符合或与之矛盾的地方测试中发现的缺陷保证被记录、跟踪直到关闭;对项目的缺陷数据进行量化的分析适用范围本规程适用于以下人员项目经理软件测试组软件项目组配置管理工程师图例说明在本文中用到了以下图例,特此说明: 过程:用于描述要执行的活动和过程;判定点:用于描述流程中是否满足某个条件后的分流点;接口:用于描述引用的接口规程;文档:用于描述输入、输出的文档; 开始节点:用于表示流程的入口;结束节点:用于表示流程的结束;规程文档结构系系统系统测统测试测试进试计度用划计例划测试规程测试策划测试设计测试执行缺陷管理系统功能测试任务单兼容性测试任务单性能测试任务单系统测试总结报告缺陷记录跟踪表图表 1:规程文件结构文档结构图说明:1. 系统测试计划是根据项目的规模和重要性来确定,是可裁减的。一般来说,系统测试进度计划是必须的。但对于公司认定的小项目,可以没有系统测试进度计划,具体要求按照公司的相关规定小项目软件过程管理指南执行;2. 系统测试用例在测试管理工具 TestDirector 中进行编写和管理,可以根据需要导出到 Word;3. 项目组可根据系统的实际需要,通过提交功能或兼容性或性能测试任务单来启动相应的测试任务,后二者的测试一般都需要在完成功能测试的基础上才可执行;4. 缺陷记录跟踪表是指从 TestDirector 里导出缺陷记录到 Excel 时的文件格式,测试中发现的缺陷都将使用 TestDirector 来进行记录、跟踪和管理;规程进入准则项目启动,并由项目经理与部门(高级)经理、测试组组长商量,确定此项目需要安排独立的测试人员加入。测试策划流程图输入项目经理测试工程师SQASCM工程师输出项目工作任务书协助策划编写系统测试计划系统测试计划软件开发计划系统测试进度计划评审系统测试计划软件开发进度计划N评审通过?Y编写系统测试进度计划配置管理活动描述图表 2:测试策划流程系统测试计划或系统测试进度计划都需要项目组提供相关的项目文档作为主要编写依据;系统测试计划是可裁剪的,系统测试进度计划是必须的(小项目除外);不管有没有编写系统测试计划,都需要对系统测试进度计划进行评审, 以确保时间上能与开发进度相一致,并且保证整个软件测试活动是有序的;系统测试计划的评审需要软件工程组各类成员的代表共同参与(限于篇幅在图中没有表达出来,特在此说明),评审的具体形式可根据项目开发计划中的要求进行;对系统测试进度计划的评审形式一般为走查;测试设计流程图输入测试组组长软件测试工程师设计、开发组SCM工程师输出系统需求规格说明书系统概要设计说明书编写系统测试用例系统详细设计说明书系统测试用例评审系统测试用例系统测试计划N评审通过?系统测试进度计划配置管理Y活动描述图表 3:测试设计流程系统测试用例的评审需要软件工程组各类成员的代表共同参与,特别是熟悉 需求和设计的代表必须参加,评审的具体形式可根据项目开发计划中的要求进行;编写系统测试用例的时候,需要遵循系统测试用例编写规范上的具体要求。应以系统需求规格说明书作为主要的依据,设计文档、实际可运行的程序雏形都可作为编写的辅助材料。在编写过程中,应多与分析、设计人员沟通, 不明确的地方以项目经理的答案作为衡量标准;根据公司的实际情况,测试用例的编写和评审都将采取迭代的方式进行,逐步完善;在整个设计过程中,可以阶段性的部分评审,但在正式测试前应至少完成一次整体性的评审;系统测试用例评审时,测试人员应讲解测试用例的编写思路,主要的关键点, 并提出不能确定的问题,由熟悉需求和设计的人员进行确认和补充,以达到确保系统测试用例有效覆盖系统需求的目的;测试组内部走查的时候,需要使用系统测试用例检查表。测试执行流程图输入项目组软件测试工程师测试组组长项目经理SCM工程师输出系统功能测试任务单根据评估结果修正提交系统功能测试任务单TD中的缺陷记录系统功能测试任务单系统测试用例进行系统的可测试性评估系统测试进度计划N可否进入系统测试?Y测试环境准备获取测试版本配置管理系统测试总结报告系统测试执行缺陷填入TD测试结果反馈到任务单N配置管理N是否为阶段性测试?Y编写系统测试总结报告活动描述图表 4:测试执行流程项目组在单元测试完成后,可提交系统测试的任务。项目经理应在演示前提交系统功能测试任务单,任务单上应列出该版本修改了哪些特征项,以及指明测试的要点和时间要求;测试评估是指,由项目经理或指定人员把系统功能测试任务单上的本次测试的范围在测试系统中进行功能演示,在演示的同时进行业务重点的讲解。在对系统进行第一次演示时,项目组需要结合需求说明的 PPT 文档,先对测试人员介绍系统需求以及业务逻辑关系,然后再开始系统的操作演示。双方对系统的可测试性达成一致后,即可开始测试;如果双方对可测试性无法达成一致时,则应及时向高级经理反映,并相互协商解决问题;系统提交测试时,一般都需要演示,如果项目组认为不需要演示,则必须经过测试组组长的同意演示任务必须在测试环境中执行,项目组需要将程序发布到测试组的服务器上, 在一次测试当中程序不允许更新,具体可参见系统测试环境发布流程。测试组接收测试任务前系统演示要达到的要求:1)演示时没有任何明显的错误;2)上次测试发现的缺陷都已修改。项目组给测试组系统测试计划预留时间至少为 2 天。一轮测试结束后,测试人员应及时将测试结果及主要情况、缺陷统计反馈填写在系统功能测试任务单上,并提交给项目经理审核。在一个项目中进行多次测试时,每次测试的结果都反馈在系统功能测试任务单上,在整个项目的测试工作完成后,应编写系统测试总结报告;在项目开里程碑会议的时候,需要提交阶段性的系统测试总结报告;测试组组长应对各个项目的系统测试总结报告进行审核,项目组也应对各类测试报告进行走查;测试人员应严格按照测试进度计划的安排,进行测试工作,如果根据项目的实际情况,时间上有差异的,则应尽力配合项目组方面的时间安排,有需要时应主动采取加班等方式来保证按时按质地完成测试任务,必要时可向测试组组长申请加派人手增援;测试人员应严格按照测试用例执行测试,并在测试中不断对测试用例进行完善和补充;项目组可根据系统的实际需要,向测试组提出功能测试以外的测试请求,比如: 兼容性测试和性能测试,需要提交相应的兼容性测试任务单或性能测试任务单,这两种类型的测试不需要演示,只要具备测试条件(一般在完成功能测试的前提下)即可进行。执行性能测试前需要编写性能测试计划,跟项目经理或主要开发人员确定性能测试的范围和各项性能预期指标,编写性能测试脚本,组织和执行性能测试, 并作好观察和记录。性能测试一般需要 2 天的准备时间,所以项目组有性能测试需求时,可尽量提前一些通知测试组,以方便做准备工作。缺陷管理流程图输入测试工程师开发工程师项目经理输出TD中的缺陷记录缺陷录入TD(Status="New")对缺陷进行分配TD中的缺陷记录是否要修复该缺陷?是修改(Status="Open" or