首页 > 其他分享 >测试用例设计方法(重点)

测试用例设计方法(重点)

时间:2024-10-26 16:51:41浏览次数:7  
标签:场景 边界值 等价 用例 测试用例 测试 设计 重点

        软件测试的核心是测试用例的编写,是每个测试人员必须掌握的技能!!!应聘测试岗的必考题!!!

目录

一、等价类划分法

1、概念

2、等价类划分法用例设计原则

3、等价类划分法/边界值分析法常用的运用场景

二、边界值分析法

1、概念

        1.1定义

        1.2 边界值的作用

        1.3 举列子

三、场景法

1、定义

2、如何使用场景法

3、场景法的要素

4、场景法的类型

5、场景法的测试步骤

6、场景法的应用

7、场景法的优点与局限性

四、错误推测法(反推法)

五、因果图法

六、判定表法

七、正交实验法

八、常见笔试面试题


一、等价类划分法

1、概念

        等价类划分法是一种典型的、重要的黑盒测试方法,是指把所有可能的输入划分为N个子集合。在该子集合中,所有的输入数据对于揭露软件中的错误都是等效的。

        等价类划分有效等价类和无效等价类

        举例:微信红包

        按数据范围划分:不超过2位小数的值

        有效的:0.01-200(1)

        无效的 :小于0.01(2)

        大于200(3)

        0.01-200区间小数点后超出2位的值(4)

        按数据类型组成划分:

        有效:数字(5)

        无效:非数字类型,f、#、中文...(6)

2、等价类划分法用例设计原则

        ①划分有效及无效等价类,为每一个等价类规定一个唯一的编号

        ②设计一个新的测试用例数据,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这步,直到所有的有效等价类都被覆盖为止(用最少的用例去覆盖最多的有效等价类)

        ③设计一个新的测试用例数据,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步直到所有的无效等价类都被覆盖为止(用最多的用例去一一覆盖无效等价类)

3、等价类划分法/边界值分析法常用的运用场景

        ①输入条件规定的取值范围或值的个数的情况(类似最小<x<最大、最小<x、最大>x);比如用户名长度、红包金额数值输入范围

        ②在输入条件是true 和 false两种状态的情况;比如勾选、开关设置

        ③在下拉列表包含多个选项的情况;比如城市下拉选项(第一个、最后一个、中间一个)

        ④在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)

        以上除了等价类之外同时会涉及边界值的分析。边界值还包括以下:        

                1. 报表数据的第一行、最后一行、中间一行

                2. 屏幕上光标在最左上、最右下位置

二、边界值分析法

1、概念

        边界值的应用场景:如果需求规定了取值范围或规定了取值的个数时,可利用边界值进行测试

        1.1定义

                边界值分析法是对等价类划分法的一个补充,边界值一般都是从等价类的边缘值去寻找。 边界值分析的基本思想:正好等于、刚刚大于、刚刚小于边界的值作为测试数据。

                注意:0是一个特殊值,我们在考虑边界值的时候同时也要考虑这个特殊值。负数

        1.2 边界值的作用

                人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误!

        1.3 举列子

                Eg:比如我们生活中大家所熟悉的微信红包:最小金额 0.01元,最大金额200元

                边界值:0、0.01、0.02、199.99、200、200.01

                特殊值:负数

                Eg:一个输入文件应包括2~255条记录。

                边界值:1,2,3,254,255,256 2~255(有效类区间、无效类区间)

                特殊值:0

三、场景法

1、定义

        通过场景描述的业务流程(业务逻辑),也包括代码实现逻辑,设计用例来遍历场景(路径),验证软件系统功能的正确性。

2、如何使用场景法

        画出流程图

        矩形:表示步骤(操作、输入、输出结果)

        菱形:判断--是、否

        箭头:流向

        注意:场景法的重点是测试流程,因此每个流程一个用例验证即可,流程测试没有问题并不能说明系统功能没有问题了,还需要针对单步的功能进行测试,只有单个功能点和流程测试,才算是充分的测试

