• 软件测试用例篇


    1.测试用例概念:

    测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
    好的测试用例是一个不熟悉业务的人也能依据用例来很快的进行测试

    2.为什么在测试前要设计测试用例

    (1)测试用例是测试执行的依据
    (2)可以复用(回归测试的时候)
    (3)衡量需求的覆盖率
    (4)自动化测试
    (5)借鉴意义,后序测试人员可以借鉴前人写的东西

    3.基于需求设计测试用例

    1.需求是测试人员进行测试的依据
    2.测试人员首先要分析需求,验证需求的合理性和正确性,无二义性,逻辑自洽
    3.细化需求,从需求中提取出测试项,从每一个测试项中提取测试点,根据测试点设计测试用例
    (1)功能性需求
    从界面考虑,验证界面的功能(UI设计稿)
    从业务角度考虑,把功能串起来进行测试(场景法)
    功能之间的交互性,一致性
    一个功能的多个输入(不同的输入)
    功能的异常测试
    功能的易用性,体验性测试
    功能性涉及到的算法
    (2)非功能性需求
    在功能的基础上做一些限制,满足特定场景的需求,让用户有更好的体验
    兼容性,性能,安全性,可靠性,可移植性,易用性等
    不同类型的软件对于非功能性需求是不一样的
    (1)客户端的网站,word,ppt,xmind,播放器,对功能和要求简单,对性能,安全性要求比较低,软件的可移植性要求比较好

    4.等价类

    根据输入(特殊情况下才考虑输出),把输入划分成若干类个等价类,把每一个等价类当中取一个测试用例进行测试,如果这个测试用例通过,我们就说这个测试用例代表的等价类测试通过。(等价类可以解决测试用例无穷尽的情况)
    有效等价类和无效等价类

    5.边界值

    对输入输出的边界针对性进行测试用例的设计,叫做边界值法。
    边界周围的值。
    等价类和边界值往往是结合在一起进行测试用例的设计

    6.错误猜测法

    测试人员依据自己的经验,知识,个人直觉判断软件那一块有问题,针对性的设计测试用例;适合于补充测试用例,或者进行探索性测试的时候。

    7.场景法

    把一个个孤立的功能串起来形成一个场景,每一个功能不同的输入会触发流程走向不同的场景,根据这些不同功能的不同输入触发形成的场景进行测试用例的设计。

    提取出场景中涉及的功能点,考虑每一个功能不同的输入。
    练习:ATM取款流程

    插卡—输入密码—输入取款金额取钱—退卡

    插卡:
    卡插反、卡的种类错误:公交卡,饭卡、卡消磁、卡有损坏、卡失效、卡冻结、锁定、挂失

    输入密码:
    输入为空,点击确定、
    密码长度不够
    第一次输入错误,第二次正确,可以继续操作
    前两次输入错误,第三次正确,可以继续操作
    前三次都输入错误,账户锁定
    正确输入密码
    密码输入正确,提示错误(ATM异常)

    输入取款金额取钱:
    取款金额小于卡余额
    取款金额大于卡余额
    取款金额小于100
    取款金额超过单次取款最大额度
    取款次数超过单日取款最大次数
    输入0元
    输入金额不是100的整数倍

    退卡:
    及时退卡
    长时间不操作,卡被吞
    多长时间不操作卡会被吞
    退卡后是否还可以继续操作

    ATM机异常:
    长时间不操作,卡被吞
    密码输入正确,提示输入的密码不正确(观察型用例)
    ATM余额不足,小于取钱金额
    ATM断网
    ATM断电
    ATM损坏
    ATM机按键异常(观察性用例)

    8.因果图

    因果图是一种逻辑图,恒等,与,或,非
    根据因果图去分析和设计测试用例
    使用场景:当输入有多个,并且不同的输入组合对应着不同的输出,这个时候我们可以用因果图来进行测试用例的分析,根据分析的结果来设计测试用例
    因果图的几种关系:

    (1)恒等

    输入为真,输出为真
    在这里插入图片描述

    (2)与

    当输入条件有多个,多个条件都为真的情况下,输出才为真
    在这里插入图片描述

    (3)或

    当输入条件有多个,其中有一个条件为真,输出为真
    在这里插入图片描述

    (4)非

    输入为真,输出为假/输入为真,输出为假
    在这里插入图片描述

    (5)如何用因果图来设计测试用例?

    步骤:

    a.分析所有可能的输入和可能的输出。
    b.找出输入与输出之间的对应关系。
    c.画出因果图。
    d.把因果图转换成判定表。
    e.把判定表对应到每一个测试用例。

    练习:618京东活动,订单已提交,并且购物金额大于300,或者有红包,有优惠,否则没有优惠
    a.分析所有可能的输入和可能的输出
    输入:订单已提交,购物金额大于300,有红包
    输出:有优惠,没有优惠
    b.找出输入与输出之间的对应关系。
    (1)订单已提交,订单金额大于300元,则优惠。
    (2)订单已提交,订单金额小于等于300元,无红包,不优惠
    (3)订单已提交,有红包,则优惠。
    (4)订单已提交,订单金额大于300元,有红包,则优惠。
    (5)订单未提交,不优惠。
    c. 为了方便画出因果图和判定表,需要对所有输入和输出编号,现在编号如下。
    1:订单已提交。
    2:订单金额大于300元。
    3:有红包
    21:优惠
    22:不优惠
    c.画出因果图。
    在这里插入图片描述
    d.把因果图转换成判定表。
    在这里插入图片描述
    e.把判定表对应到每一个测试用例。
    1,2,3,4,5(包含6,7,8)。

    9.正交法

    根据正交性,从大量的实验(测试)数据中,选取最优的数据组合,根据最优的数据组合的结果量衡量整个测试的输出结果

  • 相关阅读:
    javacc之路4---错误恢复
    HC32L110(五) Ubuntu20.04 VSCode的Debug环境配置
    使用GPT和FastAPI构建智能数据库查询服务器
    高级工程师评审:高级工程师有哪些专业?高级工程师职称专业分类
    学编程,为什么优先推荐学Python?
    RK1126编译gdb 板子上gdb调试程序
    纯 CSS 实现 超长内容滚动播放。
    2023/10/23
    Transformer是如何进军点云学习领域的?
    P1030 [NOIP2001 普及组] 求先序排列
  • 原文地址:https://blog.csdn.net/mzpqq/article/details/124208744