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

简介: 《WEB应用测试》笔记(一) 第一章 欢迎进入WEB测试 利用测试不可能发现所有可能存在的问题,但还是需要进行基于风险的测试。 应该优先考虑跟踪错误并评估它们的重要性。

《WEB应用测试》笔记(一)
第一章 欢迎进入WEB测试


利用测试不可能发现所有可能存在的问题,但还是需要进行基于风险的测试。
应该优先考虑跟踪错误并评估它们的重要性。
管理层希望开发小组、信息技术小组、测试和质量保证人员提供关于覆盖、尚未修正缺陷的状态的定量数据以及延期修复某些缺陷的潜在影响。
1、各种测试
(1)黑盒测试关注软件的外部属性和行为。这些测试从用户的角度观察软件预期的行为。
(2)白盒测试在了解软件内部结构、实际的逻辑流程和体系结构的基础上在源代码级测试软件。白盒测试从开发者的角度看待测试。
(3)灰盒测试结合了白盒测试和黑盒测试的要素,考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。
灰盒测试方法对有效测试WEB应用是完整的,因为Web应用由大量组件组成。这些组件必须在设计系统的环境中测试,以便评价它们的功能和兼容性。
2、灰盒测试
灰盒测试使用推断的或不完整的结构或设计信息来进行黑盒测试。
灰盒测试是在算法、内部状态、体系结构或其它程序行为等高级描述知识的基础上设计的测试。
灰盒测试涉及输入和输出,但是测试人员无法看到的有关代码或程序操作的信息影响着测试设计。
灰盒测试非常适合于Web应用测试,因为它涉及到高层设计、环境和互操作条件。它能发现容易被黑盒分析和白盒分析忽略的问题,特别是端对端的信息流问题、分布式硬/软件配置问题及兼容性问题。在灰盒测试过程中通常能发现与Web系统密切相关的具体环境错误。
3、有效地计划和执行Web应用测试,应具备:
(1)良好的软件测试技能;
(2)使用应用的知识;
(3)Web技术知识;
(4)理解测试类型及其对Web应用的适用性;
(5)熟悉一些Web应用特有的错误类型;
(6)掌握一些有效的工具。

第二章 Web测试和传统测试的比较

1、Web系统可能包含多个物理服务器,每个可以用做一种或多种服务器类型。
比如:一个Web系统可能包括多个Web服务器、应用服务器和数据库服务器(如服务器群,即一组共享工作负荷的相似的服务器)。Web系统可能还包括其它服务器类型,如电子邮件服务器、聊天服务器、电子商务服务器以及用户特征信息(profile)服务器。
2、Web系统体系结构
在最高层,Web系统可能包含各种操作系统、Web服务器、应用服务器、中间件、电子商务服务器、数据库服务器、主要的企业资源规划(ERP)组件、防火墙和浏览器。
Web系统软件的组合可能包含以下几种:
(1)多个操作系统
(2)多个软件包
(3)多个软件组件
(4)多个服务器类型、品牌和模型
(5)多个浏览器品牌和版本
3、服务器端应用
服务器端应用在两个方面不同于客户端应用:
(1)服务器端应用不存在与系统最终用户相交互的用户界面;
客户端通过通信协议、应用编程接口和其它接口标准与服务器端应用进行交互以调用其功能和访问数据。
(2)服务器端应用是自动运行的。
因此,对于测试人员来说,服务器端应用就是一个黑盒子。
一种用来提高错误重现能力的方法是记录事件日志。
应用日志允许我们跟踪由具体应用生成的事件。
4、分布式服务器配置
服务器软件可能分布在若干个物理服务器单元上,使测试更为复杂。
Web应用可以支持的几种可能的服务器配置:
(1)单个单元模型
(2)双单元模型
(3)三单元模型
5、程序错误的传播
Web应用是由先前存在的对象或组件相互结合而构造出来的。因此,新创建的系统不仅继承了原有对象中的性能,也继承了原来对象中已有的错误。
面向对象变成和基于组件的编程的主要优点之一就是复用性。
Web应用由于采用了基于组件的体系结构,Web应用特别容易出现错误共享。
从底层来看,这种问题对测试由两个主要的影响:
(1)已有对象或组件在被其它的应用或对象引用时必须经过了全面测试;
(2)必须进行过全面的回归测试。
6、后端数据库访问
Web系统在的数据经常是分布式的。
在标准的Web应用系统中,通常使用关系型数据库以便对数据的访问和操纵比使用文件系统更高效。
在文件系统中查询时,为获得数据,应用必须确切知道文件的位置及其名称,且在应用层通常还要施加访问安全措施。
数据库以表记录的形式存储数据,借助数据库引擎,应用通过获得记录集来访问数据,无需知道实际的数据文件位置和名称。关系数据库通过数据库名和表名来访问,而且可存放在多个服务器上。采用关系型数据库的Web系统可以在应用服务器级、数据库服务器级、表级和基于用户的优先级上施加安全控制。
7、瘦客户机处理和胖客户机处理
瘦客户和胖客户端应用的测试问题应该围绕功能、兼容性和性能等几方面进行折中考虑。
8、互操作性问题
互操作性是指系统或系统中的组件与其它系统或组件相交互和无缝协作的能力。
一般通过某些应用编程接口、通信协议标准、接口转换技术如CORBA和DCOM等来实现。
互操作性问题——在组件之间进行通信时可能会出现信息丢失或误解的情况。
9、测试注意事项
除了传统的测试之外,Web测试还包括以下几个方面:
(1)Web用户界面的实现;
(2)系统集成;
(3)服务器端和客户端安装;
(4)基于Web的帮助;
(5)配置和兼容性;
(6)数据库;
(7)安全性;
(8)性能、负载和强度。 

