gpt4 book ai didi

testing - 基于状态的测试(状态图)和转换序列

转载 作者:行者123 更新时间:2023-11-28 21:35:06 25 4
gpt4 key购买 nike

我真的受困于一些基于状态的测试概念......

我正在尝试计算一些检查序列,这些序列将涵盖每个状态的所有转换,我有答案,但我不明白:

alt text http://www.gam3r.co.uk/1m.jpg

现在我的答案是:

alt text http://www.gam3r.co.uk/2m.jpg

完全看不懂。例如,我们想检查 s1 的转换 a/x,难道我们不只做 ab 吗?因为我们已经在 s1 中,所以我们执行 a/x 来测试到 s2 的转换,然后执行 b 来检查我们是否处于之前的正确状态(s1)?我不明白为什么 s1 是 aba 甚至是 bb...

谁能帮我解释一下?

谢谢

最佳答案

4 种状态中的每一种都有 2 个可用事件,提供 8 个转换,作者决定在 8 个单独的测试序列中对其进行测试。每个序列(S1 序列除外——显然机器的初始状态是 S1)都需要将机器驱动到目标状态,然后执行事件 a 或事件 b。

他选择的序列足够了,因为每个转换都被覆盖了。然而,它们并不是唯一的,而且正如您所观察到的那样,它们并不是最小的。

一个更明显的选择是:

一个bab aa啊啊啊啪啪

我不明白作者在每个序列的末尾添加多余过渡的目的。该系统是一台 Mealy 机器——机器的行为由当前状态和事件唯一确定。没有内存通向当前状态的路径;因此,作者的额外过渡没有提供额外的覆盖范围,只会造成混淆。

您也说对了,您可以用一组较短的图形路径覆盖所有转换。但是,我不愿意那样做。清晰比优化测试代码更重要。

关于testing - 基于状态的测试(状态图)和转换序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1959623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com