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

文章目录

基于需求的设计方法

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

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

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

具体的设计方法

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. 备用流:点击注册入口不同意协议,点击注册入口不同意协议,输入错误的信息后重新输入正确的信息,点击注册,成功激活

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

相关推荐
提笔惊蚂蚁1 天前
软件工程-需求分析与设计-更新中-1.0版
软件工程·需求分析
shinelord明2 天前
【再谈设计模式】抽象工厂模式~对象创建的统筹者
数据结构·算法·设计模式·软件工程·抽象工厂模式
写代码的橘子n3 天前
软件工程笔记二—— 软件生存期模型
笔记·语言模型·软件工程
努力编程的阿伟3 天前
软件工程视角:Git 基础与实践
git·软件工程
漫天转悠3 天前
软件工程的基础和核心理论概念
软件工程
问道飞鱼4 天前
【软件工程】深入理解一下SOA(面向服务的架构)
软件工程
努力编程的阿伟5 天前
软件工程中的创建型设计模式:工厂方法模式与抽象工厂模式
设计模式·软件工程·抽象工厂模式
思茂信息5 天前
CST如何计算CMA中的模式加权系数MWC
运维·服务器·开发语言·人工智能·算法·软件工程
雾江流6 天前
华夏风物 3.2.0 | 中国风物志,记录各地特产、美食、风景,旅游吃货必备
软件工程·旅游·美食·风景