当我们负责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客户端最核心的组件,不同的浏览器,对JavaScript,css或者HTML的规格都有不同的支持;

采用的框架和结构风格在不同浏览器中也存在不同的显示甚至不显示,不同的浏览器对安全性的设置也是不同的。

测试浏览器兼容,有个方法就是创建一个兼容性矩阵,来测试不同厂商不同版本的浏览器兼容。

比如测试IE浏览器,可以通过一个叫做IEtester的工具来测试兼容,或者可以通过F12控制台来切换浏览器版本来测试兼容以前一些前端元素的显示等

鉴于国内市场浏览器很多,比如360、搜狗,搜狐、QQ浏览器等,这些本土的浏览器基本都采用的IE浏览器内核的双核配置

安全测试:

1、认证:避免未经授权的页面可以直接访问

测试认证思路:在不登录的情况下,去访问只有登录之后才能访问的页面(通过拷贝只有登录之后才能访问的页面的url,在非登录的情况下,打开ie复制url,观察页面是否可以访问)

1、权限:不同角色权限检查

测试权限思路:使用不同权限的账号登录系统,检查是否满足特定的账号访问特定的权限,比如互联网金融理财平台中,使用管理员可以访问系统管理的页面,使用其他账户不可以访问系统管理的页面。

2、session、cookie

避免文件中保存敏感信息到cookie

DDOS:疯狂向服务器发请求,导致服务器崩溃、使得服务器无法正常处理请求。

3、文件上传漏洞:上传了脚本文件、导致访问脚本文件的时候,执行了里面的脚本,从而暴露安全信息(如:暴露目录结构)、是否可以上传非支持的文件格式;<?php phpinfo();?>等

避免文件上传漏洞:

1、文件上传的过滤:

1、文件上传的过滤 通过后缀名、通过二进制来判断类型

2、通过二进制来判断类型

2、修改服务器核心参数、禁止脚本引擎运行系统命令

5、xss跨站攻击

恶意攻击者往web页面里面插入恶意script代码,当用户浏览该页的时候,嵌入web里面的script/html代码会被执行,从而达到恶意攻击的目的<script>alert(‘...’)</script>

避免xss跨站攻击:1、最基本最简单的方法通过replace语句过滤‘<’和’>’

2、通过代码语句过滤html属性

3、过滤特殊字符

6、sql注入:通过在url中拼接sql来访问数据库,获取、修改服务器数据库的内容

1、获取字段个数

2、获取数据库名称

3、获取表名

4、获取字段名

5、获取字段值

预防sql注入:采用预编译语句、使用正则表达式过滤传入的参数、字符串过滤

功能点如何测试:

1、关联业务:对后续业务影响,业务关联性考虑

2、UI层面:d 控件的测试、文本框录入字符限制、长度、类型、按钮、链接

3、数据层面:界面上录入数据到数据库中存储,结果的校验。

4、拓展的测试面:前端分析、可用性、兼容性、性能、安全性等