3、场景法的要素

        基本流:也叫有效流或正确流,模拟用户正确的业务操作流程。基本流一般采用 直黑线表示,是经过用例的最简单路径,无任何差错,程序从开始直接执行到结束。

        备选流:也叫无效流或错误流,模拟用户错误的业务操作流程。备选流可能从基 本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选 流,或终止用例,不再加入到基本流中。备选流一般代表了各种错误情况。

4、场景法的类型

        正常的用例场景:模拟用户按照正常流程操作系统的场景。

        备选的用例场景:模拟用户在某些条件下选择备用路径的场景。

        异常的用例场景:模拟用户操作导致系统异常的场景。

        假定推测的场景:基于某些假设或推测,模拟用户可能遇到的场景。

5、场景法的测试步骤

        熟悉流程:整理业务需求,列出基本流和备选流。

        生成场景:根据基本流和备选流生成不同的场景,并填入场景表或场景图中。

        设计测试用例:对每个场景生成相应的测试矩阵,并设计测试用例。测试用例应 包含测试用例ID、条件(或说明)、涉及的数据元素(作为输入或已存在于数据库中 以及预期结果。

        执行测试:按照测试用例执行测试,并记录测试结果。对于每个场景,至少要确 定包含执行场景所需的适当条件的测试用例。

        分析测试结果:根据测试结果分析系统是否存在问题,并进行相应的修复和优化。

6、场景法的应用

        场景法常用于软件测试中的业务流程和业务逻辑测试。测试人员将自己当成最终用户,尽量模拟用户在使用该软件的各种情景,以验证功能是否正确实现以及软件的异常处理能力(健壮性)。此外,场景法还适用于游戏测试、Web应用测试等领域。

7、场景法的优点与局限性

        优点:

        ·能够模拟真实或假设的用户场景,提高测试的针对性和有效性。

        ·强调对系统整体业务流程和业务逻辑的理解,有助于发现潜在的问题。

        ·通过生成不同的场景和测试用例,可以实现对系统的全面覆盖。

        局限性:

        ·依赖于测试人员对业务需求的熟悉程度和理解能力。

        ·对于复杂的系统或业务流程,可能需要生成大量的场景和测试用例。

        ·场景法主要关注用户操作和系统响应,对于系统内部的实现细节可能关注不够。

        综上所述,场景法是一种有效的测试用例设计方法,它强调对系统整体业务流程和业务逻辑的理解,并模拟用户在使用软件时可能遇到的各种情景。通过生成不同的场景和测试用例,可以实现对系统的全面覆盖和有效测试。然而,在实际应用中,测试人员需要充分理解业务需求,并合理设计场景和测试用例,以确保测试的有效性和准确性。

四、错误推测法(反推法)

        基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试法。它的要素共有三点,分别为:经验、知识、直觉。

        案例:某平台登录页面既然是用错误猜测法,那么我们首先列出可能导致结果出错的情况,如下:

        1、用户名跟密码的对应关系验证

        2、账号或密码为空

        3、用户名和密码,如果太短或者太长,应该怎么处理(安全性,密码太短时是否有提示)格式+满足格式要求但不是正确的

        4、用户名和密码,中有特殊字符(比如空格),和其他非英文的情况(是否做了过滤)

        5、用户名和密码前后有空格的处理(过滤)

        6、错误登录的次数限制

        7、提交登录时,网络异常

        8、多次点击提交操作,只能被执行一次

        单点登录

五、因果图法

        因果图方法采用一种适合于描述多种条件的组合,并相应产生多个动作的形式来考虑设计测试用例。它最终生成的是判定表,适合于检查程序输入条件的各种组合情况。这种方法可以清晰地展示输入条件与输出结果之间的因果关系,有助于测试人员全面理解系统的行为。

六、判定表法

        判定表法适合于逻辑判断复杂的场景。通过穷举条件获得结果,并对结果进行优化合并,最终得到一个判断清晰的策略表。这种方法可以清晰地展示输入条件与输出结果之间的关系,有助于测试人员全面理解系统的逻辑

七、正交实验法

        利用因果图来设计测试用例时,作为输入条件的原因与输出结果之间的因果关系有时很难从软件需求规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。

        正交实验法在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例。这种方法适用于多因素多水平的测试场景,可以大幅度减少测试用例的数量,同时保证测试的全面性和有效性。

八、常见笔试面试题

1、用例需要评审么?紧急情况用例也需要评审么?

        需要;需要(盈利发送邮件到相关人员)

2、如果被测项目很紧急,来不及写用例,怎么办?

        checklist检查列表(思维导图列出测试点)---补充完善用例

3、遇到隐性需求如何写用例?(需求不明确)

        熟悉功能,参考成熟产品,站在用户角度挖掘需求

4、用例有没有优先级?如果一定要有优先级,依据什么来确定呢?

        有的;依据功能用户使用场景是否使用的多

5、如何编写测试用例?(以项自为基础来讲一个小模块 用例设计)

6、编写测试用例会用到什么方法?接着问,你觉得你在写用例的时候用到了吗?(结合项目来答)

        业务流程-------------场景法

        某个功能输入------等价类划分法、边界值

        存在多个条件不同组合--------因果图判定表法

标签:场景,边界值,等价,用例,测试用例,测试,设计,重点
From: https://blog.csdn.net/qq_53865517/article/details/143191334

相关文章

  • 【无人机设计与控制】基于Astar算法无人机路径规划,优化路径平滑
    摘要本文提出了一种基于A算法的无人机路径规划方法,并通过路径平滑优化提升路径的可行性和安全性。传统A算法在生成路径时,常因路径节点分布不规则导致路径不平滑,影响无人机的飞行效率和安全性。本文通过引入贝塞尔曲线对A*算法生成的路径进行优化,使其更加平滑和符合无人机的......
  • 【源码+论文】Java毕业设计:基于SpringBoot协同过滤算法的汽车推荐网站(Mysql数据库)
    ✅更多源码|课设......
  • 三高应用的设计原则 java 三高
    高并发负载均衡:通过负载均衡器来分配请求到多个服务器或实例,避免单点过载。异步处理:采用异步非阻塞的方式处理任务,减少等待时间,提高资源利用率。无状态设计:确保服务实例之间无状态依赖,这样任何实例都可以处理任何请求,便于扩展。缓存策略:合理利用缓存减少数据库访问压力,提高......
  • 论软件架构设计及应用
    摘要:2022年5月,我公司承接了某知名地产集团的楼宇供销存管理系统的项目开发,该项目为集团管理重点楼宇管理系统。建设该项目的目的是帮助集团管理各个区域楼栋楼栋规划数量、销售数量、库存数量等管理工作。我作为系统架构师主要负责整个系统的架构设计工作,在本系统开发设计过......
  • 浙大版《C语言程序设计实验与习题指导(第4版)实验6-6 使用函数验证哥德巴赫猜想
    本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。函数接口给定如下intprime(intp);voidGoldbach(intn);其中函数prime当用户传入参数p......
  • 软件设计师:软件工程
    文章目录一、开发模型(1)瀑布模型(需求明确)(2)增量模型(快速构建)(3)演化模型(迭代模型)(3.1)原型模型(需求模糊规模小)(3.2)螺旋模型(风险分析规模大)(4)喷泉模型(面向对象)(5)统一过程(UP)模型(6)敏捷开发二、开发过程(1)需求分析(2)概要设计(3)详细设计三、测试(1)系统测试(2)单元测试(3)集成测试(4)测试方法......
  • java计算机毕业设计淮工志愿者服务系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着社会的发展,志愿服务在各个领域的重要性日益凸显。在传统的志愿服务模式下,存在着诸多问题,如信息传播不畅、资源分配不合理、管理缺乏系统性等......
  • java计算机毕业设计笔记交易平台(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着数字化学习的普及,知识的传播与共享方式发生了巨大的变革。在学习和工作过程中,人们积累了大量的笔记,这些笔记蕴含着丰富的知识价值。然而,目前......
  • java计算机毕业设计高校毕业设计选题管理系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着信息技术的迅猛发展,高校教育管理面临着新的挑战与机遇。在毕业设计选题管理方面,传统的管理模式多依赖于人工操作,例如教师手动发布课题、学生......
  • java计算机毕业设计TT手机销售平台(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着信息技术的飞速发展,手机已经成为人们生活中不可或缺的一部分。手机市场规模不断扩大,众多品牌和型号的手机不断涌现。在这样的市场环境下,TT手......