软件测试读书笔记(佟伟光著)9
2021-01-23 本文已影响0人
NJUST江波
Web应用测试
Web应用测试概述
Web浏览器和服务器之间采用超文本传送协议(HTTP)进行通信。HTTP协议是基于TCP/IP之上的协议,属于应用层协议,是通用的、无状态的、面向对象的协议。HTTP协议的作用原理包括四个步骤:连接,请求,应答,关闭。
连接:浏览器服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功。
请求:浏览器通过socket向服务器提交请求。请求一般是GET或POST命令(POST用于FORM参数的传递)。
应答:浏览器提交请求后,通过HTTP协议传送给服务器。服务器接到后,进行事务处理,处理结果又通过HTTP传回给浏览器,从而在浏览器上显示出所请求的页面。
关闭连接:应答结束后,浏览器与服务器必须断开,以保证其他浏览器能够与服务器建立连接。
Web应用测试基本包括以下几个方面:性能测试、功能测试、界面测试、安全测试等。
Web应用的性能测试
通过模拟多种正常负载、峰值以及异常负载条件同时访问Web服务器,来对系统的各项性能指标进行测试。
- Web性能测试的主要术语和性能指标
并发:多个用户在同一时刻对系统发出了请求或者进行了操作
请求响应时间(TLLB):客户端发出请求到得到响应的整个过程的时间。
事务响应时间:事务包括多个请求。
吞吐量:指的是在一次性能测试过程中网络上传输的数据量的总和。
TPS:每秒钟系统能够处理的交易或者事务的数量。
点击率:每秒钟用户向Web服务器提交的HTTP请求数。
资源利用率:对不同的系统资源的使用程度,例如服务器的CPU利用率,磁盘利用率等。
请求成功率:Web服务器正确处理的请求数量和接收到的请求数量的比。 - Web性能测试的目标
(1)确定Web应用系统的总体性能参数,包括所支持的最大并发用户数、事务处理成功率、请求相应的往返延迟等。
(2)确定在各个级别的负载及压力测试下服务器输出的具体性能参数。 - Web应用系统性能测试的种类
压力测试测试系统的限制和故障恢复能力;负载测试测量Web系统在某一负载级别上的性能,保证系统在需求范围内能正常工作;强度测试测试系统在异常或极端条件(如资源减少或用户数过多)之下的可接受性,以验证系统要求的软硬件水平要求;数据库容量测试确定系统在给定时间内能够持续处理的最大负载或工作量;预期指标的性能测试;独立业务性能测试;组合业务性能测试; 疲劳强度性能测试在系统稳定运行的情况下,以一定的负载压力来长时间运行系统的测试,其主要目的是确定系统长时间处理较大业务量时的性能;网络性能测试旨在准确展示带宽、延迟、负载和端口的变化对用户响应时间的影响;大数据量测试针对对数据库有特殊要求的系统进行的测试,包括实时大数据量,极限状态下的测试以及前面两种的结合;服务器性能测试;一些特殊的测试包括指配置测试,内存泄露测试的一些特殊的Web性能测试。 - Web应用系统全面性能测试模型
Web全面性能测试模型包括三个部分:(1)Web性能测试策略模型,结合软件类型和用户对性能重视程度讨论Web性能测试策略制定的基本原则和方法(2)Web性能测试用例设计模型结合测试工具形成五类测试用例:预期指标的性能测试;并发用户的性能测试;疲劳强度和大数据量的性能测试;服务器性能测试;网络性能测试(3)模型使用方法讨论如何在工作中使用模型。 - Web应用系统性能测试流程
测试流程包括测试需求分析、测试计划制定与评审、测试用例设计与开发、测试执行与监控、测试经验总结。 - Web应用的功能测试
功能测试包括链接测试、表单测试、设计语言测试、数据库测试、Cookies测试和相关性功能检查。
表单:收集用户的信息和反馈意见,包括描述表单(例如,域,标签和用户在页面上看见的按钮)的HTML源代码和用于处理提交的信息的脚本或应用程序(如CGI脚本)。
设计语言测试主要关注语言版本的问题。
常见的数据库错误包括用户提交的表单信息不正确造成的数据一致性错误以及网络速度或程序设计问题等引起的输出错误。
相关性功能检查包括:数据的增删对其他项的影响;列表默认值检查;按钮的功能检查;字符串长度检查;字符类型检查;标点符号检查;特殊字符检查;中文字符处理;信息完整检查;信息重复检查;删除功能检查;添加和修改是否一致检查;检查修改重名;重复提交表单检查;多次使用返回键的情况检查;搜索检查;输入信息位置检查;上传下载文件检查;必填项检查;快捷键检查;Enter键检查;回退键检查;空格检查;输入法半角全角检查;密码检查;用户检查;系统数据检查;系统可恢复性检查;确认提示检查;数据注入检查;时间日期检查;多浏览器验证。 - Web应用的界面测试
界面测试目标:(1)Web界面的实现与设计需求、设计图保持一致,或者符合可接受标准。(2)使用恰当的控件,各个控件及其属性符合标准。(3)通过浏览测试对象可正确反映业务的功能和需求。(4)如果有不同浏览器兼容性的需求,则需要满足在不同内核浏览器中实现效果相同的目标。
Web界面测试内容:整体界面测试、控件测试、多媒体测试、内容测试、导航测试、容器测试、浏览器兼容性测试等。
Web页面测试的基本准则:易用性、正确性、规范性、合理性、实用性、一致性、美观与协调性、安全性。 - Web应用的客户端兼容性测试
包括平台测试和浏览器测试。 - Web应用的安全性测试
Web应用的安全一般要求:(1)能够对密码试探工具进行防范。(2)能够防范对cookie攻击等常用攻击手段。(3)敏感数据保证不用明文传输。(4)能防范通过文件名猜测和查看HTML文件内容获取重要信息。(5)能保证在网站收到工具后在给定时间内恢复,重要数据丢失不超过1小时。
Web应用安全性测试包括应用级的安全测试与传输级的安全测试。
应用级的安全测试:主要测试区域包括注册与登录、在线超时、操作留痕、备份与恢复。
传输级的安全测试:主要包括HTTPS和SSL测试、服务器端的脚本漏洞检查、防火墙测试、数据加密测试。