web如何测试的更多相关文章

  1. 分享一个.NET实现的简单高效WEB压力测试工具

    在Linux下对Web进行压力测试的小工具有很多,比较出名的有AB.虽然AB可以运行在windows下,但对于想简单界面操作的朋友有点不太习惯.其实vs.net也提供压力测试功能但显然显得太重了,在测 ...

  2. 最佳的 14 个免费的响应式 Web 设计测试工具

    一旦你决定要搭建一个网站就应该已经制定了设计标准.你认为下一步该做什么呢?测试!我使用“测试”这个词来检测你网站对不同屏幕和浏览器尺寸的响应情况.测试在响应式网页设计的过程中是很重要的一步.如果你明白 ...

  3. JDK和Tomcat环境变量,以及用MyEclipse新建Web Project测试Tomcat Server

    [请尊重原创版权,如需引用,请注明来源及地址] 在此之前一直用的Eclipse挺顺手的,今天突然想换MyEclipse试试,不知安装MyEclipse的时候我选错了什么选项,反正JDK和Tomcat的 ...

  4. 实验七 Web应用测试

    实验目的 (1)       了解Web应用测试的特点 (2)       掌握SSH分层单元测试 实验内容 以下题目均在bookstore项目上完成(请先运行数据库文件): 1.编写单元测试用例,对 ...

  5. WEB压力测试

    原文地址:WEB压力测试 作者:鸟哥のlinux webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统: ...

  6. 反向代理在Web渗透测试中的运用

    在一次Web渗透测试中,目标是M国的一个Win+Apache+PHP+MYSQL的网站,独立服务器,对外仅开80端口,网站前端的业务系统比较简单,经过几天的测试也没有找到漏洞,甚至连XSS都没有发现, ...

  7. WEB压力测试工具Pylot试用

    Pylot介绍 转载自[http://www.freehao123.com/pylot-web/] 为了能够准确地评估网站服务器对网络流量的承受能力,我们一般会采取模拟网站用户访问,通过不断地增加并发 ...

  8. asp.net web api 测试帮助页面建立并测试

    asp.net web api 测试帮助页面建立并测试 现在使用WEB API来开发,越来越流行. 在开发过程中的测试调试,可以使用Fiddler等工具来帮助测试外,还有: 在asp.net 中有种方 ...

  9. web压力测试工具

    ab apache 自带的web压力测试工具,window和linux下均有. 命令行:./ab -c 100 -n 1000 http://www.baidu.com 说明: -c 表示同时处理10 ...

  10. Kali Linux Web 渗透测试视频教—第二十课-利用kali linux光盘或者usb启动盘破解windows密码

    Kali Linux Web 渗透测试视频教—第二十课-利用kali linux光盘或者usb启动盘破解windows密码 文/玄魂 目录 Kali Linux Web 渗透测试视频教—第二十课-利用 ...

随机推荐

  1. python库-collections模块Counter类

    Counter类主要是用来跟踪值出现的次数.它是一个无序的容器类型,以字典的键值对形式存储,其中元素作为key,其计数作为value. demo: all_words = [] # 列表里面是汉字(可 ...

  2. ES6-常用四种数组

    1.map 1.1 个人理解 映射 一个对一个 例如:[45,57,138]与[{name:'blue',level:0},{name:'zhangsan',level:99},{name:'lisi ...

  3. Java工作流框架jflow 集团应用模式用户组功能

    关键字 驰骋BPM ,工作流开发框架,用户组,接受人规则,用户组发起人范围,选择人范围. 集团工作模式. Ccflow ,jflow.工作流引擎 名词定义与应用背景 对于集团模式的ccflow,jfl ...

  4. Rocket - debug - TLDebugModuleInner - ABSTRACTAUTO

    https://mp.weixin.qq.com/s/adSB7lmKcqmwVd80-gmdIw 简单介绍TLDebugModuleInner中ABSTRACTAUTO寄存器的实现. 1. ABST ...

  5. 【HIVE】(3)联合查询join、时间戳函数、字符串函数

    数据 t_join1.txt 1,a,1 2,b,2 3,c,4 t_join2.txt 1,2a 2,2b 3,2c 建表.导入: create table t_join1(id int, name ...

  6. Java实现 LeetCode 732 我的日程安排表 III(暴力 || 二叉树)

    732. 我的日程安排表 III 实现一个 MyCalendar 类来存放你的日程安排,你可以一直添加新的日程安排. MyCalendar 有一个 book(int start, int end)方法 ...

  7. C# Winform退出程序的方法介绍

    这篇文章主要介绍了C#中WinForm程序退出方法, 实例总结了技巧退出WinForm程序窗口的各种常用技巧,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中WinForm程序退出方法技巧 ...

  8. Java 实现 蓝桥杯 等额本金

    标题:等额本金 小明从银行贷款3万元.约定分24个月,以等额本金方式还款. 这种还款方式就是把贷款额度等分到24个月.每个月除了要还固定的本金外,还要还贷款余额在一个月 中产生的利息. 假设月利率是: ...

  9. java实现串的反转

    串的反转 反转串 我们把"cba"称为"abc"的反转串. 求一个串的反转串的方法很多.下面就是其中的一种方法,代码十分简洁(甚至有些神秘),请聪明的你通过给出 ...

  10. (八)DVWA之SQL Injection--SQLMap&Burp测试(Medium)

    一.测试需求分析 测试对象:DVWA漏洞系统--SQL Injection模块--User ID提交功能 防御等级:Medium 测试目标:判断被测模块是否存在SQL注入漏洞,漏洞是否可利用,若可以则 ...