Combining sequential test cases into an equivalent set of adaptive test cases

IF 1.2 4区 数学 Q3 COMPUTER SCIENCE, THEORY & METHODS
Robert M. Hierons , Mercedes G. Merayo , Manuel Núñez
{"title":"Combining sequential test cases into an equivalent set of adaptive test cases","authors":"Robert M. Hierons ,&nbsp;Mercedes G. Merayo ,&nbsp;Manuel Núñez","doi":"10.1016/j.jlamp.2025.101092","DOIUrl":null,"url":null,"abstract":"<div><div>When testing a state-based system one might use a set of (negative) test cases in which each test case is a sequence of events that should not occur. Testing then involves executing the system under test (SUT) in order to check whether any of these disallowed sequences can occur. While testing using such sequences can be effective, they introduce a source of inefficiency: if a test case expects the SUT to produce output <em>a</em> after observing a sequence <em>σ</em> and the SUT instead produces a different output <span><math><msup><mrow><mi>a</mi></mrow><mrow><mo>′</mo></mrow></msup></math></span> after <em>σ</em> then testing with that test case did not show an error, because the SUT can autonomously produce outputs, and terminates because the test case only makes sense if the exact sequence is observed. This is a source of inefficiency if there is another test case that starts with <em>σ</em> followed by <span><math><msup><mrow><mi>a</mi></mrow><mrow><mo>′</mo></mrow></msup></math></span>: we could have continued evaluating whether the application of this second test case leads to an error. This paper considers scenarios in which events represent inputs, outputs, or the passing of discrete time. We show how a set of sequential test cases can be converted into an equivalent set of adaptive test cases, with adaptivity addressing the above source of inefficiency. The proposed approach has the potential to improve efficiency when using any test generation technique that returns negative sequential test cases.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"148 ","pages":"Article 101092"},"PeriodicalIF":1.2000,"publicationDate":"2025-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Logical and Algebraic Methods in Programming","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2352220825000586","RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0

Abstract

When testing a state-based system one might use a set of (negative) test cases in which each test case is a sequence of events that should not occur. Testing then involves executing the system under test (SUT) in order to check whether any of these disallowed sequences can occur. While testing using such sequences can be effective, they introduce a source of inefficiency: if a test case expects the SUT to produce output a after observing a sequence σ and the SUT instead produces a different output a after σ then testing with that test case did not show an error, because the SUT can autonomously produce outputs, and terminates because the test case only makes sense if the exact sequence is observed. This is a source of inefficiency if there is another test case that starts with σ followed by a: we could have continued evaluating whether the application of this second test case leads to an error. This paper considers scenarios in which events represent inputs, outputs, or the passing of discrete time. We show how a set of sequential test cases can be converted into an equivalent set of adaptive test cases, with adaptivity addressing the above source of inefficiency. The proposed approach has the potential to improve efficiency when using any test generation technique that returns negative sequential test cases.
将连续的测试用例组合成一组等效的自适应测试用例
当测试基于状态的系统时,可以使用一组(负)测试用例,其中每个测试用例都是不应该发生的事件序列。然后,测试包括执行被测系统(SUT),以检查这些不允许的序列是否会发生。虽然使用这样的序列进行测试可能是有效的,但它们引入了一个低效率的来源:如果一个测试用例期望SUT在观察到序列σ之后产生输出a,而SUT在σ之后产生不同的输出a ',那么使用该测试用例进行测试并没有显示错误,因为SUT可以自主地产生输出,并且因为测试用例只有在观察到精确的序列时才有意义而终止。如果有另一个以σ开头的测试用例,后面跟着a ',这是一个低效率的来源:我们可以继续评估第二个测试用例的应用是否会导致错误。本文考虑事件代表输入、输出或离散时间流逝的场景。我们展示了如何将一组连续的测试用例转换为一组等效的自适应测试用例,并使用自适应性解决上述低效率的来源。当使用任何返回负顺序测试用例的测试生成技术时,所建议的方法具有提高效率的潜力。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Journal of Logical and Algebraic Methods in Programming
Journal of Logical and Algebraic Methods in Programming COMPUTER SCIENCE, THEORY & METHODS-LOGIC
CiteScore
2.60
自引率
22.20%
发文量
48
期刊介绍: The Journal of Logical and Algebraic Methods in Programming is an international journal whose aim is to publish high quality, original research papers, survey and review articles, tutorial expositions, and historical studies in the areas of logical and algebraic methods and techniques for guaranteeing correctness and performability of programs and in general of computing systems. All aspects will be covered, especially theory and foundations, implementation issues, and applications involving novel ideas.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信