【软件工程】具体的设计方法(等价类、边界值、场景法)

文章目录

基于需求的设计方法

测试和开发工作开展的依据:软件需求

基于需求的设计⽅法也是总的设计测试⽤例的⽅法,在⼯作中,我们需要参考需求⽂档/产品规格说明书来设计测试⽤例。

测试⼈员接到需求之后,要对需求进⾏分析和验证,从合理的需求中进⼀步分析细化需求,从细化的需求中找出测试点,根据这些测试点再去设计测试⽤例。

具体的设计方法

1. 等价类

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


我们单独看一下姓名的测试:

在测试的时候应该测试哪些长度的姓名?

  • 6 位?7 位?8 位?... 15 位?

我们需要测试软件是否做了其应该做的,是否做了其不应该做的。无法借助穷举法来进行测试,耗时耗力。我们就用一个等价类进行测试

在一个班级里面,老师讲课,问同学们听懂没有。此时只要有一个同学说听懂了,那就默认全班都听懂了,就不用一个同学一个同学的挨个问了

等价类分类

等价类主要分为:

  • 有效等价类 :对于程序的规格说明书是合理的、有意义的输⼊数据构成的集合,利⽤有效等价类验证程序是否实现了规格说明中所规定的功能和性能。(测试程序是否做了其应该做的
  • 无效等价类 :根据需求说明书,不满⾜需求的集合。(测试程序是否做了其不该做的

根据等价类设计测试用例的方法

  1. 确定有效等价类和无效等价类
  2. 编写测试用例,设计具体测试数据

练习:根据学到的边界值将上述未完成的用例进行完善

缺点:等价类只考虑输⼊域的分类,没有考虑输⼊域的组合,需要其他的设计⽅法和补充。


2. 边界值

边界值分析法就是对输⼊或输出的边界值进⾏测试的⼀种⿊盒测试⽅法。通常边界值分析法是作为对等价类划分法的补充 ,这种情况下,其测试⽤例来⾃等价类的边界


边界值包含:边界值+次边界值

  1. 有效范围是 [6, 15]
    • 边界值:6, 15(有效)
    • 次边界值:5, 16(无效)
  2. 有效范围是 (6, 15)
    • 边界值:6, 15(无效)
    • 次边界值:7, 14(有效)
  • 边界值即给定返回的左数据和右数据
  • 选择次边界值的时候需要根据边界值的有效无效情况来定
    1. 若边界值为有效等价类中的数据,则次边界值为无效等价类中的边界
    2. 若边界值为无效等价类中的数据,则次边界值为有效等价类中的边界

3. 场景法

现在的软件⼏乎都是⽤事件触发来控制流程的,事件触发时的情景便形成了场景,⽽同⼀事件不同的触发顺序和处理结果就形成事件流。

针对场景法给出⽣活中的案例。以逛街买⾐服为例,讲讲场景法的使⽤⽅法。

  • 在每一步骤/流程都可能会出现一些异常/扩展的场景,就会出现其他的步骤/流程。

通过运⽤场景来对系统的功能点或业务流程的描述,从⽽提⾼测试效果的⼀种⽅法。⽤例场景来测试需求是指模拟 特定场景边界发⽣的事情,通过事件来触发某个动作的发⽣,观察事件的最终结果,从⽽⽤来发现需求中存在的问题。我们通常以正常的⽤例场景分析开始 ,然后再着⼿其他的场景分析。场景法⼀般包含基本流/基本时间流和备⽤流/备用事件流,从⼀个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备⽤流来完成整个场景。场景主要包括 4 种主要的类型:正常的⽤例场景,备选的⽤例场景,异常的⽤例场景,假定推测的场景。

  • 用这种方法能够模拟可能出现的用户的操作,尽可能多的覆盖用户在使用的时候可能遇到的场景,保证我们测试的流程尽量使完整的。

确定基本流和备用流后,编写测试用例:

  1. 基本流:点击注册入口同意协议,输入正确的信息,点击注册,成功激活
  2. 备用流:点击注册入口不同意协议,重新点击注册入口同意协议,输入正确的信息,点击注册,成功激活
  3. 备用流:点击注册入口不同意协议,点击注册入口不同意协议,输入错误的信息后重新输入正确的信息,点击注册,成功激活

场景法在工作中是一个非常有用的设计测试用例思路,主要是在需求评审和设计测试用例

相关推荐
开开心心就好16 小时前
娱乐使用,可以生成转账、图片、聊天等对话内容
windows·python·智能手机·软件工程·娱乐·软件需求
IDRSolutions_CN17 小时前
如何在 PDF 文件中嵌入自定义数据
java·经验分享·pdf·软件工程·团队开发
workflower1 天前
Prompt Engineering的重要性
大数据·人工智能·设计模式·prompt·软件工程·需求分析·ai编程
odoo中国2 天前
Part 3 第十二章 单元测试 Unit Testing
单元测试·软件工程
workflower3 天前
如何对比软件需求做的是否合格?
设计模式·软件工程·需求分析
hope_wisdom4 天前
实战设计模式之外观模式
设计模式·架构·软件工程·软件构建·外观模式·架构设计
云纳星辰怀自在4 天前
软件工程之软件需求SWE.1
软件工程·需求分析
xiaohiiii5 天前
2012年下半年软件设计师上午题知识点及其详细解释(附真题及答案解析)
运维·服务器·数据库·计算机网络·职场和发展·软件工程
workflower5 天前
实例研究:设计一个文档编辑器(24)- 完
java·开发语言·设计模式·编辑器·软件工程·需求分析·软件需求
IDRSolutions_CN6 天前
Java 开发者需要了解的 PDF 基础知识
java·经验分享·pdf·软件工程·团队开发