吐血整理,史上最全软件测试web测试要点!

程序员二黑 程序员二黑     2022-12-16     454

关键词:

最近看《软件测试》一书中对于Web测试要点的总结比较全面,之前做了脑图,但是图模糊,貌似也不方便看,所以发布文本版。

一、Web应用程序

应用程序有两种模式,C/S和B/S。C/S模式,即Client/Server(客户端/服务端)模式,这类程序可独立运行。B/S模式,即Browser/Server(浏览器/服务端)模式,这类程序需借助浏览器来运行。

Web应用程序一般是B/S模式,一个Web应用程序是由完成特定任务的各种Web组件(web components)构成的并通过Web将服务展示给外界。在实际应用中,Web应用程序是由多个Servlet、JSP页面、HTML文件以及图像文件等组成。

了解了Web应用程序,该如何进行测试呢?

二、功能测试

功能测试,是对产品的各功能进行验证。测试要点有:

链接测试
(1)所有的链接是否按指示链接到该链接的页面
(2)所链接的页面是否存在
(3)保证没有孤立页面

表单测试
(1)验证服务器能正确保存这些数据
(2)后台运行的程序能正确解释和使用这些信息

Cookies测试
(1)Cookies是否起作用
(2)Cookies是否按预定的时间进行保存
(3)刷新对Cookies有什么影响

设计语言测试
(1)不同版本的设计语言会引起客户端、服务端严重的问题

数据库测试
(1)数据一致性错误:提交表单信息不正确
(2)输出错误

相关功能性测试
(1)删除/增加某一项:是否对其他项造成影响,这些影响是否都正确
(2)列表默认值检查
(3)检查按钮功能是否正确:新建、编辑、删除、关闭、返回、保存、导入、上一页、下一页、页面跳转、重置(常见错误)
(4)字符串长度检查:超出长度
(5)字符类型检查
(6)标点符号检查:空格、各种引号、Enter键
(7)特殊字符:常见%、“、”
(8)中文字符:是否乱码
(9)检查信息完整:查看信息,查看所填信息是否完整更新;更新信息,更新信息与添加信息是否一致
(10)信息重复:需唯一信息处,比如重复的名字或ID、重名是否区分大小写、加空格
(11)检查删除功能:不选择任何信息,按Delete,看如何处理;选择一个或多个进行删除;多页选、翻页选删除;删除是否有提示
(12)检查添加和修改是否一致:添加必填项,修改也该必填;添加为什么类型,修改也该什么类型
(13)检查修改重名:修改时把不能重名的项改为已存在的内容
(14)重复提交表单:一条已经成功提交的记录,返回后再提交
(15)检查多次使用返回键:返回到原来页面,重复多次
(16)搜索检查:存在或不存在内容,看搜索结果是否正确;多个搜索条件,同时输入合理和不合理条件;特殊字符
(17)输入信息的位置
(18)上传下载文件检查:功能是否实现,上传:上传文件是否能打开、格式要求、系统是否有解释信息、将不能上传的文件格式修改后缀为可上传的文件格式;下载:下载是否能打开、保存、格式要求
(19)必填项检查:必填项未填写;是否有提示,如加*;对必填项提示返回后,焦点是否自动定位到必填项
(20)快捷键检查:是否支持快捷键Ctrl+C、Ctrl+V、backspace;对不允许做输入的字段(如:下拉选项),对快捷方式是否也做了限制
(21)Enter键检查:输入结束后按Enter键,系统如何处理
(22)刷新键检查:按浏览器刷新键如何处理
(23)回退键检查:按浏览器回退键如何处理
(24)空格检查:输入项输入一个或多个空格
(25)输入法半角全角检查:比如,浮点型,输入全角小数点“。”或“. ”,如4. 5;全角空格
(26)密码检查:输入加密方式的极限字符;密码尽可能长
(27)用户检查:不同种类管理员用户的不同权限,是否可以互相删除、管理、编辑;一般用户的权限;注销功能,老用户注销再注册,是否为新用户
(28)系统数据检查:数据随业务过程、状态的变化保持正确,不能因为某个过程出现垃圾数据,也不能因为某个过程而丢失数据。
(29)系统可恢复性检查:以各种方式把系统搞瘫,测试系统是否可以迅速恢复
(30)确认提示检查:系统更新、删除操作:是否有提示、取消操作;提示是否准确;事前、事后提示
(31)数据注入检查:对数据库注入,特殊字符,对SQL语句进行破坏
(32)时间日期检查:时间、日期、时间验证:日期范围是否符合实际业务;对于不符合实际业务的日期是否有限制
(33)多浏览器验证

