第4章Web信息系统测试方法(1)信息系统测试第4章Web信息系统测试方法Web信息系统测试技术•功能测试•性能测试•可用性测试•安全性测试•客户端兼容性测试•接口测试第4章Web信息系统测试方法(1)信息系统测试第4章Web信息系统测试方法Web信息系统安全检测•入侵检测•漏洞扫描第4章Web信息系统测试方法(1)信息系统测试第4章Web信息系统测试方法Web信息系统安全策略•物理安全策略•访问控制策略•信息加密策略•安全管理策略第4章Web信息系统测试方法(1)信息系统测试4.1Web信息系统的特点4.1.1Web信息系统的概念大多数信息系统都是采用B-S结构。能够交付一组复杂的内容和功能给大量的终端用户。Web信息系统测试是用于测试高质量Web应用系统的过程,它借用了许多传统软件测试和系统测试的概念和原理。第4章Web信息系统测试方法(1)信息系统测试J2EE体系结构第4章Web信息系统测试方法(1)信息系统测试4.1.2Web信息系统的特点1.网络集约性2.内容驱动性3.持续演化性4.即时性5.安全性6.美观性第4章Web信息系统测试方法(1)信息系统测试1.网络集约性就本质而言,一个Web应用系统是网络集约的。它可以驻留在网络上,并且服务于变化多样的客户群的需要。例如时下流行的网络游戏或者网络聊天器。它们都可以看成一个完善的大型Web应用系统,服务于各种客户群,但其本身只需要一个服务器端,用各式各样的客户端满足不同要求的客户。第4章Web信息系统测试方法(1)信息系统测试2.内容驱动性一般来说,Web应用系统不是为了某个或某些特定用户量身定做的,它们一般都拥有一个广大的服务群体,其服务的内容,往往由这些群体的要求所决定。在大多数情况下,一个Web应用系统的主要功能是使用HTML(超文本标记语言)来表示文本、图形、音频、视频内容给终端用户。第4章Web信息系统测试方法(1)信息系统测试3.持续演化性不同于传统的、按一系列规律发布进行演化的应用软件(如微软每隔1-2年发布新的Office办公软件),Web应用系统一般是采取持续演化的模式。对于某些Web应用而言,按小时为单位进行更新都是司空见惯的。第4章Web信息系统测试方法(1)信息系统测试4.即时性Web应用系统具有其他任何软件类型中都没有的即时性,或者称为快速性。对于某些较大规模的Web应用系统,开发时间往往也只有几周或者几天,适度复杂的Web页面可以仅在几小时内完成。这要求开发者必须十分熟练于开发Web应用所需的压缩时间进度的规划、分析、实现以及测试方法。第4章Web信息系统测试方法(1)信息系统测试5.安全性Web应用系统通过网络访问,为了提高系统效率,需要限制访问终端的用户的数量。为了保护敏感内容,必须提供安全的数据传输模式。因此要求Web应用系统必须有一定的安全性保障。第4章Web信息系统测试方法(1)信息系统测试6.美观性良好的观感会使一个Web应用系统锦上添花。在某种应用已经被市场广泛接受或者定义为标准时,美观性可能和技术在同样程度上影响该应用的成功。第4章Web信息系统测试方法(1)信息系统测试4.2Web信息系统测试技术Web系统测试通常由下列部分组成:•功能测试;•性能测试;•可用性测试;•安全性测试;•系统兼容性测试;•接口测试。第4章Web信息系统测试方法(1)信息系统测试4.2.1功能测试功能测试包括以下内容:•链接测试;•表单测试;•数据校验;•cookies测试;•数据库测试;•应用程序特定的功能需求测试;•设计语言测试。第4章Web信息系统测试方法(1)信息系统测试1.链接测试什么是链接?链接是Web应用系统的一个主要特征,它是在页面之间切换和引导用户去一些未知地址页面的主要手段。第4章Web信息系统测试方法(1)信息系统测试1.链接测试链接测试的内容:•测试所有链接是否按指示的那样确实链接到了应该链接的页面;•测试所链接的页面是否存在;•保证Web应用系统上没有孤立的页面。所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。第4章Web信息系统测试方法(1)信息系统测试1.链接测试•链接测试可以手动进行,也可以自动进行。•链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。第4章Web信息系统测试方法(1)信息系统测试2.表单测试什么是表单?表单就是一些需要在线显示和填写的表格。表单有一些标准操作,如确认、保存、提交等。第4章Web信息系统测试方法(1)信息系统测试2.表单测试例1:如果使用表单来进行在线注册,要确保提交按钮能正常工作,当注册完成后应返回注册成功的消息。第4章Web信息系统测试方法(1)信息系统测试2.表单测试例2:如果使用表单收集配送信息,应确保系统能够正确处理这些数据,最后能让顾客收到数据包。•需要验证服务器能正确保存这些数据;•后台运行的程序能正确解释和使用这些信息。第4章Web信息系统测试方法(1)信息系统测试2.表单测试例3:当用户使用表单进行用户注册、登录、信息提交等操作时,必须测试提交操作的完整性。•用户填写的出生日期与职业是否恰当;•填写的所属省份与所在城市是否匹配;•如果使用了默认值,还要检验默认值的正确性;•如果表单某个字段只能接受指定的某些值,则对这个字段也要进行测试。第4章Web信息系统测试方法(1)信息系统测试3.数据校验目的:根据业务规则,需要对用户输入进行校验,则要保证这些校验功能正常工作。第4章Web信息系统测试方法(1)信息系统测试3.数据校验例如:省份的字段可以用一个有效列表进行校验。•需要验证列表完整性;•程序是否正确调用了该列表;•列表操作是否正确,如在列表中添加一个测试值。•数据校验测试和表单测试可能会有一些重复。第4章Web信息系统测试方法(1)信息系统测试4.Cookies测试什么是Cookies?Cookie是一个由网页服务器放在您硬盘上的非常小的文本文件.它本质上就像您的身份证明一样,并且不能像代码那样被执行或被用来散布病毒。它只能被您使用并且只能由提供的服务器读取.第4章Web信息系统测试方法(1)信息系统测试4.Cookies测试使用Cookie的目的:帮您节约时间。如果您自定义页面,或注册产品或服务。cookie记住您的身份.当下一次您再次访问的时候,将显示您需要的信息,将帮您填入任何您已经回答过的问题。第4章Web信息系统测试方法(1)信息系统测试4.Cookies测试Cookies通常用来存储用户信息和用户在某些应用系统上的操作序列,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,并把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登录等信息。第4章Web信息系统测试方法(1)信息系统测试4.Cookies测试测试内容:•Cookies是否能正常工作;•Cookies是否按预定的时间进行保存;•刷新对Cookies有什么影响等。第4章Web信息系统测试方法(1)信息系统测试4.Cookies测试举例:•如果在cookies中保存了注册信息,应确认该cookie能够正常工作而且已对这些信息进行加密。•如果使用cookie来统计次数,需要验证次数累计正确。第4章Web信息系统测试方法(1)信息系统测试5.数据库测试数据库在Web应用系统中的作用:数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。第4章Web信息系统测试方法(1)信息系统测试5.数据库测试两种主要数据库错误:•数据一致性错误:主要是由于用户提交的表单信息不正确而造成的。•输出错误:主要是由于网络传输速度或程序设计问题等引起的。数据库测试就要针对这两种情况,分别进行测试。第4章Web信息系统测试方法(1)信息系统测试6.应用程序特定的功能需求测试测试人员需要对应用程序特定的功能需求进行验证。测试的依据:程序需求规格说明书。第4章Web信息系统测试方法(1)信息系统测试6.应用程序特定的功能需求测试举例:如一个订货系统,尝试用户可能进行的所有操作:•下订单;•更改订单;•取消订单;核对订单状态;•在货物发送之前更改送货信息;•在线支付等。第4章Web信息系统测试方法(1)信息系统测试7.设计语言测试•不同的Web设计语言版本的差异可以引起客户端或服务器端严重的问题;•尤其在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。•测试的语言,除了HTML的版本问题外,不同的脚本语言,例如使用Java、JavaScript、ActiveX、VBScript或Perl等开发的应用程序也要在不同的版本上进行验证。第4章Web信息系统测试方法(1)信息系统测试4.2.2性能测试包括以下内容:•压力测试;•连接速度测试;•负载测试。第4章Web信息系统测试方法(1)信息系统测试1.压力测试Web服务的特点:•Web服务处于分布式计算的核心位置,它们之间的交互通常很难测试。•分布式开发可能使Web服务的开发变得越来越容易隐藏错误。压力测试是检测这类代码错误的一种有效方法。第4章Web信息系统测试方法(1)信息系统测试1.压力测试如何做压力测试?在设计对Web服务进行压力测试的测试系统时,要让它们以某种特定的方式运行代码,这种做法超越了功能验证。第4章Web信息系统测试方法(1)信息系统测试1.压力测试压力测试的目的:压力测试目的是要弄清楚被测试的Web服务是不是不仅能做我们认为它能做的事,而且在被施加了某些高强度压力的情况下仍然继续正常运行。第4章Web信息系统测试方法(1)信息系统测试1.压力测试压力测试的内容:压力测试必须对Web服务应用以下四个基本条件进行有效的压力测试。•重复(Repetition);•并发(Concurrency);•量级(Magnitude);•随机变化。第4章Web信息系统测试方法(1)信息系统测试压力测试的内容重复(Repetition):测试的重复就是一遍又一遍地执行某个操作或功能。比如重复调用一个Web服务,确定一个操作能否正常执行,并且能否继续在每次执行时都正常。第4章Web信息系统测试方法(1)信息系统测试压力测试的内容并发(Concurrency):并发是同时执行多个操作的行为。换句话说,就是在同一时间执行多个测试,例如在同一个服务器上同时调用许多Web服务。第4章Web信息系统测试方法(1)信息系统测试压力测试的内容量级(Magnitude):压力测试系统应该应用于产品的另一个条件,需要考虑每个操作中的负载量,即也要尽量给产品增加负担。例如,改变数据的大小、改变时间延迟的长度、资金数量的转移、输入速度以及输入的变化等。第4章Web信息系统测试方法(1)信息系统测试压力测试的内容随机变化:任何压力系统都多多少少具有一些随机性。随机使用前面的压力原则中介绍的无数变化形式,就能够在每次测试运行时应用许多不同的代码路径。第4章Web信息系统测试方法(1)信息系统测试压力测试用例参考模板第4章Web信息系统测试方法(1)信息系统测试2.连接速度测试用户连接方式的不同:•电话拨号上网;•宽带上网;•局域网;•有限电视网;•光纤网;•电力网。第4章Web信息系统测试方法(1)信息系统测试2.连接速度测试不管用户使用那种方式的不同,系统都不能让用户可以等较长的时间。连接速度测试的目的,就是要保证在许可的时间内响应用户的请求。第4章Web信息系统测试方法(1)信息系统测试2.连接速度测试举例:•如果访问一个页面Web系统响应时间太长(例如超过5秒钟),用户就会因失去耐心而离开。•有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登录了。•如果连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。第4章Web信息系统测试方法(1)信息系统测试3.负载测试负载测试的目的:负载测试是为了测