|
知识路径: > 嵌入式系统的项目开发与维护知识 > 嵌入式系统软件测试 > 软件测试实践 >
|
相关知识点:7个
|
|
|
|
基于模型的测试(Model-based Testing)需要实现一个模型,然后制定行为和行为之间的关系以及行为和系统的关系(有限状态机),然后测试系统,根据被测系统的状态、之前设置的限制条件和策略来生成很多用例(每执行一次生成的用例会不同),测试结果受一系列操作的影响,可以产生不确定性,更有可能发现一些想不到的很深路径下的软件缺陷。
|
|
|
|
(1)模型程序:在这里定义被测系统可以被执行的一些操作,例如创建一个虚机、删除一个虚机等,还有这些操作能被执行的条件和系统在各个操作下的状态。
|
|
|
(2)Test Harness/Steper/Adapter:访问被测系统,具体实现模型中定义的操作。
|
|
|
(3)策略:在测试运行过程中,完成一个操作后,下一个应该执行哪个操作,是由这个策略决定的,最简单的策略可以用随机选择的方式,还可以自己实现一些更复杂的选择策略算法,例如Zstack的公平调度算法和基于历史测试路径的调度算法。
|
|
|
|
基于模型的测试应首先充分了解被测系统需求,将需求抽象成机器可读的模型(FSM:有限状态机),然后编码实现所建立的模型,执行测试。这种测试的难点在于提取测试模型,以及编写测试模型验证代码,而非基于模型的测试框架本身和模型算法。
|
|
|