面试题:如何测试登录模块

(像花般美丽,像草般坚韧)

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

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.总结

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

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

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

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

原文发布于微信公众号 - 资深Tester(zishentester)

原文发表时间:2018-05-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android点滴积累

AccessibilityService+WindowManager+SurfaceView开系统权限

  本文是基于辅助功能+悬浮窗+SurfaceView来实现自动获取用户权限的具体方案设计与实现。辅助功能抢红包插件相信大家并不陌生,但是微信官方不允许,但是在...

2618
来自专栏腾讯社交用户体验设计

高效编写微信小程序-你还在手动创建新项目吗?

1313
来自专栏mukekeheart的iOS之旅

Andriod项目开发实战(1)——如何在Eclipse中的一个包下建新包

  最开始是想将各个类分门别类地存放在不同的包中,所以想在项目源码包中新建几个不同功能的包eg:utils、model、receiver等,最后的结果应该是下图...

1929
来自专栏上善若水

Emacs001学用Emacs之入门:关于配置文件

编辑器是我们经常要打交道的工具,工欲善其事,必先利其器。每一个领域都有专用的好的工具,比如android开发用android sduio, 我先用emacs填...

1274
来自专栏小樱的经验随笔

Kali Linux菜单中各工具功能大全

各工具kali官方简介(竖排):https://tools.kali.org/tools-listing 名称 类型 使用模式 功能 功能评价 dm...

8829
来自专栏JackeyGao的博客

JPG2ASCII开发上线记录

刚开始做运维的时候喜欢在登录服务器的时候自动打印一些ASCII图像, 于是大量搜寻这种图片以做到自己的欢迎页独一无二。 想想有点不误正业, 现在虽说找到合适的A...

743
来自专栏小特工作室

Navi.Soft31.WebMVC框架(含示例地址)

1概述 1.1应用场景 互联网高速发展,互联网软件也随之越来越多,Web程序越来越被广泛使用.它部署简单,维护方便,深得众多软件公司使用 Bootstrap前端...

2067
来自专栏更流畅、简洁的软件开发方式

【自然框架】之 “工作日志”和“选择日期”

      上周回家办点事,更新的事情就有耽搁了。对不住大家,所以这周要努力了。       我发现要做的事情太多了,做过了哪些事情也都记不清了,所以有必要弄个...

2066
来自专栏iOSDevLog

XcodeXcode 9 的全新功能您会喜欢的工具。内建 Interface BuilderXcode IDE

在 Apple 平台上打造精彩超凡的 app 所需要的一切,Xcode 9 都已为您准备好。即使在编辑最大的文件时,它也能保持超乎想象的高速流畅。它比以往更了解...

623
来自专栏大数据挖掘DT机器学习

python爬取网易云音乐并分析:用户有什么样的音乐偏好?

发现自己有时候比挖掘别人来的更加有意义,自己到底喜欢谁的歌,自己真的知道么?习惯不会骗你。 搭建爬虫环境 1.安装selenium pip install s...

8947

扫码关注云+社区