zoukankan      html  css  js  c++  java
  • 软件测试从登录开始

     
      太长不看版
    登录功能并没有想象中的那么简单,除了简单的冒烟策划之外,我们还要考虑功能上的各种异常场景,以及性能、安全方面的测试也尤为重要。
    测试设计想要做到更完善、更容易发现问题,就需要更深厚的内功,但受限于时间和其他因素,提供给测试的时间不会很充足,想要将测试设计做的完美,很困难。
    测试工程师结合用户容忍度与测试成本,可以考虑以优先级的形式来排列侧重点。
     
      完整版
    对软件测试从业者来说,最简单的功能测试莫过于“登录”。
    可是一个登录功能真的有那么简单吗?这个问题在我从业软件测试的很长一段时间都没有思考过。
    最开始做测试的时候,领导给我一个小的web项目练练手,拿到项目地址后,我自然而然地输入了用户名、密码进去系统主页就开始测试,登录页面就直接被忽略,当然,后续的测试“成果”也是不尽人意。
    再到后来需要写测试用例的时候,我还在想一个登录功能的测试用例有什么好写的,结合了baidu上的登录功能测试点,慢慢地对登录功能的用例加上了一些内容,比如说空验证、错误密码验证等。
    做到这些,我也感觉自己可以称得上一名合格的软件测试工程师,直到看了一篇讲解关于登录功能的文章,我才发现原来真的就只是合格。
    我比较赞成对一个功能测试的设计,就是一名软件测试工程师的内功之一,同样是简单的功能,内功不同的测试工程师能够考虑到的测试点都会不同。
    经过一段时间的内功修炼,我对登录功能有了一些思考,加上我最近一次的登录功能测试用例,我列出来一些测试点:
    一,基本的冒烟测试:
    1,输入正确的用户名和密码,验证是否登录成功;
    2,输入正确的用户名和错误的密码,验证是否登录成功;
    3,输入错误的用户名和密码,验证是否登录成功;
    4,前端验证用户名和密码输入框的空验证提示信息是否准确;
    二,补充的功能测试
    1,用户名和密码是否对大小写有做判断;
    2,密码输入框是否有加密处理;
    3,用户名和密码输入框前端是否有做长度验证;
    4,直接访问站点的主页,验证是否会跳转到登录页面;
    5,用户名密码输入框是否对前后空格进行过滤;
    6,用户登录成功后,进入站点显示的页面和对应权限是否正确;
    7,进入登录页面,是否会定位到用户名输入框;
    8,用户密码输入框是否支持Enter、Tab键;
    以上,在还没考虑验证码、忘记密码、第三方登录等功能的情况下,算是比较完善的登录测试点。
    对软件测试来说,有一个名词可能很适合,叫“用户容忍度”,顾名思义,即用户在遭受到软件不合理对待时,这种不合理对待要到什么样的程度才会引起用户的抵触。我写过一篇文章,叫《软件测试2017年工作总结》中用户容忍度与易用性测试的章节有详细说明。
    我们可以划分个级别,
    最低的一级,对于一些只考虑功能的内部系统,冒烟测试通过,后续的测试按情况判定,不过我认为这种情况下,所谓测试的存在也是可有可无。
    往上一级,用户量开始增大,便需要加入补充的功能测试,满足功能、易用性的情况下,已经可以算是一个可以“见人”的系统;
    最高一级,就算是大型的互联网项目,可以参考baidu的登录页面,除了功能、易用性,还需要加入安全性、性能和兼容性测试,有的时候还得考虑更多的用户体验。
    那么分别详细地说一下几种测试方式需要考虑的内容,
    安全性,
    1,点击登录按钮的时候,密码在网络传输过程中过是否加密处理;
    2,在不登录的情况下,直接输入系统中的子网页,是否可以直接访问;
    3,已禁用或被冻结的账户,是否允许登录;
    4,密码输入框是否支持复制粘贴;
    5,浏览器保存的密码,输入框修改type类型后,是否加密处理;
    6,用户名密码输入框是否有做防止SQL注入;
    7,用户名密码输入框是否有对脚本限制,如<script>;
    8,多次错误密码,是否会锁定用户;
    性能,
    1,单用户登录响应时间;
    2,多用户登录并发响应时间;
    .....
    兼容性
    1,不同浏览器页面显示内容是否一致且正确;
    2,不同浏览器的按钮是否支持正常点击使用;
    最后,还有用户体验,和易用性有些类似
    1,页面UI风格展示是否友好;
    2,用户名密码输入框是否方便点击输入;
    3,登录按钮是否支持Enter键直接定位;
    4,错误提示框是否在一个地方展示;
     
    写了这么多,关于登录功能的测试设计,我相信还可以补充上很多关于登录功能的测试点,可能你会说我有很多方面还没有考虑到,
    对于需不需要把所有的测试点都罗列出来,我认为可以引入二八法则到软件测试领域中,一个软件中,百分之八十的问题,在百分之二十的时间就可以发现并修复,而剩下的百分之二十的问题,可能需要花费百分之八十的时间去寻找发现。
    但很多时候给予测试的时间不会很多,尽可能地用有限的时间发现更多的问题,那些不容易被发现的,可能需要时间。
    至于这个时间的长度,与深厚的内容息息相关。
     
    本篇博客内容参考文献:
    博客文章主题框架参考软件测试52讲;
    二八法则取自书籍《软件测试技术大全》;
     
    下一篇博客内容,我会写我理解的测试用例,以此引发更多的思考。
  • 相关阅读:
    16 pymysql模块的使用
    15 可视化工具 Navicat的简单使用
    14 补充 MySQL的创建用户和授权
    13 多表查询
    linux常用查看文件或日志命令
    linux查找大文件命令
    linux测试环境维护之磁盘空间维护
    linux配置IP访问权限
    通过pytty工具代理连接数据库mysql(绕开数据库白名单限制)
    redis安装详解
  • 原文地址:https://www.cnblogs.com/zxylock/p/10006385.html
Copyright © 2011-2022 走看看