2023年6月21日发(作者:)

第09章WEB应用测试-图文

第9章WEB应用测试一、WEB系统构成

WEB构成:▲客户端▲WEB服务器▲数据库

▲网络及中间件▲防火墙与CA认证

大型WEB系统,为了承受较大的访问压力,会采用负载均衡器技术,使用多个WEB应用服务器,分担来自客户端的访问压力。

二、WEB系统设计技术1、静态页面及动态页面2、网络开发技术

3、CGI(通用网关接口)程序4、J2EE5、。NET

6、WEBSERVICES

三、WEB系统的测试策略

1、WEB系统的测试分类

按系统架构分:客户端、服务器、网络上的测试

按职能分:应用功能、WEB应用服务、安全系统的测试

按软件质量特性分:功能、性能、安全性、兼容性、易用性测试按开发阶段分:设计、编码、系统测试2、总体架构设计的测试

1)、采用瘦客户端或胖客户端是否适合需求2)、确定WEB架构的组成部分是否满足需求3)、服务器的配置及分布是否满足需求3、客户端设计的测试1)、功能设置的测试

2)、信息组织结构设计的测试3)、页面设计的测试4、服务器端设计的测试1)、容量规划的测试估算点击率是否满足需求;估算延迟和流量是否满足需求;估算WEB应用系统所需服务器的资源消耗(性能瓶颈重点考虑所需内存、CPU利用率)什么叫点击率、延迟、流量?

点击率:每秒HTTP的请求数,也叫每秒被访问的次数。

延迟:指从点击页面开始进入页面到它显示内容之间的时间。流量:通信的字节数。2)、安全系统设计的测试常识性安全策略;

●使用加密技术;如数字签名、SSL和SHTTP、链加密、文档加密等●构造防火墙有三种:网络级、应用级和电路级●构建网络防毒系统3)、数据库设计的测试5、WEB应用开发测试1)、代码测试

源代码规则分析;链接测试;框架测试;表格测试;图形测试2)、组件测试

表单测试;Cookie测试;脚本测试;CGI测试;ASP测试;Active某控件测试△可使用工具测试:如JUNIT进行单元测试6、WEB应用运行测试1)、功能测试

客户端的选择:包括操作系统、浏览器

客户端的浏览器的配置:Cookie设置、脚本设置、安全设置、显示设置客户端显示设置:分辩率的设置

内容测试:是用来检查WEB应用系统提供的信息的正确性、准确性、和相关性。什么是信息的正确性?是指信息是可靠或是误传的。WEB应用功能测试自动化技术:A、WEB应用链接质量保证技术

该链接将用户带到它所说明的地方;被链接页面是否存在;保证WEB应用系统上没有孤立页面,工具:WebCheck,Linkbot,TetPartner B、WEB应用功能测试技术(创建测试脚本、插入检查点、运行测试、分析结果)2)、易用性测试

评估是否易用由这些情况:用户的计算机使用经验;用户对浏览器以及WEB的使用经验;用户的业务专业知识

如何测试?分三个方面:界面测试;辅助功能测试;图形测试3)、负载压力测试步骤:①确定交易执行响应时间②估算能承受最大并发用户数

③压力负载测试,模拟用户请求,渐渐模拟用户的数量,直到系统不能承受为止④若负载没有达到要求,应优化这个WEB程序。4)、客户端配置与兼容性测试

①浏览器的配置测试;②平台兼容性测试;③浏览器兼容性测试。5)、安全性测试安全体系统测试:A、部署与基础结构B、输入验证

如何验证输入(是否清楚入口、信任边界、是否验证WEB页输入、是否对传递到组件或WEB服务的参数进行验证、是否验证从数据库中检索的数据、是否将方法集中起来、是否依赖客户端的验证)

如何处理输入(应用程序是否易受规范化问题的影响;应用程序是否易受SQL注入攻击、跨站点脚本(某SS)攻击、缓冲区溢出、代码注入以及无数其它拒绝服务和特权提升攻击都可验证其漏洞)C、验证身份

是否区分公共方问和受限方问;是否明确服务账户要求;如何验证调用者身份;如何验证数据库的身份;是否强制使用强账户管理措施;D、受权

如何向最终用户授权;如何在数据库中授权应用程序;如何将方问限定于系统资源; D、配置管理

是否支持远程管理;是否保证配置存储的安全;是否隔离管理员特权;E、敏感数据

是否存储机密信息;如何存储敏感数据;是否在网络中传递敏感数据;是否记录敏感数据;F、会话管理

如何交换会话标识符;是否限制会话生存期;如何确保会话状态存储的安全;G、加密

为何使用特定的算法;如何确何加密密钥的安全;回收密钥的频率如何;H、参数操作

是否验证所有的输入参数;是否在参数中传递敏感数据;是否为了安全问题而使用HTTP头数据I、异常管理

是否使用结构化的异常处理;是否向客户端公开了太多的信息J、审核和日记录

是否明确了要审核的关键活动;是否考虑过如何流动原始调用者身份;是否考虑过保护日文件管理策略2、应用及传输安全测试

应用级的安全测试的主要目的是查找WEB应用系统自身程序设计中存在的安全隐患,主要测试区为:①注册与登录②在线超时③操作留痕④备份与恢复

传输级的安全测试是考虑到WEB系统的特殊性,重点测试数据经客户端传送到服务器端可能存在的安全漏洞,以及服务器防范非法访问的能力。一般测试项目包括:

①HTTPS和SSL测试 ②服务器端的脚本漏洞检验

③防火墙测试:防火墙是一种主要用于防护非法访问的路由器,在WEB系统中是很常用的一种安全系统。

归纳:

Web功能测试:web测试分为6个部分:1.功能测试

2.性能测试(包括负载/压力测试)3.用户界面测试4.兼容性测试5.安全测试6.接口测试一、功能测试:

①链接测试②表单测试③数据校验④cookie测试⑤数据库测试⑥应用程序特定的功能需求⑦设计语言测试二、性能测试

