您现在的位置是:首页 >技术教程 >测试用例篇网站首页技术教程

测试用例篇

摸鱼王胖嘟嘟 2023-05-29 08:00:02
简介测试用例篇

设计测试用例-登陆页面

请添加图片描述

测试用例设计-淘宝购物车

请添加图片描述

七种编写测试用例的方法

基于需求

基于需求设计测试用例是测试设计和开发测试用例的基础,第一步就要分析测试需求,验证需求是否正确、完整、无二义性,并且逻辑自洽。在需求正确的基础上细化测试需求,从测试需求提炼出一个个测试点或者测试项,然后根据每一个测试点进行测试用例的设计。

在分析测试需求时,一般分为功能测试需求非功能测试需求

功能需求测试分析

对于功能测试中,可以借助功能框图来帮助我们进行测试的需求分析。概括起来,功能测试需求包括以下,通常包括以下几个方面:

  • 系统各个功能界面的验证
  • 借助业务把功能串起来进行测试
  • 功能的一致性,交互性(多功能互操作)的测试
  • 系统的不同输入,结果输出的业务数据测试。
  • 功能的错误操作,异常操作的测试(属于负面测试)
  • 功能实现用到的算法验证,有时需要用运代码评审
  • 用户操作的易用性,用户体验,往往结合功能测试同时验证
  • 针对具体的需求,可以根据业务分类,用户角色(餐厅的会员系统)或者用户操作区域等将系统的功能分解成若干个功能模块,然后按照功能模块分别进行测试需求分析。按照功能模块划分,业务模块划分是最常见的做法。

    非功能需求测试分析

    非功能测试需求主要涉及性能,安全性,可靠性,兼容性,易维护性和可移植性等。从测试需求分析来看,每一类非功能特性测试都需要根据需求单独分析。他们之间可能会存在相互影响,如安全性越高,就越有可能给易用性,性能带来更大的挑战。

    这里要说明的是对于每一个应用软件系统,非功能特性的质量需求都是存在的,但是不同的项目类型对各个非功能特性的要求是不一样的,这个需要根据具体的项目、具体需求和不同产品应用的特点进行分析。

    1. 纯客户端软件,比如字处理软件(Word,PPT),媒体(音频/视频)播放软件(电脑自带的)等。这类软件对系统的功能测试要求是最低的,但是对兼容性和稳定性,可移植性有一定的要求。
    2. 企业内部的客户端/服务端(C/S)应用系统。比如电子邮件,即时通信系统(飞Q,企业QQ)等,在系统功能测试需求上比纯客户端复杂,要求功能正确,稳定性能好。但是整体上看,对性能,安全性,兼容性要求不高。
    3. 外部大型复杂网络应用系统,比如电子商务,网上银行,视频网站(腾讯,优酷)等,除了有复杂的系统的功能测试需求外,在系统的性能,安全性,兼容性,容错性,可靠性等都有很高的要求。

    此外,对于大型企业级应用系统,由于应用模式,系统架构的不同(分布式,微服务等),我们必须结合架构和应用模式来具体分析非功能性测试需求,特别是可扩展性,可靠性,安全性等。技术架构对功能的影响小,但是非功能性测试就要深入架构分析,才能更好的把我测试范围和测试方法。

    等价类(输入)

    什么是等价类?
    依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。

    思想:减少测试用例,解决输入无穷问题
    使用场景:输入无穷
    概念:无穷的测试分为N个类,然后从类里面取一个数据测试,只要这一个数据通过
    测试,那么这一类数据全部通过

    举个例子:用户的密码是6~12位,测试的时候使用到的测试数据可以使用穷举法6,7,8,9,10,11,12全部测试一遍,但是如果把密码改成 6 ~ 10000位,穷举法就不行了,就得根据等价类,来划分测试数据。

    等价类的划分

    1. 有效等价类:针对需求文档的要求是有意义的集合
    2. 无效等价类:针对需求文档的要求是没有意义的集合

    步骤

    1. 确认有效等价类和无效等价类
    2. 编写测试用例

    边界值(输入和输出的边界值)

    边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

    边界值指的是 有效边界 + 无效边界

    注意:取值有规则(开区间和闭区间)

    例如:大于60可以获奖,无效边界60,有效边界61
    数字位浮点数,6~10有效边界值 无效边界值 到底是单精度浮点数型还是双精度浮点数型

    因果图

    使用场景:输入(原因)和输出(结果)之间的关系
    输出依赖输入(多个)
    第一步:理出所有的输入和输出
    第二步:在画出输入与输出之间的关系
    第三步:画因果图
    第四步:画判定表(列数:输入->幂数 输出:底数)
    第五步:从判定表提取测试用例

    案例:假设业务单据的处理规则为:“淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则进行优惠,否则不优惠”。
    确认输入条件和输出条件

    输入条件:红包(A)、金额大于300元(B)、订单已提交©
    输出条件:有优惠(1)、无优惠(2)

    找出输入条件和输出条件之间的关系
    (1)订单已提交,订单金额大于300元,则优惠。
    (2)订单已提交,订单金额小于等于300元,无红包,不优惠
    (3)订单已提交,有红包,则优惠。
    (4)订单已提交,订单金额大于300元,有红包,则优惠。
    (5)订单未提交,不优惠。
    为了方便画出因果图和判定表,需要对所有输入和输出编号,现在编号如下。
    1:订单已提交。
    2:订单金额大于300元。
    3:有红包
    21:优惠
    22:不优惠

    画因果图
    在这里插入图片描述
    画判断表
    在这里插入图片描述
    最终的测试用例
    1,2,3,4,5(包含6,7,8)。

    正交排序法

    正交法用的比较少

    正交试验设计法指从大量的试验中挑选出适量的、有代表性的点,依据 “正交表” 从而合理的设计出测试用例

    目的:减少测试用例条目
    注意:和等价类思想不一样(等价类是分类,正交排列法是用正交表(抽样,抽满足正交表的数据))

    测试用例场景法

    适用场景:软件中有多个窗口,窗口中有若干操作(功能点),为了理清窗口之间的关系(结果),可以使用测试大纲法。

    错误推测法

    基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。