动态行为
在系统执行过程中进行着很多活动:生成和删除实例并交换事件;生成和删除关联;调用域服务;设置并触发定时器。所有这些活动都应在集成测试中注意。根据实现的不同,每个活动都会触发交互的中断点或踪迹输出。
DVUI应能将中断状态发送给代理程序。中断可让DVUI在执行过程中交互式地浏览该点的系统状态,并在必要时调整实例和属性。踪迹点也可由DVUI设置。在踪迹点,描述触发活动的信息传送给 DVUI并存在日志文件中。踪迹点是在高层追踪系统执行情况的好方法。它们甚至可以后处理,以生成描述执行情境的序列图,也可用于回归测试。
中断和踪迹点控制可以通过发布-订阅模式实现。代理程序可支持所有类型的应用执行活动的注册。DVUI可以订阅这些活动,如某一特定实例的生成或状态机变换的初始化。当活动发生时,应用代码内的测试仪器通知代理程序,代理程序再通知订阅者执行相应的动作、中断或踪迹。
用通信状态机建模的系统实现包含一个事件队列,由对象从域外发送的事件放在队列中。事件环不断执行,将下一事件拉出队列,并传送至执行特定行为的目的实例。采用这一实现方法,事件环成为监控系统执行的中枢。
在事件环内加入测试仪器接口可监视经过的事件并查出接收实例应执行的下一状态。这些状态可与DVUI设置的中断和踪迹点状态相比较。
事件环中的测试仪器还应支持单事件步进模式。在这种模式下,DVUI命令应用执行一个动作,并在下一动作之前停止。
如果用分析级的执行语句描述UML模型动作和服务,可以用相似的方法编写代码,将分步执行事件扩展成分步执行语句。每一句执行语句跟随一条测试仪器指令,记录行数和局域变量值。当然,如果用手工操作将非常费时费力,但是通过转换则很容易实现。