1连接速度测试2负载测试3压力测试(压力测试的区域包括表单、登陆和其他信息传输页面等。瞬间访问高峰(并发用户)长时间的使用)用户界面测试

1导航测试2图形测试3内容测试4表格测试5整体界面测试兼容性测试

1平台测试2浏览器测试3分辨率测试4Modem/连接速率5打印机6组合测试(采取措施:根据实际情况,采取等价划分的方法,列出兼容性矩阵)安全测试

1目录设置2SSL3登录4日志文件5脚本语言接口测试

1服务器接口2外部接口3错误处理

实战题目:一、简答:

1、什么是Cookie?测试内容是什么? Cookie是一个由网页服务器放在您硬盘上的非常小的文本文件.它本质上就像您的身份证明一样,并且不能像代码那样被执行或被用来散布病毒。它只能被您使用并且只能由提供的服务器读取.测试内容:

Cookie是否能正常工作;

Cookie是否按预定的时间进行保存;刷新对Cookie有什么影响等2、WEB系统可用性测试包括哪些内容?导航测试;图形测试;内容测试;整体界面测试

3、WEB系统内容测试的目的:

内容测试用来检验Web网站提供信息的正确性、准确性和相关性。4、网站测试要测试哪些内容?

网站测试在网页测试的基础之上还包括:

–功能测试;–性能测试;–安全性测试;–兼容性测试

5、WEB性能测试哪些内容?包括以下内容:压力测试;连接速度测试;负载测试。

6、Web服务应用压力测试的内容?

压力测试必须对Web服务应用以下四个基本条件进行有效的压力测试。重复(Repetition);

并发(Concurrency);量级(Magnitude);随机变化。7、WEB安全性测试?目录测试SSL套接字测试登录验证日志文件脚本语言

8、说明基于主机的入侵检测系统的优缺点。答:基于主机入侵检测系统的优点: (1)主机入侵检测系统对分析“可能的攻击行为”非常有用。

(2)主机入侵检测系统通常情况下比网络入侵检测系统误报率要低,因为检测在主机上运行的命令序列比检测网络数据流更简单,系统的复杂性也少得多。

(3)主机入侵检测系统可部署在那些不需要广泛的入侵检测、传感器与控制台之间的通信宽带不足的情况下。主机入侵检测系统在不使用诸如“停止服务”、“注销用户”等响应方法时风险较少。

基于主机入侵检测系统的弱点:

(1)主机入侵检测系统安装在需要保护的设备上。

(2)主机入侵检测系统的另一个问题是它依赖于服务器固有的日志与监视能力。如果服务器没有配置日志功能,则必需重新配置,这将会给运行中的业务系统带来不可预见的性能影响。

(3)全面部署主机入侵检测系统代价较大,企业中很难将所有主机用主机入侵检测系统保护,只能选择部分主机保护。那些未安装主机入侵检测系统的机器将成为保护的盲点,入侵者可利用这些机器达到攻击目标。

(4)主机入侵检测系统除了监测自身的主机以外,根本不监测网络上的情况。对入侵行为的分析的工作量将随着主机数目增加而增加。9、什么是基于Web的信息系统?

答:基于Web的信息系统是采用Brower/Server模式的信息体系结构,以企业内部互联网技术为核心,以Web技术为基础的集成环境之上,它基于网络对象超连接技术,能成功地访问各种服务器以及数据库和其他文件系统。10、WEB测试中的连接测试主要包括哪些方面?链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。

11、对一个WEB服务器应测试它的哪些性能指标?Web服务器指标:

某ProceorTime:指服务器CPU占用率,一般平均达到70%时,服务就接近饱和;

某MemoryAvailableMbyte:可用内存数,如果测试时发现内存有变化情况也要注意,如果是内存泄露则比较严重;

某PhyicdikTime:物理磁盘读写时间情况;

某AvgRp:平均每秒钟响应次数=总请求时间/秒数;某SuccefulRound:成功的请求;某FailedRound:失败的请求;

某SuccefulHit:成功的点击次数;某FailedHit:失败的点击次数;某HitPerSecond:每秒点击次数;

某SuccefulHitPerSecond:每秒成功的点击次数;某FailedHitPerSecond:每秒失败的点击次数;某AttemptedConnection:尝试链接数;

12、WEB网站压力测试的步骤是什么?步骤如下:

某确定接受请求并完成响应的最大允许的延时。某估计WEB应用程序的最大并发用户数量。

某模拟用户请求,以一个比较小的负载开始,逐渐增加模拟用户的数量,直到WEB应用程序的相应延时超过最大延时。 某如果负载比估计的用户数量小,那么应该优化这个WEB程序,否则你选择性的执行优化。

13、什么叫WEB测试?

“Web测试”也称为声明性Web测试,它由一系列HTTP请求组成。Web测试通过发出HTTP请求在协议层工作。Web测试不运行JavaScript。Web测试用于测试Web应用程序的功能以及在负载下测试Web应用程序。Web测试可用于性能测试和压力测试。

14、在计算机系统的性能评价中,对性能评价项目进行识别和设置是进行性能评价的基础工作。请写出计算机系统性能评价的4个项目名称。

CPU,内存,磁盘,网络

15、计算机系统性能的评价方法大致可分为哪两类?(模型法,测量法)16、人们常用程序来测试计算机系统性能,获得定量评价指标。(基准法)17、计算机性能评价的结果通常有两个指标有峰值性能和持续性能两个指标,最后最能体现系统的实际性能。(持续性能)

附、Web性能测试术语

这些术语主要有并发用户,并发用户数量,请求响应时间,事务响应时间,吞吐量,吞吐率,TPS,点击率,资源利用率等。

并发用户:并发一般分为2种情况。一种是严格意义上的并发,即所有的用户在同一时刻做同一件事情或者操作,这种操作一般指做同一类型的业务。比如在信用卡审批业务中,一定数目的拥护在同一时刻对已经完成的审批业务进行提交;还有一种特例,即所有用户进行完全一样的操作,例如在信用卡审批业务中,所有的用户可以一起申请业务,或者修改同一条记录。 另外一种并发是广义范围的并发。这种并发与前一种并发的区别是,尽管多个用户对系统发出了请求或者进行了操作,但是这些请求或者操作可以是相同的,也可以是不同的。对整个系统而言,仍然是有很多用户同时对系统进行操作,因此也属于并发的范畴。

