网站测试流程、要求及测试报告

来源:互联网 发布:ios理财软件 编辑:程序博客网 时间:2024/06/11 12:54
     一个网站基本完工后,需要通过下面三步测试才可以交活。
    一、制作者测试:包括美工测试页面、程序员测试功能,在做完后第一时间内由制作者本人进行测试。
    a) 页面包括首页、二级页面、三级页面的页面在各种常用分辨率下有无错位;图片上有没有错别字;各连接是否是死连接;各栏目图片与内容是否对应等
    b) 功能达到客户要求;数据库连接正确;各个动态生成连接正确;传递参数格式、内容正确;试填测试内容没有报错;页面显示正确
    二、全面测试:根据交工标准和客户要求,由专人进行全面测试
也是包括页面和程序两方面,而且要结合起来测,保证填充足够的内容后不会导致页面变形。另外要检查是否有错别字,文字内容是否有常识错误。
    三、发布测试:网站发布到主服务器之后的测试,主要是防止环境不同导致的错误
    测试的主要方面:
    一、功能测试
    对于网站的测试而言,每一个独立的功能模块需要单独的测试用例的设计导出,主要依据为《需求规格说明书》及《详细设计说明书》,对于应用程序模块需要设计者提供基本路径测试法的测试用例。
    1、链接测试
  链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面:
    1)测试所有链接是否按指示的那样确实链接到了该链接的页面;
    2)测试所链接的页面是否存在;
    3)保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。
    链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在全面测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。
    2、表单测试
    当用户给Web应用系统管理员提交信息时,就需要进行表单操作,例如用户注册/登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
    要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。B/S结构实现的功能可能主要就在这里,提交数据,处理数据等如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量。
    3、Cookies测试
  Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作而且校对这些信息是否已经加密。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。
    4、设计语言测试
    Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,例如Java、JavaScript、 ActiveX、VBScript或Perl等也要进行验证。
    5、数据库测试
  在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。
    二、性能测试
    网站的性能测试对于网站的运行而言异常重要,网站的性能测试主要从三个方面进行:连接速度测试、负荷测试(Load)和压力测试(Stress)。连接速度测试指的是打开网页的响应速度测试;负荷测试指的是进行一些边界数据的测试;压力测试更像是恶意测试,压力测试倾向应该是使整个系统崩溃。
    1、连接速度测试
  用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
    2、负载测试
  负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?
    3、压力测试
  负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以只有放在Internet上,接受负载测试,其结果才是正确可信的。进行压力测试是指实际破坏一个Web应用系统,测试系统的反映,测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。压力测试的区域包括表单、登陆和其他信息传输页面等。
    三、接口测试
    在很多情况下,web站点不是孤立的,Web站点可能会与外部服务器通讯,请求数据、验证数据或提交订单。
    1、服务器接口
    第一个需要测试的接口是浏览器与服务器的接口。测试人员提交事务,然后查看服务器记录,并验证在浏览器上看到的正好是服务器上发生的。测试人员还可以查询数据库,确认事务数据已正确保存。
    2、 外部接口
    有些 web系统有外部接口。例如,网上商店可能要实时验证信用卡数据以减少欺诈行为的发生。测试的时候,要使用web接口发送一些事务数据,分别对有效信用卡、无效信用卡和被盗信用卡进行验证。
    3、错误处理
    最容易被测试人员忽略的地方是接口错误处理。通常我们试图确认系统能够处理所有错误,但却无法预期系统所有可能的错误。尝试在处理过程中中断事务,看看会发生什么情况。
    四、可用性测试 
   1、导航测试
  导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题,可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉就知道Web应用系统里面是否还有内容,内容在什么地方。Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。
    2、图形测试
  在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。图形测试的内容有:
  (1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。
  (2)验证所有页面字体的风格是否一致。
  (3)背景颜色应该与字体颜色和前景颜色相搭配。
  (4)图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。
    3、内容测试
  内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。信息的正确性是指信息是可靠的还是误传的,是否有语法或拼写错误,是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓"相关文章列表"。
    4、整体界面测试
   整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?整个Web应用系统的设计风格是否一致? 对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。
   对所有的可用性测试来说,都需要有外部人员(与Web应用系统开发没有联系或联系很少的人员)的参与,最好是最终用户的参与。
    五、兼容性测试
    需要验证应用程序可以在用户使用的机器上运行。如果您用户是全球范围的,需要测试各种操作系统、浏览器、视频设置和modem速度。最后,还要尝试各种设置的组合。
    1、平台测试
  市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。因此,在Web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。
    2、浏览器测试
  浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java,、JavaScript、 ActiveX、 plug-ins或不同的HTML规格有不同的支持。例如,ActiveX是Microsoft的产品,是为Internet Explorer而设计的,JavaScript是Netscape的产品,Java是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示,不同的浏览器对安全性和Java的设置也不一样。测试浏览器兼容性的一个方法是创建一个兼容性矩阵,在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。
    3.视觉测试
    页面版式在各种分辨率模式下是否显示正常? 字体是否太小以至于无法浏览? 或者是太大? 文本和图片是否对齐?
    4.连接速率测试
    看在不同的网络连接下是否会有不同的连接速度,常见的有电信,联通等。
    5、打印机测试
    用户可能会将网页打印下来。因此网页在设计的时候要考虑到打印问题,注意节约纸张和油墨。有不少用户喜欢阅读而不是盯着屏幕,因此需要验证网页打印是否正常。有时在屏幕上显示的图片和文本的对齐方式可能与打印出来的东西不一样。
    6、组合测试
    最后需要进行组合测试。
    六、安全测试
    Web应用系统的安全性测试区域主要有:
    1、 目录设置
    Web 安全的第一步就是正确设置目录。每个目录下应该有index.html页面,这样就不会显示该目录下的所有内容。如果没有执行这条规则,那么选中一幅图片,单击鼠标右键,找到该图片所在的路径"…com/objects/images"。然后在浏览器地址栏中手工输入该路径,发现该站点所有图片的列表。这可能没什么关系,但是进入下一级目录 "…com/objects" ,在该目录下有很多资料,这时候就会泄露更多的信息。
    2.登录
   现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。 
    3.Session
    Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内没有点击任何页面,是否需要重新登陆才能正常使用。
    4.日志文件
    为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
    5.加密
    当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
    6.安全漏洞
    服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
    七、代码合法性测试
    代码合法性测试主要包括2个部分:程序代码合法性检查与显示代码合法性检查。
    八、文档测试
    l、产品说明书属性检查清单
    1)完整.是否有遗漏和丢失,完全吗? 单独使用是否包含全部内容
    2)准确.既定解决方案正确吗? 目标明确吗? 有没有错误?
    3)精确、不含糊、清晰.描述是否一清二楚? 还是自说自话?容易看懂和理解吗?
    4)一致.产品功能能描述是否自相矛盾,与其他功能有没有冲突
    5)贴切.描述功能的陈述是否必要?有没有多余信息? 功能是否原来的客户要求?
    6)合理.在特定的预算和进度下,以现有人力,物力和资源能否实现?
    7)代码无关.是否坚持定义产品,而不是定义其所信赖的软件设计,架构和代码
    8)可测试性.特性能否测试? 测试员建立验证操作的测试程序是否提供足够的信息?
    2、产品说明书用语检查清单
    1)说明。 对问题的描述通常表现为粉饰没有仔细考虑的功能----可归结于前文所述的属性.从产品说明书上找出这样的用语,仔细审视它们在文中是怎样使用的.产品说明书可能会为其掩饰和开脱,也可能含糊其词----无论是哪一种情况都可视为软件缺陷.
    2)总是,每一种,所有,没有,从不.如果看到此类绝对或肯定的,切实认定的叙述,软件测试员就可以着手设计针锋相对的案例.
    3)当然,因此,明显,显然,必然.这些话意图诱使接受假定情况.不要中了圈套.
    4)某些,有时,常常,通常,惯常,经常,大多,几乎.这些话太过模糊."有时"发生作用的功能无法测试.
    5)等等,诸如此类,依此类推.以这样的词结束的功能清单无法测试.功能清单要绝对或者解释明确,以免让人迷惑,不知如何推论.
    6)良好,迅速,廉价,高效,小,稳定.这些是不确定的说法,不可测试.如果在产品说明书中出现,就必须进一步指明含义.
    7)已处理,已拒绝,已忽略,已消除.这些廉洁可能会隐藏大量需要说明的功能.
    8)如果...那么...(没有否则).找出有"如果...那么..."而缺少配套的"否则"结构的陈述.想一想"如果"没有发生会怎样.
    相关的测试工具
    OpenSTA:主要做性能测试的负荷及压力测试,使用比较方便,可以编写测试脚本,也可以先行自动生成测试脚本,而后对于应用测试脚本进行测试。
    SAINT:网站安全性测试,能够对于指定网站进行安全性测试,并可以提供安全问题的解决方案。
    CSE HTML Validator:一个有用的对于HTML代码进行合法性检查的工具
    Ab(Apache Bench):Apache自带的对于性能测试方面的工具,功能不是很多,但是非常实用。
    Crash-me:Mysql自带的测试数据库性能的工具,能够测试多种数据库的性能。
原创粉丝点击