📅  最后修改于: 2021-01-08 08:41:33             🧑  作者: Mango
状态转换的一般含义是,相同情况的不同形式,并且根据含义,状态转换方法执行的操作也相同。当不同的输入值赋给同一函数时,它用于捕获软件应用程序的行为。
我们都使用自动柜员机,当我们从中提款时,它会最后显示帐户详细信息。现在,我们再次进行另一笔交易,然后再次显示帐户明细,但是第二笔交易后显示的细节与第一笔交易不同,但是这两个细节都是使用ATM的相同函数显示的。因此,此处使用了相同的函数,但是每次输出不同时,这称为状态转换。在测试软件应用程序的情况下,此方法将测试函数是否在输入不同的输入时遵循状态转换规范。
这适用于提供特定次数的尝试访问应用程序的那些类型的应用程序,例如在指定次数的错误尝试后被锁定的应用程序的登录函数。让我们详细看看,在登录函数,我们使用电子邮件和密码,它给出了特定次数的访问应用程序的尝试,超过了错误消息将其锁定的最大尝试次数之后。
让我们在图中看到:
应用程序有一个登录功能,该函数最多可提供三个尝试次数,超过三个尝试次数后,将被定向到错误页面。
状态转换表
STATE | LOGIN | VALIDATION | REDIRECTED |
---|---|---|---|
S1 | First Attempt | Invalid | S2 |
S2 | Second Attempt | Invalid | S3 |
S3 | Third Attempt | Invalid | S5 |
S4 | Home Page | ||
S5 | Error Page |
在上面的状态转换表中,我们看到状态S1表示第一次登录尝试。当第一次尝试无效时,将引导用户进行第二次尝试(状态S2)。如果第二次尝试也是无效的,则用户将被引导到第三次尝试(状态S3)。现在,如果第三次也是最后一次尝试无效,那么将把用户定向到错误页面(状态S5)。
但是,如果第三次尝试有效,那么它将被定向到首页(状态S4)。
让我们看一下第三次尝试是否有效的状态转换表:
STATE | LOGIN | VALIDATION | REDIRECTED |
---|---|---|---|
S1 | First Attempt | Invalid | S2 |
S2 | Second Attempt | Invalid | S3 |
S3 | Third Attempt | Valid | S4 |
S4 | Home Page | ||
S5 | Error Page |
通过使用上面的状态转换表,我们可以执行任何软件应用程序的测试。我们可以通过确定所需的输出来制作状态转换表,然后使用软件系统检查其是否给出了所需的输出。