可以看出,后一种并发是包含前一种并发的。而且后一种并发更接近用户的实际使用情况,因此对于大多数的系统,只有数量很少的用户进行“严格意义上的并发”。对于WEB性能测试而言,这2种并发情况一般都需要进行测试,通常做法是先进行严格意义上的并发测试。严格意义上的用户并发一般发生在使用比较频繁的模块中,尽管发生的概率不是很大,但是一旦发生性能问题,后果很可能是致命的。严格意义上的并发测试往往和功能测试关联起来,因为并发功能遇到异常通常都是程序问题,这种测试也是健壮性和稳定性测试的一部分。用户并发数量:关于用户并发的数量,有2种常见的错误观点。一种错误观点是把并发用户数量理解为使用系统的全部用户的数量,理由是这些用户可能同时使用系统;还有一种比较接近正确的观点是把在线用户数量理解为并发用户数量。实际上在线用户也不一定会和其他用户发生并发,例如正在浏览网页的用户,对服务器没有任何影响,但是,在线用户数量是计算并发用户数量的主要依据之一。

请求响应时间:指的是客户端发出请求到得到响应的整个过程的时间。请求响应时间过程的单位一般为秒或者毫秒

事务响应时间:事务可能由一系列请求组成,事务的响应时间主要是针对用户而言,属于宏观上的概念,是为了向用户说明业务响应时间而提出的.例如:跨行取款事务的响应时间就是由一系列的请求组成的.事务响应时间和后面的业务吞吐率都是直接衡量系统性能的参数. 吞吐量:指的是在一次性能测试过程中网络上传输的数据量的总和.吞吐量/传输时间,就是吞吐率.

TPS:每秒钟系统能够处理的交易或者事务的数量.它是衡量系统处理能力的重要指标.

点击率:每秒钟用户向WEB服务器提交的HTTP请求数.

资源利用率:指的是对不同的系统资源的使用程度,例如服务器的CPU利用率,磁盘利用率等.资源利用率是分析系统性能指标进而改善性能的主要依据,因此是WEB性能测试工作的重点.

资源利用率主要针对WEB服务器,操作系统,数据库服务器,网络等,是测试和分析瓶颈的主要参考.在WEB性能测试中,更根据需要采集相应的参数进行分析.

名词解释续:

每秒完成的事务请求数(TranactionperSecond(TPS))

TPS是衡量吞吐率最好的指标。TPS和TPH都是衡量吞吐率的单位,如7200TPH(每小时完成7200次事务请求)相当于2TPS(每秒钟完成2次)。需要注意的是TPH并不能给出系统整体性能的完整评价,我们必须同时知道每个事务请求的工作量以及不同时间段的TPH各是多少。

AverageTranactionReponeTime

AverageTranactionReponeTime显示的是每个时间点下的平均响应时间,而不是整个时间段的平均响应时间

(1)事务综述图(TranactionSummary) 通过此图可以看出每个事务在测试时间内分别通过(Pa)和失败(Fail)了多少(2)事务平均响应时间分析图(AverageTranactionReponeTime)此图显示测试场景运行期间的每一秒内事务执行所用的平均时间,通过它可以分析应用系统的性能走向;另外还可以统计出测试场景运行时间内各事务的最大值、最小值、平均值等信息。

(3)每秒通过事务数分析图(TranactionperSecond)

TPS图显示在场景运行的每一秒中,每个事务通过的数量,通过它可以确定系统在任何给定时刻的实际事务负载;可以将TPS图与平均事务响应时间图进行对比,以分析事务数目对执行时间的影响。

(4)每秒通过事务总数分析图(TotalTranactionperSecond)

“每秒通过事务总数分析”图显示场景运行时,在每一秒内通过的事务总数。如果系统性能稳定,在同等压力下,此图应该接近直线,而不是逐渐倾斜。与TPS相比,“每秒事务总数”关注服务器整体处理事务的情况,是宏观概念。

(5)事务性能摘要图(TranactionPerformanceSummary)

“事务性能摘要”显示方案中所有事务的最小、最大和平均时间,可以直接判断响应时间是否符合用户的需求。可以通过网页细分方法来分析某些响应时间长的事务。(6)事务响应时间与负载分析图(TranactionReponeTimeUnderLoad)

这个分析图是“正在运行的虚拟用户”图和“平均事务响应时间”图的组合。通过他看出在任一时间点事务响应时间与用户数目的关系,从而掌握系统在用户并发方面的性能数据。 (7)事务响应时间(百分比)TranactionReponeTime(Percentile)此图是根据测试结果进行分析而得到的综合分析图,也就是工具通过一些统计分析方法间接得到的图表。通过此图分析在给定事务响应时间范围内能够执行的事务百分比。(8)事务响应时间分布情况分布图TranactionReponeTime(Ditribution)通过它可以了解测试过程中不同响应时间的事务数量。如果系统预先定义了相关事务可以接受的最小和最大事务响应时间,则可以使用此图确定服务器性能是否在可以接受的范围内。

二、填空题

1.绝大多数Web应用系统中都可能拥有六种属性:网络集约性、内容驱动性、持续演化性、即时性、安全性以及美观性2.Web应用系统测试通常包括:功能测试、性能测试、可用性测试、安全性测试、系统兼容性测试和接口测试3.性能测试包括以下内容:压力测试、连接速度测试和负载测试4.压力测试必须对Web服务应用四个基本条件进行有效的压力测试,这四个基本条件为:重复、并发、量级和随机变化

5.客户端兼容性测试包括的内容为:平台测试、浏览器测试、分辨率测试、连接速率测试、打印机测试和组合测试

6.漏洞扫描按功能可分为:系统漏洞扫描、网络漏洞扫描和数据库漏洞扫描

7.TEMPEST技术是指抑制和防止电磁泄漏,这种技术是物理安全策略的一个主要问题。

