|
知识路径: > 测试技术的分类 > Web应用测试 >
|
被考次数:1次
被考频率:低频率
总体答错率:50%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
考试要求:掌握
相关知识点:63个
|
|
|
|
|
随着Internet的快速增长以及Intranet/Extranet在各行业的广泛应用,Web已经对商业、工业、银行、财政、教育、政府和娱乐等行业,以及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,电子商务迅速增长,早已超越了国界。范围广泛的、复杂的分布式应用正在Web环境中出现。Web的流行和无所不在,是因为它能提供支持所有类型内容连接的信息发布,容易为最终用户存取。
|
|
|
Yogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。它“使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于Web的系统”。目前,对于Web工程的研究主要是在国外开展的,国内才刚刚起步。
|
|
|
在基于Web的系统开发中,如果缺乏严格的过程,我们在开发、发布、实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能引发很多问题。当这种情况发生时,我们对Web和Internet的信心可能会动摇,从而引起Web危机。并且,Web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。
|
|
|
这里我们谈到的Web系统是指以Browser/Server的访问方式为主,包含客户端浏览器、Web应用服务器、数据库服务器的软件系统。首先从技术实现上来讲,一般的B/S结构,无论是.NET还是J2EE,都是多层构架,有界面层、业务逻辑层、数据层。其次,从结构上来讲,都有客户端部分、传输网络部分和服务器端部分。
|
|
|
|
. 访问客户端:包含用户操作的浏览器及运行平台。最常见的一个例子就是Windows XP+IE6.0,另外,还有Windows及其他平台上的Netscape、Opera、Mozilla等浏览器。
|
|
|
. Web应用服务器:用于发布Web页面,接受来自客户端的请求,并把请求的处理结果返回客户端。一般采用的Web应用服务程序有各种版本UNIX上的Apache、WebLogic, Windows服务器上的Tomcat、IIS等。
|
|
|
. 数据库:虽然数据库不是Web系统一个必要的部分,但在现有的大多数Web系统中,数据库是一个重要的部分。数据库多为关系型数据库,常用的有Oracle、SQL Server、Sybase、Informix等。
|
|
|
. 网络及中间件:提供客户端的请求到Web服务器的通道。网络可以是Internet/Intranet/Extranet网,也可能是局域网。中间件常常是传输中间件或交易中间件。
|
|
|
. 防火墙与CA认证:系统的安全性的一个保障系统,对于重要的系统是必不可少的。
|
|
|
|
|
另外,一些大型Web系统,为了承受较大的访问压力,会采用负载均衡技术,使用多个Web应用服务器,分担来自客户端的访问压力。
|
|
|
|
当你在互联网上冲浪的时候,细心观察一下,不难发现网页的制作技术在不断进步,日新月异。从以往单调的HTML,到Java小程序、Javascript脚本、ActiveX控件的加入,使本来静态的网页变得“动”了起来。滚动字幕、日历、划动鼠标时出现的轨迹等,还有近来许多网页上所使用的FLASH动画,令我们的网络世界越来越精彩。
|
|
|
现在我们来全面体验一下关于网页制作技术的服务端编程开发,也就是Web应用程序的设计。网页计数器、问卷调查系统、BBS论坛、聊天室虚拟社区,相信大家都并不陌生。Web应用程序为网页提供了真正的交互能力。不难想象,如果没有了这些给我们提供极大交互性的Web程序,那么浏览网页也就会变得不再那么有趣了,而对于网站的商业价值也就似乎只能提供像报纸媒体一样的宣传效果,不能互动,不能在线收集用户意见,更别说实现网上的电子商务,在线购物,销售产品了。
|
|
|
|
在网站建设发展的初期,人们全部使用HTML语言设计网页。这些简单的HTML文档被手工编辑完成之后,保存在与Internet相连接的计算机内,任何连入互联网的用户都可以访问其中的信息,这种形式的页面被称作静态页面。
|
|
|
现在,我们不仅需要Web提供所需的信息,还需要提供例如个性化搜索、收发email、进行网上销售、从事电子商务等功能。为实现以上功能,必须使用更新的网络编程技术制作动态网页。所谓动态,指的是按照访问者的不同需要,对访问者输入的信息作出不同的响应的信息。
|
|
|
|
网络开发技术一般指采用脚本语言进行编程的技术。脚本语言具有和传统的编程语言相似的语法结构和风格,并且可以结合HTML语言共同使用。脚本语言与HTML语言具有非常好的兼容性,使用者可以直接在脚本代码中加入HTML标签,或者在HTML标签中加入脚本代码从而更好地实现页面控制。
|
|
|
使用不同技术编写的动态页面也被保存在Web服务器内。当客户端用户向Web服务器发出访问动态页面的请求时,Web服务器将根据用户所访问页面的后缀名确定该页面所使用的网络编程技术,然后把该页面提交给相应的解释引擎;解释引擎扫描整个页面找到特定的定界符,并执行位于定界符内的脚本代码以实现不同的功能,如访问数据库,发送电子邮件,执行算术或逻辑运算等,最后把执行结果返回Web服务器;最终,Web服务器把解释引擎的执行结果连同页面上的HTML内容以及各种客户端脚本一同传送到客户端。
|
|
|
ASP(Active Server Pages,即动态服务器页面)是由微软公司推出的一种网络编程技术。准确地说,ASP不能算作是一种编程语言,因为ASP没有提供自己专门的编程语言,而是允许用户使用包括VBScript, JavaScript等在内的许多已有的脚本语言编写ASP的应用程序。因此,ASP实际上应当是一种脚本语言的服务端编写环境。ASP吸收了当今许多流行的技术,如IIS, Activex, VBScript, ODBC等,是一种发展较为成熟的网络应用程序开发技术。ASP的核心技术是对组件和对象技术的充分支持。通过使用ASP的组件和对象技术,用户可以直接使用ActiveX控件,调用对象方法和属性,以简单的方式实现强大的功能。
|
|
|
JSP(Java Server Pages)是由Sun Microsystem公司于1999年6月推出的新技术,是基于Java Servlet以及整个Java体系的Web开发技术。ASP一般只应用于Windows NT/2000平台,而JSP则可以不加修改地在85%以上的Web Server上运行,其中包括了NT的系统,符合“一次编写,多平台运行“的Java标准,实现平台和服务器的独立性,而且基于JSP技术的应用程序,比基于ASP的应用程序易于维护和管理。
|
|
|
ColdFusion是Allaire公司在1995年推出的产品。它包含一个集成的可视化开发环境,可以极大地简化用户的开发过程。此外,ColdFusion采用一种被称做ColdFusion标识语言(ColdFusion Markup Language, CFML)的技术。CFML技术继承了HTML语言的风格,用户完全可以像使用HTML标签一样,使用CFML标签来完成各种复杂的操作。可以说,只要掌握了各种CFML标签,也就等于掌握了ColdFusion技术的精髓。
|
|
|
文字分析报告语言(Practical Extraction and Report Language, PERL),是现在编写CGI程序最受欢迎的编程工具,它具有强大的字符串处理能力,特别适合用于分割处理客户端Form提交的数据串,而且可以与ColdFusion等多种流行的Web数据库处理软件相结合。使用PERL既可以达到跨服务平台,又能方便地处理和使用数据库,还有一点,PERL是一种由解释器直接解释执行的语言,不同于使用C或VB等需要预编译后才能执行。
|
|
|
超文本预处理器(Hypertext Preprocessor, PHP)在很大程度上综合了PERL、Java和C语言的精华,在语法架构上继承了C语言的风格。PHP是一种自由软件。
|
|
|
|
CGI是一种早期用于Web程序设计的接口标准,也就是说,你只要熟悉这套接口标准,就能使用任何平常你所熟悉的编程语言来编制CGI程序。比如说C、VB、DELPHI等,当然,要使用CGI,也需要相应的Web服务器支持这一标准,常用的Web服务器软件,如著名的Apache, Web-site, Netscape Enterprise Server以及Microsoft的IIS等,都能很好地支持各种CGI程序。
|
|
|
CGI程序与Web服务器的交互主要有两种数据交换方式。
|
|
|
在UNIX或Linux下,是通过标准输入/输出来实现的,因此可以在程序中直接通过标准输入来取得客户端传来的请求和所传递的数据,然后在程序中对数据进行处理。比如说,你需要编制一个留言部的CGI程序,不外乎就是从客户端提交的Form表单中取得用户的名字、电子邮件,以及留言内容,而服务端相应的CGI程序则从标准输入中取得用户所提交的内容,而通过服务器的环境变量,你可以获得大量的客户端资料,如客户端的IP地址、计算机名字、所使用的浏览器,如果需要使用服务器认证功能,环境变量还能为你提供客户端用户的登录名字以及口令等。取得用户提交内容后,进行记录留言的操作,打开数据文件,把留言内容写入文件,然后通过标准输出把“留言成功”的HTML信息输出到客户端。
|
|
|
而在Windows平台下,CGI程序与Web服务器的数据交互则是通过profile文件来进行的,profile的格式如同win.ini的格式一样。当Web服务器接收到客户端的请求数据后,就把它们以key-value的INI文件格式保存至暂存文件以供CGI程序来接收。因此,开发Windows CGI程序的第一步就是对数据文件进行拆解,如果是使用PERL的话,那么这一步可以免除了,因为PerlFor Windows的解释器已为你做好了这一步,你只需要如同在UNIX下一样,把数据作为标准输入来处理就可以了,也就是说,只要在PERL解释器所支持的功能范围内,UNIX下的PERL程序基本上可以不经修改地作为Windows CGI程序移植到Windows平台运行,这是PERL非常受CGI程序员喜爱的原因之一。
|
|
|
|
J2EE的全称是Java2EnterpriseEdition,它是由SUN公司领导,各厂商共同制定,并得到广泛认可的工业标准。业内许多大的应用服务器厂商如IBM、BEA、Oracle等都积极地参与J2EE标准的制定和实施工作。
|
|
|
J2EE是专门为企业应用制定的标准,企业可以用它来编制企业级的应用,它为企业应用提供了数据库存取,交易完整性,可靠消息传递等功能。从公元2000年开始,越来越多的企业把自己的关键应用开始构建在支持J2EE标准的Web应用服务器之上。现在主流的一些J2EE应用服务器都可以支持企业应用所需的稳定性、可用性、安全性、可靠性、可扩展性等。
|
|
|
|
.NET的前身是微软的DNA(Distributed Network Architecture),在2000年的时候被.NET所取代。
|
|
|
.NET以WebServices为核心,全面支持SOAP、UDDI和WSDL,并在底层实现了类似Java虚拟机的CLR(Common Language Runtime)和一套具有3500多个类的.NET基础类库,以支持其开发语言Visual Basic、C#和ASP等,并且在后端支持其数据库SQL Server和Passport,.NET Studio组成了完整的解决方案。
|
|
|
|
Web Services是建立可互操作的分布式应用程序的新平台。Web Services是一场分布式计算模式的跃进,它真正要解决分布式计算的问题。Web Services技术成为企业与企业之间连接的桥梁,为跨企业、跨行业、跨地域的业务提供了技术的实现方法。
|
|
|
Web Services采用XML作为消息交换的格式,利用Internet上的通用传输协议(如HTTP),提供标准的服务接口调用的方法,为客户提供灵活、方便、强大的Web服务。
|
|
|
|
针对Web系统的构成和Web系统的一些特点,我们需要对涉及Web系统质量的各个方面进行测试。按系统架构来分,可分为客户端的测试、服务器端的测试和网络上的测试;按职能来分,可分为应用功能的测试、Web应用服务的测试、安全系统的测试、数据库服务的测试;按软件的质量特性来分,又可分为功能测试、性能测试、安全性测试、兼容性测试和易用性测试;按照开发阶段来分,可以分为设计的测试、编码的测试和系统的测试。
|
|
|
Web是一类特殊的软件,Web应用系统的开发同样要经过需求分析、设计、编码、实施等阶段,所以对软件的测试是贯穿整个软件生命周期的。Web应用系统的设计、编码和实施三个阶段都是十分重要,现把对Web应用系统的测试分为Web应用设计测试、Web应用开发测试和Web应用运行测试,在后面的章节中将分别进行论述。
|
|
|