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