8.访问控制是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和访问 9.数据传输加密技术主要是对传输中的数据流进行加密,常用的有链路加密、节点加密和端到端加密三种方式。

三、判断题(从下列叙述中选择正确的叙述,在括号中划上√;对于你认为是错误的叙述要划上并说明原因。)

协议建立在可靠的网络层协议(IP)之上,而与应用层协议无关。应用

层协议(例如:HTTP,FTP,TELNET等)通常能透明地建立于SSL协议之上。()

原因:SSL协议建立在可靠的传输层协议(TCP)之上,而与应用层协议无关。

2.文件完整性检查系统具有相当的灵活性,可以配置成为监测系统中所有文件

或某些重要文件。(√)

3.网络入侵检测系统发生故障不会影响正常业务的运行,但部署一个网络入侵

检测系统的风险比主机入侵检测系统的风险要高一些。()原因:部署一个网络入侵检测系统的风险比主机入侵检测系统的风险要小得多。

4.文件的数字信息可以通过Hah函数计算得到。不管文件长度如何,它的Hah

函数计算结果是一个固定长度的数字。(√) 5.与双绞线、同轴电缆不同的是,光缆不发射能量,因此对于防止窃听很有效

果,用光缆传输也是安全性最好的。(√)四、选择题目

●WEB应用链接测试不包括(45)。

(45)A.无链接指向的页面B.错误的链接

C.客户端与服务器端的链接速率D.不存在的页面文件●反映web应用客户端交易处理性能的评估指标有(59)。①并发用户数②交易响应时间③交易通过率④吞吐量⑤点击率

A.①②③④B.①②③④⑤C.②③D.②③④

●运行Web浏览器的计算机与网页所在的计算机要建立(66)连接,采用(67)协议传输网页文件。

(66)(67)

C.交易执行吞吐量D.交易执行响应时间

●用户访问某Web网站,浏览器上显示“HTTP-404”错误,则故障原因是(70)

(70)A.默认路由器配置不当B.所请求当前页面不存在服务器内部出错D.用户无权访问

五、综合应用技术题

试题一(15分)

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明] 某网上信息系统的服务范围为全国。按照功能类别将其划分为前端路由区、Web区(DMZ区)、后台信息系统区。各区域说明如下:前端路由区:部署路由设备。负责与上端网络供应商(ISP)路由器和下端内网交换机的连接。Web服务区(DMZ区):部署网站服务器及其相关的设备。负责处理HTTPRequet的任务,并将数据传送给数据库,后台信息系统等模块。后台信息系统区:包括数据库服务器、应用系统服务器和备份服务器等,负责完成信息系统的各项功能。在不同的网络区域之间,通过部署防火墙实现区域之间的隔离与访问控制。

[问题1](3分)

画出其网络拓扑结构示意图。[问题2](6分)

漏洞扫描的功能是什么?请叙述漏洞扫描器的分类以及各类扫描器的功能。[问题3](6分)

确定安全测评中漏洞扫描工具的接入点。并说明选择漏洞扫描工具各接入点的原因和目的。分析:

1、画出其网络拓扑结构示意图。

[问题2](6分)

漏洞扫描的功能是什么?请叙述漏洞扫描器的分类以及各类扫描器的功能。答:漏洞扫描的功能是用主机或系统漏洞扫描器自动检测远程或本机安全性漏洞,以便及时修补安全漏洞。漏洞扫描器的分为两种类型:

(1)主机漏洞扫描器(HOSTSCANNER),在本地运行检测系统漏洞。(2)网络漏洞扫描器(NETWORKSCANNER),基于网络远程检测目标网络和主机系统漏洞。 [问题3](6分)

确定安全测评中漏洞扫描工具的接入点。并说明选择漏洞扫描工具各接入点的原因和目的

试题二(20分)

阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。[说明]

信息系统测试中,系统的时间特性、资源利用性等是衡量其效率的重要指标。在软件测试中我们通常会借助于自动化负载压力测试考核系统在一定的大用户量访问、长时间运行、大数据量处理的使用场景下系统的性能是否满足需求,在不满足的情况下通过故障诊断和性能调优的手段,获得系统性能的提升。下图是某网上报名系统的负载压力测试拓扑图,主要包括数据库服务器、应用服务器、网络设备、负载均衡设备以及测试用机。测试环境网络带宽100M,应用服务器选择ApacheTomcat5.0,数据库服务器选择Oracle10G,两类服务器操作系统都采用Window2000Server(SP4)。

负载压力测试中模拟大量考生通过此系统执行网上报名,主要测试用例包括“考生注册”和“预定座位”,报名操作的顺序是先执行“考生注册”,再执行“预定座位”。系统性能要求能够承受10000用户并发访问,业务执行成功率保持在80%以上。下表是测试结果数据,其中数据库服务器资源利用属合理范围,网络带宽足够,未在结果中描述。

[问题1](4分)

衡量系统执行效率的时间特性指标中通常会包括:业务执行响应时间和吞吐量,请描述上述两个指标的概念。[问题2](3分) 简述此系统测试环境中负载均衡设备的作用。[问题3](5分)

简述测试用机中负载压力测试工具主控台、负载压力测试工具负载生成器的作用,并论述此项目中采用分布式部署负载生成器的原因。[问题4](4分)

请分析测试结果中的交易执行情况数据,陈述随并发用户数递增,交易执行成功率降低的可能原因。分析测试结果中的应用服务器资源利用数据,判断服务器资源利用是否有瓶颈存在。[问题5](4分)

若系统的性能不能满足需求,有哪些调优措施?参考答案:

试题三

阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。[说明]

计算机系统的性能评价是按一定步骤,选用一定的度量项目,通过建模和实验,对计算机系统的性能进行测试并对测试结果做出解释。[问题1](8分)

在计算机系统的性能评价中,对性能评价项目进行识别和设置是进行性能评价的基础工作。请写出计算机系统性能评价的4个项目名称。[问题2](4分)

系统性能的评价方法大致可分为哪两类?[问题3](2分)

人们常用程序来测试计算机系统性能,获得定量评价指标。

