With software systems becoming increasingly pervasive and autonomous, our ability to test for their quality is severely challenged. Many systems are called to operate in uncertain and highly-changing environment, not rarely required to make intelligent decisions by themselves. This easily results in an intractable state space to explore at testing time. The state-of-the-art techniques try to keep the pace, e.g., by augmenting the tester's intuition with some form of (explicit or implicit) learning from observations to search this space efficiently. For instance, they exploit historical data to drive the search (e.g., ML-driven testing) or the tests execution data itself (e.g., adaptive or search-based testing). Despite the indubitable advances, the need for smartening the search in such a huge space keeps to be pressing. We introduce Reasoning-Based Software Testing (RBST), a new way of thinking at the testing problem as a causal reasoning task. Compared to mere intuition-based or state-of-the-art learning-based strategies, we claim that causal reasoning more naturally emulates the process that a human would do to ''smartly" search the space. RBST aims to mimic and amplify, with the power of computation, this ability. The conceptual leap can pave the ground to a new trend of techniques, which can be variously instantiated from the proposed framework, by exploiting the numerous tools for causal discovery and inference. Preliminary results reported in this paper are promising.
翻译:随着软件系统日益普遍和自主,我们测试其质量的能力受到严重挑战。许多系统被要求在不确定和高度变化的环境中运行,并非需要自己作出明智的决定。这很容易导致在测试时间进行探索的棘手国家空间。最先进的技术试图跟上速度,例如,通过从观测中学习某种形式(明示或隐含),从观测中增加测试者的直觉,从而有效地搜索这个空间。例如,它们利用历史数据推动搜索(例如ML驱动的测试)或测试执行数据本身(例如适应性或基于搜索的测试)或测试数据本身(例如,适应性或基于搜索的测试)。尽管取得了难以捉摸摸摸不定的进展,但在如此巨大的空间里,需要使搜索更加精明。我们引入了基于理性的软件测试(RBST),这是对测试问题的一种新思维的一种因果推理。与仅仅基于直观或状态的基于学习的策略相比,我们声称,因果推理推理可以更自然地模仿一个过程,即人类在“精准的”快速地探索、快速地探索各种空间的工具中,可以借助于“快速的“快速地探索”的“机变压工具来搜索各种空间。ST 目标可以是“快速地研究各种工具”。</s>