《WEB应用测试》笔记(十)

简介: 《WEB应用测试》笔记(十) 3、应用服务组件 3.1、服务器端分组服务器:服务器是从本地主机或远端主机向其他软件程序提供服务的软件程序。用来运行服务器软件程序的硬件单元也经常称为服务器。

《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应用中,可以在服务器端也可以在客户端使用脚本。 

目录
相关文章
|
7天前
|
测试技术 数据安全/隐私保护
深入理解与应用软件测试中的边界值分析法
【4月更文挑战第23天】在软件测试的诸多技术中,边界值分析法因其简洁性和高效性而备受青睐。本文旨在探讨边界值分析法的核心原理及其在实际测试场景中的应用。通过对边界条件进行系统的识别、分类和测试,该方法能够有效地发现软件缺陷。我们将详细讨论如何确定边界值,设计测试用例,以及如何处理复杂数据类型的边界情况。此外,文章还将展示通过案例研究来验证边界值分析法在提升测试覆盖率和发现潜在错误方面的实际效益。
|
8天前
|
机器学习/深度学习 敏捷开发 人工智能
深入探究持续集成在软件测试中的应用
【4月更文挑战第23天】 随着敏捷开发和DevOps文化的普及,持续集成(CI)已成为软件开发生命周期中不可或缺的一环。本文旨在剖析持续集成如何革新软件测试流程,提升测试效率及质量。文中不仅探讨了CI的基本原理与架构,还细致地分析了其对测试自动化、快速反馈以及质量控制的显著影响。同时,通过实际案例分析,揭示了实施CI的最佳实践及其面临的挑战。最终,文章提出了未来持续集成在测试领域可能的发展方向,为软件测试专业人士提供了前瞻性的参考。
|
4天前
|
开发框架 缓存 前端开发
利用Visual Basic构建高效的ASP.NET Web应用
【4月更文挑战第27天】本文探讨使用Visual Basic与ASP.NET创建高效Web应用的策略,包括了解两者基础、项目规划、MVC架构、数据访问与缓存、代码优化、异步编程、安全性、测试及部署维护。通过这些步骤,开发者能构建出快速、可靠且安全的Web应用,适应不断进步的技术环境。
|
1天前
|
敏捷开发 机器学习/深度学习 Java
Java中的异常处理机制深入理解与实践:持续集成在软件测试中的应用探索自动化测试在敏捷开发中的关键作用
【4月更文挑战第29天】在Java编程中,异常处理是一个重要的概念。它允许开发者在程序执行过程中遇到错误或异常情况时,能够捕获并处理这些异常,从而保证程序的稳定运行。本文将详细介绍Java中的异常处理机制,包括异常的分类、异常的处理方式以及自定义异常等内容。 【4月更文挑战第29天】 随着敏捷开发和DevOps文化的兴起,持续集成(CI)已成为现代软件开发周期中不可或缺的一环。本文将探讨持续集成在软件测试领域内的关键作用、实施策略以及面临的挑战。通过对自动化构建、测试用例管理、及时反馈等核心要素的详细分析,揭示持续集成如何提高软件质量和加速交付过程。 【4月更文挑战第29天】 在当今快速发
|
3天前
|
敏捷开发 测试技术 持续交付
深入探究持续集成在软件测试中的应用与优化
【4月更文挑战第28天】随着敏捷开发模式的普及,持续集成(Continuous Integration, CI)已成为软件开发工作流中不可或缺的一环。本文将深入探讨CI在软件测试领域的关键作用,分析其如何提升测试效率和质量,并指出实践中常见的挑战及解决策略。通过对自动化测试流程、测试驱动开发(TDD)以及持续部署(CD)等关键技术的综合运用,揭示了构建高效、可靠软件系统的方法论。
|
3天前
|
敏捷开发 Devops 测试技术
深入探究持续集成在软件测试中的应用与优化
【4月更文挑战第28天】随着敏捷开发和DevOps文化的兴起,持续集成(CI)已经成为现代软件开发不可或缺的一环。本文将探讨持续集成在软件测试领域的关键作用,分析其如何提高测试效率、确保产品质量,并指出实施过程中可能遇到的挑战及相应的解决策略。通过案例研究和最佳实践的分享,旨在为读者提供一套系统的持续集成优化方案,以支持更高效、更可靠的软件发布流程。
|
3天前
|
移动开发 开发者 HTML5
【专栏】构建响应式Web界面:Flexbox与Grid的实战应用
【4月更文挑战第27天】本文介绍了Flexbox和Grid两种现代Web布局技术,它们能帮助开发者创建美观、响应式且兼容性好的界面。Flexbox通过主轴和交叉轴实现复杂布局,如垂直居中、响应式和多列布局。Grid布局则利用网格线定义容器和网格项,适用于网格系统和响应式设计。文中以构建响应式Web界面为例,展示了如何结合Flexbox和Grid实现头部、内容区域和底部的布局。
|
5天前
|
前端开发 JavaScript Go
构建高性能Web应用:优化前端资源加载
在构建现代Web应用时,优化前端资源加载是至关重要的一步。本文将介绍一些提升Web应用性能的关键策略,包括减少HTTP请求、压缩和合并资源、使用CDN加速、以及异步加载技术等。通过实施这些优化策略,开发人员可以显著提升网站的加载速度和用户体验。
|
5天前
|
敏捷开发 运维 jenkins
探索自动化测试在敏捷开发中的应用与挑战
【4月更文挑战第25天】 在当今软件开发的快速迭代周期中,敏捷方法论已成为推动项目高效进行的关键。本文聚焦于自动化测试技术在敏捷开发环境下的应用实践,分析了其在提升软件交付速度和质量方面发挥的核心作用。通过深入探讨自动化测试框架的选择、测试用例设计、持续集成的实施等关键技术点,揭示了在多变的需求面前如何维持测试覆盖率和准确性。同时,本文也识别了实施过程中可能遇到的挑战,如资源分配、工具选型以及团队协作等,并提出了相应的解决策略。
|
5天前
|
存储 中间件 Go
探索Gin框架:快速构建高性能的Golang Web应用
探索Gin框架:快速构建高性能的Golang Web应用