web如何测试?

时间: 2020-05-26阅读: 117标签: 测试

当我们负责web测试的时候,先了解B/S架构,然后分析如何开始执行测试,一般步骤:从功能测试,兼容测试,安全测试。


功能测试:

一、链接测试

链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转:当发现页面显示内容与用户需求不一致时,就是一个bug。

链接测试:测试所有链接是否按指示的那样确实链接到了该链接的页面;

 测试所链接的页面是否存在;

只有输入正确的url地址才能访问

1.链接是否按照既定指示那样,确实链接到了该链接的界面

2.测试该链接所链接的页面是否真的存在

3.保证系统中没有单独存在的页面   即没有链接指向,只能通过正确的URL地址才能访问

二、表单测试

这个也可以理解为数据落地;当用户在web应用系统上向服务器提交信息时,就需要使用表单操作,比如,用户注册,登录,信息变更等等;这种情况下,我们必须测试提交信息的完整性,

表单测试:输入框的长度限制,比如用户名要求多少长度;

 输入框的类型限制,如果只能输入数值,则跟数值无关的输入应该不被允许;

 输入框模式匹配,比如格式要求;

按钮点击时做了自己应该做的事,没做不应该做的事;


UI测试:

图形测试

也可以理解为UI测试,其中包括图片、动画、边框、颜色、字体、背景、按钮等等。其中要考虑的几个重点,我做了一个大概的总结:

       1)图片要有明确的用途,代表;图片尺寸尽量小,一般采用JPG或者GIF压缩

       2)页面整体风格是否和系统的用途一致

       3)背景颜色,字体,搭配是否合理

内容测试

这个主要用来检测web系统提供信息的准确性、相关性

比如:商品的价格,文字描述;信息的准确性,是否有拼写错误;信息的相关性,比如很多网站的“相关文章列表,视频列表等”

整体界面测试

 这个也就是我们常说的用户体验。用户浏览时是否感觉舒适,整体风格等等

这个我建议一般做一个类似问卷调查的形式,来判定用户的反馈信息,最好有最终用户的参与

导航测试

作为测试,很多时候都要站在用户的角度去思考,那么,作为一个用户,当他访问一个web的网站或者系统时,会怎么去操作呢?

大部分用户都是目的驱动的,当他访问一个网站,会很快的浏览系统,找不到满足自己需求的信息时,会很快离开,很少有用户愿意花时间去熟悉系统的结构,因此,导航测试就显得很重要。

导航测试,就是在不同的页面跳转之间,或者按钮、对话框、列表以及窗口等,通过考虑这些因素去判断一个应用是否易于导航:是否直观?系统的主要模块是否可以通过主页访问或者到达?

站点是否需要站内地图或者搜索引擎等其他帮助?

web系统导航的另外一个重点就是页面结构、导航、菜单、风格等是否一致,确保用户可以凭借直觉或者简单的判断就可以找到自己想要的内容。


兼容性测试:

平台兼容

现在有很多的操作系统,比如Windows、Unix、Linux、macintosh等;用户使用哪个系统取决于用户,因此,系统兼容测试就很有必要了。

 浏览器兼容

 浏览器是web客户端最核心的组件,不同的浏览器,对JavaScriptcss或者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、拓展的测试面:前端分析、可用性、兼容性、性能、安全性等


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/9366

Vuex 之单元测试[译]

通常来说 Vue 组件会在以下方面和 Vuex 发生交互:commit 一个 mutation、dispatch 一个 action、通过 $store.state 或 getters 访问 state

web自动化测试

对单独的代码块,比如函数进行测试。单元测试是自动化测试的主要形式,也是最基本的形式。集成测试对代码单位之间的协同工作进行测试,比如测试主程序和各个扩展的继承代码。

不用写代码,也能做好接口测试

本文你将了解到:1、接口测试基本概念,包含什么是接口,什么是接口测试,为什么要做接口测试;2、接口测试用例设计,3、怎样不用写代码,也能快速的根据开发的API文档完成接口自动化测试脚本

网站建设敏捷开发是如何测试网站?

网站建设的过程是线性的,敏捷的开发方法更有灵活性和适应性,敏捷开发是一个迭代过程,在项目完成之前构建调整功能和需求,这种开发离不开站点的测试。选择专注于网站开发的公司采用敏捷开发方法

测试代码时你会犯的 11 个错误

我遇到的大多数开发人员都不怎么热衷于测试。有些会去做测试,但大多数都不测试,不愿意测试,或者勉而为之。我喜欢测试,并且比起编写新的代码,愉快地花更多的时间在测试中

angular如何使用mock?

前后端分离的开发模式中, 为了能让前端不依赖后端服务而能够并行开发, angular-mocks能模拟一些后台返回的数据,从而使前端看起来已经跟后端对接了一样, 只要与后端商定好数据格式, 自己mock一些数据就能够对前端功能进行测试了.

js单元测试工具-jest自动化测试

jest 是 facebook 开源的,用来进行单元测试的框架,可以测试 javascipt 和 react。jest 提供了非常方便的 API,可以对下面的场景方便的测试:一般函数、异步函数、测试的生命周期、react 测试

十大跨浏览器的测试工具

在实际使用中,我们往往会发现某些网站应用虽然能够在Mozilla和Chrome中运行良好,但是在其他浏览器上却总有一些违和感。也许就是因为某个网站的兼容性问题,导致您失去了一个又一个的访客或潜在用户

React 现代化测试

测试用例的书写是一个风险驱动的行为, 每当收到 Bug 报告时, 先写一个单元测试来暴露这个 Bug, 在日后的代码提交中, 若该测试用例是通过的, 开发者就能更为自信地确保程序不会再次出现此 bug。

Js测试框架

Jest是Facebook团队构建和维护的JavaScript测试框架,基于Jasmine的JavaScript单元测试框架。Jest在2018年接受度非常高,今年在JavaScript社区更是如此,根据Github的数据,目前超过150万个项目在使用Jest

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!

文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全运营推广