《WEB应用测试》笔记(十)
3、应用服务组件
3.1、服务器端分组服务器:服务器是从本地主机或远端主机向其他软件程序提供服务的软件程序。用来运行服务器软件程序的硬件单元也经常称为服务器。
物理硬件单元可支持多个客户机程序,故将软件称为服务器可能更为准确。
分组服务器向其它应用提供服务并扩展自身的功能。
在基于Web的系统中两种常用的分组服务器是Web服务器和数据库服务器。Web服务器一般用来存储可以通过浏览器发送给Web客户机的HTML页面。
分组Web服务器通常会提供一些功能来帮助应用简化数据库活动。这些功能可封装在DLL模块中,通过API调用它们。
3.2、客户端服务
在客户端,浏览器支持多种服务,包括运行Java小程序的Java虚拟机、执行脚本的脚本解释器。
3.3、第三方组件
软件应用可以细分味多种组件,称为单元或模块。组件可以复用。
组件可以以两种方式交付:
(1)基于源代码,如面向对象程序设计中的类;
(2)基于二进制,如DLL或Java存档文件格式JAR。
3.4、综合应用组件
综合应用包括多个组件,可能包括运行于服务器端的数据库应用,或运行在服务器端的基于Java的图标生成应用。
软件组件可以在Web浏览器环境或容器中运行。
容器可以是基于Web服务器的应用、数据库应用或可以通过标准接口或协议与该组件通信的其它任何应用。
软件组件一般分布在网络上不同的服务器中。它们之间通过已知接口或协议相互通信,以获得所需的服务。
4、动态链接库
在软件开发的早期,开发人员将其创建的功能与其它开发人员共享的唯一方法是把该功能封装到目标文件(.OBJ)或库文件(.LIB)中。这种方法需要其它开发人员将OBJ或LIB文件与自己的文件连接。运行时需要更多的内存。测试的工作也增加。
动态链接库的引入是为了改进功能共享的方法。DLL是一个包含函数和资源的文件。这些函数和资源单独存储并根据使用它们的应用的需要进行链接。当应用或另一个DLL显式地调用某个DLL函数时,操作系统将该DLL映射到该应用的地址空间,然后该应用便可以执行DLL中的函数。
带有DLL扩展名的文件说包含的函数或者导出到其它应用程序中或者直接味其它程序所用。多个应用程序或组件可以共享同一组功能。
4.1、与DLL有关的潜在错误
(1)缺少所需的DLL
(2)不兼容API的DLL
(3)其它不兼容问题
4.2、脚本
在服务器端,经常使用脚本来把数据从一种形式转换为另一种形式,从而使用来自某一程序的输出。这称为“黏合代码(Glue Code)”。
ASP和JSP中广泛使用着:数据从Web服务器中取出并转换成用户浏览器适用的格式。
与黏合代码有关的是过滤器。
过滤器是去除了不想要的数据的脚本。
如E-mail过滤器,去除或路由了基于用户的选择原则的消息。E-mail客户应用经常包含构建到应用中的脚本编制语言。
许多不同的任务,如数据验证和客户端的UI操作也都可以使用脚本。
在Web应用中,可以在服务器端也可以在客户端使用脚本。