2023年6月21日发(作者:)

第09章WEB应用测试-图文

第9章WEB应用测试一、WEB系统构成

WEB构成:▲客户端▲WEB服务器▲数据库

▲网络及中间件▲防火墙与CA认证

大型WEB系统,为了承受较大的访问压力,会采用负载均衡器技术,使用多个WEB应用服务器,分担来自客户端的访问压力。

二、WEB系统设计技术1、静态页面及动态页面2、网络开发技术

3、CGI(通用网关接口)程序4、J2EE5、。NET

6、WEBSERVICES

三、WEB系统的测试策略

1、WEB系统的测试分类

按系统架构分:客户端、服务器、网络上的测试

按职能分:应用功能、WEB应用服务、安全系统的测试

按软件质量特性分:功能、性能、安全性、兼容性、易用性测试按开发阶段分:设计、编码、系统测试2、总体架构设计的测试

1)、采用瘦客户端或胖客户端是否适合需求2)、确定WEB架构的组成部分是否满足需求3)、服务器的配置及分布是否满足需求3、客户端设计的测试1)、功能设置的测试

2)、信息组织结构设计的测试3)、页面设计的测试4、服务器端设计的测试1)、容量规划的测试估算点击率是否满足需求;估算延迟和流量是否满足需求;估算WEB应用系统所需服务器的资源消耗(性能瓶颈重点考虑所需内存、CPU利用率)什么叫点击率、延迟、流量?

点击率:每秒HTTP的请求数,也叫每秒被访问的次数。

延迟:指从点击页面开始进入页面到它显示内容之间的时间。流量:通信的字节数。2)、安全系统设计的测试常识性安全策略;

●使用加密技术;如数字签名、SSL和SHTTP、链加密、文档加密等●构造防火墙有三种:网络级、应用级和电路级●构建网络防毒系统3)、数据库设计的测试5、WEB应用开发测试1)、代码测试

源代码规则分析;链接测试;框架测试;表格测试;图形测试2)、组件测试

表单测试;Cookie测试;脚本测试;CGI测试;ASP测试;Active某控件测试△可使用工具测试:如JUNIT进行单元测试6、WEB应用运行测试1)、功能测试

客户端的选择:包括操作系统、浏览器

客户端的浏览器的配置:Cookie设置、脚本设置、安全设置、显示设置客户端显示设置:分辩率的设置

内容测试:是用来检查WEB应用系统提供的信息的正确性、准确性、和相关性。什么是信息的正确性?是指信息是可靠或是误传的。WEB应用功能测试自动化技术:A、WEB应用链接质量保证技术

该链接将用户带到它所说明的地方;被链接页面是否存在;保证WEB应用系统上没有孤立页面,工具:WebCheck,Linkbot,TetPartner B、WEB应用功能测试技术(创建测试脚本、插入检查点、运行测试、分析结果)2)、易用性测试

评估是否易用由这些情况:用户的计算机使用经验;用户对浏览器以及WEB的使用经验;用户的业务专业知识

如何测试?分三个方面:界面测试;辅助功能测试;图形测试3)、负载压力测试步骤:①确定交易执行响应时间②估算能承受最大并发用户数

③压力负载测试,模拟用户请求,渐渐模拟用户的数量,直到系统不能承受为止④若负载没有达到要求,应优化这个WEB程序。4)、客户端配置与兼容性测试

①浏览器的配置测试;②平台兼容性测试;③浏览器兼容性测试。5)、安全性测试安全体系统测试:A、部署与基础结构B、输入验证

如何验证输入(是否清楚入口、信任边界、是否验证WEB页输入、是否对传递到组件或WEB服务的参数进行验证、是否验证从数据库中检索的数据、是否将方法集中起来、是否依赖客户端的验证)

如何处理输入(应用程序是否易受规范化问题的影响;应用程序是否易受SQL注入攻击、跨站点脚本(某SS)攻击、缓冲区溢出、代码注入以及无数其它拒绝服务和特权提升攻击都可验证其漏洞)C、验证身份

是否区分公共方问和受限方问;是否明确服务账户要求;如何验证调用者身份;如何验证数据库的身份;是否强制使用强账户管理措施;D、受权

如何向最终用户授权;如何在数据库中授权应用程序;如何将方问限定于系统资源; D、配置管理

是否支持远程管理;是否保证配置存储的安全;是否隔离管理员特权;E、敏感数据

是否存储机密信息;如何存储敏感数据;是否在网络中传递敏感数据;是否记录敏感数据;F、会话管理

如何交换会话标识符;是否限制会话生存期;如何确保会话状态存储的安全;G、加密

为何使用特定的算法;如何确何加密密钥的安全;回收密钥的频率如何;H、参数操作

是否验证所有的输入参数;是否在参数中传递敏感数据;是否为了安全问题而使用HTTP头数据I、异常管理

是否使用结构化的异常处理;是否向客户端公开了太多的信息J、审核和日记录

是否明确了要审核的关键活动;是否考虑过如何流动原始调用者身份;是否考虑过保护日文件管理策略2、应用及传输安全测试

应用级的安全测试的主要目的是查找WEB应用系统自身程序设计中存在的安全隐患,主要测试区为:①注册与登录②在线超时③操作留痕④备份与恢复

传输级的安全测试是考虑到WEB系统的特殊性,重点测试数据经客户端传送到服务器端可能存在的安全漏洞,以及服务器防范非法访问的能力。一般测试项目包括:

①HTTPS和SSL测试 ②服务器端的脚本漏洞检验

③防火墙测试:防火墙是一种主要用于防护非法访问的路由器,在WEB系统中是很常用的一种安全系统。

归纳:

Web功能测试:web测试分为6个部分:1.功能测试

2.性能测试(包括负载/压力测试)3.用户界面测试4.兼容性测试5.安全测试6.接口测试一、功能测试:

①链接测试②表单测试③数据校验④cookie测试⑤数据库测试⑥应用程序特定的功能需求⑦设计语言测试二、性能测试