三、易用性测试(界面测试)

整体界面测试
(1)给用户的整体感:舒适感;凭感觉能找到想要找的信息;设计风格是否一致

控件测试
(2)各控件的功能

多媒体测试
(1)图形要有明确的用途,图片、动画排列有序且目的明确
(2)图片按钮链接有效,并且链接的属性正确(比如是新建窗口打开、当前页面打开)
(3)背景图片应该与字体颜色和前景颜色相搭配
(4)检查图片的大小和质量:一般jpg、gif、png;不影响图片质量的情况下能使图片的大小减小到30kb以下
(5)gif动画是否设置了正确的循环模式,颜色是否正常
(6)Flash、Silverlight元素是否正常

导航测试
(1)站点地图和导航条:位置是否合理;页面结构

内容测试
(2)提供信息的正确性、准确性、相关性

容器测试
(1)DIV
(2)表格:作为控件,设置是否正确;长宽是否足够。作为较早的网页布局方式,考虑浏览器窗口尺寸的变化;内容动态增加或删除对界面的影响

四、兼容性测试

1.平台测试:windows;unix;macintosh;linux

2.浏览器测试:不同厂商的浏览器对Java、Javascript、ActiveX、plug-ins或不同的HTML的规格不同的支持;框架和层次结构在不同浏览器也不同的显示

五、安全性测试

安全性测试要求:
(1)能够对密码试探工具进行防范
(2)能够防范对Cookie攻击的常用手段
(3)敏感数据保证不用明文传输
(4)能防范通过文件名猜测和查看html文件内容获取重要信息
(5)能保证在网站收到工具后在给定时间内恢复,重要数据丢失不超过1小时

测试要点
(1)应用级的安全
应用级的安全测试目的在于查找Web系统自身程序设计中存在的安全隐患,测试区域有:

  • (1.1)注册与登录:有效、无效的用户名和密码;要注意是否存在大小写敏感;可以尝试多少次的限制;是否可以不登录而直接浏览某个页面
  • (1.2)在线超时:超时限制
  • (1.3)操作留痕:相关信息是否写入日志
  • (1.4)备份与恢复:数据库增量备份;数据库完全备份;系统完全备份
    (2)传输级的安全
  • 传输级的安全测试目的在于测试数据经过客户端传送到服务器可能存在的安全漏洞,服务器防范非法访问的能力,测试要点:
    • (2.1)HTTPS和SSL测试;服务器端的脚本漏洞检查;测试未经授权,就不能在服务器端放置和编辑脚本问题
      - (2.2)防火墙测试:防火墙功能;防火墙设置
      - (2.3)数据加密测试:对介入信息的传送、存取、处理人的身份和相关内容进行验证
      - (2.4)密钥:密钥的产生、分配保存、更换与销毁

六、性能测试

