目录
WEB测试
WEB测试是指对网站或Web应用程序进行测试的过程,旨在确保其功能正常、性能稳定、安全可靠以及用户体验良好。
对象:PC端 B/S、C/S架构
Web测试分为五个部分:
1.用户界面(UI)测试:导航测试、图形测试、内容测试、表格测试、整体界面测试+易用性测试
2.功能测试:业务流程测试、表单+数据库测试、链接测试、Cookies测试、设计语言测试
3.兼容性测试
4.安全测试
5.性能测试:负载测试、压力测试、并发测试、稳定性测试、弱网测试、接口测试
用户界面测试
导航测试
导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,或在不同的连接页面之间跳转。
导航测试可以从以下几个方面考虑:
1.导航是否直观
2.WEB系统的主要部分是否可以通过主页存取
3.WEB系统是否需要站点地图、搜索引擎或其他导航帮助
图形测试--设计图
WEB系统中的图形包括图片、动画、边框、颜色、字体、背景、按钮等(参考UI设计图)
图形测试可以从以下几个方面考虑:
- 要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。WEB 应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情。一般都链接到某个具体的页面。(商品需求、文章详情)
- 验证所有页面字体的风格是否一致
- 背景颜色应该与字体颜色和前景颜色相搭配。
- 图片的大小和质量也是一个很重要的因素,一般采用 JPG 或 GIF 压缩,最好能使图片的大小减小到 30K 以下 - 要保证图片清晰度也要保证图片加载速度
- 最后,需要验证的是文字回绕是否正确。如果说明文字指向右边的图片,应该确保该图片出现在右边。不要因为使用图片而使窗口和段落排列古怪或者出现抓行。
- 通常来说,使用少许或尽量不使用背景是个不错的选择。如果您想用背景,那么最好使用单色的,和导航条一起放在页面的左边。另外,图案和图片可能会转移用户的注意力。
内容测试
内容测试用来检验WEB应用系统提供的信息的正确性、准确性和相关性
图形测试可以从以下几个方面考虑:
- 信息的正确性是指信息是可靠的还是误传的。比如 XXX 实际面积有 2W 平方米,但网页信息显示为 3W 平方米,那信息就有误导性。
- 信息的准确性是指是否有语法或拼写错误。
- 信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口。
所有页面文案都要进行检查,确保没有歧义和错别字
表格测试
WEB页面中的表格经常与其他界面元素一起协调作用,主要承载数据的归纳、展示与对比的功能,属于列表,静态数据
表格测试可以从以下几个方面考虑:
- 列表、列宽是否合理
- 列表数据太宽有没有提供横向滚动(水平滚动条、垂直滚动条)
- 列表的列名有没有与内容对应
- 列表的每列的列名是否描述得清晰
- 列表是否把不必要的列都显示出来(需求会写到)
- 点击某列进行排序,是否会报错(点击查看每一页的排序是否正确)
- 双击或单击某列信息,是否会报错
整体界面测试+易用性测试
可以从以下几个方面入手
- 风格、样式、颜色是否协调
- 界面布局是否整齐、协调(保证全部显示,尽量不用滚动条)
- 界面操作、标题描述是否恰当(避免歧义、注意错别字)
- 操作是否符合常规习惯(相似功能控件是否集中放置,方便操作)
- 提示界面是否规范(如用中文 “确定” 而非英文 “cancel、ok”)
- 界面中控件是否对齐
- 是否支持 Tab 键,键顺序是否条理,不混乱
- 是否提供相关热键(快捷键)
- 控件提示语描述是否正确(风格统一)
- 模块调用是否统一,相同模块是否调用同一界面
- 用滚动条移动页面时,控件显示是否正常
- 窗口标题或图标与菜单栏是否统一
- 窗口最大化、最小化能否正确切换
- 执行风险操作时,是否有确认、删除等提示
功能测试
业务流程测试
业务流程一般会涉及到多个功能模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试。
表单+数据库测试
WEB应用系统中的表单主要用来收集和记录用户输入的信息,如注册表单、调查问卷、订单表单等,动态数据
表单测试可以从以下几个方面考虑
1.前端相关表单功能正常工作 --- 编写脚本检验,判断数据是否合法
2.后台数据库正确处理表单数据
3.后端正确解释和使用表单数据 --- 数据校验【测试方法:边界值、等价类等】
链接测试
链接是进行页面切换的主要手段,链接测试主要是保证链接的可用性和正确性
链接测试可以从以下几个方面来考虑
- 首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;
- 其次,测试所链接的页面是否存在;
- 最后,保证 WEB 应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的 URL 地址才能访问。(href =“#”,将链接的目标指定为当前页面本身)
在整个WEB应用系统的所有页面开发完成后进行测试,属于集成测试阶段。
可使用如下自动化工具
1.Xenu Link Sleuth
死链接检查工具:Xenu 使用教程 - 牵只蜗牛去散步 - 博客园
2.HTML Link Validator
HTML Link Validator - Download
3.Web Link Validator
Cookies测试
设计语言测试
兼容性测试
WEB兼容性测试(Compatibility Test Suite)是测试软件在特定的硬件平台、不同的应用软件[Chrome、Edge等]之间、不同的操作系统平台上、不同的网络等环境中是否能够正常运行的测试
WEB的兼容测试可以从以下几个方面考虑:
- 浏览器兼容测试:测试程序在不同浏览器上是否可以正常运行,功能能否正常使用;(B/S) IE内核【360兼容模式、搜狗、QQ】 FireFox内核 【火狐】 Chrome内核【360极速模式、搜狗高速模式】
- 屏幕尺寸和分辨率兼容测试:测试程序在不同分辨率下能否正常显示;(B/S)
- 操作系统兼容测试:测试程序在不同的操作系统下面能否正常运行,功能能否正常使用,显示是否正确等;Win XP Win7 Win8 Win10 Win11 Mac Linux
- 不同设备型号兼容测试:主要针对于 APP,现在移动设备型号五花八门,主要测试 APP 在主流设备上能否正常运行,会不会出现崩溃的现象
全手工即可,主要测试被测软件在主流浏览器和常用操作系统上的主流程和主界面
也有工具,不过不好用:
WEB兼容测试工具:IEtester(离线)、SuperPreview(离线)、Browsershots(在线)
原理就是快速打开页面返回运行截图
安全测试
安全指的是软件产品符合安全需求定义和产品质量标准
对比项目 | 通常测试 | 安全测试 |
---|---|---|
目标 | 以发现 BUG 为目标 | 以发现安全隐患为目标 |
假设条件 | 假设导致问题的数据是用户不小心造成的,接口一般只考虑用户界面 | 假设导致问题的数据是攻击者处心积虑构造的,需考虑所有可能的攻击途径 |
思考域 | 以系统所具有的功能为思考域 | 思考域不但包括系统功能,还有系统机制、外部环境、应用与数据自身安全风险与安全属性等 |
问题发现模式 | 以违反功能定义为判断依据 | 以违反权限与能力的约束为判断依据 |
安全测试可以从以下几个方面考虑:
XSS、CSRF、URL跳转、SQL注入、命令注入、文件操作漏洞
SQL注入:
SQL 注入即是指 web 应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在 web 应用程序中定义好的查询语句的结尾上添加额外的 SQL 语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息,甚至实现无账号登录,篡改数据库等。
性能测试
性能测试是借助自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。涉及负载测试、压力测试、并发测试、稳定性测试、弱网测试 一定要模拟真实环境
性能指标
时间特性:平均事务响应时间,吞吐率,TPS(每秒事务数)
资源特性:CPU、 内存、磁盘、IO、 网络带宽、队列、 共享内存的占用
负载测试
负载测试是确定在各种工作负载下系统的性能,目的是测试当负载逐渐增加时,系统的各项性能指标的变化情况,得到最大能接受的负载指标和性能参数
压力测试
压力测试是确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试
压力测试着重考察服务器性能。在高并发场景下,测试服务器的 CPU、内存占有率,系统吞吐量 TPS(每秒事务处理数)、事务响应时间以及事务成功率
压力测试和负载测试可以结合进行
工具:Jmeter,模拟大量并发用户向服务器发送请求
APP测试
APP测试是对手机上的软件APP进行测试并发现软件缺陷,保证并提高软件质量的一个过程。而手机本身符合多种网络、不同系统、不同分辨率,因此涉及到硬件测试和软件测试,还有结构的测试
对象:移动端 Android IOS
补充:H5测试 移动端的web、wap页面
小程序测试 移动端微信小程序
- 手机APP:系统软件、应用软件 电脑的应用软件也是一样的进行APP测试
- 软件测试(应用)、硬件测试(平台)、嵌入式测试(软件+硬件)
- 术语:移动端操作系统、屏幕尺寸、分辨率、像素、网络制式、其他术语
拓展:网络制式GSM/CDMA/TD-LTE/FDD-LTE... 主要按照运营商和3G/4G/5G网络划分;4G网络后各大运营商制式统一,“全网通”
RAM: 运行内存
ROM:存储内存
ROOT:最高权限
APP/APK:软件应用程序包
AVD:android virtual device 虚拟设备,模拟器
ADT: android development tools eclipse开发插件
Android sdk:software development kits 安卓软件开发工具包和运行模拟器
APP测试分为四个部分:
1.功能测试:功能业务测试【业务逻辑测试、功能点测试、关联性测试】 、UI测试
2.专项测试:兼容性测试(适配测试)、异常测试(断网、断电、服务器异常等)、安装/卸载/升级测试、 流量测试、电量电流测试(耗电测试)、内存占用测试、推送消息测试
3.安全测试
4.性能测试:极限测试、效率测试、压力测试、稳定性测试、弱网测试、接口测试
功能测试
业务逻辑测试
业务逻辑测试主要测试客户端业务是否能正常使用
功能点测试
功能点测试主要测试客户端功能点是否正常使用
关联性测试
关联性测试主要测试移动端与PC端的交互,移动端处理完成后,PC端与移动端数据是否一致
UI测试---设计图
UI测试主要测试用户使用的界面(如菜单、对话框、窗口和其他控件)布局是否满足用户需求、界面是否美观,文字、图片组合是否完美,操作是否流畅等
专项测试
兼容性测试(适配测试)
基本概念一致
APP兼容测试可以从以下几个方面考虑:
- 不同手机屏幕分辨率的兼容性,如 1024*768,1280*720,1920*1080
- 不同操作系统的兼容性性,如 Android4.0 5.0 7.0 9.0 版本,IOS 的 8.5 11 等。
- 不同手机品牌(厂家)的兼容性,如华为、小米、oppo 、vivo、iphone
- 不同手机尺寸的兼容性,如 4.0 5.5 6.0 7.0 等
- 不同网络类型
确保 APP 能够正确的使用,并且页面布局正确
重点: 操作系统
如何获取各种型号配置的手机?
- 自行购买或借用设备来实施
- 第三方云测试平台解决:testin, 腾讯优测,贯众云测试,百度 MTC, 阿里 MQC
- 借助模拟器来实施 - 免费
异常测试
异常测试,主要包含断网、断电、服务器异常等情况下,客户端能否按异常处理机制正常处理
交互性异常测试(干扰测试):移动端作为专项测试,包含被打扰的情况,可从以下几个方面入手
- 玩游戏,看视频等时来电来信息是否有影响
- 注意硬件的交互,如通话中插拔数据线、耳机线等
- 设备被占用---例如视频时播放语音
- 熟悉该占用的app用到哪些资源
弱网测试
弱网测试模拟不同网络情况和丢包率,检验游戏在弱网环境下的运行表现。关注游戏在弱网下的连接稳定性、数据传输准确性、操作响应及时性,以及错误提示和恢复机制是否有效,确保玩家在网络不佳时仍能有基本的游戏体验
弱网测试可以从以下几个方面考虑:
弱网
断网
运行App时断掉网络
网络切换
工具:Windows:Fiddler 或者 network emulator for Windows Toolkit
MAC:Charles 或者 network link conditioner
网络测试
-
断网
-
运行App时断掉网络
-
-
网络切换
安装/卸载/升级测试
安装/卸载测试主要针对编译后的源程序生成的APK文件进行测试
安装/卸载测试可以从以下几个方面考虑:
- 生成的APK文件在真机上能否进行安装、卸载
- Android手机端的通用安装工具,如手机助手、商城等功能能否进行安装、卸载
- 启动页面(安装向导)的正确性
- 卸载完毕后再安装
安装测试
1)软件在不同操作系统(Palm OS、Symbian、Linux、Android、iOS、Black Berry OS 、Windows Phone )下安装是否正常。
2)软件安装后的是否能够正常运行,安装后的文件夹及文件是否写到了指定的目录里。
3)软件安装各个选项的组合是否符合概要设计说明
4) 软件安装向导的UI测试
5)软件安装过程是否可以取消,点击取消后,写入的文件是否如概要设计说明处理
6)软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电)
7)安装空间不足时是否有相应提示
8)安装后没有生成多余的目录结构和文件
9)对于需要通过网络验证之类的安装,在断网情况下尝试一下
10)还需要对安装手册进行测试,依照安装手册是否能顺利安装
11)安装时对app的说明,例如版本号、适合安装的手机系统版本要求等
12)安装时获取的一些权限,例如摄像头、录音等
13)安装后再次安装,或者app更新安装
14)安装后app的图标,名称显示
15)安装过程中的提示信息正常
卸载测试
1)直接删除安装文件夹卸载是否有提示信息。
2)测试系统直接卸载程序是否有提示信息。
3)测试卸载后文件是否全部删除所有的安装文件夹。
4)卸载过程中出现的意外情况的测试(如死机、断电、重启)。
5)卸载是否支持取消功能,单击取消后软件卸载的情况 。
6)系统直接卸载UI测试,是否有卸载状态进度条提示 。
7)卸载后是否有残留文件夹
升级测试主要关注当新版本发布后,要配合不同网络环境下自动更新的提示以及手动下载、安装、更新、启动、运行的验证测试
升级测试可以从以下几个方面考虑:
- 保证数字签名一致,升级前后的应用数字签名要一致
- 保证升级后应用可以正常使用
- 在线跨版本升级是否正常(1.0 2.0 忽略 3.0)
- 升级安装意外情况的测试(如死机、断电、重启)
- 升级界面的 UI 测试
- 不同版本间的升级测试
流量测试
流量测试可以从以下几个方面考虑:
- 流量占用情况
- 后台流量使用情况
电量电流测试(耗电测试)
耗电测试可以从以下几个方面考虑:
- 正向耗电测试(直接测试耗电量)
- 逆向耗电测试(系统资源占用情况分析计算)
- 后台耗电测试
内存占用测试
内存占用测试有如下标准
- 尽量避免内存占用为标准
- 有些资源尽量放在服务器
推送消息测试
推送消息测试可以从以下几个方面考虑:
- 系统推送服务
- 短信
安全测试
APP安全主要指APP用户的授权级别、数据泄露、非法授权访问、有效性校验、认证、敏感数据存储、数据加密等方面
APP安全测试可以从以下几个方面考虑:
- 扣费风险:包括发送短信、拨打电话、连接网络等
- 隐私泄露风险:包括访问手机信息、访问联系人信息等
- 对 App 的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检
- 限制 / 允许使用手机功能接入互联网
- 限制 / 允许使用手机发送接受信息功能
- 限制 / 允许应用程序来注册自动启动应用程序
- 限制或使用本地连接
- 限制 / 允许使用手机拍照或录音
- 限制 / 允许使用手机读取用户数据
- 限制 / 允许使用手机写入用户数据
- 检测 App 的用户授权级别、数据泄漏、非法授权访问等
性能测试
极限测试
极限测试是测试在各种边界压力的情况下,如电池、内存、网速使用大时验证PP是否正确响应
效率测试(用户体验度)
效率测试关注启动时间、响应时间(2、5、8)、界面流畅度
压力测试
压力测试可以从以下几个方面考虑:
- 反复/长期操作下、系统资源是否占用异常
- 反复安装、卸载
- 共有资源反复使用 --- 播放视频时播放音乐
稳定性测试
稳定性测试可以从以下几个方面考虑:
- 在一定的负载下长时间运行后的表现
工具:Monkey
游戏测试/app测试/web测试/金融产品测试流程一样吗?有什么区别?
流程没有区别
区别点:平台不一样
业务场景不一样(靠工作经验积累)
测试方法有一些专项测试
测试方法:同样用黑盒测试方法