01 Web测试
1.1 什么是Web测试
Web测试是软件测试的一部分,是针对Web应用的一类测试。由于Web应用与用户直接相关,又通常需要承受长时间的大量操作,因此Web项目的功能和性能都必须经过可靠的验证
1.2 分类
Web测试的类型包括内容测试、界面测试、功能测试、性能测试、兼容性测试、安全性测试等。内容测试、界面测试和兼容性测试比较简单,Web的功能测试与传统的软件测试区别不大,主要是在连接测试方面有点区别,数据的传递方面会稍微复杂点
1.3 功能测试
包括链接测试,表单测试,Cookie测试,数据库测试
1.3.1 链接测试
首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问
1.3.2 表单测试
当用户通过表单提交信息的时候,希望能正常工作。如果使用表单来进行在线注册,要确保提交按钮能正常工作,当注册完成后应返回注册成功的消息。如果使用表单收集配送信息,应确保程序能够正确处理这些数据,最后能让用户收到信息
要测试这些程序,需要验证服务器是否能正确保存这些数据,而且后台运行的程序能否正确解释和使用这些信息。当用户使用表单进行用户注册、登录、信息提交等操作时,必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。如果使用默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试
1.3.3 Cookie测试
Cookie通常用来存储用户信息和用户在某些应用系统的操作,当一个用户使用Cookie访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookie的形式存储在用户端计算机上,这可用来创建动态和自定义页面或者存储登录等信息
如果Web应用系统使用了Cookie,就必须检查Cookie是否能正常工作。测试的内容可包括Cookie是否起作用、是否按预定的时间进行保存、刷新对Cookie有什么影响等
如果在Cookie中保存了注册信息,应确认该Cookie能够正常工作而且已对这些信息加密。如果使用Cookie来统计次数,需要验证次数累计是否正确
1.3.4 数据库测试
在Web应用中,最常用的数据库类型是关系型数据库,一般情况下可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,可分别测试
1.4 性能测试
1.4.1 连接速度测试
如果Web系统响应时间太长(例如超过5s),用户就会因没有耐心等待而离开。另外,有些页面有超时的限制,如果响应速度太慢,用户可能还来不及浏览内容,就需要重新登录了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面
1.4.2 负载测试
负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试
1.4.3 压力测试
压力测试的区域包括表单、登录和其他信息传输页面等。进行压力测试是指实际破坏一个Web应用系统,测试系统的反应。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃
1.5 兼容性测试
1.5.1 平台测试
Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。因此,在Web系统发布前,需要在各种操作系统下对Web系统进行兼容性测试
1.5.2 浏览器测试
浏览器是Web客户端最核心的构件,不同的HTML规格有不同的支持。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不同。测试浏览器兼容性的一个方法是创建兼容性矩阵
1.5.3 组合测试
最后需要进行组合测试。。如果公司指定使用某个类型的浏览器,那么只需在该浏览器上进行测试
1.6 安全测试
安全测试是检验在系统中已存在的系统安全性、保密性措施是否发挥作用
目录设置:正确设置目录
SSL:使用SSL进行安全传送,确定是否有相应的替代页面
登录:验证系统阻止非法的用户名/口令登录
日志文件:注意验证服务器日志是否正常
脚本语言:脚本语言是常见的安全隐患
1.7 接口测试
服务器接口
第一个需要测试的接口是浏览器与服务器的接口,测试提交事务,然后查看服务器记录,并验证在浏览器上看到的正好是服务器上发生的
错误处理
最容易被忽略的地方是接口错误处理,通常试图确认系统能够处理所有错误,但却无法预期系统所有可能的错误。可以尝试在处理过程中突然中断事务,或是尝试中断用户到服务器的网络连接,或者尝试中断Web服务器到信用卡验证服务器的连接,在这些情况下,系统能否正确处理这些错误.
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。