(1)压力测试:实际破坏一个Web应用系统,测试系统的反应,测试系统的限制和故障恢复能力
(2)负载测试:在某一负载级别上的性能,包括某个时刻同时访问Web的用户数量、在线数据处理的数量
(3)强度测试:测试对象在性能行为异常或极端条件下(如资源减少或用户过多)的可接受性,以此验证系统软硬件水平
(4)数据库容量测试:通过存储过程往数据库表中插入一定数量的数据,看是否能及时显示
(5)预期指标的性能测试:在需求分析和设计阶段会提出一些性能指标,对于预先确定的性能要求要首先进行测试
(6)独立业务性能测试:对核心业务模块做用户并发测试,包括同一时刻进行完全一样的操作、同一时刻使用完全一样的功能
(7)组合业务性能测试:模拟多用户的不同操作,最接近实际用户使用情况,按用户实际的实际使用人数比例来模拟各个模块的组合并发情况
(8)疲劳强度性能测试:系统稳定运行情况下,以一定负载压力来长时间运行系统的测试
(9)网络性能测试:准确展示带宽、延迟、负载、端口的变化是如何影响用户的相应时间的
(10)大数据量性能测试:实时大数据量,模拟用户工作时的实时大数据量;极限状态下的测试,系统使用一段时间,积累一段数据量时能否正常运行,以及对前面两种进行结合
(11)服务器性能测试:在进行用户并发性能测试、疲劳强度、大数据量性能测试时,完成对服务器性能的监控,并进行评估
(12)一些特殊的测试:配置测试、内存泄漏的一些特殊测试

最后,下面是我整理出来的一份软件测试工程师发展方向知识架构体系图。

希望大家能在这个成长过程中收益良多。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

由于CSDN上传图片大小有限,有需要的朋友可以关注我的公众号:程序员二黑,回复1,即可获取原图。

下面是一份配套的软件测试资源包:

上面是一些配套资源,对于软件测试的的朋友来说应该是最全面最完整的备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

关注我的微信公众号:程序员二黑,即可免费获取!

最困难的时候,也就是我们离成功不远的时候!如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的群:785128166 大家一起讨论交流学习。

推荐阅读

高薪程序员也躲不过35岁这一关…当能力与年龄脱节,我们该如何自救?

清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+

字节跳动软件测试岗,前两面过了,第三面HR天坑!竟然跟我说……

万字长文,整理到吐血!linux最全命令总结

关注我,每天分享软件测试技术干货、面试经验,想要领取测试资料、进入软件测试学习交流群的可以直接加群644956177~~这篇文章主要向大家介绍Linux命令本身总结,主要内容包括基础应用、实用技巧、原理机制等方面࿰... 查看详情

史上最全自然拼读法,看完这篇就够了

吐血整理史上最全自然拼读法---转需收藏……自然拼读教学法又被称为“Phonics”,Phonics已经在欧美国家流行百年,是自然形成的一种发音规则,作为英语母语国家的孩子学习英语读音和拼写的教学法,它主要教授... 查看详情

史上最全软件测试工程师常见的面试题总结多测师

1)负载测试和压力测试区别?2)1000个用户的并发测试怎么测?3)一个杯子从哪方面测?4)jenkins怎么用的?5)第一个项目哪些方面做了自动化?6)哪些方面可以做性能测试?7)搭建性能环境从哪几个方面考虑?8)手机app测试和web测试的... 查看详情

史上最全-appium自动化测试框架

参考技术A“appium是一个开源的移动端自动化测试框架,可以测试原生的、混合的以及移动端的web项目,appium是跨平台的,可以运行在osx、windows以及linux桌面系统上,用来测试ios、android应用”Selenium2004年,Thoughtworks的员工JasonHuggi... 查看详情

史上最全的测试用例设计方法总结(代码片段)

测试用例的设计方法(全)等价类划分方法:一.方法简介1.定义是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒... 查看详情

史上最全软件测试工程师常见的面试题总结多测师

1.自动化的测试原理?2.100个用户同事发帖  XXX  你希望的团队是怎么样子的?XXX3.连接俩个字符串使用什么命令??4.SCP和SFTP的区别?5.数据库的数据类型?6.你们公司是如何评价一个软件的质量的?7.你工作几年了... 查看详情

金九银十,史上最强java面试题整理。

以下会重新整理所有Java 系列面试题答案、及各大互联网公司的面试经验,会从以下几个方面汇总,本文会长期更新。Java面试篇史上最全Java面试题,带全部答案史上最全69道Spring面试题和答案史上最全Java多线程面试题及答案... 查看详情