1连接速度测试2负载测试3压力测试(压力测试的区域包括表单、登陆和其他信息传输页面等。瞬间访问高峰(并发用户)长时间的使用)用户界面测试

1导航测试2图形测试3内容测试4表格测试5整体界面测试兼容性测试

1平台测试2浏览器测试3分辨率测试4Modem/连接速率5打印机6组合测试(采取措施:根据实际情况,采取等价划分的方法,列出兼容性矩阵)安全测试

1目录设置2SSL3登录4日志文件5脚本语言接口测试

1服务器接口2外部接口3错误处理

实战题目:一、简答:

1、什么是Cookie?测试内容是什么? Cookie是一个由网页服务器放在您硬盘上的非常小的文本文件.它本质上就像您的身份证明一样,并且不能像代码那样被执行或被用来散布病毒。它只能被您使用并且只能由提供的服务器读取.测试内容:

Cookie是否能正常工作;

Cookie是否按预定的时间进行保存;刷新对Cookie有什么影响等2、WEB系统可用性测试包括哪些内容?导航测试;图形测试;内容测试;整体界面测试

3、WEB系统内容测试的目的:

内容测试用来检验Web网站提供信息的正确性、准确性和相关性。4、网站测试要测试哪些内容?

网站测试在网页测试的基础之上还包括:

–功能测试;–性能测试;–安全性测试;–兼容性测试

5、WEB性能测试哪些内容?包括以下内容:压力测试;连接速度测试;负载测试。

6、Web服务应用压力测试的内容?

压力测试必须对Web服务应用以下四个基本条件进行有效的压力测试。重复(Repetition);

并发(Concurrency);量级(Magnitude);随机变化。7、WEB安全性测试?目录测试SSL套接字测试登录验证日志文件脚本语言

8、说明基于主机的入侵检测系统的优缺点。答:基于主机入侵检测系统的优点: (1)主机入侵检测系统对分析“可能的攻击行为”非常有用。

(2)主机入侵检测系统通常情况下比网络入侵检测系统误报率要低,因为检测在主机上运行的命令序列比检测网络数据流更简单,系统的复杂性也少得多。

(3)主机入侵检测系统可部署在那些不需要广泛的入侵检测、传感器与控制台之间的通信宽带不足的情况下。主机入侵检测系统在不使用诸如“停止服务”、“注销用户”等响应方法时风险较少。

基于主机入侵检测系统的弱点:

(1)主机入侵检测系统安装在需要保护的设备上。

(2)主机入侵检测系统的另一个问题是它依赖于服务器固有的日志与监视能力。如果服务器没有配置日志功能,则必需重新配置,这将会给运行中的业务系统带来不可预见的性能影响。

(3)全面部署主机入侵检测系统代价较大,企业中很难将所有主机用主机入侵检测系统保护,只能选择部分主机保护。那些未安装主机入侵检测系统的机器将成为保护的盲点,入侵者可利用这些机器达到攻击目标。

(4)主机入侵检测系统除了监测自身的主机以外,根本不监测网络上的情况。对入侵行为的分析的工作量将随着主机数目增加而增加。9、什么是基于Web的信息系统?

答:基于Web的信息系统是采用Brower/Server模式的信息体系结构,以企业内部互联网技术为核心,以Web技术为基础的集成环境之上,它基于网络对象超连接技术,能成功地访问各种服务器以及数据库和其他文件系统。10、WEB测试中的连接测试主要包括哪些方面?链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。

11、对一个WEB服务器应测试它的哪些性能指标?Web服务器指标:

某ProceorTime:指服务器CPU占用率,一般平均达到70%时,服务就接近饱和;

某MemoryAvailableMbyte:可用内存数,如果测试时发现内存有变化情况也要注意,如果是内存泄露则比较严重;

某PhyicdikTime:物理磁盘读写时间情况;

某AvgRp:平均每秒钟响应次数=总请求时间/秒数;某SuccefulRound:成功的请求;某FailedRound:失败的请求;

某SuccefulHit:成功的点击次数;某FailedHit:失败的点击次数;某HitPerSecond:每秒点击次数;

某SuccefulHitPerSecond:每秒成功的点击次数;某FailedHitPerSecond:每秒失败的点击次数;某AttemptedConnection:尝试链接数;

12、WEB网站压力测试的步骤是什么?步骤如下:

某确定接受请求并完成响应的最大允许的延时。某估计WEB应用程序的最大并发用户数量。

某模拟用户请求,以一个比较小的负载开始,逐渐增加模拟用户的数量,直到WEB应用程序的相应延时超过最大延时。 某如果负载比估计的用户数量小,那么应该优化这个WEB程序,否则你选择性的执行优化。

13、什么叫WEB测试?

“Web测试”也称为声明性Web测试,它由一系列HTTP请求组成。Web测试通过发出HTTP请求在协议层工作。Web测试不运行JavaScript。Web测试用于测试Web应用程序的功能以及在负载下测试Web应用程序。Web测试可用于性能测试和压力测试。

14、在计算机系统的性能评价中,对性能评价项目进行识别和设置是进行性能评价的基础工作。请写出计算机系统性能评价的4个项目名称。

CPU,内存,磁盘,网络

15、计算机系统性能的评价方法大致可分为哪两类?(模型法,测量法)16、人们常用程序来测试计算机系统性能,获得定量评价指标。(基准法)17、计算机性能评价的结果通常有两个指标有峰值性能和持续性能两个指标,最后最能体现系统的实际性能。(持续性能)

附、Web性能测试术语

这些术语主要有并发用户,并发用户数量,请求响应时间,事务响应时间,吞吐量,吞吐率,TPS,点击率,资源利用率等。

并发用户:并发一般分为2种情况。一种是严格意义上的并发,即所有的用户在同一时刻做同一件事情或者操作,这种操作一般指做同一类型的业务。比如在信用卡审批业务中,一定数目的拥护在同一时刻对已经完成的审批业务进行提交;还有一种特例,即所有用户进行完全一样的操作,例如在信用卡审批业务中,所有的用户可以一起申请业务,或者修改同一条记录。 另外一种并发是广义范围的并发。这种并发与前一种并发的区别是,尽管多个用户对系统发出了请求或者进行了操作,但是这些请求或者操作可以是相同的,也可以是不同的。对整个系统而言,仍然是有很多用户同时对系统进行操作,因此也属于并发的范畴。