目录
相关文章
|
12天前
|
敏捷开发 测试技术 持续交付
探索自动化测试在敏捷开发中的应用与挑战
本文深入探讨了自动化测试在现代软件开发流程,特别是敏捷开发环境中的重要作用和面临的挑战。通过分析自动化测试的基本原理、实施策略以及在实际项目中的应用案例,揭示了其在提高软件质量和加速产品交付方面的巨大潜力。同时,文章也指出了自动化测试实施过程中可能遇到的技术难题、成本考量及团队协作问题,并提出了相应的解决策略,为软件开发团队提供了有价值的参考和指导。
|
14天前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
27 3
|
1天前
|
缓存 安全 网络安全
HTTP/2与HTTPS在Web加速中的应用
HTTP/2与HTTPS在Web加速中的应用
|
4天前
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
|
14天前
|
前端开发 数据管理 测试技术
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第27天】本文介绍了前端自动化测试中Jest和Cypress的实战应用与最佳实践。Jest适合React应用的单元测试和快照测试,Cypress则擅长端到端测试,模拟用户交互。通过结合使用这两种工具,可以有效提升代码质量和开发效率。最佳实践包括单元测试与集成测试结合、快照测试、并行执行、代码覆盖率分析、测试环境管理和测试数据管理。
29 2
|
15天前
|
前端开发 安全 应用服务中间件
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第26天】随着互联网的快速发展,前端性能调优成为开发者的重要任务。本文探讨了HTTP/2与HTTPS在前端性能优化中的应用,介绍了二进制分帧、多路复用和服务器推送等特性,并通过Nginx配置示例展示了如何启用HTTP/2和HTTPS,以提升Web应用的性能和安全性。
16 3
|
14天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
17 1
|
15天前
|
前端开发 JavaScript 数据可视化
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第26天】前端自动化测试在现代软件开发中至关重要,Jest和Cypress分别是单元测试和端到端测试的流行工具。本文通过解答一系列问题,介绍Jest与Cypress的实战应用与最佳实践,帮助开发者提高测试效率和代码质量。
26 2
|
15天前
|
前端开发 JavaScript API
前端框架新探索:Svelte在构建高性能Web应用中的优势
【10月更文挑战第26天】近年来,前端技术飞速发展,Svelte凭借独特的编译时优化和简洁的API设计,成为构建高性能Web应用的优选。本文介绍Svelte的特点和优势,包括编译而非虚拟DOM、组件化开发、状态管理及响应式更新机制,并通过示例代码展示其使用方法。
32 2
|
9天前
|
Web App开发 测试技术 数据安全/隐私保护
自动化测试的魔法:使用Python进行Web应用测试
【10月更文挑战第32天】本文将带你走进自动化测试的世界,通过Python和Selenium库的力量,展示如何轻松对Web应用进行自动化测试。我们将一起探索编写简单而强大的测试脚本的秘诀,并理解如何利用这些脚本来确保我们的软件质量。无论你是测试新手还是希望提升自动化测试技能的开发者,这篇文章都将为你打开一扇门,让你看到自动化测试不仅可行,而且充满乐趣。

热门文章

最新文章