史上最全量化资源整理

有些国外的平台、社区、博客如果连接无法打开,那说明可能需要“科学”上网量化交易平台国内在线量化平台:BigQuant-你的人工智能量化平台 -可以无门槛地使用机器学习、人工智能开发量化策略,基于python,提供策... 查看详情

史上最全wireshark使用教程,8万字整理总结,建议先收藏再耐心研读

 目录第 1 章 介绍...11.1. 什么是Wireshark.11.1.1. 主要应用...11.1.2. 特性...11.1.3. 捕捉多种网络接口...21.1.4. 支持多种其它程序捕捉的文件...21.1.5. 支持多格式输出...21.1.6. 对多种协议解码提供支持...21.1.7. 开源软件...21.1.8. Wire... 查看详情

史上最全wireshark使用教程,8万字整理总结,建议先收藏再耐心研读

 目录第 1 章 介绍...11.1. 什么是Wireshark.11.1.1. 主要应用...11.1.2. 特性...11.1.3. 捕捉多种网络接口...21.1.4. 支持多种其它程序捕捉的文件...21.1.5. 支持多格式输出...21.1.6. 对多种协议解码提供支持...21.1.7. 开源软件...21.1.8. Wire... 查看详情

全网最全性能优化总结!!(冰河吐血整理,建议收藏)

大家好,我是冰河~~随着互联网的高速发展,互联网行业已经从IT时代慢慢步入到DT时代。对于Java程序员的要求越来越高,只是单纯的掌握CRUD以不足以胜任互联网公司的相关职位,大量招聘岗位显示:如果是面... 查看详情

java史上最全知识点整理

偶然从一个网友群中发现了整理的这份资料,不论是从整个Java知识体系,还是从面试的角度来看,都是一份含技术量很高的资料。也不知道这位作者是谁,里面的内容也大多整理来自于互联网,但很明显的是这位作者为了整理... 查看详情

❤️❤️harmonyos(鸿蒙)全网最全资源汇总,吐血整理,赶紧收藏!❤️❤️

目录一、HarmonyOS简介1.1系统定位1.2系统特性2、精品资源总结2.1官网地址2.2论坛地址2.3视频地址2.4API手册2.5开发工具地址2.5超强官方资料一、HarmonyOS简介1.1系统定位HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在... 查看详情

史上最全的邮箱测试方法!

前言我们在以后的测试工作中,可能或多或少的会要去测试关于邮箱地址的功能,不管是登录,还是注册,还是绑定邮箱地址。那么首先,我们得了解一下邮箱地址的组成邮箱地址的组成,分为3个部分,即:邮箱名@域名例如:3... 查看详情

软件测试面试?太简单了2023测试面经(答案+思路+史上最全)

从年后开始投简历面试的,在boss和拉钩上投了有几十份简历,其中70%未读状态,30%已读,已读的一半回复要求发送附件简历,然后这周接到面试的有七、八家公司,所以,当前这个大环境真的难这半个... 查看详情

第二弹:史上最全操作系统面试整理(附答案),不服来战!!(代码片段)

史上最全,不接受反驳!!!!!!!另外,文末也给出了PDF版本,记得给帅地一个赞啊!!切勿只收藏不给赞哈,20万字面试文档也送给大家!!!1、简单说下你对... 查看详情

史上最全web.xml配置文件元素详解

一、web.xml配置文件常用元素及其意义预览二、各个配置元素详解1.Web应用图标:指出IDE和GUI工具用来表示Web应用的大图标和小图标2.Web应用名称:提供GUI工具可能会用来标记这个特定的Web应用的一个名称3.Web应用描述:给出于此... 查看详情

史上最全pycharm(mac+windows版)快捷键整理,建议收藏备用

...荐阅读PyCharm应该是最常用的Python编辑器之一了,今天整理了一份PyCharm快捷键大全,包含了Mac和Windows版本,建议收藏备用。Mac版快捷键大全符号说明⌘Command⇧Shift 查看详情