马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
随着Web技能的不停演进,测试除了对应用的功能性、界面雅观性、跨平台兼容性的基本要求外、安全性和性能的要求也逐步增高。因此,全面、体系的测试思维和策略成为了保证Web应用高质量的关键因素。本篇文章将从功能测试、界面测试、兼容性测试和安全测试四个方面,深入梳理测试要点,确保Web应用在各个层面上都能满足用户和业务的需求。通过这篇文章,希望对于构建全面测试思维,提供一些帮助。
前言
一、功能测试
1、表单测试
表单一般指在界面举行数据提交操纵的,包罗新增和修改数据,例如注册。它涉及到的测试包罗以下方面,每个点的验证都要思量有效及无效输入的环境:
- 输入框测试: 思量长度、数据范例、必填、唯一性约束、空格、及业务相关约束;
- 下拉框测试: 思量默认值展示、下拉框数据完备性及精确性、手动输入值模糊匹配、选择第一个/末了一个/中间一个/业务常见选取的操纵举行测试、联动选择(例省市区选择);
- 单选: 选与不选
- 多选: 思量单一选择、多个组合选择(两两组合、3个组合、全部组合、常见业务组合环境)
- 文件上传: 例如图片、视频、excel、txt等。
- 假如是图片、视频类文件,思量文件大小、格式、尺寸、数目、视频时长等;
- 假如是excel/txt文件,除了思量自己文件大小、格式、数目;还需思量文件包罗数据内容验证:长度、数据范例、必填、唯一性约束及业务常见约束、表单、是否可读取多个表单
- 表单提交按钮: 是否支持回车/单击、快速多次点击是否重复提交表单、网络中断(弱网)提交、提交之后是否有提示、提交后内容显示是否精确、敏感数据是否加密、提交是否做权限校验控制、多人针对表单同时操纵的场景测试。
2、搜刮测试
搜刮功能的测试,必要关注输入的搜刮条件以及对应搜刮结果的精确性。搜刮条件一般主要包罗2种:输入框搜刮条件、下拉框搜刮条件。
1-对于多个条件的页面搜刮可以按照下面的顺序去举行测试(假设搜刮条件为4个):
- 任单个条件查询:思量正常输入搜刮、模糊搜刮、超长搜刮、不存在与之匹配的条件、为空输入;
- 任两个组合查询:确保任两个组合查询的精确性验证,验证两个组合的所有环境;
- 三个组合查询:不必要测试三个组合的全部组合。由于前面针对所有单个条件的搜刮、两个组合的所有组合举行测试了,那么在这里选择2-3组三种组合举行测试即可;
- 全条件组合查询:确保最大组合的精确性;
- 默认条件查询:增补默认条件查询的用例;
- 根据需求大概业务规则选取重点条件组合查询,假如此点与前面4点重复,不需重复测试。
2-搜刮条件还有一种常见的环境:时间输入框
关于按时间来搜刮的测试点,可以从以下思量:
- 开始时间=竣事时间,验证一天范围的数据;
- 开始时间<竣事时间,验证跨天、跨月、跨年的数据;
- 开始时间大于/小于当前时间,若是针对出生年月搜刮,验证大于的环境;若是定时任务时间搜刮验证小于的环境;
- 只输入开始时间大概只输入竣事时间;开始时间和竣事时间都不输入;
- 竣事时间早于开始时间,验证体系是否给予合理提示;
- 验证是否支持手动输入时间,并注意时间格式验证例如20180612格式
3-搜刮功能的重点:落在搜刮结果的完备性及精确性验证!
如何举行搜刮结果的精确性验证? 对比后台或数据库数据是否一致。当数据量大,那么
- 看数目是否一致:页面显示10条 vs 后台/数据库查询得出10条
- 挑选此中第一、末了、中间一条对比:页面显示 vs 后台/数据库查询
一般搜刮结果数据量大的环境下,还必要关注一个功能:翻页
- 首页、上一页、下一页、尾页功能验证;注意首页环境下,上一页是否支持点击;尾页环境下,下一页是否支持点击;
- 总页数、当前页数精确性验证;
- 指定跳转页验证;例如输入8,点击跳转那么是否能正常跳转到第8页的数据;且还注意下跳转的有效范围是1-总页数 ;所以我们思量1、最大页数的有效值验证,且也必要思量0、总页数+1、负数/小数/非数字、空的非常值验证
3、删除测试
所有删除操纵必要关注当前页面及关联功能页面的数据是否被正常删除,页面不做显示。测试点思量如下:
- 不选择数据,点击删除,是否合理提示
- 选择一条数据,点击删除,页面不显示
- 一连删除多个产品,是否支持批量删除
- 选择全选,点击删除,页面数据被清空
- 删除一个有关联性的数据,是否提示
- 删除数据后,再次点击添加,是否正常添加成功
除了页面不显示之外,对于数据库表数据,分逻辑删除、物理删除2种环境。界面删除操纵,对于数据库通常是逻辑删除:
- 逻辑删除:假删除,对应数据库表中有个字段(例is_deleted)会举行标记1删除,0未删除。该条记载在数据库中仍然存在。
- 物理删除:对应数据库表中的数据,真实删除了。
4、业务流程测试
除了单个功能的流程验证外,功能与功能串联起来的各种业务场景,也是功能测试的重点,通常采用场景法来做分析。例如电商项目有从浏览商品到下单购买的业务场景、也有取消订单与退款退货的流程等
- 单个功能的流程:例如用户在搜刮栏输入商品关键词(如“手机”)-->点击搜刮按钮-->搜刮结果页显示相关商品。
- 功能与功能串联的业务场景流程:例如用户注册-->用户登录-->搜刮商品-->浏览商品详情页-->加入购物车-->提交订单-->付出-->跳转订单详情页,订单状态更改为:待发货。
二、界面测试
界面测试通常来说,只要对比产品的原型图,是一致的,就测试通过。但也有可能存在原型图覆盖不到的页面,且作为专业测试来说,基于当前产品原型设计,我们也可以关注:
界面布局是否合理、团体风格是否一致、各个控件的放置位置是否符合客户利用习惯,此外还要测试界面操纵便捷性、导航简单易懂性,页面元素的可用性,界面中文字是否精确,命名是否同一,页面是否雅观,文字、图片组合是否完美等等。
具体来说,好比:
1、导航测试
导航是指位于页面顶部大概侧边地区的,它起着链接站点大概软件内的各个页面的作用。
例如是否易于导航?导航是否直观?Web体系的主要部分是否可通过主页存取?Web应用体系导航帮助要尽可能地准确。Web体系是否必要站点地图、搜刮引擎或其他的导航帮助?页面结构、导航、菜单、毗连的风格是否一致?
2、图形测试
图形可以包罗图片、动画、边框、颜色、字体、配景、按钮等。
例如要确保图形有明白的用途。好比banner页图片的广告宣传。所有页面字的风格、颜色、格式是否一致?配景颜色是否与字体颜色和前景颜色相搭配?图片的大小和质量也是一个很重要的因素,不失真?必要验证的是文字回绕是否精确。假如说明文字指向右边的图片,应该确保该图片出现在右边。
3、内容测试
用来检验Web应用体系提供信息的精确性、准确性和相关性。
例如信息的精确性是指信息是可靠的还是误传的?信息的准确性是指是否有语法或拼写错误?信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口?
4、表格测试
表格经常和其他界面元素一起协同利用,主要承载数据的归纳、展示与对比的功能,是列表的一种。
- 存在筛选条件、搜刮控件,是否列于页面上方?
- 对于日期筛选条件,是否单独处理,展示出来?
- 对于多个搜刮条件的场景,是否采用高级搜刮按钮并将其打包收起?
- 对于多个搜刮条件的场景,是否配置重置按钮,便于一键清空所有搜刮条件?
- 在数据显示超过多条时(一屏无法完全显示,必要滚动查看时),且表格中的数据不能直观的展示出数据范例,是否采用固定表头的形式,时间显示数据范例
- 当字段数目过多,必要横向滚动表格,且必要对比数据时,采用固定属性列字段
- 是否支持排序,上下箭头指示排序,一般上下空心箭头默认,上箭头为升序,下箭头为降序
三、兼容测试
不同的操纵体系平台、浏览器、分辨率举行测试。web应用主要是思量浏览器的兼容性测试。浏览器很多,时间成本等条件约束下,思量主流浏览器的兼容性。
1、开展人工测试,测试web应用在主流浏览器显示正常,不会有页面错乱错位等。
主要是页面的格式,字体,输入框,下拉框,复选框,按钮等的检查;页面显示是否正常等。一般穿插在功能测试中同步检查。
2、也可以借助一些第三方测试工具
例如IETester、BrowserShots等,详见我之前写过的一篇文章 8 款浏览器兼容性测试工具先容,必要的赶紧收藏吧!
四、安全测试
安全测试内容是很多测试人员在测试中,不太会关注大概本领范围内关注不到的一个领域,很多公司的安全测试会找专业第三方安全公司来做。但作为专业测试,在一个web应用的测试流程中,可以去增补思量一些业务层面的安全测试要点。好比:
1. 身份验证和授权
- 弱口令测试 :检查是否用户设置过于简单或常见的密码,确保有强密码策略。
- 多因素认证 :验证多因素认证是否精确配置和执行,防止单一身份验证被攻破。
- 权限管理 :测试不同角色和用户的权限是否精确设置,确保用户只能访问其授权范围内的资源。可以通过抓包修改参数,例如身份id、属性id,验证是否存在越权。
- 会话管理 :检查会话超时设置,验证会话在注销或超时后是否彻底烧毁,避免会话挟制。
2. 输入验证
- SQL注入 :测试所有用户输入是否经过精确的过滤和处理,防止SQL注入攻击。如输入某些特殊的SQL语句或SQL片断。' or 1=1- -
- 跨站脚本(XSS) :检查应用是否对用户输入举行编码,防止恶意脚本在浏览器中执行。在URL参数或表单中输入如下语句(如:<scrīpt>alert(document.cookie)</scrīpt>)来举行测试,当用户浏览 时便会弹出一个告诫框,内容显示的是浏览者当前的cookie串,这就说明该网站存在XSS漏洞。
- 输入长度和格式验证 :确保输入字段的长度和格式精确处理,防止缓冲区溢出或意外的数据注入。
3. 数据加密
- 敏感数据传输 :验证所有敏感数据(如登录凭证、个人信息)是否通过加密的方式(如HTTPS)举行传输。
- 存储加密 :检查数据库和存储中的敏感信息(如密码、光荣卡信息)是否经过加密处理,确保数据在存储时的安全性。
- 加密协议和算法 :确认应用利用的是最新和最安全的加密协议和算法,避免利用过时或已知存在漏洞的加密方式。
4. 付出业务逻辑
针对软件的付出/充值/兑换等跟钱相关的功能,对整个操纵流程举行抓包,判断有无敏感信息可修改。敏感信息包罗:金额、数目、运费、优惠等;
- 在整个付出流程(提交订单->确认订单->付出)中,修改金额、数目、运费、优惠,是否存在题目
- 获取未付出订单的状态,修改为已付出
- 跳过付出:网站付出成功后跳转的链接携带订单号;抓取付出信息,将未付出的订单号拼接到付出成功跳转的链接中
- 越权付出:网站假如有余额功能,在举行付出时,传参存在例userid=xx,尝试修改id值,是否可利用别人的余额来购买东西
5. 错误处理
- 通用错误信息 :检查错误信息是否对用户隐蔽了敏感的体系或调试信息,防止攻击者利用这些信息相识体系结构。好比404,或500页面,是否给出了友好的错误提示信息好比“你访问的页面不存在”等,而并非曝露一些步伐代码。
- 非常处理 :验证体系在发生非常时是否安全处理,确保不会泄漏敏感信息或导致体系瓦解。
6. 文件上传与下载
- 文件范例限定 :检查文件上传功能是否严格限定文件范例,防止恶意代码通过上传文件注入体系。
- 文件路径处理 :确保文件下载功能没有路径遍历漏洞,防止用户访问未授权的文件。在URL中输入肯定命目标“../”和“./”,验证体系是否ESCAPE掉了这些目录跳转符。
末了感谢每一个认真阅读我文章的人,看着粉丝一起的上涨和关注,礼尚往来总是要有的,固然不是什么很值钱的东西,假如你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料信赖大家都能找到满足的工作。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |