怎么测试一个web登录页面
在以前的面试和同事面试交流的过程中,有多次被问到:“给你一个登录页面,上面有2个textbox,一个提交按钮,你将怎么测试”?或问,请针对这个页面设计30个以上的test case.
除了以上3点。针对一个功能还应该关注他背后的接口,也就是接口的输入输出是否正确,以及该功能涉及到的其他功能点,是否对已有功能且是相关性功能有非正常的影响
一、功能测试
- 输入正确的用户名和密码,点击提交按钮,验证是否能正确登录,登录成功后跳转至对应的页面;
- 输入错误的用户名或者错误的密码,点击提交会登录失败,并且有相应的错误提示框;
- 登录成功后能否能否跳转到正确的页面;
- 用户名和密码,如果太短或者太长,应该怎么处理;
- 用户名和密码,中有特殊字符,和其他非英文的情况,是否允许输入等;
- 用户名和密码前后有空格的处理;
- 密码是否以星号(*)显示;
- 记住用户名的功能(用户名和密码是否可以被浏览器记住)
- 登陆失败后,不能记录密码的功能;
二、界面测试
- 布局是否合理,2个testbox和一个按钮是否对齐;
- testbox和按钮的长度,高度是否复合要求;
- 界面是否好看;
- 图片,颜色,字体,超链接,是否都显示正确
三、性能测试
- 打开登录页面需要几秒
- 输入正确的用户名和密码后,登录成功后跳转到新页面不超过5S
- 能同时支持多少个用户同时登录
四、安全性测试
- 登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取);
- 用户名和密码是否通过加密的方式,发送给Web服务器;
- 用户名和密码的验证,登录完成后查看服务器日志验证正确,而不仅仅是前端JavaScript验证;
- 用户名和密码的输入框,应该屏蔽SQL注入攻击;
- 用户名和密码的的输入框,应该禁止输入脚本(防止XSS攻击);
- 错误登陆的次数限制(防止暴力破解);
五、可用性测试
- 是否可以用全键盘操作,是否有快捷键;
- 输入用户名和密码后按回车,是否可以登录;
六、兼容性测试
- 主流的浏览器下能否显示正常,并且功能正常(IE,7,8,9,10,Firefox, Chrome, Safari,等);
- 不同的平台是否能正常工作,比如Windows, Mac;
- 移动设备上是否正常工作,比如Iphone;
七、Andriod WEB测试
- 不同的分辨率;
- 不同的浏览器大小(浏览器最大化,和非最大化);
- 软件辅助性测试(Accessibility test)——软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能;
- 高对比度下能否显示正常(视力不好的人使用)
怎么测试一个web登录页面的更多相关文章
- 如何测试一个WEB的输入框?
WEB输入框是B/S架构系统中页面使用非常频繁的控件,比如我们登录一个网站,输入 用户名和密码的控件都是输入框,比如使用百度搜索,在输入搜索内容的控件也是输入框,比如网购一个物品,我们需要输入购买的数 ...
- flutter 制作一个用户登录页面
flutter 制作一个用户登录页面 用户登录效果图如下: 登录页面如下: import 'package:flutter/material.dart'; import 'package:flutte ...
- 【转载】拒绝平庸——浅谈WEB登录页面设计
用户活跃度是检验产品成功与否的重要指标之一,传统行业的商家极为重视门面的装潢,因为一个好的门面可以聚集人气,招揽更多的顾客.古时候的大户人家院子门口的石狮子或其他的摆件的摆放极为讲究,有一定的风水学说 ...
- 拒绝平庸——浅谈WEB登录页面设计
用户活跃度是检验产品成功与否的重要指标之一,传统行业的商家极为重视门面的装潢,因为一个好的门面可以聚集人气,招揽更多的顾客.古时候的大户人家院子门口的石狮子或其他的摆件的摆放极为讲究,有一定的风水学说 ...
- Vue.js实现一个SPA登录页面的过程
技术栈 vue.js 主框架 vuex 状态管理 vue-router 路由管理 一般过程 在一般的登录过程中,一种前端方案是: 检查状态:进入页面时或者路由变化时检查是否有登录状态(保存在cooki ...
- Vue.js写一个SPA登录页面的过程
技术栈 vue.js 主框架 vuex 状态管理 vue-router 路由管理 一般过程 在一般的登录过程中,一种前端方案是: 检查状态:进入页面时或者路由变化时检查是否有登录状态(保存在cooki ...
- HTML基础:用表单写一个简易登录页面
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 【转】【Web测试】Web测试点页面总结整理
转自:http://blog.csdn.net/qq_30044187/article/details/52442518 1.页面链接检查: 测试每一个链接是否都有对应的页面,并且页面之前可以正确切换 ...
- 基于原生的 html css js php ajax做的一个 web登录和注册系统
完整代码下载: 百度网盘地址 https://pan.baidu.com/s/1D1gqHSyjgfoOtYCZm7ofJg 提取码 :nf0b 永久有效 注意: 1 如果要正常运行此示例, 本地需要 ...
随机推荐
- c/c++设置图片为透明图
在绘制图片的时候先把源位图填充背景设置为白色 例如:m_bufferpicture.FillSolidRect(0,0,m_nWidth,m_nHeight,RGB(255,255,255));//这 ...
- linux mysql添加用户,删除用户,以及用户权限
一些主要的命令: 登录: mysql -u username -p 显示全部的数据库: show databases; 使用某一个数据库: use databasename; 显示一个数据库的全部表: ...
- 十分钟理解Java中的动态代理
十分钟理解 Java 中的动态代理 一.概述 1. 什么是代理 我们大家都知道微商代理,简单地说就是代替厂家卖商品,厂家“委托”代理为其销售商品.关于微商代理,首先我们从他们那里买东西时通常不知道 ...
- Jquery checkbox选中问题
checkbox中有.checked的写法,判断当前是否是选中状态,不过这种是针对[object HTMLInputElement]这种类型的,而对于[object Object]这种类型是不能使用的 ...
- DOM操作的性能问题
造成DOM操作性能差的原因:1.DOM操作的实现和ECMAscript的实现是两个独立的部分,之间通过接口来完成相应的DOM操作. 2.实时查询文档得到HTML集合,重复执行查询操作.特别是lengt ...
- Centos7 安装zabbix3.0 服务端 详细
参考: https://www.cnblogs.com/37yan/p/6879218.html http://blog.csdn.net/hao134838/article/details/5712 ...
- OneThink后台模型怎么玩?
OneThink 后台模型有个模型类型: 模型下——>设计——>表单显示分组(怎么玩?) 这个将会显示在:内——>发布文章内容的时候: 单选按钮: 内容模块显示: 枚举类型可以这样玩 ...
- mysql中sql注入的随笔
当使用如下登录代码时:就会引发sql注入问题 怎么注入呢? 'or 1=1 # 就可以了. 为什么呢? 首先or:在sql中是或者,只要满足前一个或后一个条件即可,只要所以不论你是 'or 1=1 # ...
- 使用Python创建.sd服务定义文件,实现脚本自动发布ArcGIS服务
借助ArcGIS桌面发布ArcGIS服务是一个很熟悉的过程了,发布服务的前提是需要拥有一个已连接的ArcGIS Server服务站点,经过对mxd进行制图配置,定义服务参数,才能实现服务的发布,那么这 ...
- Just a Hook---hdu1698(线段树---区间处理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698 现有n个金属(编号1---n),每个金属的材质都是铜,有m个操作,每个操作都是把编号 L 到 R ...