我一直在研究不同的测试技术,并想知道是否有人有使用状态转换图的“真实世界”的例子,而不是经常使用的沼泽标准时钟和灯开关。我还在想,当使用向导时,向导的每个页面是否都是一个单独的状态?
发布于 2011-06-02 14:50:08
状态转换测试可能是软件测试中最常用的方法。每次测试人员执行某个操作时,都会注意到状态,然后考虑下一组可能的操作,它们实际上是测试状态之间的转换。
有时,状态转换图有助于简化具有多个状态和这些状态之间的转换的复杂系统,并且可以帮助测试人员查找漏洞,或者帮助测试人员将测试人员集中到重要的路径。
状态转换测试也是基于模型的测试的骨干。
有关状态转换测试的简单示例和简单图表,请参阅http://www.testingmentor.com/imtesty/2011/02/21/state-transition-testing-thinking-in-models/
发布于 2011-05-31 16:19:28
在某些情况下,状态转换图是一种方便的工具,但我不会将它们称为“软件测试技术”。
我不知道这和“沼泽标准时钟和电灯开关”有什么关系。
发布于 2011-05-31 23:50:31
当您试图理解系统的工作原理时,状态转换图可能是一种非常方便的通信辅助工具--如果没有将不同的状态绘制在您面前的白板上,它可以帮助您发现可能错过的转换。
这是一个真实的例子。让我们选择一个在线零售商。我们来看看订单--它们是一个很好的例子,它可能有几个不同的状态,您可能想要测试一些东西是如何在这些状态之间移动的,以及当订单处于不同的状态时,您可以执行哪些操作。
以下是几个州:
那里有十一个不同的州,一个单独的秩序并不会贯穿所有的州。你可能会看到一些有意义的序列--例如,下订单,分配货物,付款,选购,发货。但是,如果您只是尝试将序列列表组合在一起,您很可能错过了应该测试的转换,这样您就可以很容易地在图中发现。
另一件事,绘制一个图表将揭示的是,在知识方面的差距-例如,你可能开始怀疑-我可以在任何阶段提出取消请求吗?或者只有某些状态,我可以达到“预定取消”-也许我只能取消订单,而没有分配的货物,或者我可以取消在任何阶段,以选择正在进行。如果我的订单处于付款错误状态-我可以从那里去哪里?如果我支付了一笔成功的款项,订单会转到哪个州?如果我不知道,它会去哪里?有时间限制吗?
试着从给出的例子中画出一个状态转换图,看看你能从你现在知道的内容中填写多少。你所知道的信息不足以填写,或者你所得到的信息是模糊的--这些都是你会向你的业务分析师或产品所有者提出的问题。
这有用吗?
https://sqa.stackexchange.com/questions/907
复制相似问题