登录模块的测试思路

  最近在做一个创新项目,这个项目有二个平台,每个平台都有前后端,故有四个系统,每个系统都有登录功能,而且不同系统代码设计方式都有所差异,所以就这个登录功能而言就要测试四次,看似一个简单的登录功能其中设计的测试点也是相当复杂,今天王豆豆就讲讲如何测试登录功能。

   1.了解平台

  首先你需要了解平台设计结构,是前后端分离还是不分离。

  了解这个主要是涉及到用户登录缓存数据的一个存储。

  这就需要了解session,cookie,Token之间的区别。

  目前我们的二个平台,有一个平台是做的前后端分离,因为前后端分离是无状态的,就没有session,必须有权限认证,有可能是Token,也有可能是其它(Oauth/Bearer Token等),这里我们的系统用的是Token(令牌)认证。

  而未做前后端分离的平台,是将登录信息临时存储在cookie中,明白了这些那在测试过程就需要对这一部分的鉴权做测试。

  Cookie数据存放在客户的浏览器中.

  Session数据存放在服务器中。

  Token用户身份的验证方式。

   2.分析登录模块的测试点

  一般来说登录模块的功能点都比较简单。大致分为用户名、密码、忘记密码、记住用户名以及按钮。

  除了分析功能点之外,我们还需要考虑以下几个点:

  1.权限认证

  这个主要是指cookie、Token失效,操作菜单产生什么样的结果。

  2.横向越权

  指AB二个用户拥有相同的权限,然后A用户尝试访问B用户的资源。

  另外还有一个是纵向越权,是低级别用户的权限去访问高级别用户的资源。

  3.设计测试用例

  1.设计功能点的测试用例

  我们的系统不做记住用户和忘记密码的功能,所以针对这二个功能未设计测试点。

  2.设计安全性测试用例

   4.测试界面

  在测试过程中,我们不仅要关注功能点是否按照需求已经实现了,同时我们还需要关注界面和用户体现性,需要进行界面和体现方面的测试。

  在测试界面中,主要测试以下内容:

  1.界面内容

  登录模块放置在页面中的哪个位置,如果居中,是否又居中显示了;

  其它位置放置什么东西;

  用户输入框、密码输入框、登录按钮排列、是否对齐;框的大小;

  用户名、密码字样是否相同,对齐.

  2.提示

  用户名、密码输入框是否有默认提示内容;

  输入错误的用户名或密码是否给出了正确的提示,提示的文字、大小、颜色是否按需求描述(如果需求中没有明确指出,那可以借鉴其它网站相同功能的提示风格);

  用户名和密码是否是必填的,如果是必填的,是否用红色星号表示(通用规则);

  输入为空时,给出的提示是否正确。

  密码显示:密码是否是密文显示,如果需求中规定了可支持明文显示,显示有相应的控件。

  5.总结

  登录模块测试看起来非常简单,但在实际测试过程中也需要考虑非常多的测试点,进行全面覆盖登录功能的需求,登录模块基本所有网站都有这个功能,故你在测试完一个网站之后对其他网站的登录功能测试也算是熟识,可能会根据网站的不同,有一点点变化,只要需求明确了就好。

  如何测试一个网站的登录模块也是面试题之一?

  王豆豆在面试的时候就遇到过,让王豆豆设计登录功能的测试用例,当时王豆豆只考虑了功能方面的测试,而未想起针对功能测试的安全性测试,面试官当时重复问了王豆豆好几遍:还有么?还有其它测试点么?但王豆豆就是没有想出来,还很肯定地回答:没有了,最终是在他的提示下才想起来。

  在面试时,经常会让应聘都设计测试用例,如果是遇到不同的功能也可以根据这个思路来设计测试用例。

原文地址:https://www.cnblogs.com/rambo-yi/p/9693760.html

时间: 2024-08-28 01:55:42

登录模块的测试思路的相关文章

Java SSH框架系列:用户登录模块的设计与实现思路

时间 2014-01-19 16:14:54  CSDN博客原文  http://blog.csdn.net/nupt123456789/article/details/18504615 1.简介 用户登录模块,指的是根据用户输入的用户名和密码,对用户的身份进行验证等.如果用户没有登录,用户就无法访问其他的一些jsp页面,甚至是action都不能访问. 二.简单设计及实现 本程序是基于Java的SSH框架进行的. 1.数据库设计 我们应该设计一个用户表,其Userinfo表,对应的SQL语句为(

Flask10 登录模块、表单框架、表单渲染、表单验证、bookie、请求之前钩子、g对象、编写装饰器