可以看出,后一种并发是包含前一种并发的。而且后一种并发更接近用户的实际使用情况,因此对于大多数的系统,只有数量很少的用户进行“严格意义上的并发”。对于WEB性能测试而言,这2种并发情况一般都需要进行测试,通常做法是先进行严格意义上的并发测试。严格意义上的用户并发一般发生在使用比较频繁的模块中,尽管发生的概率不是很大,但是一旦发生性能问题,后果很可能是致命的。严格意义上的并发测试往往和功能测试关联起来,因为并发功能遇到异常通常都是程序问题,这种测试也是健壮性和稳定性测试的一部分。用户并发数量:关于用户并发的数量,有2种常见的错误观点。一种错误观点是把并发用户数量理解为使用系统的全部用户的数量,理由是这些用户可能同时使用系统;还有一种比较接近正确的观点是把在线用户数量理解为并发用户数量。实际上在线用户也不一定会和其他用户发生并发,例如正在浏览网页的用户,对服务器没有任何影响,但是,在线用户数量是计算并发用户数量的主要依据之一。

请求响应时间:指的是客户端发出请求到得到响应的整个过程的时间。请求响应时间过程的单位一般为秒或者毫秒

事务响应时间:事务可能由一系列请求组成,事务的响应时间主要是针对用户而言,属于宏观上的概念,是为了向用户说明业务响应时间而提出的.例如:跨行取款事务的响应时间就是由一系列的请求组成的.事务响应时间和后面的业务吞吐率都是直接衡量系统性能的参数. 吞吐量:指的是在一次性能测试过程中网络上传输的数据量的总和.吞吐量/传输时间,就是吞吐率.

TPS:每秒钟系统能够处理的交易或者事务的数量.它是衡量系统处理能力的重要指标.

点击率:每秒钟用户向WEB服务器提交的HTTP请求数.

资源利用率:指的是对不同的系统资源的使用程度,例如服务器的CPU利用率,磁盘利用率等.资源利用率是分析系统性能指标进而改善性能的主要依据,因此是WEB性能测试工作的重点.

资源利用率主要针对WEB服务器,操作系统,数据库服务器,网络等,是测试和分析瓶颈的主要参考.在WEB性能测试中,更根据需要采集相应的参数进行分析.

名词解释续:

每秒完成的事务请求数(TranactionperSecond(TPS))

TPS是衡量吞吐率最好的指标。TPS和TPH都是衡量吞吐率的单位,如7200TPH(每小时完成7200次事务请求)相当于2TPS(每秒钟完成2次)。需要注意的是TPH并不能给出系统整体性能的完整评价,我们必须同时知道每个事务请求的工作量以及不同时间段的TPH各是多少。

AverageTranactionReponeTime

AverageTranactionReponeTime显示的是每个时间点下的平均响应时间,而不是整个时间段的平均响应时间

(1)事务综述图(TranactionSummary) 通过此图可以看出每个事务在测试时间内分别通过(Pa)和失败(Fail)了多少(2)事务平均响应时间分析图(AverageTranactionReponeTime)此图显示测试场景运行期间的每一秒内事务执行所用的平均时间,通过它可以分析应用系统的性能走向;另外还可以统计出测试场景运行时间内各事务的最大值、最小值、平均值等信息。

(3)每秒通过事务数分析图(TranactionperSecond)

TPS图显示在场景运行的每一秒中,每个事务通过的数量,通过它可以确定系统在任何给定时刻的实际事务负载;可以将TPS图与平均事务响应时间图进行对比,以分析事务数目对执行时间的影响。

(4)每秒通过事务总数分析图(TotalTranactionperSecond)

“每秒通过事务总数分析”图显示场景运行时,在每一秒内通过的事务总数。如果系统性能稳定,在同等压力下,此图应该接近直线,而不是逐渐倾斜。与TPS相比,“每秒事务总数”关注服务器整体处理事务的情况,是宏观概念。

(5)事务性能摘要图(TranactionPerformanceSummary)

“事务性能摘要”显示方案中所有事务的最小、最大和平均时间,可以直接判断响应时间是否符合用户的需求。可以通过网页细分方法来分析某些响应时间长的事务。(6)事务响应时间与负载分析图(TranactionReponeTimeUnderLoad)

这个分析图是“正在运行的虚拟用户”图和“平均事务响应时间”图的组合。通过他看出在任一时间点事务响应时间与用户数目的关系,从而掌握系统在用户并发方面的性能数据。 (7)事务响应时间(百分比)TranactionReponeTime(Percentile)此图是根据测试结果进行分析而得到的综合分析图,也就是工具通过一些统计分析方法间接得到的图表。通过此图分析在给定事务响应时间范围内能够执行的事务百分比。(8)事务响应时间分布情况分布图TranactionReponeTime(Ditribution)通过它可以了解测试过程中不同响应时间的事务数量。如果系统预先定义了相关事务可以接受的最小和最大事务响应时间,则可以使用此图确定服务器性能是否在可以接受的范围内。

二、填空题

1.绝大多数Web应用系统中都可能拥有六种属性:网络集约性、内容驱动性、持续演化性、即时性、安全性以及美观性2.Web应用系统测试通常包括:功能测试、性能测试、可用性测试、安全性测试、系统兼容性测试和接口测试3.性能测试包括以下内容:压力测试、连接速度测试和负载测试4.压力测试必须对Web服务应用四个基本条件进行有效的压力测试,这四个基本条件为:重复、并发、量级和随机变化

5.客户端兼容性测试包括的内容为:平台测试、浏览器测试、分辨率测试、连接速率测试、打印机测试和组合测试

6.漏洞扫描按功能可分为:系统漏洞扫描、网络漏洞扫描和数据库漏洞扫描

7.TEMPEST技术是指抑制和防止电磁泄漏,这种技术是物理安全策略的一个主要问题。

