当我们负责web测试的时候,先了解B/S架构,然后分析如何开始执行测试,一般步骤:从功能测试,兼容测试,安全测试。
一、链接测试
链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转:当发现页面显示内容与用户需求不一致时,就是一个bug。
链接测试:测试所有链接是否按指示的那样确实链接到了该链接的页面;
测试所链接的页面是否存在;
只有输入正确的url地址才能访问
1.链接是否按照既定指示那样,确实链接到了该链接的界面
2.测试该链接所链接的页面是否真的存在
3.保证系统中没有单独存在的页面 即没有链接指向,只能通过正确的URL地址才能访问
二、表单测试
这个也可以理解为数据落地;当用户在web应用系统上向服务器提交信息时,就需要使用表单操作,比如,用户注册,登录,信息变更等等;这种情况下,我们必须测试提交信息的完整性,
表单测试:输入框的长度限制,比如用户名要求多少长度;
输入框的类型限制,如果只能输入数值,则跟数值无关的输入应该不被允许;
输入框模式匹配,比如格式要求;
按钮点击时做了自己应该做的事,没做不应该做的事;
图形测试
也可以理解为UI测试,其中包括图片、动画、边框、颜色、字体、背景、按钮等等。其中要考虑的几个重点,我做了一个大概的总结:
1)图片要有明确的用途,代表;图片尺寸尽量小,一般采用JPG或者GIF压缩
2)页面整体风格是否和系统的用途一致
3)背景颜色,字体,搭配是否合理
内容测试
这个主要用来检测web系统提供信息的准确性、相关性
比如:商品的价格,文字描述;信息的准确性,是否有拼写错误;信息的相关性,比如很多网站的“相关文章列表,视频列表等”
整体界面测试
这个也就是我们常说的用户体验。用户浏览时是否感觉舒适,整体风格等等
这个我建议一般做一个类似问卷调查的形式,来判定用户的反馈信息,最好有最终用户的参与
导航测试
作为测试,很多时候都要站在用户的角度去思考,那么,作为一个用户,当他访问一个web的网站或者系统时,会怎么去操作呢?
大部分用户都是目的驱动的,当他访问一个网站,会很快的浏览系统,找不到满足自己需求的信息时,会很快离开,很少有用户愿意花时间去熟悉系统的结构,因此,导航测试就显得很重要。
导航测试,就是在不同的页面跳转之间,或者按钮、对话框、列表以及窗口等,通过考虑这些因素去判断一个应用是否易于导航:是否直观?系统的主要模块是否可以通过主页访问或者到达?
站点是否需要站内地图或者搜索引擎等其他帮助?
web系统导航的另外一个重点就是页面结构、导航、菜单、风格等是否一致,确保用户可以凭借直觉或者简单的判断就可以找到自己想要的内容。
平台兼容
现在有很多的操作系统,比如Windows、Unix、Linux、macintosh等;用户使用哪个系统取决于用户,因此,系统兼容测试就很有必要了。
浏览器兼容
浏览器是web客户端最核心的组件,不同的浏览器,对JavaScript,css或者html的规格都有不同的支持;
采用的框架和结构风格在不同浏览器中也存在不同的显示甚至不显示,不同的浏览器对安全性的设置也是不同的。
测试浏览器兼容,有个方法就是创建一个兼容性矩阵,来测试不同厂商不同版本的浏览器兼容。
比如测试IE浏览器,可以通过一个叫做IEtester的工具来测试兼容,或者可以通过F12控制台来切换浏览器版本来测试兼容以前一些前端元素的显示等
鉴于国内市场浏览器很多,比如360、搜狗,搜狐、QQ浏览器等,这些本土的浏览器基本都采用的IE浏览器内核的双核配置
1、认证:避免未经授权的页面可以直接访问
测试认证思路:在不登录的情况下,去访问只有登录之后才能访问的页面(通过拷贝只有登录之后才能访问的页面的url,在非登录的情况下,打开ie复制url,观察页面是否可以访问)
2、权限:不同角色权限检查
测试权限思路:使用不同权限的账号登录系统,检查是否满足特定的账号访问特定的权限,比如互联网金融理财平台中,使用管理员可以访问系统管理的页面,使用其他账户不可以访问系统管理的页面。
3、session、cookie
避免文件中保存敏感信息到cookie
DDOS:疯狂向服务器发请求,导致服务器崩溃、使得服务器无法正常处理请求。
4、文件上传漏洞:上传了脚本文件、导致访问脚本文件的时候,执行了里面的脚本,从而暴露安全信息(如:暴露目录结构)、是否可以上传非支持的文件格式;<?php phpinfo();?>等
避免文件上传漏洞:
文件上传的过滤:
文件上传的过滤 通过后缀名、通过二进制来判断类型
通过二进制来判断类型
修改服务器核心参数、禁止脚本引擎运行系统命令
xss跨站攻击
恶意攻击者往web页面里面插入恶意script代码,当用户浏览该页的时候,嵌入web里面的script/html代码会被执行,从而达到恶意攻击的目的<script>alert(‘...’)</script>
避免xss跨站攻击:
最基本最简单的方法通过replace语句过滤‘<’和’>’
通过代码语句过滤html属性
过滤特殊字符
5、sql注入:通过在url中拼接sql来访问数据库,获取、修改服务器数据库的内容
获取字段个数
获取数据库名称
获取表名
获取字段名
获取字段值
预防sql注入:采用预编译语句、使用正则表达式过滤传入的参数、字符串过滤
1、关联业务:对后续业务影响,业务关联性考虑
2、UI层面:d 控件的测试、文本框录入字符限制、长度、类型、按钮、链接
3、数据层面:界面上录入数据到数据库中存储,结果的校验。
4、拓展的测试面:前端分析、可用性、兼容性、性能、安全性等
Jest的未来看起来非常令人激动!看到Jest推陈出新如此快速,我感觉它将很快成为整个React生态系统中大部分项目的首选工具。我建议,应该把测试迁移到Jest上去。
如果您正在测试前端应用程序,则应该了解前端测试金字塔。在本文中,我们将看到前端测试金字塔是什么,以及如何使用它来创建全面的测试套件。
作为前端开发,我们不仅需要满足产品需求功能的实现,同时也需要对自己做的网站进行安全、易用性、性能等方面的考虑。随着目前技术不断进步,web页面的性能测试工具也在不断完善,通过这些工具,我们可以客观的评价web网站的质量水平。
jest 是 facebook 开源的,用来进行单元测试的框架,可以测试 javascipt 和 react。jest 提供了非常方便的 API,可以对下面的场景方便的测试:一般函数、异步函数、测试的生命周期、react 测试
web测试大全,测试web网站有哪些点呢?主要包括:功能测试、兼容性测试、安全测试、输入框测试、用户权限测试等
前端性能测试工具都有哪些:Favicon、Open Graph、图片优化-压缩图像、CSS 优化-Autoprefixer、Purifycss、minify CSS、减少载入时间、GZIP、CDN、优化平台-Sentry、Google Tag Manager
本文你将了解到:1、接口测试基本概念,包含什么是接口,什么是接口测试,为什么要做接口测试;2、接口测试用例设计,3、怎样不用写代码,也能快速的根据开发的API文档完成接口自动化测试脚本
在自动化元素定位操作中经常使用智能等待来加强定位的强壮性,主要就是因为WebDriver没有提供页面加载场景的方法;在使用JavaScript知识的突然心生灵感,可以使用JavaScript来配合验证页面加载,结果发现我真是井底之蛙。
在写测试代码时,以往我们需要翻阅文档,学习各种 API 才能明白如何操作断言。而现在我们可以透过 power-assert 的 assert 方法来减轻调试压力。不仅如此,它还提供更加直观,具体的运行效果,帮助 DEBUG。写测试代码,其实可以很容易。
在网站上线发布之前,我们除了必要的安全、功能测试外,往往还需要进行压力测试。通过模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件。包括:Apache JMeter 、LoadRunner、NeoLoad等
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!