from flask import Flask from flask import request from flask import render_template from flask_wtf import CSRFProtect as WTF # 利用表单类去渲染模板时需要用到 from forms import LoginForm app = Flask(__name__) WTF(app) # 在app上注册一个 WTF (所有的flask插件都必须进行注册) app.config.f

使用CAS登录模块连接数据库验证用户合法性

使用CAS登录模块连接应用数据库验证用户合法性 关于如何配置CAS登录模块集成到开发的Web Application请看这里: http://blog.csdn.net/jia20003/article/details/49683827 基于cas server 3.5.0版本配置实现. 这里我们主要讲述如何利用已经存在的用户数据表user_table中的username与password两个字段,实现用户从CAS模块登录时候查询我们应用数据库basicweb中的user_table表.验证用户

上班啦,软件测试的测试思路总结

清晰的测试思路会让工作更加流畅,先来看看进行初步软件测试时,一些测试思路: 模块测试 模块功能点检查 功能操作检查 页面链接.相关性检查.特殊字符.系统数据检查.测试数据检查等,这部分可以自行搜索.同时检查对之前bug的修复是否会影响到其他功能模块. 页面布局是否规范 测试进阶 掌握测试模块需求,及时和系统工程师确认系统需求 详细记录测试的功能点 针对单个模块测试,主要是测试以下: 1.UI界面测试 界面设计.提示框是否正确等,用自动化测试工具进行UI界面的功能测试. 2.易用性操作测试 主要是

(转).net程序员转战android第三篇---登录模块之静态登录

这一篇我将分2个部分记录登录界面,第一部分是静态登录, 这部分将如何从界面布局.控件使用.文件关系.数据验证.登陆实现等5小块记录. 第二部分是动态登录,这块会基于上面的4小块,在数据验证不是静态数据, 而是通过WebService获取网络数据,然后解析网络数据,验证成功在进行文件关联,然后页面跳转,最后实现自动登陆; 需求分析 如图所见,对于一个程序员来说,不管你是做android\.NET\IOS,如果让你来做上图效果, 大家都会明白从哪里入手. 1:界面布局(分为3块,顶部标题栏.表单提交

python+selenium,如何把登录模块设计为公共模块?

周末又到了,好开心,又可以休息两天了!最近都忙着买电脑的事情,在这里告诉大家,尽量别去买惠普的电脑吧,我买的才不到一年,现在基本就是个废铁了.心痛我的钱钱! 最近有几个测试伙伴问我,说自己用python+selenium开始写完登录和注册模块的代码了,后面准备写其他模块的时候,发现很多模块都是先登录才能执行的,所以就问我,要是每个模块都把登录写进去, 那不是太麻烦了,应该可以写个公共的模块的.答案是肯定的.但这个公共模块是否就是把登录的执行成功了就可以了哦?这里就看下我的代码是怎么写的,如下图:

05.HTTP编程实战:高校信息查询平台之登录模块

转载请标明出处:http://blog.csdn.net/u012637501 在了解了Android的HTTP应用编程相关知识后,我们通过一个实例来进一步深化基于HTTP协议的Android客户端应用的开发,即模拟高效信息查询平台实例.该APP应用作为高校信息查询客户端,可以完成用户的注册.登录,信息查询.资料的下载与上传等功能,整体开发流程图如下: 基础知识: ①HTTP协议介绍: http://blog.csdn.net/u012637501/article/details/4514906

登录模块的进化史,带大家回顾java学习历程(二)

接着前面的登录模块的进化史,带大家回顾java学习历程(一) 继续往下面讲 前面我们去实现登录功能,都是想着要完成这个功能,直接在处理实际业务的类中去开始写具体的代码一步步实现,也就是面向过程的编程. 那么现在我们站在设计的角度上去实现该如何做呢?实际上在项目开发的时候,需求规划和数据库设计好之后,我们开始写代码,往往只用写一些接口出来,接口里面只有一些各个业务对应的空方法,没有具体的实现,在架构师进行接口设计的时候,就已经想好了该功能之后通过实现与调用这个接口肯定是可以实现的,等各个功能相关的

Django创建App并简单实现登录模块

Django创建App并简单实现登录模块 什么是Django的APP? 此APP非andriodAPP.Django的APP可以理解为一个网站中的一个模块,我们可以将每个模块都单独写成一个APP,这样可以让项目变得相对整洁且更加好维护起来. 如何创建App? 1.创建Django工程 - BlogPorject django-admin startproject BlogPorject 2.创建App django-admin startapp application App目录介绍: appl