项目编号项目名称卷号卷内编号密级错误!未找到引用源。:模板使用者:项目组错误!未找到引用源。:XXX--007测试计划版本号项目承担部门:第2组撰写人(签名):XX完成日期:2011.7.23本文档使用部门:□主管领导□项目组□客户(市场)□维护人员□用户评审负责人(签名):评审日期:文档信息标题:测试计划作者:XXX创建日期:2011.07.23上次更新日期:2011.07.24版本:0.2部门名称:第二组修订文档历史记录日期版本说明作者2011.07.230.1李杰2011.07.240.23目录1.简介41.1目的41.2背景41.3范围42.测试策略52.1测试类型52.1.1数据和数据库完整性测试2.1.2功能测试2.1.3用户界面测试2.1.4性能测试2.1.5压力测试2.1.6负载测试2.1.7强度测试2.1.8容量测试2.1.9访问流量统计2.1.10安全性和访问控制测试2.1.11故障转移和恢复测试2.1.12配置测试2.1.13安装测试2.2工具113.资源123.1角色123.2系统134错误!未指定书签。1.简介1.1目的这一项目的“测试计划”文档有助于实现以下目标:1.提出软件总体要求,作为软件开发人员和最终使用者之间相互了解的基础;2.该软件B/S结构类型的软件,普通用户通过浏览器(Browser)对服务器(Server)进行访问;3.普通用户可以通过浏览器对服务器进行读写访问;4.服务器应具有一定的承载能力,可以处理大量用户并发访问,并能够在此负载下正常运行数个小时;5.在单元测试时,采取静态测试和自动测试相结合的方式;6.在模块测试时,采取黑盒测试;7.在系统测试时,采取先冒烟测试,再黑盒测试方式;8.在每个新版本测试前,都进行回归测试。1.2背景项目名称:XXXXX任务提出者:某公司开发者:某公司开发部用户:某公司1.2.1项目背景该项目的实施主要是为了某公司构建B/S结构软件,普通用户通过浏览器对该公司的服务器进行访问,该公司通过对服务器的管理和运营维护,为普通用户搭建一个用户中心,实现普通用户和好友的沟通交流。1.2.2基本功能该软件的基本功能:普通用户的注册、登录和输入个人资料,普通用户能够通过搜索功能查找已经注册了的好友,能够通过留言板、站内短信和好友沟通,可以上传照片、文章、音频/视频文件等并可以评论及分享,发起活动,创建分组功能;该公司通过对服务器的管理,以实现对用户的管理,包括并不局限于个人资料、言论、常用功能等,能够对用户登录时间分阶段进行统计,服务器可以承载大量用户的并发访问,并能够在该负载下运行5小时以上,反应时间尽可能的短。1.2.3技术架构本软件是B/S版软件,服务器运行在像惠普、IBM这类主流服务器上,普通用户通过浏览器访问,需考虑IE6.0以上、谷歌、网景、搜狗、firefox等主流浏览器的兼容性,需要网络和数据库的支持。1.3范围测试计划和设计:根据需求规格说明书和最终的系统设计,制定测试计划、测试方案,包括收集测试方法、测试用例、可能用到的测试工具等;单元测试:对各个模块的源代码进行测试,保证各模块基本功能能够正确的实现;集成测试:将各个模块进行组合测试,保证所有的功能都能够正确的实现;系统测试:根据《需求规格说明书》对软件进行功能测试,对重点的模块进行性能测试,并结合可能的用户测试;验收测试:根据用户手册对功能进行检查,复查报告库中的所有Bug,对Release版本进行安装测5试。2.测试策略[测试策略提供了推荐用于测试对象的方法。上一节“测试需求”中说明了将要测试哪些对象,而本节则要说明如何对测试对象进行测试。对于每种测试,都应提供测试说明,并解释其实施和执行的原因。如果不实施和执行某种测试,则应该用一句话加以说明,并陈述这样做的理由。例如,“将不实施和执行该测试。。该测试不合适。”制定测试策略时所考虑的主要事项有:将要使用的方法以及判断测试何时完成的标准。下面列出了在进行每项测试时需考虑的事项,除此之外,测试还只应在安全的环境中使用已知的、受控的数据库来执行。]2.1测试类型2.1.1数据和数据库完整性测试[数据库和数据库进程应作为项目名称中的子系统来进行测试。在测试这些子系统时,不应将测试对象的用户界面用作数据的接口。对于数据库管理系统(DBMS),还需要进行深入的研究,以确定可以支持以下测试的工具和方法。]测试目标:确保普通用户能够通过注册页面将自己的注册信息提交到数据库,登录时通过用户名、密码和数据库比对能够正常登录,并可以将数据写入服务器中实现读取功能方法:在注册页面时,在其中填充有效和无效的数据对数据库发出请求在登录页面时,分别输入正确和错误的数据对数据库发出请求在用户登录后,可以对服务器提交写操作和上传功能的请求,并再注销后再次登录后还能够访问完成标准:所有的数据库访问方法和进程都按照设计的方式运行,可以对写入的数据进行访问,保障数据没有遭到损坏需考虑的特殊事项:2.1.2功能测试[测试对象的功能测试应该侧重于可以被直接追踪到用例或业务功能和业务规则的所有测试需求。这些测试的目标在于核实能否正确地接受、处理和检索数据以及业务规则是否正确实施。这种类型的测试基于黑盒方法,即通过图形用户界面(GUI)与应用程序交互并分析输出结果来验证应用程序及其内部进程。以下列出的是每个应用程序推荐的测试方法概要:]测试目标:根据需求功能说明书,对客户需要的所有功能项进行测试,确保其能够正常运行,包括用户注册、网站登录、个人信息的录入、搜索好友、添加好友、上传文件、评论、留言、分享、发起活动、建立组群等功能6方法:单元测试阶段主要是对每个功能模块独立的进行测试集成测试阶段主要针对大的功能实现进行测试系统测试阶段依据需求规格说明书逐项测试验收阶段依据说明书逐项测试完成标准:所计划的测试已全部执行所发现的缺陷已全部解决需考虑的特殊事项:2.1.3用户界面测试[通过用户界面(UI)测试来核实用户与软件的交互。UI测试的目标在于确保用户界面向用户提供了适当的访问和浏览测试对象功能的操作。除此之外,UI测试还要确保UI功能内部的对象符合预期要求,并遵循公司或行业的标准。]测试目标:用户通过浏览器对服务器进行访问,所看到的页面窗口符合相关的规范,包括页面大小是否合适,布局是否合理,颜色搭配是否易于接受,链接功能是否正常方法:按照相关规定逐项检查,包括页面大小是否合适,布局是否合理,颜色搭配是否易于接受,链接功能是否正常,字体大小是否合适,是否存在错别字的问题完成标准:确保各个窗口都与基准版本保持一致,或符合可接受标准需考虑的特殊事项:2.1.4性能测试[性能评价是一种性能测试,它对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估。性能评价的目标是核实性能需求是否都已满足。实施和执行性能评价的目的是将测试对象的性能行为当作条件(例如工作量或硬件配置)的一种函数来进行评价和微调。注:以下事务均指“逻辑业务事务”。这种事务被定义为将由系统的某个主角通过使用测试对象来执行的特定用例,例如,添加或修改某个合同。]测试目标:主要进行时间性能测试,测试用户对服务器访问的反应时间方法:模拟用户实际中使用电脑的环境对服务器进行访问,测试并统计服务器的访问时间,通过编写脚本文件模拟并发多用户对服务器的访问,并记录完成标准:在单用户访问时,要求反应时间至少在2秒钟以内,在大量并发用户访问时不能反应时间过长,至少保证在客户所要求的用户数下,不得超过一分钟需考虑的特殊事项:在实际中,随着访问用户的不断增多,会导致服务器的反应时间不断变慢2.1.5压力测试测试目标:测试服务器能够正常工作时,能够承受的最大并发用户数方法:用脚本模拟并发用户数量,同时对服务器进行访问,逐步增大模拟的7用户数,测试直到服务器出现故障为止完成标准:达到客户所要求的并发用户数时,服务器不会出现故障,可以正常工作需考虑的特殊事项:2.1.6负载测试[负载测试是一种性能测试。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。][注:以下事务均指“逻辑业务事务”。这些事务被定义为将由系统的最终用户通过使用应用程序来执行的具体功能,例如,添加或修改某个合同。]测试目标:达到客户所要求的并发用户数量下,服务器能够正常工作的最少时间方法:在客户要求的并发用户数量下,测试服务器能够正常运行的时间,逐步延长时间,到服务器出现故障时为止完成标准:在客户所要求的并发用户数量下,可接受的时间范围内成功地完成测试,没有发生任何故障需考虑的特殊事项:2.1.7强度测试[强度测试是一种性能测试,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。][注:以下提到的事务都是指逻辑业务事务。]测试目标:确保测试对象能够在以下强度条件下正常运行,不会出现任何错误:服务器上几乎没有或根本没有可用的内存(RAM和DASD)连接或模拟了最大实际(或实际可承受)数量的客户机方法:减少或限制服务器的内存(RAM和DASD),逐步增加客户机对服务器的访问数量,通过不断地加大访问的客户机的数量直到服务器出现故障,查看导致此时产生问题的缺陷完成标准:所计划的测试已全部执行,并且在达到或超出指定的系统限制时没有出现任何软件故障,或者导致系统出现故障的条件并不在指定的条件范围之内需考虑的特殊事项:2.1.8容量测试[容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。容量测试还将确定测试对象在给定时间内是否能够持续处理的最大负载或工作量。例如,如果测试对象正在为生成一份报表而处理一组数据库记录,那么容量测试就会使用一个大型的测试数据库,检验该软件是否正常运行并生成了正确的报表。]8测试目标:确定测试对象在以下大容量条件下能否正常运行:连接(或模拟了)最大(实际或实际可承受)数量的客户机,所有客户机在长时间内执行相同的、且情况(性能)最差的业务功能已达到最大的数据库大小(实际的或按比例缩放的),而且同时执行了多个查询或报表事务方法:在服务器可承受的最大并发用户访问下,客户机不断的对服务器提交对数据的写操作(包括创建数据库和数据表),并运行性能最差的功能模块完成标准:所计划的测试已全部执行,而且在达到或超出指定的系统限制时没有出现任何软件故障需考虑的特殊事项:2.1.9访问流量统计测试目标:模拟用户对网站进行访问,并记录器流量方法:收集同类型网站的访问流量数,及访问量分布根据收集到的流量数及分布,编写脚本模拟用户随机对网站进行访问,并记录数据,进行相关数据分析完成标准:尽可能的使模拟出来的情况像真实的用户操作习惯,并确保在其访问量最大时服务器能够正常运行,若有缺陷及时修改,再测需考虑的特殊事项:2.1.10安全性和访问控制测试[安全性和访问控制测试侧重于安全性的两个关键方面:应用程序级别的安全性,包括对数据或业务功能的访问系统级别的安全性,包括对系统的登录或远程访问。应用程序级别的安全性可确保:在预期的安全性情况下,主角只能访问特定的功能或用例,或者只能访问有限的数据。例如,可能会允许所有人输入数据,创建新账户,但只有经理才能删除这些数据或账户。如果具有数据级别的安全性,测试就可确保“用户类型一”能够看到所有客户信息(包括财务数据),而“用户二”只能看见同一客户的统计数据。系统级别的安全性可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的网关来访问。]测试目标:应用程序级别的安全性:[核实主角只能访问其所属用户类型已被授权使用的那些功能或数据。]系统级别的安