《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)性能、负载和强度。
分享到:
相关推荐
### Web安全测试笔记 在本篇笔记中,我们将探讨与Web安全测试相关的多个知识点,包括但不限于常见的测试方法、工具和技术等。这些知识点旨在帮助安全测试人员更好地理解和掌握如何有效地进行Web应用的安全评估。 #...
5. 压力测试:测试Web应用在极限条件下的表现,包括内存泄漏检测和系统崩溃点分析。 6. 回归测试:每当代码或环境发生变化时,重新运行已知测试用例,确保新功能没有破坏现有功能。 7. 接口测试:验证Web应用与...
在实施WEB测试时,除了传统的黑盒测试和白盒测试技术,还应结合WEB应用的特点,采用自动化测试工具和技术,如Selenium、JMeter等,提高测试效率和覆盖率。同时,对于基于Java的WEB应用,利用Java强大的开发能力和...
* 灰盒测试:结合黑盒测试和白盒测试的方法来测试 Web 应用程序的安全性。 五、Web 安全最佳实践 * 保持软件和框架的最新版本,以修复已知的安全漏洞。 * 使用安全的密码存储和身份验证机制。 * 实施安全的数据...
SSH(Struts2 + Spring + Hibernate)是一种经典的Java Web开发框架,用于构建高效、可维护的Web应用程序。这个“ssh_web开发测试程序学习笔记”涵盖了使用这三个框架进行Web开发和测试的基本概念、步骤和最佳实践。...
Web服务是一种基于互联网的软件应用接口,允许不同的系统之间进行通信和数据交换。它通过标准的协议(如HTTP)提供了一种平台独立的方式来共享和集成业务逻辑。在本学习笔记中,我们将深入探讨Web服务的核心概念、...
HTTP协议簇的讨论则涵盖了HTTP和HTTPS的基础知识,以及它们在Web应用中的作用。邮件协议族,如SMTP、POP3和IMAP,也被提及,展示了电子邮件通信的底层机制。SSL/TLS协议确保了数据在互联网上的加密传输,而IPsec提供...
2. Burp Suite:一款强大的Web应用安全测试工具,包括代理、扫描器、入侵者、序列化分析等功能。 3. ZAP(Zed Attack Proxy):自动化安全测试工具,可帮助识别潜在的漏洞。 四、安全编码与开发实践 1. 使用安全...
首先,Spring框架在Web应用中的主要作用是提供依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP),这有助于减少代码间的耦合度,提高可测试性和可维护性。在Web环境中,...
### 笔记:用LR做Web性能测试---简单入门 #### 一、LoadRunner简介与安装 **LoadRunner**(简称LR),是一款知名的性能测试工具,由Micro Focus公司开发维护,广泛应用于各种软件产品的性能测试中。它能够帮助...
这篇性能测试教学笔记,基于一位有着十年经验的教师的实践,提供了丰富的知识和指导,旨在帮助读者深入理解和应用性能测试。 1. **Web_link 与 URL 的依赖关系**: 在性能测试中,Web_link通常指的是网页链接,它...
在本文中,我们将深入探讨如何使用Vue.js构建一个适用于PC和平板电脑的简单笔记本Web应用程序。 1. **Vue.js基础知识** 在开始项目之前,我们需要了解Vue.js的基础。Vue.js的核心理念是声明式渲染,它允许我们通过...
### 性能测试学习笔记 #### 一、性能测试基础知识概览 性能测试是一种软件测试类型,用于评估软件系统的性能特点。它旨在确保系统能在预期的工作负载下保持响应迅速、资源利用合理,并且能维持良好的稳定性。下面...
《Flask Web开发:基于Python的Web应用开发实战》是一本深入浅出的教程,旨在帮助读者掌握使用Python和Flask框架构建Web应用程序的技术。Flask是一个轻量级的Web服务器网关接口(WSGI)微框架,它以其灵活性和简单性...
- **MVC、Hibernate、Ajax**:常见的Web应用架构模式及框架。 - **XHTML、HTML5、JavaScript**:网页开发的基础语言和技术。 - **ACE、OCI、OTL、JDK**:涉及到数据库连接及Java开发的相关技术。 - **Web服务器...
渗透测试(Penetration Testing,简称“Pen Test”)是一种针对计算机系统、网络和Web应用等目标的模拟攻击行为的安全评估方法。目的是发现并利用潜在的安全漏洞,从而帮助组织机构提高其系统的安全性。 #### 2. ...
《Flask Web开发:基于Python的Web应用开发实战》是一本深入浅出的教程,旨在帮助读者掌握使用Python的Flask框架构建Web应用程序的技术。Flask是一个轻量级的Web服务器网关接口(WSGI)Web应用框架,以其灵活性、...
6. **RESTful API设计**:现代Web应用经常通过API(Application Programming Interface)提供服务。RESTful API遵循特定的约束,提供简洁、无状态的交互方式,常用于前后端分离的架构中。 7. **前端技术**:尽管...