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

文章目录

基于需求的设计方法

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

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

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

具体的设计方法

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

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

相关推荐
武汉唯众智创2 小时前
职业本科软件工程实训室建设初探
软件工程·软件工程实训室·软件工程实验室
不是小盆友2 小时前
零基础上岸高项丨经验分享
经验分享·软件工程·pat考试·软考高级·软考·软考高项·苏景一软考
Tom Boom5 小时前
【3. 软件工程】3.1 软件过程模型
职场和发展·系统架构·软件工程
a180079310801 天前
软件工程面试题(六)
java·面试·软件工程
小小的测试一下2 天前
业务流程先导及流程图回顾
功能测试·软件工程
GIS程序媛—椰子2 天前
【软件工程】习题及答案
软件工程
GIS程序媛—椰子3 天前
【软件工程】填空题
软件工程
牛马程序员小邓3 天前
系统架构师备考——软件工程基础知识篇(软件测试&净室软件工程&基于构件的软件工程)
系统架构·软件工程
南山星火3 天前
人工智能与软件工程结合的发展趋势
人工智能·软件工程
编程在手天下我有3 天前
主流软件工程模型全景剖析
软件工程