支持不可行测试需求识别的策略

João Choma Neto, Ricardo Chagas, Allan Mori, R. F. Vilela, T. Colanzi, S. R. S. Souza
{"title":"支持不可行测试需求识别的策略","authors":"João Choma Neto, Ricardo Chagas, Allan Mori, R. F. Vilela, T. Colanzi, S. R. S. Souza","doi":"10.1145/3559744.3559748","DOIUrl":null,"url":null,"abstract":"[Context:] Software testing is an important activity to ensure software quality. However, this is expensive because it is hard to generate and select practical test cases to execute a software system. Many infeasible test requirements collaborate to increase the effort on test data generation, for instance, infeasible paths. The identification of infeasible test requirements is not a trivial task and is currently performed manually. Published works tackle this problem and propose a manual process or brute force to mitigate infeasible test requirements. [Objective:] Our goal is twofold, to propose a strategy based on the infeasible path properties and automate the identification process to reveal infeasible and dark-infeasible test requirements without using input data. [Methodology:] We build a strategy to reveal infeasible and dark-infeasible test requirements. Afterward, we automate the strategy by developing a tool to support and scale the infeasible path-revealing process. The strategy was implemented in a tool, called Fi-paths, which supports the strategy. The tool statically analyzes the properties’ source code to reveal infeasible and dark-infeasible test requirements. To evaluate the strategy, we conducted an experimental study using Fi-paths and analyzed a set of sequential programs implemented in the Java language. [Results and conclusion:] The strategy indicates which regions of the source code had the properties, as well as which testing requirements are infeasible and potentially infeasible. The strategy helps the tester by indicating which code regions need more attention. On the other hand, the strategy has the potential to help an algorithm generate input data because it can be used as a stopping criterion. Since the strategy indicates which test requirements may exhibit infeasible behavior, it allows the algorithm to be optimized by accepting recommendations from the tester to cover problematic testing requirements.","PeriodicalId":187140,"journal":{"name":"Proceedings of the 7th Brazilian Symposium on Systematic and Automated Software Testing","volume":"20 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"A Strategy to Support the Infeasible Test Requirements Identification\",\"authors\":\"João Choma Neto, Ricardo Chagas, Allan Mori, R. F. Vilela, T. Colanzi, S. R. S. Souza\",\"doi\":\"10.1145/3559744.3559748\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"[Context:] Software testing is an important activity to ensure software quality. However, this is expensive because it is hard to generate and select practical test cases to execute a software system. Many infeasible test requirements collaborate to increase the effort on test data generation, for instance, infeasible paths. The identification of infeasible test requirements is not a trivial task and is currently performed manually. Published works tackle this problem and propose a manual process or brute force to mitigate infeasible test requirements. [Objective:] Our goal is twofold, to propose a strategy based on the infeasible path properties and automate the identification process to reveal infeasible and dark-infeasible test requirements without using input data. [Methodology:] We build a strategy to reveal infeasible and dark-infeasible test requirements. Afterward, we automate the strategy by developing a tool to support and scale the infeasible path-revealing process. The strategy was implemented in a tool, called Fi-paths, which supports the strategy. The tool statically analyzes the properties’ source code to reveal infeasible and dark-infeasible test requirements. To evaluate the strategy, we conducted an experimental study using Fi-paths and analyzed a set of sequential programs implemented in the Java language. [Results and conclusion:] The strategy indicates which regions of the source code had the properties, as well as which testing requirements are infeasible and potentially infeasible. The strategy helps the tester by indicating which code regions need more attention. On the other hand, the strategy has the potential to help an algorithm generate input data because it can be used as a stopping criterion. Since the strategy indicates which test requirements may exhibit infeasible behavior, it allows the algorithm to be optimized by accepting recommendations from the tester to cover problematic testing requirements.\",\"PeriodicalId\":187140,\"journal\":{\"name\":\"Proceedings of the 7th Brazilian Symposium on Systematic and Automated Software Testing\",\"volume\":\"20 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-10-03\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 7th Brazilian Symposium on Systematic and Automated Software Testing\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3559744.3559748\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 7th Brazilian Symposium on Systematic and Automated Software Testing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3559744.3559748","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

软件测试是保证软件质量的一项重要活动。然而,这是昂贵的,因为很难生成和选择实际的测试用例来执行软件系统。许多不可行的测试需求共同增加了测试数据生成的工作量,例如,不可行的路径。识别不可行的测试需求不是一项微不足道的任务,目前是手工执行的。已出版的作品解决了这个问题,并提出了一个手动过程或蛮力来减轻不可行的测试需求。[目的]我们的目标是双重的,提出一种基于不可行的路径属性和自动化识别过程的策略,在不使用输入数据的情况下揭示不可行的和暗不可行的测试需求。[方法:]我们建立一个策略来揭示不可行和暗不可行的测试需求。之后,我们通过开发一个工具来支持和扩展不可行的路径揭示过程,从而使策略自动化。该策略是在一个名为Fi-paths的工具中实现的,该工具支持该策略。该工具静态地分析属性的源代码,以揭示不可行和不太可行的测试需求。为了评估该策略,我们使用Fi-paths进行了一项实验研究,并分析了一组用Java语言实现的顺序程序。[结果和结论:]策略指出源代码的哪些区域具有这些属性,以及哪些测试需求是不可行的和潜在的不可行的。该策略通过指示哪些代码区域需要更多关注来帮助测试人员。另一方面,该策略有可能帮助算法生成输入数据,因为它可以用作停止标准。由于该策略指出了哪些测试需求可能表现出不可行的行为,因此它允许通过接受测试人员的建议来优化算法,以覆盖有问题的测试需求。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
A Strategy to Support the Infeasible Test Requirements Identification
[Context:] Software testing is an important activity to ensure software quality. However, this is expensive because it is hard to generate and select practical test cases to execute a software system. Many infeasible test requirements collaborate to increase the effort on test data generation, for instance, infeasible paths. The identification of infeasible test requirements is not a trivial task and is currently performed manually. Published works tackle this problem and propose a manual process or brute force to mitigate infeasible test requirements. [Objective:] Our goal is twofold, to propose a strategy based on the infeasible path properties and automate the identification process to reveal infeasible and dark-infeasible test requirements without using input data. [Methodology:] We build a strategy to reveal infeasible and dark-infeasible test requirements. Afterward, we automate the strategy by developing a tool to support and scale the infeasible path-revealing process. The strategy was implemented in a tool, called Fi-paths, which supports the strategy. The tool statically analyzes the properties’ source code to reveal infeasible and dark-infeasible test requirements. To evaluate the strategy, we conducted an experimental study using Fi-paths and analyzed a set of sequential programs implemented in the Java language. [Results and conclusion:] The strategy indicates which regions of the source code had the properties, as well as which testing requirements are infeasible and potentially infeasible. The strategy helps the tester by indicating which code regions need more attention. On the other hand, the strategy has the potential to help an algorithm generate input data because it can be used as a stopping criterion. Since the strategy indicates which test requirements may exhibit infeasible behavior, it allows the algorithm to be optimized by accepting recommendations from the tester to cover problematic testing requirements.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
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学术官方微信