一.概要
  1 目的
  本文档编写目的在于规范基于网站的系统测试,区别于传统的软件测试,本文对网站测试的流程与规范进行全面概述,以利于网站开发工作的质量和开发时间,帮助测试人员快速了解测试流程,进行测试活动。
  2 适用范围
  适用于所有基于WEB的网站测试的项目。
  3 网站测试的简要说明
  网站的开发与部署是为更多更广泛的用户提供信息服务,其针对性广、适用性强,故其性能要求与传统的软件不同,其系统的测试也与传统的软件测试不同。它不仅需要验证系统各个模块的功能是否与用户需求符合,还要测试系统在不同软硬件平台和不同的浏览器端的兼容性问题。还有用户的安全性和可用性测试。
  Web网站的特点:网络集约型、内容驱动性、持续演化性、即时性、安全性、美观性。
  二.基本流程
  1.项目立项
  项目立项阶段是用户与项目经理针对项目进行敲定,确定项目双方的职能及相关责任。在此过程中测试人员很多时候都不怎么会参与进来,其实测试经理或组长是可以以参与者的身份参与进来,了解项目的相关事宜。
  2.需求分析阶段
  需求分析阶段测试人员对业务关系进行了解,分析需求点。很多测试人员的测试工作都是从这一阶段开始。需求分析评审对项目需求分析的结果进行评审,评审团根据公司人员分配来定,一般包含用户、项目经理、开发人员、测试人员等,不要低于5人。
  3.测试计划阶段
  测试计划阶段:测试组长要根据《用户需求手册》或《测试需求分析书》开始编写《测试计划》,其中包括人员,软件硬件资源,测试点,集成顺序,进度安排和风险识别等内容。评审团根据公司人员分配来定,一般应包含项目经理、测试人员等,不要低于5人。
  4.测试设计阶段
  此阶段要对测试工作提出测试方案,测试方案一般由对需求很熟的高的测试工程师设计,测试方案要求根据《需求分析》和《测试计划》上的每个需求点设计出包括需求点简介,测试思路和详细测试方法三部分的方案。《测试方案》编写完成后也需要进行评审。评审人员不要低于5人。
  5.测试方案阶段
  此阶段对测试进行详细设计,主要针对测试用例和规程的设计。测试用例是根据《测试方案》来编写的,通过测试方案阶段,测试人员对整个系统需求有了详细的理解。这时开始编写用例才能保证用例的可执行和对需求的覆盖。测试用例需要包括测试项,用例级别,预置条件,操作步骤和预期结果。其中操作步骤和预期结果需要编写详细和明确。测试用例应该覆盖测试方案,而测试方案又覆盖了测试需求点,这样才能保证客户需求不遗漏。同样,测试用例也需要评审。评审人员好不要低于5人。
  6.测试执行阶段
  执行测试用例,对执行结果进行合理管理,及时提交有质量的Bug。
  7.结果分析与测试报告
  针对测试结果测试人员应该分析相应的结果产生原因,并提交相应的测试报告。
  三.测试范围
  1. 功能测试
  1.1基本功能模块测试
  根据《用户需求说明手册》和《需求分析说明书》,分析各个功能模块。针对各个功能模块进行相关功能的测试。
  1.2 WEB功能测试
  1.2.1链接测试
  什么是链接?
  链接是Web 网站的一个主要特征,它是在页面之间切换和引导用户去一些未知地址页面的主要手段。
  链接测试的内容:
  测试所有链接是否按指示的那样确实链接到了应该链接的页面;
  测试所链接的页面是否存在;
  保证Web 网站上没有孤立的页面。所谓孤立页面是指没有链接指向该页面,只有知道正确的URL 地址才能访问。
  链接测试可以手动进行,也可以自动进行。
  链接测试必须在集成测试阶段完成,也是说,在整个Web 网站的所有页面开发完成之后进行链接测试。
  主要测试网站的链接是否正常,其中包括测试链接页面的正确性、页面是否存在、是否存在孤立页面。
  常用测试工具有Xenu(测试链接的正确性的工具)。
  1.2.2表单测试
  什么是表单?
  表单是一些需要在线显示和填写的表格。
  表单有一些标准操作,如确认、保存、提交等。
  主要测试表单的正确性和规范性,是否适合常用表单的使用习惯。
  主要测试方法为:边界值测试、等价类测试,以及异常类测试。
  1.2.3Cookies测试
  什么是cookies?
  Cookie是一个由网页服务器放在您硬盘上的非常小的文本文件. 它本质上像您的身份证明一样,并且不能像代码那样被执行或被用来散布病毒。它只能被您使用并且只能由提供的服务器读取。
  使用cookies的目的:
  帮您节约时间。如果您自定义页面,或注册产品或服务。cookie记住您的身份.当下一次您再次访问的时候,将显示您需要的信息,将帮您填入任何您已经回答过的问题。
  Cookies测试
  Cookies 通常用来存储用户信息和用户在某些应用系统上的操作序列,当一个用户使用Cookies访问了某一个应用系统时,Web 服务器将发送关于用户的信息,并把该信息以Cookies 的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登录等信息。
  测试内容
  Cookies是否能正常工作;
  Cookies是否按预定的时间进行保存;
  刷新对Cookies 有什么影响等。
  1.2.4设计语言测试
  测试WEB设计语言使用的版本是否规范、是否统一,使用的脚本语言是否规范、统一。
  一般采用的时代码查看法。
  不同的Web 设计语言版本的差异可以引起客户端或服务器端严重的问题;
  尤其在分布式环境中开发时,开发人员都不在一起,这个问题显得尤为重要。
  测试的语言,除了HTML 的版本问题外,不同的脚本语言,例如使用Java、JavaScript、ActiveX、VBScript或Perl 等开发的应用程序也要在不同的版本上进行验证。
  1.2.5数据库测试
  数据校验
  根据业务规则,需要对用户输入进行校验,则要保证这些校验功能正常工作。
  一般测试数据的一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。再是数据的安全性测试,一般采用SQL注入的方法。
  2.性能测试
  网站的性能测试对于网站的运行而言异常重要,网站的性能测试主要从三个方面进行:连接速度测试、负载测试和压力测试。
  2.1连接速度测试
  不管用户使用那种方式的不同,系统都不能让用户可以等较长的时间。连接速度测试的目的,是要保证在许可的时间内响应用户的请求。
  测试网站的链接速度,响应用户的反应时间。
  2.2负载测试
  负载测试的目的:
  负载测试是为了测量Web 系统在某一负载级别上的性能,以保证Web 系统在需求范围内能正常工作。负载测试指的是进行一些边界数据的测试,测量网站系统在某一负载级别上的性能,以保证网站系统在需求范围内能正常工作。负载级别是某个时刻同时访问Web系统的用户数量。
  常用自动化测试工具:LoadRunner。
  2.3压力测试
  压力测试倾向应该是致使整个系统崩溃测试出系统能承受的大压力而不会发生系统崩溃的现象。同时也是测试系统的限制和故障恢复能力,也是测试网站系统会不会崩溃,在什么情况下会崩溃。
  压力测试的内容:
  压力测试必须对 Web 服务应用以下四个基本条件进行有效的压力测试:
  重复(Repetition);
  并发(Concurrency);
  量级(Magnitude);
  随机变化。
  常用自动化测试工具:LoadRunner、AutoRunner