转自博文:http://www.cnblogs.com/I-am-Betty/p/3566411.html

具体需求: 有一个登陆页面, (假如上面有2个textbox, 一个提交按钮。 请针对这个页面设计30个以上的test case.)

此题的考察目的: 面试者是否熟悉各种测试方法,是否有丰富的Web测试经验, 是否了解Web开发,以及设计Test case的能力

这个题目还是相当有难度的, 一般的人很难把这个题目回答好。

首先,你要了解用户的需求,比如这个登录界面应该是弹出窗口式的,还是直接在网页里面。对用户名的长度,和密码的强度(就是是不是必须多少位,大小写,特殊字符混搭)等。还有比如用户对界面的美观是不是有特殊的要求?(即是否要进行UI测试)。剩下的就是设计用例了 ,等价类,边界值等等。
请你记住一点,任何测试,不管测什么都是从了解需求开始的。

功能测试(Function test)

  0. 什么都不输入,点击提交按钮,看提示信息。

  1.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。

  2.输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息。

  3.登录成功后能否能否跳转到正确的页面

  4.用户名和密码,如果太短或者太长,应该怎么处理

  5.用户名和密码,中有特殊字符(比如空格),和其他非英文的情况

  6.记住用户名的功能

  7.登陆失败后,不能记录密码的功能

  8.用户名和密码前后有空格的处理

  9.密码是否加密显示(星号圆点等)

  10.牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用

  11.登录页面中的注册、忘记密码,登出用另一帐号登陆等链接是否正确

  12.输入密码的时候,大写键盘开启的时候要有提示信息。

界面测试(UI Test)

  1.布局是否合理,2个testbox 和一个按钮是否对齐

  2.testbox和按钮的长度,高度是否复合要求

  3. 界面的设计风格是否与UI的设计风格统一

  4. 界面中的文字简洁易懂,没有错别字。

性能测试(performance test)

  1.打开登录页面,需要几秒

  2.输入正确的用户名和密码后,登录成功跳转到新页面,不超过5秒

安全性测试(Security test)

  1.登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)

  2.用户名和密码是否通过加密的方式,发送给Web服务器

  3.用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript验证

  4.用户名和密码的输入框,应该屏蔽SQL 注入攻击

  5.用户名和密码的的输入框,应该禁止输入脚本 (防止XSS攻击)

  6.错误登陆的次数限制(防止暴力破解)

  7. 考虑是否支持多用户在同一机器上登录;

  8. 考虑一用户在多台机器上登录

可用性测试(Usability Test)

  1. 是否可以全用键盘操作,是否有快捷键

  2. 输入用户名,密码后按回车,是否可以登陆

  3. 输入框能否可以以Tab键切换

兼容性测试(Compatibility Test)

  1.主流的浏览器下能否显示正常已经功能正常(IE,6,7,8,9, Firefox, Chrome, Safari,等)

  2.不同的平台是否能正常工作,比如Windows, Mac

  3.移动设备上是否正常工作,比如Iphone, Andriod

  4.不同的分辨率

本地化测试 (Localization test)

  1. 不同语言环境下,页面的显示是否正确。

软件辅助性测试 (Accessibility test)

  软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能

  1. 高对比度下能否显示正常 (视力不好的人使用)

  

一个网页登陆界面写30多个测试Case——测试之道的更多相关文章

  1. 用java写一个用户登陆界面

    一.课堂测试源代码及其结果截图 用java的swing写一个用户登录界面,采用网格布局.源代码如下: /** * */package LiuLijia; import java.awt.CardLay ...

  2. Unity进阶:用AssetBundle和Json做了一个玩家登陆界面

    版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...

  3. WPF中做出一个QQ登陆界面

    Xaml: <Window x:Class="ChatSoftware.MainWindow" xmlns="http://schemas.microsoft.co ...

  4. [iOS基础控件 - 3.1] QQ登陆界面

      A.storyboard 控件版 1.label 2.textfield      a.Keyboard Type           账号:Number Pad           密码:Num ...

  5. 用Html写一个简单的登陆界面

    <!DOCTYPE html> <html> <title>登陆页面</title> <head> <meta charset=&qu ...

  6. 转---写一个网页进度loading

    作者:jack_lo www.jianshu.com/p/4c93f5bd9861 如有好文章投稿,请点击 → 这里了解详情 loading随处可见,比如一个app经常会有下拉刷新,上拉加载的功能,在 ...

  7. tkinter如何设置界面消失 当制作一个登陆界面时,登陆成功之后,如何让登陆界面本身消失

    tkinter如何设置界面消失 当制作一个登陆界面时,登陆成功之后,如何让登陆界面本身消失 if querySQL.checkAll():#用户名和密码都输入正确 self.root.withdraw ...

  8. Android UI组件----用相对布局RelativeLayout做一个登陆界面

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...

  9. 写一个网页进度loading

    作者:jack_lo www.jianshu.com/p/4c93f5bd9861 如有好文章投稿,请点击 → 这里了解详情 loading随处可见,比如一个app经常会有下拉刷新,上拉加载的功能,在 ...

随机推荐

  1. spring-data-JPA repository自定义方法规则

    一.自定义方法的规则 Spring Data JPA框架在进行方法名解析时,会先把方法名多余的前缀截取掉,比如find,findBy,read,readBy,get,getBy,然后对剩下的部分进行解 ...

  2. 人脸识别的LOSS(上)

    超多分类的Softmax 2014年CVPR两篇超多分类的人脸识别论文:DeepFace和DeepID Taigman Y, Yang M, Ranzato M A, et al. Deepface: ...

  3. 数据结构学习笔记_树(二叉搜索树,B-树,B+树,B*树)

    一.查找二叉树(二叉搜索树BST) 1.查找二叉树的性质 1).所有非叶子结点至多拥有两个儿子(Left和Right): 2).所有结点存储一个关键字: 3).非叶子结点的左指针指向小于其关键字的子树 ...

  4. springboot让内置tomcat失效

    一.POM(去除内嵌tomcat后,需要添加servlet依赖) <dependency> <groupId>org.springframework.boot</grou ...

  5. 19-10-30-Night-V

    看到$\text{V}$就想到了V神. 快快放假.... $\text{Vicetone}$最新单曲$\text{Aftermath}$大家听了嘛…… (真不是学数论之后的意思啊,译为‘后果’,显然是 ...

  6. iOS之UIButton的normal和selected状态切换

    1.问题? 改变播放器按钮状态,发现从selected切回到normal状态时候,中间会切换normal-selected-normal的图片? 2.原因…… normal-->selected ...

  7. 反编译之paktool工具

    1.官网配置mac教程https://ibotpeaches.github.io/Apktool/install/ (1)右键选择:链接储存为(命名:apktool,格式:选择所有文件): (2)下载 ...

  8. python中关于传递参数模块argprase的一些小坑

    今天在写代码的时候遇到了一个关于parser的一些小坑,记录在此备用. 我们知道在python中可以用argprase来传递一些参数给代码执行,来看下面的例子,假设现在有一个test文件夹,下面有3个 ...

  9. Java学习之二(线程(了解) JVM GC 垃圾回收)

    线程与进程(了解)→JVM→字节码→GC 一.程序 = 算法 + 数据结构(大佬) 二.程序 = 框架 + 业务逻辑(现实) 1.线程与进程.同步与异步 1.1进程是什么? 进程就是操作系统控制的基本 ...

  10. 04_Spring AOP两种代理方法

    什么是AOP?           AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是O ...