8.访问控制是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和访问 9.数据传输加密技术主要是对传输中的数据流进行加密,常用的有链路加密、节点加密和端到端加密三种方式。

三、判断题(从下列叙述中选择正确的叙述,在括号中划上√;对于你认为是错误的叙述要划上并说明原因。)

协议建立在可靠的网络层协议(IP)之上,而与应用层协议无关。应用

层协议(例如:HTTP,FTP,TELNET等)通常能透明地建立于SSL协议之上。()

原因:SSL协议建立在可靠的传输层协议(TCP)之上,而与应用层协议无关。

2.文件完整性检查系统具有相当的灵活性,可以配置成为监测系统中所有文件

或某些重要文件。(√)

3.网络入侵检测系统发生故障不会影响正常业务的运行,但部署一个网络入侵

检测系统的风险比主机入侵检测系统的风险要高一些。()原因:部署一个网络入侵检测系统的风险比主机入侵检测系统的风险要小得多。

4.文件的数字信息可以通过Hah函数计算得到。不管文件长度如何,它的Hah

函数计算结果是一个固定长度的数字。(√) 5.与双绞线、同轴电缆不同的是,光缆不发射能量,因此对于防止窃听很有效

果,用光缆传输也是安全性最好的。(√)四、选择题目

●WEB应用链接测试不包括(45)。

(45)A.无链接指向的页面B.错误的链接

C.客户端与服务器端的链接速率D.不存在的页面文件●反映web应用客户端交易处理性能的评估指标有(59)。①并发用户数②交易响应时间③交易通过率④吞吐量⑤点击率

A.①②③④B.①②③④⑤C.②③D.②③④

●运行Web浏览器的计算机与网页所在的计算机要建立(66)连接,采用(67)协议传输网页文件。

(66)(67)

C.交易执行吞吐量D.交易执行响应时间

●用户访问某Web网站,浏览器上显示“HTTP-404”错误,则故障原因是(70)

(70)A.默认路由器配置不当B.所请求当前页面不存在服务器内部出错D.用户无权访问

五、综合应用技术题

试题一(15分)

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明] 某网上信息系统的服务范围为全国。按照功能类别将其划分为前端路由区、Web区(DMZ区)、后台信息系统区。各区域说明如下:前端路由区:部署路由设备。负责与上端网络供应商(ISP)路由器和下端内网交换机的连接。Web服务区(DMZ区):部署网站服务器及其相关的设备。负责处理HTTPRequet的任务,并将数据传送给数据库,后台信息系统等模块。后台信息系统区:包括数据库服务器、应用系统服务器和备份服务器等,负责完成信息系统的各项功能。在不同的网络区域之间,通过部署防火墙实现区域之间的隔离与访问控制。

[问题1](3分)

画出其网络拓扑结构示意图。[问题2](6分)

漏洞扫描的功能是什么?请叙述漏洞扫描器的分类以及各类扫描器的功能。[问题3](6分)

确定安全测评中漏洞扫描工具的接入点。并说明选择漏洞扫描工具各接入点的原因和目的。分析:

1、画出其网络拓扑结构示意图。

[问题2](6分)

漏洞扫描的功能是什么?请叙述漏洞扫描器的分类以及各类扫描器的功能。答:漏洞扫描的功能是用主机或系统漏洞扫描器自动检测远程或本机安全性漏洞,以便及时修补安全漏洞。漏洞扫描器的分为两种类型:

(1)主机漏洞扫描器(HOSTSCANNER),在本地运行检测系统漏洞。(2)网络漏洞扫描器(NETWORKSCANNER),基于网络远程检测目标网络和主机系统漏洞。 [问题3](6分)

确定安全测评中漏洞扫描工具的接入点。并说明选择漏洞扫描工具各接入点的原因和目的

试题二(20分)

阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。[说明]

信息系统测试中,系统的时间特性、资源利用性等是衡量其效率的重要指标。在软件测试中我们通常会借助于自动化负载压力测试考核系统在一定的大用户量访问、长时间运行、大数据量处理的使用场景下系统的性能是否满足需求,在不满足的情况下通过故障诊断和性能调优的手段,获得系统性能的提升。下图是某网上报名系统的负载压力测试拓扑图,主要包括数据库服务器、应用服务器、网络设备、负载均衡设备以及测试用机。测试环境网络带宽100M,应用服务器选择ApacheTomcat5.0,数据库服务器选择Oracle10G,两类服务器操作系统都采用Window2000Server(SP4)。

负载压力测试中模拟大量考生通过此系统执行网上报名,主要测试用例包括“考生注册”和“预定座位”,报名操作的顺序是先执行“考生注册”,再执行“预定座位”。系统性能要求能够承受10000用户并发访问,业务执行成功率保持在80%以上。下表是测试结果数据,其中数据库服务器资源利用属合理范围,网络带宽足够,未在结果中描述。

[问题1](4分)

衡量系统执行效率的时间特性指标中通常会包括:业务执行响应时间和吞吐量,请描述上述两个指标的概念。[问题2](3分) 简述此系统测试环境中负载均衡设备的作用。[问题3](5分)

简述测试用机中负载压力测试工具主控台、负载压力测试工具负载生成器的作用,并论述此项目中采用分布式部署负载生成器的原因。[问题4](4分)

请分析测试结果中的交易执行情况数据,陈述随并发用户数递增,交易执行成功率降低的可能原因。分析测试结果中的应用服务器资源利用数据,判断服务器资源利用是否有瓶颈存在。[问题5](4分)

若系统的性能不能满足需求,有哪些调优措施?参考答案:

试题三

阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。[说明]

计算机系统的性能评价是按一定步骤,选用一定的度量项目,通过建模和实验,对计算机系统的性能进行测试并对测试结果做出解释。[问题1](8分)

在计算机系统的性能评价中,对性能评价项目进行识别和设置是进行性能评价的基础工作。请写出计算机系统性能评价的4个项目名称。[问题2](4分)

系统性能的评价方法大致可分为哪两类?[问题3](2分)

人们常用程序来测试计算机系统性能,获得定量评价指标。