《Web信息系统测试方法课件.ppt》由会员分享,可在线阅读,更多相关《Web信息系统测试方法课件.ppt(101页珍藏版)》请在三一办公上搜索。
1、第4章 Web信息系统测试方法,Web信息系统测试技术功能测试性能测试可用性测试安全性测试客户端兼容性测试接口测试,第4章 Web信息系统测试方法 Web信息系统测试技术,第4章 Web信息系统测试方法,Web信息系统安全检测入侵检测漏洞扫描,第4章 Web信息系统测试方法 Web信息系统安全检测,第4章 Web信息系统测试方法,Web信息系统安全策略物理安全策略访问控制策略信息加密策略安全管理策略,第4章 Web信息系统测试方法 Web信息系统安全策略,4.1Web信息系统的特点,4.1.1Web信息系统的概念 大多数信息系统都是采用B-S结构 。能够交付一组复杂的内容和功能给大量的终端用户
2、。 Web信息系统测试是用于测试高质量Web应用系统的过程,它借用了许多传统软件测试和系统测试的概念和原理。,4.1Web信息系统的特点 4.1.1Web信息系统的概念,J2EE体系结构,J2EE体系结构,4.1.2Web信息系统的特点,1.网络集约性2.内容驱动性3.持续演化性4.即时性5.安全性6.美观性,4.1.2Web信息系统的特点 1.网络集约性,1.网络集约性,就本质而言,一个Web应用系统是网络集约的。它可以驻留在网络上,并且服务于变化多样的客户群的需要。例如时下流行的网络游戏或者网络聊天器。它们都可以看成一个完善的大型Web应用系统,服务于各种客户群,但其本身只需要一个服务器端
3、,用各式各样的客户端满足不同要求的客户。,1.网络集约性就本质而言,一个Web应用系统是网络集约的。,2.内容驱动性,一般来说,Web应用系统不是为了某个或某些特定用户量身定做的,它们一般都拥有一个广大的服务群体,其服务的内容,往往由这些群体的要求所决定。在大多数情况下,一个Web应用系统的主要功能是使用HTML(超文本标记语言)来表示文本、图形、音频、视频内容给终端用户。,2.内容驱动性一般来说,Web应用系统不是为了某个或某些特,3.持续演化性,不同于传统的、按一系列规律发布进行演化的应用软件(如微软每隔1-2年发布新的Office办公软件),Web应用系统一般是采取持续演化的模式。对于某
4、些Web应用而言,按小时为单位进行更新都是司空见惯的。,3.持续演化性不同于传统的、按一系列规律发布进行演化的应用,4.即时性,Web应用系统具有其他任何软件类型中都没有的即时性,或者称为快速性。对于某些较大规模的Web应用系统,开发时间往往也只有几周或者几天,适度复杂的Web页面可以仅在几小时内完成。这要求开发者必须十分熟练于开发Web应用所需的压缩时间进度的规划、分析、实现以及测试方法。,4.即时性Web应用系统具有其他任何软件类型中都没有的即时,5.安全性,Web应用系统通过网络访问,为了提高系统效率,需要限制访问终端的用户的数量。为了保护敏感内容,必须提供安全的数据传输模式。因此要求W
5、eb应用系统必须有一定的安全性保障。,5.安全性Web应用系统通过网络访问,为了提高系统效率,需,6.美观性,良好的观感会使一个Web应用系统锦上添花。在某种应用已经被市场广泛接受或者定义为标准时,美观性可能和技术在同样程度上影响该应用的成功。,6.美观性良好的观感会使一个Web应用系统锦上添花。在某种,4.2 Web信息系统测试技术,Web系统测试通常由下列部分组成:功能测试;性能测试;可用性测试;安全性测试;系统兼容性测试;接口测试。,4.2 Web信息系统测试技术Web系统测试通常由下列部分组,4.2.1功能测试,功能测试包括以下内容:链接测试;表单测试;数据校验;cookies 测试;
6、数据库测试;应用程序特定的功能需求测试;设计语言测试。,4.2.1功能测试 功能测试包括以下内容:,1.链接测试,什么是链接?链接是Web 应用系统的一个主要特征,它是在页面之间切换和引导用户去一些未知地址页面的主要手段。,1.链接测试什么是链接?,1.链接测试,链接测试的内容:测试所有链接是否按指示的那样确实链接到了应该链接的页面;测试所链接的页面是否存在;保证Web 应用系统上没有孤立的页面。所谓孤立页面是指没有链接指向该页面,只有知道正确的URL 地址才能访问。,1.链接测试链接测试的内容:,1.链接测试,链接测试可以手动进行,也可以自动进行。链接测试必须在集成测试阶段完成,也就是说,在
7、整个Web 应用系统的所有页面开发完成之后进行链接测试。,1.链接测试链接测试可以手动进行,也可以自动进行。,2.表单测试,什么是表单?表单就是一些需要在线显示和填写的表格。表单有一些标准操作,如确认、保存、提交等。,2.表单测试 什么是表单?,2.表单测试,例1:如果使用表单来进行在线注册,要确保提交按钮能正常工作,当注册完成后应返回注册成功的消息。,2.表单测试 例1:,2.表单测试,例2:如果使用表单收集配送信息,应确保系统能够正确处理这些数据,最后能让顾客收到数据包。需要验证服务器能正确保存这些数据;后台运行的程序能正确解释和使用这些信息。,2.表单测试 例2:,2.表单测试,例3:当
8、用户使用表单进行用户注册、登录、信息提交等操作时,必须测试提交操作的完整性。用户填写的出生日期与职业是否恰当;填写的所属省份与所在城市是否匹配;如果使用了默认值,还要检验默认值的正确性;如果表单某个字段只能接受指定的某些值,则对这个字段也要进行测试。,2.表单测试 例3:,3.数据校验,目的:根据业务规则,需要对用户输入进行校验,则要保证这些校验功能正常工作。,3.数据校验目的:,3.数据校验,例如:省份的字段可以用一个有效列表进行校验。需要验证列表完整性;程序是否正确调用了该列表;列表操作是否正确,如在列表中添加一个测试值。数据校验测试和表单测试可能会有一些重复。,3.数据校验例如:,4.C
9、ookies 测试,什么是Cookies?Cookie是一个由网页服务器放在您硬盘上的非常小的文本文件. 它本质上就像您的身份证明一样,并且不能像代码那样被执行或被用来散布病毒。它只能被您使用并且只能由提供的服务器读取.,4.Cookies 测试什么是Cookies?Cooki,4.Cookies 测试,使用Cookie的目的: 帮您节约时间。如果您自定义页面,或注册产品或服务。cookie记住您的身份.当下一次您再次访问的时候,将显示您需要的信息,将帮您填入任何您已经回答过的问题。,4.Cookies 测试使用Cookie的目的: 帮您节,4.Cookies 测试,Cookies 通常用来存
10、储用户信息和用户在某些应用系统上的操作序列,当一个用户使用Cookies访问了某一个应用系统时,Web 服务器将发送关于用户的信息,并把该信息以Cookies 的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登录等信息。,4.Cookies 测试Cookies 通常用来存储用户,4.Cookies 测试,测试内容:Cookies是否能正常工作;Cookies是否按预定的时间进行保存;刷新对Cookies 有什么影响等。,4.Cookies 测试测试内容:,4.Cookies 测试,举例:如果在cookies 中保存了注册信息,应确认该cookie 能够正常工作而且已对这些信息进
11、行加密。如果使用cookie 来统计次数,需要验证次数累计正确。,4.Cookies 测试举例:,5.数据库测试,数据库在Web 应用系统中的作用:数据库为Web 应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web 应用中,最常用的数据库类型是关系型数据库,可以使用SQL 对信息进行处理。,5.数据库测试数据库在Web 应用系统中的作用:,5.数据库测试,两种主要数据库错误:数据一致性错误:主要是由于用户提交的表单信息不正确而造成的。输出错误:主要是由于网络传输速度或程序设计问题等引起的。数据库测试就要针对这两种情况,分别进行测试。,5.数据库测试两种主要数据库错误:,6
12、.应用程序特定的功能需求测试,测试人员需要对应用程序特定的功能需求进行验证。测试的依据:程序需求规格说明书。,6.应用程序特定的功能需求测试测试人员需要对应用程序特定,6.应用程序特定的功能需求测试,举例:如一个订货系统,尝试用户可能进行的所有操作:下订单;更改订单;取消订单;核对订单状态;在货物发送之前更改送货信息;在线支付等。,6.应用程序特定的功能需求测试举例:,7.设计语言测试,不同的Web 设计语言版本的差异可以引起客户端或服务器端严重的问题;尤其在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。测试的语言,除了HTML 的版本问题外,不同的脚本语言,例如使用Java
13、、JavaScript、ActiveX、VBScript或Perl 等开发的应用程序也要在不同的版本上进行验证。,7.设计语言测试不同的Web 设计语言版本的差异可以引起客户,4.2.2性能测试,包括以下内容:压力测试;连接速度测试;负载测试。,4.2.2性能测试 包括以下内容:,1.压力测试,Web 服务的特点:Web 服务处于分布式计算的核心位置,它们之间的交互通常很难测试。分布式开发可能使 Web 服务的开发变得越来越容易隐藏错误。压力测试是检测这类代码错误的一种有效方法。,1.压力测试Web 服务的特点:,1.压力测试,如何做压力测试?在设计对 Web 服务进行压力测试的测试系统时,要
14、让它们以某种特定的方式运行代码,这种做法超越了功能验证。,1.压力测试如何做压力测试?,1.压力测试,压力测试的目的:压力测试目的是要弄清楚被测试的 Web 服务是不是不仅能做我们认为它能做的事,而且在被施加了某些高强度压力的情况下仍然继续正常运行。,1.压力测试压力测试的目的:,1.压力测试,压力测试的内容:压力测试必须对 Web 服务应用以下四个基本条件进行有效的压力测试。重复(Repetition);并发(Concurrency);量级(Magnitude);随机变化。,1.压力测试压力测试的内容:,压力测试的内容,重复(Repetition):测试的重复就是一遍又一遍地执行某个操作或功
15、能。比如重复调用一个 Web 服务,确定一个操作能否正常执行,并且能否继续在每次执行时都正常。,压力测试的内容重复(Repetition):,压力测试的内容,并发(Concurrency):并发是同时执行多个操作的行为。换句话说,就是在同一时间执行多个测试,例如在同一个服务器上同时调用许多 Web 服务。,压力测试的内容并发(Concurrency):,压力测试的内容,量级(Magnitude):压力测试系统应该应用于产品的另一个条件,需要考虑每个操作中的负载量,即也要尽量给产品增加负担。例如,改变数据的大小、改变时间延迟的长度、资金数量的转移、输入速度以及输入的变化等。,压力测试的内容量级(
16、Magnitude):,压力测试的内容,随机变化:任何压力系统都多多少少具有一些随机性。随机使用前面的压力原则中介绍的无数变化形式,就能够在每次测试运行时应用许多不同的代码路径。,压力测试的内容随机变化:,压力测试用例参考模板,压力测试用例参考模板,2.连接速度测试,用户连接方式的不同:电话拨号上网;宽带上网;局域网;有限电视网;光纤网;电力网。,2.连接速度测试用户连接方式的不同:,2.连接速度测试,不管用户使用那种方式的不同,系统都不能让用户可以等较长的时间。连接速度测试的目的,就是要保证在许可的时间内响应用户的请求。,2.连接速度测试不管用户使用那种方式的不同,系统都不能让,2.连接速度
17、测试,举例:如果访问一个页面Web 系统响应时间太长(例如超过5 秒钟),用户就会因失去耐心而离开。有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登录了。如果连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。,2.连接速度测试举例:,3.负载测试,负载测试的目的:负载测试是为了测量Web 系统在某一负载级别上的性能,以保证Web 系统在需求范围内能正常工作。,3.负载测试 负载测试的目的:,3.负载测试,负载测试内容:某个时刻同时访问Web 系统的用户数量;在线数据处理的数量。,3.负载测试 负载测试内容:,3.负载测试,例如:系统最多能允许多少个用户同
18、时在线?如果超过了这个数量,会出现什么现象?系统能否处理大量用户同时对同一个页面的请求?,3.负载测试 例如:,压力测试实例,(1)测试名称:某公司人员管理信息系统测试,压力测试实例(1)测试名称:,(2)测试对象,模拟实际应用的软硬件环境;模拟用户使用过程的系统负荷:通过长时间运行被测软件来测试被测系统的可靠性;测试被测系统的响应时间。,(2)测试对象模拟实际应用的软硬件环境;,用户的实际使用环境,由四台IBM XSeries250 PC Server组成的Microsoft Cluster;数据库管理系统采用Oracle8.1.6;应用服务器程序和数据库管理系统同时运行在Microsoft
19、 Cluster上;有100个用户使用客户端软件进行业务处理。,用户的实际使用环境由四台IBM XSeries250 PC,(3)测试计划,1)测试压力估算:原则:全年的业务量集中在8个月完成,每个月20个工作日,每个工作日8个小时;采用8020原理,每个工作日中80%的业务在20%的时间内完成,即每天80%的业务在1.6小时内完成;,(3)测试计划1)测试压力估算:,测试压力的估算数据:,去年全年处理业务约100万笔。其中15%的业务处理中,每笔业务需对应用服务器提交7次请求;其中70%的业务处理中,每笔业务需对应用服务器提交5次请求;其余15%的业务处理中,每笔业务向应用服务器提交3次请求
20、。,测试压力的估算数据:去年全年处理业务约100万笔。,测试压力的估算数据:,根据以往的统计结果,每年的业务增量为15%,考虑到今后三年业务发展的需要,测试按现有业务量的2倍进行。,测试压力的估算数据:根据以往的统计结果,每年的业务增量为,测试压力的估算结果:,每年总的请求数量为:(100*15%*7+100*70%*5+100*15%*3)*2 =300万次/年,测试压力的估算结果:每年总的请求数量为:,测试压力的估算结果:,每天的请求数量为:300/160=1.875万次/天,全年的业务量集中在8个月完成,每个月20个工作日,总共160个工作日。,测试压力的估算结果:每天的请求数量为:全年
21、的业务量集中在8个,测试压力的估算结果:,每秒的请求数量为:(18750*80%)/(8*20%*3600)=2.60次/秒,全年的业务量集中在8个月完成,每个月20个工作日,每个工作日8个小时。每个工作日中80%的业务在20%的时间内完成。,测试压力的估算结果:每秒的请求数量为:全年的业务量集中在8个,测试压力的估算结果:,结论:正常情况下,应用服务器处理请求的能力应达到:3次/秒。,测试压力的估算结果:结论:,2)测试环境准备:,2)测试环境准备:,3)破坏性测试,按照设计的客户端连接数量进行测试:把应用服务器处理请求的设计指标增加110倍,分别测试出现错误的状态和和出现错误的比率;考察是
22、否出现不可恢复错误;出现严重错误情况下,在负载减轻后,错误是否能够自动恢复。,3)破坏性测试按照设计的客户端连接数量进行测试:,3)压力测试,在测试过程中,服务器每10分钟记录一次下列数据:CPU使用情况;内存使用情况;被测程序内存占用百分比;数据库管理系统内存占用百分比;操作系统内存占用百分比。,3)压力测试在测试过程中,服务器每10分钟记录一次下列数据:,4)测试方法和工具,测试方法:黑盒测试。测试工具:外购或自己编制。,4)测试方法和工具 测试方法:,5)测试总结报告,被测试软件名称;测试项;测试环境;测试方法;测试工具。,5)测试总结报告 被测试软件名称;,5)测试总结报告,压力测试结
23、论:平均响应时间;最大/最小并发数;失败的次数;正常连续运行的最长/最短时间;并发数与失败的关系。,5)测试总结报告 压力测试结论:,4.2.3可用性测试,可用性测试包括:导航测试;图形测试;内容测试;整体界面测试。,4.2.3可用性测试 可用性测试包括:,1.导航测试,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间,导航描述了用户在一个页面内操作的方式。,1.导航测试在不同的用户接口控制之间,例如按钮、对话框、列表,导航测试的内容,导航是否直观?Web 系统的主要部分是否可以通过主页访问?Web系统是否需要站点地图、搜索引擎或其他的导航器帮助?,导航测试的内
24、容导航是否直观?,导航测试的内容,测试Web 系统的页面结构;导航条、菜单、连接的风格是否一致?各种提示是否准确,确保用户凭直觉就知道是否还有内容,内容在什么地方。最好让最终用户参与导航测试,效果将更加明显。,导航测试的内容测试Web 系统的页面结构;,2.图形测试,在Web 应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web 应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。,2.图形测试在Web 应用系统中,适当的图片和动画既能起到广,2.图形测试,(1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。图片尺寸要尽
25、量地小,并且要能清楚地说明某件事情。(2)验证所有页面字体的风格是否一致。,2.图形测试(1)要确保图形有明确的用途,图片或动画不要胡,2.图形测试,(3)背景颜色应该与字体颜色和前景颜色相搭配。(4)图片的大小和质量也是一个很重要的因素,一般采用JPG 或GIF 压缩。,2.图形测试(3)背景颜色应该与字体颜色和前景颜色相搭配。,3.内容测试,内容测试的目的:内容测试用来检验Web 应用系统提供信息的正确性、准确性和相关性。,3.内容测试内容测试的目的:,信息的正确性,信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;,信息的正确性信
26、息的正确性是指信息是可靠的还是误传的。例如,在,信息的准确性,信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsoft Word 的拼音与语法检查功能;,信息的准确性信息的准确性是指是否有语法或拼写错误。这种测试通,信息的相关性,信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口。例如,在查找文章时,在一般Web 站点中的所谓相关文章列表。,信息的相关性信息的相关性是指是否在当前页面可以找到与当前浏览,4.整体界面测试,整体界面测试是对整个Web 系统的页面结构设计的测试,是用户对系统的一个整体感受。,4.整体界面测试 整体
27、界面测试是对整个Web 系统的页面结构,4.整体界面测试,例如,当用户浏览Web 应用系统时,应考虑是否感到舒适?是否凭直觉就知道要找的信息在什么地方?整个Web 应用系统的设计风格是否一致?,4.整体界面测试 例如,当用户浏览Web 应用系统时,应考虑,4.2.4安全性测试,目录测试SSL套接字测试登录验证日志文件脚本语言,4.2.4安全性测试目录测试,4.2.5客户端兼容性测试,平台测试;浏览器测试;分辨率测试;连接速率测试;打印机测试;组合测试。,4.2.5客户端兼容性测试平台测试;,1.平台测试,市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、L
28、inux 等。Web 应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。,1.平台测试市场上有很多不同的操作系统类型,最常见的有Wi,1.平台测试,平台测试就是要测试兼容性问题:同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。因此,在Web 系统发布之前,需要在各种操作系统下对Web 系统进行兼容性测试。,1.平台测试平台测试就是要测试兼容性问题:,2.浏览器测试,浏览器是Web系统客户端最核心的软件,来自不同厂商的浏览器对Java,、JavaScript、ActiveX、plug-ins 或不同的HTML 有不同的支持。,2.浏览器测试浏览器是We
29、b系统客户端最核心的软件,来自不同,2.浏览器测试,例如,ActiveX 是Microsoft 的产品,是为Internet Explorer 而设计的,JavaScript 是Netscape 的产品,Java 是Sun 的产品等等。,2.浏览器测试例如,,2.浏览器测试,另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不能显示。不同的浏览器对安全性和Java 的设置也不一样。,2.浏览器测试另外,框架和层次结构风格在不同的浏览器中也有不,2.浏览器测试,2.浏览器测试AppletsJavaScriptActive,3.分辨率测试,页面版式在640 x400、600 x800
30、 或1024x768 的分辨率模式下是否显示正常?,3.分辨率测试页面版式在,3.分辨率测试,页面版式在640 x400、600 x800 或1024x768 的分辨率模式下字体是否太小以至于无法浏览? 或者是太大?,3.分辨率测试页面版式在,3.分辨率测试,页面版式在640 x400、600 x800 或1024x768 的分辨率模式下文本和图片是否对齐?,3.分辨率测试页面版式在,4.连接速率测试,是否有这种情况,用户使用28.8k modem 下载一个页面需要10 分钟,但测试人员在测试的时候使用的是T1 专线? 用户在下载文章或演示的时候,可能会等待比较长的时间,但却不会耐心等待首页的
31、出现。,4.连接速率测试是否有这种情况,用户使用28.8k mode,5.打印机测试,网页在设计的时候要考虑到打印问题,注意节约纸张和油墨。需要验证网页打印是否正常。有时在屏幕上显示的图片和文本的对齐方式可能与打印出来的东西不一样。,5.打印机测试网页在设计的时候要考虑到打印问题,注意节约纸张,6.组合测试,600 x800 的分辨率在MAC 机上可能不错,但是在IBM 兼容机上却很难看。在IBM 机器上使用Netscape 能正常显示,但却无法使用Lynx 来浏览。如果所有的人都使用T1 专线,可能不需要测试下载、上载。,6.组合测试,6.组合测试,有些内部应用程序,开发部门可能在系统需求中
32、声明不支持某些系统而只支持一些那些已设置的系统。理想的情况,系统能在所有机器上运行。,6.组合测试,4.2.6接口测试,1.服务器接口2.外部接口3.错误处理,4.2.6接口测试 1.服务器接口,1.服务器接口,第一个需要测试的接口是浏览器与服务器的接口。测试人员提交事务,然后查看服务器记录,并验证在浏览器上看到的正好是服务器上发生的。测试人员还可以查询数据库,确认事务数据已正确保存相关信息。,1.服务器接口第一个需要测试的接口是浏览器与服务器的接口。测,2.外部接口,有些web 系统有外部接口。例如,网上商店可能要实时验证信用卡数据以减少欺诈行为的发生。,2.外部接口有些web 系统有外部接
33、口。例如,网上商店可能要,2.外部接口,测试的时候,要使用web 接口发送一些事务数据,分别对有效信用卡、无效信用卡和被盗信用卡进行验证。测试人员需要确认软件能够处理外部服务器返回的所有可能的消息。,2.外部接口测试的时候,要使用web 接口发送一些事务数据,,3.错误处理,最容易被测试人员忽略的地方是接口错误处理。通常我们试图确认系统能够处理所有错误,但却无法预期系统所有可能的错误。,3.错误处理最容易被测试人员忽略的地方是接口错误处理。通常我,3.错误处理,测试在处理过程中中断事务,会发生什么情况?订单是否完成?测试中断用户到服务器的网络连接。测试中断web 服务器到信用卡验证服务器的连接。,3.错误处理测试在处理过程中中断事务,会发生什么情况?订单是,3.错误处理,在所有这些情况下,系统是否正确处理这些错误?系统是否已对信用卡进行收费?,3.错误处理在所有这些情况下,,本讲到此结束,谢谢!,本讲到此结束,谢谢!,