软件测试规范第1页,共3页软件测试制度1目的确保软件产品质量,使产品能够顺利交付和通过验收的一项重要措施。2适用范围适用于项目开发过程中的单元测试、集成测试、系统测试、业务测试、验收测试以及一些专项测试。3职责项目测试负责人组织编制《测试计划》、《测试方案》,指导和督促测试人员完成各阶段的测试工作。项目组测试人员按照《测试计划》、《测试方案》完成所承担的测试任务,并按要求填写《问题报告及维护记录》。测试经理依照确认规程和准则对工作产品进行确认,提出对确认规程和准则的修改意见项目负责人组织测试环境的建立。项目经理审核负责控制整个项目的时间和质量。研发人员确认修改测试人员提交的bug。4工作流程4.1测试依据详细设计是模块测试的依据。因此设计人员应向测试人员提供《系统需求规格书名书》、《详细设计》、《概要设计》等有关资料。测试人员必须认真阅读,真正弄懂系统需求和详细设计。4.2制订《测试方案》在测试之前,由项目负责人根据《测试计划》的要求,组织人员编制相应的《测试方案》,《测试方案》应包括以下内容:软件测试规范第2页,共3页测试目的;所需人员及相应培训要求;测试环境、工具和测试软件;测试用例、测试数据和预期的结果。4.3单元测试项目开发实现过程中,每个程序单元(程序单元的划分视具体开发工具而定,一般定为函数或子程序级)编码调试通过后,要及时进行单元测试。单元测试由单元开发者自己进行,使用白盒测试方法,根据程序单元的控制流程,争取达到分支覆盖。对于交互式运行的产品,不便于进行自动测试的,可以采用功能测试的方法进行。单元测试针对程序模块,从程序的内部结构出发设计测试用例。多个模块可以独立进行单元测试。单元测试内容包括模块接口测试、局部数据结构测试、路径测试、错误处理测试等;单元测试组织原则一遍根据开发进度安排对已开发完成的单一模块进行测试;单元测试停止标准:完成了所有规定单元的测试,单元测试中发现的bug已经得到修改。4.4集成测试编码开发完成,项目组内部应进行组装测试。集成测试由项目负责人组织策划(编写测试计划、测试用例)并实施。集成测试着重对各功能模块之间的接口进行测试,验证各功能模块是否能协调工作、参数传递及功能调用是否正常。测试采用交叉方法,即个人开发的软件应由其他的项目组成员进行测试。集成测试过程应填写《问题报告及维护记录》,测试结果应形成《测试报告》。4.5系统测试在项目开发完成之后,应对整个系统软件和硬件进行系统测试。对性能、软件测试规范第3页,共3页可靠性、健壮性、压力承受力等方面分别进行评价,以验证系统是否满足规定的需要。系统测试由测试负责人组织策划(编写测试计划、测试用例)并实施,系统测试过程应形成《问题报告及维护记录》。系统测试一般进行如下几种情况的测试:正常情况非正常情况破坏性测试边界情况非法情况强度测试性能测试兼容性测试用户友好性测试界面设计规范测试:光标的初始位置字体是否统一字号是否符合规定标题颜色按钮的名称是否规范界面布局是否合理,整体效果如何输入值测试:数据类型数据长度约束条件是否满足,是否完整TAB和Enter键是否起作用键盘操作能否全部代替鼠标操作软件测试规范第4页,共3页输入(光标)是否按照顺序前进按钮测试:将按钮放开和封闭是否严格、准确,不能使用的按钮必须封闭检查“退出”、“取消”等具有共性按钮的功能异常情况测试:在完成正常功能测试后,安正常处理的相同操作顺序,执行与正常处理不同的动作例如正常处理中要求输入日期的字段,这时输入字符或数字正常处理中输入字段有范围要求,这时输入超过范围的值正常处理中用两个值限定范围,这时用一个值或不限定正常处理中要求用“Tab”键,这时安“Enter”键或其他键正常处理中单选框、多选框、下拉框等,十一偶那个非指定键操作使用不同于指定的按钮操作4.6业务测试在组装测试与系统测试结束后,均可由最终用户或测试人员对系统进行测试。业务测试着重测试业务流程,功能、用户界面等方面。项目、测试负责人负责组织相关人员制定测试方案和测试用例,并进行测试。测试的结果应形成《问题报告及维护记录》。4.7验收测试4.7.1验收测试的条件按照项目计划规定的验收测试进度安排进行测试准备在验收测试前,各项内部的测试活动都受到监控并争取执行4.7.2交付版本的要求按照集成测试用例完成了整个系统的集成测试软件测试规范第5页,共3页集成版本满足设计定义的各项功能、性能要求提交的数据库脚本样本需要完整,没有冗余数据在集成测试中发现的bug已经得到解决,各级缺陷修改率达到标准软件需求分析说明书中定义的所有功能都已经实现,性能指标全部达到性能需求指标提交阶段性测试报告,包括功能和性能测试报告所有文档齐备完整4.7.3版本发布的准则软件产品通过了单元测试、集成测试、业务测试、系统测试、性能测试测试部提交文档:测试计划、测试方案、测试用例、测试分析报告所有测试项必须符合以下标准致命错误:无功能错误:无功能缺陷:项目经理、技术经理、测试负责人审核通过界面缺陷:项目经理、技术经理、测试负责人审核通过建议:项目经理、技术经理、测试负责人审核通过以上几项其中之一不满足要求,视为不合格在产品交付和用户验收之前,通过验收测试来确认在规定的使用环境下整个产品的运行情况是否满足规定的要求。在产品交付之前,由指定的验收负责人组织制定测试方案和测试用例,主持验收。验收测试过程应形成《问题报告及维护记录》。。5缺陷管理5.1缺陷的定义及其基本属性缺陷是指在软件开发过程中的针对软件产品和开发过程中的问题,这些问题已经影响或可能会影响软件产品的质量。缺陷应该具备以下属性,也就是往缺陷管理库或者缺陷列表中提交的缺陷应该具备以下属性:属性名称描述软件测试规范第6页,共3页缺陷标识标记某个缺陷的一组符号,每个缺陷必须有一个唯一的标识缺陷类型根据缺陷的自然属性划分的缺陷种类缺陷验证程度因缺陷引起的故障对软件产品的影响程度缺陷所处的模块或子系统缺陷分步的模块或子系统缺陷出现几率指发现错误的几率缺陷的重现步骤详细的缺陷重现步骤附件与缺陷相关的附件(截图、附件、用例等)备注对缺陷的其他描述5.2缺陷分类根据缺陷的定义,将缺陷分为如下列:文档缺陷:是指对文档的静态检查过程中发现的缺陷。检查活动包括同行评审、产品审计等。评审的缺陷要根据被评审对象的类型来确定,被评审的对象包括最终出产物和中间过程产出物,比如需求文档、设计文档、计划、报告、用例等代码缺陷:是指对代码进行同行评审、审计或代码走查过程中发现的缺陷测试缺陷:是指由测试活动发现的测试对象(被测对象一般是指可运行的代码、系统,不包括静态测试发现的问题)的缺陷,测试活动包括单元测试、集成测试、系统测试、性能测试等过程缺陷:有称为不符合项问题,是指通过过程审计、过程分析、管理评审、质量评估、质量审核等活动发现的关于过程的缺陷和问题。过程缺陷的发现者一般是测试人员、项目经理等5.3文档缺陷分类缺陷分类描述软件测试规范第7页,共3页描述不完整文档内容缺失,或文档应该包括的范围没有涵盖不一致一致性问题有两类:一是与源头说明书不一致,比如需求和客户业务需求不一致、设计与需求不一致等二是上下文或者与前提不一致描述错误文档描述是错误的,不可实现或导致错误的输出或结果功能问题该缺陷将会导致用户功能的错误、不满足、不可用不清楚或有歧义内容的描述不清楚、不能准确表达、或表达的意思有歧义逻辑错误内容组织逻辑不清楚、逻辑错误接口问题与最终用户接口问题、与外部系统的接口问题、内部子系统或模块的接口问题输入输出问题输入输出不完整、不正确、不可测试或验证不细化内容还需要进一步细化性能问题文档的设计或实现方式存在性能问题安全性问题文档的设计或实现方式存在安全性问题5.4代码缺陷分类缺陷分类描述常量变量定义问题不满足设计或需求编写代码不符合规范条件判断处理循环处理错误异常处理算法逻辑问题注释问题软件测试规范第8页,共3页代码冗余性能问题5.5系统测试缺陷分类缺陷类型描述功能错误影响了重要的特性、用户界面、产品接口或全局数据结构,并且设计文档需要争取的变更。如逻辑、循环、递归、功能等缺陷结构错误Web应用程序结构化页面无法显示,或者显示错误脚本错误Web应用程序当中出现脚本错误,包括客户端对数据进行校验和运算的各种情况下产生的错误页面链接错误Web应用程序页面出现空链接、错误链接、死链接页面文字错误Web应用程序页面出现的中外文拼写、使用、以及不同语种页面的编码错误页面图形错误Web应用程序页面出现图片内容使用不当,或者无法显示ALT错误Web应用程序页面当中超文本标识语言、文本标签解释错误排版错误Web应用程序页面排版不符合要求或者不符合使用习惯业务逻辑不合理应用程序的实现流程和规定业务流程不一致,或者实现流程无法正确完成。包括流程数据的部分并行、争用、同步等操作,引起的流程断裂、死锁、以及其他异常情况业务逻辑不方便应用程序实现流程在实际情况下虽然可以完成,但是存在不必要的反复、等待、冗余等影响使用效率的情况其他错误其他未分类错误建议系统改进建议5.6缺陷等级定义缺陷的严重程度对以上所述的缺陷类型都是适合的,缺陷的严重程度反软件测试规范第9页,共3页映的是对缺陷的发现对象可能造成的影响或后果来定义的。缺陷等级缺陷性质系统中对应的错误分类描述一级致命错误系统崩溃系统死锁导致对被描述的主要对象的理解错误、不可行、不可运转、对业务和整个系统造成重大损失或损害;对使用、维护或保管人员有危险或不安全,以及对产品的基本功能有致命影响的缺陷二级严重缺陷严重错误对被描述的部分对象的理解或实现错误,部分的模块或系统不可行或不能运转或部分模块和系统缺失,对整个系统有重大影响或可能造成部分的损失或损害;严重影响使用安全三级一般缺陷次要错误布局不合理文字错误系统中部分单元模块或单个功能描述和实现有错误、有偏差、不一致或有缺失,不影响模块的正常运行,或有影响,但可以有替代的办法或避免办法四级轻微缺陷微不足道基本不影响系统的运行和功能的实现。但是与标准、规范和定义不一致五级建议缺陷新特性不在定义、标准、范围的定义和约束之内,但是从提出者来看是需要完善的建议5.7缺陷优先级定义缺陷优先级描述特急需要立刻进行修改加急一天到两天之内必须修改高介于中和加急之间软件测试规范第10页,共3页中缺陷需要正常排队等待修复或列入软件发布清单低留到组后解决,如果项目的进度跟紧张可以在产品发布以前不解决5.8缺陷状态定义缺陷状态描述初始状态(New)测试或开发人员提交一个新的缺陷,等待开发人员或项目经理分配修改负责人打回(FeedBack)要求缺陷的报告者再次对缺陷进行说明已分配(Assigned)是指已经分配给属主,等待修改。已解决(Resolved)缺陷被属主修改,等待测试人员验证关闭(Closed)测试人员验证缺陷已经修复重新打开(Reopen)测试人员验证,缺陷没有修改正确遗留(Later)经项目经理和技术经理验证此缺陷在本版本中不用修改5.9缺陷完成度缺陷完成度描述打开(Open)缺陷没有被解决已解决(Fixed)缺陷已经修改遗留(Suspended)此缺陷步骤本阶段解决重新打开(Reopen)重新打开某个缺陷不做修改(Won’tfix)不对这个缺陷进行修改软件测试规范第11页,共3页重复(Duplicate)与某个缺陷重复需求如此经理和开发人员经过需求和设计的核实后决定不需要修改不可重现被指派的开发人员想要再现缺陷进行修改个时候,发现缺陷始终不能再现5.10缺陷管理流程软件测试规范第12页,共3页6处理机制6.1退回机制若在测试过程中发生如下情况,将系统退回到申请部门:经过测试后,发现与需求说明规格说明书中定义的功能项存在较大的差异单一模块,测试过程中发现缺陷输了较多或者无法继续进行系统其它功能模块的测试,继续测试无意义测试过程中,频繁死机或系统崩溃主业务流程出现断点6.2报告机制若出现以下情况,需要及时向部门领导和项目