状态转换测试技术

什么是状态转换测试?

状态转换测试是一种黑盒测试技术,其中输入条件的更改会导致 Test(AUT) 下的应用程序的状态更改或输出更改。测试人员可以提供正负输入测试值,并记录系统行为。

状态转换测试模型是系统和测试的基础。任何系统,如果对相同的输入得到不同的输出,取决于之前发生的事情,那么它就是一个有限状态系统。

当需要测试不同的系统转换时,状态转换测试技术很有帮助。

在本教程中,将了解-

  • 什么是测试中的状态转换?
  • 何时使用状态转换?
  • 什么时候不应该依赖国家过渡?
  • 状态转换图的四个部分
  • 状态转移图和状态转移表
  • 如何进行状态转换(状态转换示例)
  • 状态转换技术的优缺点

何时使用状态转换

  • 当测试人员针对有限的输入值集测试应用程序时,可以使用此功能。
  • 当测试人员试图测试被测应用程序中发生的事件序列时。即,这将允许测试人员测试输入值序列的应用程序行为。
  • 当被测系统依赖于过去的事件/值时。

什么时候不应该依赖过渡?

  • 当没有对顺序输入组合进行测试时。
  • 如果要为不同的功能(如探索性测试)进行测试

状态转换图的四个部分

状态转换模型有4个主要组件,如下所示

  1. 说明软件可能会

  1. 从一种状态转换到另一种状态

  1. 引发过渡的事件,如关闭文件或取款

  1. 下一步操作(错误消息或被给予授权)

状态转移图和状态转移表

表示或设计状态转移的方法主要有两种:状态转移图和状态转移表。

在状态转换图中,状态用方框文本表示,转换用箭头表示。它在标识有效过渡时非常有用。

在状态转换表中,所有状态都列在左侧,事件描述在顶部。它在识别无效过渡时非常有用。

如何进行状态转换(状态转换示例)

示例1:

考虑一个自动柜员机系统函数,其中如果用户输入无效密码三次,帐户将被锁定。

在此系统中,如果用户在前三次尝试中的任何一次输入有效密码,则该用户将成功登录。最后,如果用户输入了错误的密码3次, 账户就会被锁定。

状态转移图

在该图中,只要用户输入正确的PIN,他就会进入访问授权状态,如果他输入了错误的密码,他就会转到下一次尝试,如果他对3个PIN执行了同样的操作 RD 达到帐户阻止状态的时间。

状态转换表

尝试 正确的PIN PIN不正确
S1) 启动 S5 S2
S2) 第一次尝试 S5 S3
S3) 第二次尝试 S5 S4
S4) 第三次尝试 S5 S6
S5) 授予访问权限
s6) 账户被封

在该表中,当用户输入正确的PIN时,状态将转换为授予访问权限的S5。如果他也这么做3 RD 时间,他将达到帐户被锁定状态。

示例2:

在机票预订登录屏幕中,考虑必须输入正确的座席名称和密码才能访问机票预订应用程序。

状态转移图

它允许使用正确的密码和登录名访问应用程序,但是如果输入了错误的密码怎么办。

该应用程序允许三次尝试,如果用户在第四次尝试时输入了错误的密码,系统将自动关闭该应用程序。

状态图可帮助确定要测试的有效转换。在本例中,测试WIT用于测试场景,登录2,3 和4 尝试任何人都可以被测试。

可以使用状态表来确定无效的系统转换。

在状态表中,所有有效状态都列在表的左侧,导致这些状态的事件列在顶部。 每个单元格表示当相应事件发生时系统将移动到的状态。

例如,当在S1状态下输入正确的密码时,将进入状态S6(已授予访问权限)。假设如果在第一次尝试时输入了错误的密码,将被带到状态S3或第二次尝试。 同样,可以确定所有其他状态。

使用此方法突出显示两个无效状态。假设处于状态S6,即已经登录到应用程序,并且打开了另一个航类预订实例,并且需要测试此类场景的系统响应。

状态转换技术的优缺点

优势 劣势
这种测试技术将提供系统行为的图形化或表格表示,这将使测试人员能够有效地覆盖和理解系统行为。 这项测试技术的主要缺点是我们不能每次都依赖这项技术。例如,如果系统不是有限系统(不是按顺序),则不能使用此技术。
通过使用此测试,技术测试人员可以验证是否覆盖了所有条件,并捕获了结果 另一个缺点是必须定义系统的所有可能状态。虽然这对于小系统来说没什么问题,但它很快就会分解成更大的系统,因为状态的数量呈指数级增长。

总结:

  • 状态转换测试被定义为输入条件的变化导致被测应用程序的状态变化的测试技术。
  • 在软件工程中,当需要测试不同的系统转换时,状态转换测试技术非常有用。
  • 表示或设计状态转移的两种主要方式是状态转移图和状态转移表。
  • 在状态转换图中,状态用方框文本表示,转换用箭头表示。
  • 在状态转换表中,所有状态都列在左侧,事件描述在顶部。
  • 这种测试技术的主要优点是,它将提供系统行为的图形化或表格表示,这将使测试人员能够有效地覆盖和理解系统行为。
  • 这项测试技术的主要缺点是我们不能每次都依赖这项技术。

IT赶路人

专注IT知识分享