zoukankan      html  css  js  c++  java
  • bug:论用例健壮性的重要

    最近出了2个类似问题,此处写下,以作为警醒

    问题1:

    背景:电商类网站,为了增加用户回流,增加用户购买力度,做了一个和用户等级相关活动

    需求:用户等级为g0 -g5,现在有一批代金券有等级领取限制。用户等级和代金券等级相同时,用户可领取到这张代金券;否则代金券显示“等级不符不可领取”。

    于是我设计用例时这样的:

    代金券领取等级: 代金券1(领取等级0),g1(领取等级1)

    用户等级:user1(用户等级go) , user2(用户等级g1)

    即可以实现以下场景:

    user1 --> 代金券1 ,等级相同,可以领取

    user1  -->代金券2,等级不同,不能领取

    user2  --> 代金券1,等级不同,不可领取

    user2  -->代金券2,等级相同,可以领取

    实际测试时,按上诉用例进行覆盖是没问题的,但是在实际测试过程中,我有一个g5的用户,在使用g5这个用户进行用户覆盖的时候却出了问题,开发由于xxxx原因在处理g5等级用户时存在问题

    然后我尝试使用g4的用户去覆盖用例没问题,当时庆幸有这样一个g5的用户让我发现了问题。


    问题2:

    做接口测试,里面有很多逻辑判断

    其中一条判断规则: 必须要有A。A直接从数据库读取对应字段

    这个A在数据库的定义:int(11)

    我一看int(11),这明显就指A的个数嘛

    设计用例时,针对A,我就设计了两个数,0和1

    实际验证时,也与预期结果一致。

    联想到上次没有考虑健壮性,可能存在的问题,针对A用例改成 0,1,2

    预期:2应该和1结果保持一致

    实际:2和0的结果保持一致

    询问开发后,A这个字段含义:0表示 没有A,1表示有A(并不是指A的个数)


    虽然问题都在测试阶段等到验证并解决,但问题仍值得反思:

    1、对于有范围值的需要按边界值设计用例,另外还需要考虑用例的健壮性!

    2、不要太自以为是!

    学好python自动化,工作效率顶呱呱
  • 相关阅读:
    Unity3D游戏-愤怒的小鸟游戏源码和教程(一)
    Unity插件-ShareSDK使用指南
    Unity 3D开发-C#脚本语言的一些基础用法
    Shader的函数公式以及使用的场景
    Shader的基本用法和语法结构
    iTween的用法总结
    Unity 3D游戏-消消乐(三消类)教程和源码
    Unity 3D游戏-NPC对话系统With XML
    XML教程、语法手册、数据读取方式大全
    ReSharper2017.3的列对齐、排版格式、列对齐错误的修复
  • 原文地址:https://www.cnblogs.com/fenglovellx/p/7116109.html
Copyright © 2011-2022 走看看