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

  此题的考察目的:面试者是否熟悉各种测试方法,是否有丰富的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. 高对比度下能否显示正常 (视力不好的人使用)

一个最简单的登录页面测试case的更多相关文章

  1. PHP实现一个简陋的注册登录页面

    PHP实现一个简陋的注册登录页面 今天来水一篇没有**用的 /滑稽脸,代码简陋臃肿考虑不全,各位大佬轻喷,还望不吝赐教. 首先考虑了一下需要至少四个页面:register.html.register. ...

  2. Web核心之最简单最简单最简单的登录页面

    需求分析: 在登录页面提交用户名和密码 在Servlet中接收提交的参数,封装为User对象,然后调用DAO中的方法进行登录验证 在DAO中进行数据库查询操作,根据参数判断是否有对象的用户存在 在Se ...

  3. js实现一个简单的登录页面

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. 用java语言写一个简易版本的登录页面,包含用户注册、用户登录、用户注销、修改密码等功能

    package com.Summer_0421.cn; import java.util.Arrays; import java.util.Scanner; /** * @author Summer ...

  5. Servlet实现简单的登录页面

    package emp; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; imp ...

  6. Axure 第一个原型 简单的登录页面

    设置所有元件的尺寸和位置的时候都是借助截图软件来调整位置的

  7. 分享一个酷炫动态登录页面html

    话不多说,如下图: 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <H ...

  8. SpringBootSecurity学习(03)网页版登录添加自定义登录页面

    自定义登录页面 前面无论是使用默认配置,还是自定义配置类,都是使用的springboot-security自带的登录页面,自带的登录页面在这个版本虽然设计的非常不错,但是在实际开发中,我们通常还是使用 ...

  9. HTML5实战教程———开发一个简单漂亮的登录页面

    最近看过几个基于HTML5开发的移动应用,比如臭名昭著的12036移动客户端就是主要使用HTML5来实现的,虽然还是有点反应迟钝,但已经比较流畅了,相信随着智能手机的配置越来越高性能越来越好,会越来越 ...

随机推荐

  1. 数论 UVA 11388

    这道题是关于两个数的最大公约数和最小公倍数的题目.给你两个数字g,l,分别表示最大公约数和最小公倍数.要求你找到两个数a,b,要求这两个数的最大公约数和最小公倍数为所给的两个数.如果存在多组数字符合这 ...

  2. RabbitMQ中 exchange、route、queue的关系

    从AMQP协议可以看出,MessageQueue.Exchange和Binding构成了AMQP协议的核心,下面我们就围绕这三个主要组件    从应用使用的角度全面的介绍如何利用Rabbit MQ构建 ...

  3. matlab算法

    流水线型车间作业调度问题遗传算法Matlab源码流水线型车间作业调度问题可以描述如下:n个任务在流水线上进行m个阶段的加工,每一阶段至少有一台机器且至少有一个阶段存在多台机器,并且同一阶段上各机器的处 ...

  4. 淘宝ip库接口调用

    function ip($ip) {     $url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;     $ipi ...

  5. Git学习:利用Git和TortoiseGit把代码传输到网络服务器

    版本控制这块,一直用SVN.感觉挺好用,比VSS要好用些.不过,近期在网上,又谈到时下很流行的Git.就想看看Git到底是何方神圣.趁着五一在家无事,就静下心来,简单研究一下. 当下,网络上提供的基于 ...

  6. [JBoss] - 在Jboss 7.1 AS中打印hibernate的SQL方法

    因为JBoss使用的是log4j,JBoss的系统日志级别默认是INFO.而Hibernate或IBatis要打印SQL,级别为DEBUG,所以,程序设置了log4j级别为DEBUG会被JBoss系统 ...

  7. android学习笔记55——ContentProvider_2

    实现ContentProvider 创建ContentProvider的步骤: 1.开发一个ContentProvider的子类,该子类需要实现增.删.改.查等方法: 2.在AndroidMainfe ...

  8. PHP使用mysqldump备份数据库(以及还原)

    导出数据实例如下: <?php $mdb_host = $g_c["db"][0]["managertool"]["host"]; / ...

  9. mac 10.9开启有道词典取词功能

    取词时候,有道词典给出提示,说要去开启辅助功能,但提示的是在mac 10.8上面怎么操作,在10.9的话,就是以下位置去改了. 补充以下: 在mac机器上,实际上大多数的单词都能从自带的词典中查找到. ...

  10. 【uTenux实验】时间管理(系统时间/周期性处理/警报处理)

    1.系统时间管理 系统时间管理函数用来对系统时间进行操作,是OS的一个基础性的东西.个人认为,设置系统时间和获取系统时间对OS来说基本是可有可无的. uTenux提供了三个系统时间相关API.分别用于 ...