正确答案
基于状态的测试是通过检查对象的状态在执行某个方法后是否会转移到预期状态的一种测试技术。使用该技术能够检验类中的方法是否能正确地交互。
基于状态测试的主要步骤:
(1)依据设计文档,或者通过分析对象数据成员的取值情况空间,得到被测试类的状态转移图。
(2)给被测试的类加入用于设置和检查对象状态的新方法,导出对象的逻辑状态。
(3)对于状态转移图中每个状态,确定该状态是哪些方法的合法起始状态,即在该状态时对象允许执行哪些操作。
(4)在每个状态,从类中方法的调用关系图最下层开始,逐一测试类中的方法;测试每个方法时,根据对象当前状态确定出对方法的执行路径有特殊影响的参数值,将各种可能组合作为参数进行测试。