Software Testing Models Against Information Security Requirements
对软件测试模型进行了综述和分类。对模型的选择提出了建议
2013-06-08 cs.SE
A Comprehensive Study on Automated Testing with the Software Lifecycle
本文综述了自动化测试在软件生命周期中的作用,分析其相较手动测试在效率、成本和质量评估方面的优势与差异,并探讨自动化测试工具的适用场景。
2024-05-02 cs.SE
Testing Scientific Software: A Systematic Literature Review
内容:科学软件在关键决策中发挥着重要作用,例如根据气候模型进行天气预测,以及为研究出版物计算证据。最近,由于软件故障导致的错误,科学家不得不撤回出版物。系统测试可以识别代码中的此类错误。目的:本研究旨在确定测试科学软件时面临的具体挑战,提出的解决方案和未解决的问题。方法:采用系统的文献检索法,对相关文献进行分析。我们确定了62项研究,提供了有关测试科学软件的相关信息。结果如下:我们发现,测试科学软件时面临的挑战分为两大类:(1)由于科学软件的特性(如Oracle问题)而发生的测试挑战,以及(2)由于科学家和软件工程社区之间的文化差异而发生的测试挑战,如将代码和模型视为不可分割的实体。此外,我们确定了可能克服这些挑战及其局限性的方法。最后,我们描述未解决的挑战,以及如何软件工程研究人员和从业人员可以帮助克服它们。结论:科学软件对测试提出了特殊的挑战。具体来说,科学家开发人员和软件工程师之间的文化差异,以及科学软件的特点,使测试更加困难。现有的技术,如代码克隆检测,可以帮助改善测试过程。软件工程师在开发测试技术时,应该考虑科学软件带来的特殊挑战,例如Oracle问题。
2018-04-05 cs.SE
Testing Research Software: A Survey
工作背景:研究软件在解决现实生活中的问题,推动科学创新和处理紧急情况方面发挥着重要作用。因此,研究软件的正确性和可信性是绝对重要的。软件测试是识别有问题的代码并帮助生成高质量软件的重要活动。然而,由于基础科学的复杂性,科学算法的相对未知的结果以及研究软件社区的文化,研究软件的测试是困难的。目的:本文的目标是更好地了解当前的测试实践,识别挑战,并提供有关如何改进研究软件开发的测试过程的建议。方法:我们调查了研究软件开发人员社区的成员,以收集有关他们在项目中对软件测试的了解和使用的信息。结果如下:我们分析了120份回复,发现即使研究软件开发人员报告他们对软件测试的知识水平处于平均水平,但由于涉及众多挑战,他们仍然感到困难。然而,有许多方法,例如适当的培训,可以改善研究软件的测试过程。结论:测试对于任何类型的软件都是具有挑战性的。这种困难尤其存在于研究软件的开发中,其中软件工程活动通常较少受到关注。为了从研究软件中产生值得信赖的结果,需要改变文化,以便重视测试,并且团队投入适当的精力来编写和执行测试。
2022-05-31 cs.SE
Survey on software testing techniques in cloud computing
云计算是互联网发展的下一个阶段。它依靠资源共享来实现网络的一致性。它作为一种新的计算标准正在影响着包括软件测试在内的多个不同的研究领域。有各种软件技术用于测试应用程序。它不仅改变了计算资源的获取方式,也改变了计算服务、技术和解决方案的管理和交付方式,同时也给软件测试带来了新的问题、挑战和需求。云中的软件测试可以减少对硬件和软件资源的需求,并为传统的软件测试过程提供灵活有效的替代方案。本文概述了云测试和基于云的应用的趋势、机遇、挑战、问题和需求。
2014-02-09 cs.SE
Dealing with Data Challenges when Delivering Data-Intensive Software Solutions
数据密集型解决方案开发需求的预期增长推动了软件、数据和领域专家在多学科数据密集型软件团队(MDST)中进行有效协作的需求。我们通过采访MDST中的24位从业者进行了一项社会技术基础理论研究,以更好地了解这些团队在提供数据密集型软件解决方案时面临的挑战。访谈提供了不同类型角色的观点,包括领域,数据和软件专家,并涵盖了从团队成员,团队经理到执行领导的不同组织级别。我们发现,这些团队的主要关注点是处理与数据相关的挑战。在本文中,我们提出了处理数据挑战的理论,解释了MDST面临的挑战,包括获取数据,对齐数据,理解数据,解决数据质量问题;这些挑战发生的背景和条件、导致挑战的原因以及相关后果,如必须开展补救活动,无法实现预期成果,对交付的解决方案缺乏信任。我们还确定了应对挑战的应急措施或策略,包括实施数据治理等高层次战略方法,实施数据质量可视化和监控工具等新工具和技术,以及通过专注于人员动态、沟通技能发展和交叉技能来建立更强大的团队。我们的研究结果对从业者和研究人员有直接的影响,可以更好地了解数据挑战的情况以及如何应对这些挑战。
2023-03-24 cs.SE
Testing Research Software: An In-Depth Survey of Practices, Methods, and Tools
本研究深入调查了研究软件的测试实践、挑战与工具使用情况,发现开发者面临测试用例设计与输出正确性评估等主要挑战且对现有工具不熟悉,指出需提供定制化标准测试工具与资源支持以改进测试过程。
2025-01-29 cs.SE
Testing Is Not Boring: Characterizing Challenge in Software Testing Tasks
本文通过调研软件测试专业人员,刻画测试任务中的挑战性来源及其影响,指出适度的创造力、学习与时间压力可提升动机,而挑战不足或负荷过高则带来挫败与疏离。
2025-07-27 cs.SE
Software-testing education: A systematic literature mapping
内容:随着软件系统的复杂性和规模的不断增加,对复杂且具有成本效益的软件测试的需求不断增加。为了满足这样的需求,行业中需要高技能的软件测试工作人员(测试工程师)。为了满足这一需求,世界各地的许多大学教育工作者在他们的软件工程(SE)或计算机科学(CS)课程中加入了软件测试教育。目的:本文的目的是总结软件测试教育领域的经验和知识,以帮助读者(教育工作者和研究人员)在大学环境中设计和提供软件测试课程,并在这一领域进行进一步的教育研究。方法:为了满足上述需求,我们进行了一次系统的文献映射(SLM),以综合教育工作者社区就此主题发表的内容。在汇编了307篇论文的候选库并应用了一套纳入/排除标准后,我们的最终库包括了1992年至2019年期间发表的204篇论文。结果:软件测试教育的话题越来越活跃,从论文数量的增加可以看出。许多教学方法(如何最好地教测试),课件和测试教育的具体工具已经提出。人们提出了测试教育方面的许多挑战以及如何克服这些挑战的见解。结论:本文为教育工作者和研究人员提供了软件测试教育中现有研究的分类。我们进一步综合了教学软件测试时报告的挑战和见解。本文还为软件测试教学的大量知识和经验提供了参考(“索引”)。
2020-03-08 cs.SE
Industry Expectations and Skill Demands in Quantum Software Testing
University of Calgary(卡尔加里大学);University of Bari(巴里大学)
本研究分析了量子软件测试领域的行业需求与技能要求,揭示了传统软件质量保证与实验验证的结合,强调校准、控制及混合量子-经典验证的重要性。
2026-02-21 cs.SE
Myths and Facts about a Career in Software Testing: A Comparison between Students' Beliefs and Professionals' Experience
本研究比较了本科生对软件测试职业的信念与专业人士的实际经验,发现测试职业更令人兴奋且回报丰厚,呼吁学术界与行业合作纠正学生认知。
2023-11-10 cs.SE
Practitioners Testimonials about Software Testing
随着软件系统变得越来越普遍,它们也变得越来越容易出现故障,从而导致潜在的致命组合。软件测试对于防止软件故障至关重要,但可以说,它是软件生存周期中理解最少的部分,也是最难正确执行的部分。在测试的过程和技术方面进行了充分的研究,但在人的方面没有进行研究。本文试图通过探索人的维度来填补这一空白,即,试图理解软件专业人员从事和维持测试职业的动机。为此,在印度、加拿大、古巴和中国四个国家进行了一项调查,试图了解专业软件测试人员如何看待和重视可能影响他们从事和维持测试职业的动机的工作相关因素。通过对220名软件专业人员的抽样调查,我们发现很少有专业人员热衷于从事测试职业。软件测试的某些方面,如学习机会,似乎是这四个国家的共同激励因素;而测试人员作为二等公民的待遇和工作的复杂性似乎是最重要的抑制因素。这项比较研究提供了有用的见解,可以帮助全球软件行业的领导者提出一个行动计划,把软件测试行业在一个新的光。这可能会增加选择测试职业的软件工程师的数量,这将促进质量测试。
2021-03-10 cs.SE
Sentiment Overflow in the Testing Stack: Analysing Software Testing Posts on Stack Overflow
本文通过挖掘和分析Stack Overflow上的情感帖子,从从业者角度调查软件测试背景,发现不安全感、绝望和渴望等情感会影响其对测试的态度,并与项目复杂度等因素相关。
2023-04-22 cs.SE
A Survey on Software Testing Techniques using Genetic Algorithm
软件行业的总体目标是确保向最终用户交付高质量的软件。为了保证软件的高质量,需要对软件进行测试。测试确保软件满足用户规范和要求。然而,软件测试领域存在许多需要解决的潜在问题,例如测试用例的有效生成、测试用例的优先级排序等。这些问题需要测试的努力,时间和成本。已经提出了不同的技术和方法来处理这些问题。利用进化算法自动生成测试一直是许多研究人员感兴趣的领域。遗传算法(GA)就是这样一种进化算法。在这篇研究论文中,我们提出了一个调查的GA方法来解决软件测试过程中遇到的各种问题。
2014-11-05 cs.SE
Social Aspects of Software Testing: Comparative Studies in Asia
本研究试图了解三个不同亚洲国家的软件专业学生从事和维持软件测试职业的动机和抑制因素,即,中国,印度和马来西亚。研究的问题可以是:在不同的亚洲地区,有多少软件专业的学生热衷于从事测试职业,他们选择的原因是什么?为了找到答案,我们开发了一种横截面但简单的基于调查的工具。在这项工作中,我们调查了软件专业的学生如何看待软件测试的作用。来自中国和印度的调查结果显示,学生们并不热衷于从事软件测试工作,但马来西亚的学生对软件测试表现出更积极的态度。该研究还指出了将软件测试活动视为一组依赖于人类的任务的重要性,并强调了进一步研究的必要性,即严格审查软件测试人员对软件测试活动的个人评估。本研究有助于从事软件测试课程的学者了解影响学生学习动机和消极因素的因素,并试图传达积极的观点,即测试具有挑战性,需要批判性思维和创新思想。
2022-05-16 cs.SE
Searching publications on software testing
本说明涉及检索出版物,其中的实用概念的测试进行的实践中的软件测试是正式的,一个理论关于软件测试的基础上,这样一个正式的介绍,或它是证明了这样一个理论的基础上,有坚实的理由测试软件的情况下,在原则上其他形式的分析可以使用。本说明报告了搜寻的方式和主要结果。这篇文章的信息是软件测试的基础在某些方面还不完整。
2010-08-16 cs.SE
Model-Based Testing of Safety Critical Real-Time Control Logic Software
本文介绍了作者在安全关键的实时的【形】控制逻辑软件的基于模型的测试方面的经验。它描述了相应的工业设置的细节,并讨论了在这些设置中使用基于UniTESK模型的测试技术的技术细节。最后,我们讨论了安全关键软件开发过程的未来可能的方向和基于模型的测试技术在其中的地位。
2012-02-28 cs.SE
Automated Software Testing Using Metahurestic Technique Based on An Ant Colony Optimization
软件测试是软件开发生存周期中重要而有价值的一部分。由于时间,成本和其他情况,详尽的测试是不可行的,这就是为什么有必要自动化的软件测试过程。状态转换测试(STT)是实时的、嵌入式的、基于Web的软件系统中常用的测试方法。本文的目的是提出一种算法,通过应用蚁群优化技术,生成最佳和最小的测试序列的行为规格说明的软件。本文提出的方法生成测试序列,以获得完整的软件覆盖率。本文还讨论了基于转换的测试的两种元启发式技术(遗传算法和蚁群优化)之间的比较
2011-06-14 cs.SE
What UAE Software Students Think about Software Testing: A Replicated Study
软件测试是提高软件质量的关键。然而,软件测试人员的角色被污名化,部分原因是误解,部分原因是软件行业内对测试过程的处理。本研究分析了这种情况,旨在探讨什么可能会抑制个人采取了软件测试的职业生涯。为了调查这个问题,我们调查了132名在阿拉伯联合酋长国三所大学攻读信息系统、信息和通信技术、计算机科学、计算机工程、软件工程和其他密切相关学科学位的高年级学生:两所公立大学和一所一流的私立大学。学生们被要求描述从事软件测试职业的利弊,并思考他们自己从事这一职业的可能性。该研究确定了从事测试职业的7个主要优点和9个主要缺点,并指出软件测试人员的角色被认为是一种社会角色,可能需要与技术能力一样多的软技能。结果还显示,与过去三年进行过类似调查的其他国家的学生相比,阿联酋软件相关学生对软件测试持更强烈的消极态度。
2022-09-29 cs.SE
What Pakistani Computer Science and Software Engineering Students Think about Software Testing?
本研究通过调查88名巴基斯坦计算机科学与软件工程专业学生,分析软件测试职业不受欢迎的原因,发现测试角色兼具社会污名与技术属性。
2023-06-01 cs.SE
Humor in Software Testing Education
Technical University of Darmstadt(达姆施塔特工业大学);Université de Montréal(蒙特利尔大学)
本研究通过引入幽默元素到软件测试作业中,发现幽默能显著提升学生的情感参与、归属感和创造性思维,尤其对女生效果更明显。
2026-06-23 cs.SE
Requirements Engineering, Software Testing and Education: A Systematic Mapping
本文通过系统性映射研究,梳理教育情境中需求工程与软件测试被结合探讨的方式。
2023-04-26 cs.SE
A Blockchain-Based Framework for Distributed Agile Software Testing Life Cycle
针对分布式敏捷测试中的信任、追溯、安全及单元测试缺失问题,提出基于私有 Ethereum 与智能合约的 TestingPlus 框架,以支持透明验收测试和公平支付验证。
2023-07-14 cs.SE
Studies on the Software Testing Profession
本文试图了解的动机和去动机,影响软件专业人员的决定,采取和维持软件测试的职业生涯在四个不同的国家,即加拿大,中国,古巴和印度。这个研究问题可以被定义为“不同地区有多少软件专业人员热衷于从事测试职业,他们选择的原因是什么?”“为此,我们开发了一种跨部门但简单的基于调查的工具。在这项研究中,我们调查了软件测试人员如何感知和重视他们所做的事情和他们的环境设置。该研究指出了可视化的软件测试活动作为一组依赖于人类的任务的重要性,并强调了研究的必要性,严格审查有关软件测试活动的软件测试人员的个人评估。这项调查可以帮助全球行业领导者了解与工作相关的因素对测试专业人员动机的影响,并在此背景下为管理和领导提供信息和支持。
2019-06-12 cs.SE
Applying FCA toolbox to Software Testing
软件测试使用各种不同的工具来增强定义被测系统质量的复杂过程。形式概念分析(FCA)为我们提供了从一组对象及其属性导出形式本体的算法。使用FCA可以大大提高测试用例生成的效率。此外,基于FCA的机器学习系统支持回归测试结果的分析。
2015-05-06 cs.SE
What Malaysian Software Students Think about Testing?
软件测试是软件生存周期的重要支持过程之一。不幸的是,对于软件行业来说,这个角色被污名化了,部分原因是误解,部分原因是软件行业对这个角色的处理。本研究的目的是分析这种情况,探讨是什么抑制了个人采取了软件测试的职业生涯。为了调查这个问题,我们调查了82名在马来西亚两所大学攻读信息技术、信息和通信技术以及计算机科学学位的高年级学生。受试者被问到从事软件测试职业的赞成和反对意见,以及他们这样做的机会有多大。该研究确定了开始测试职业生涯的7个主要优点和9个主要缺点,并指出软件测试人员的角色已被视为一种社会角色,软技能内涵多于技术含义。结果还表明,马来西亚学生对软件测试的态度比他们的同行进行了类似的调查。
2020-07-16 cs.SE
Elevating Software Quality in Agile Environments: The Role of Testing Professionals in Unit Testing
本文采用基于调查的研究方法,探讨了工业背景下测试工程师参与单元测试的情况,发现测试专业人员通过与开发人员合作制定详尽测试用例并培养相互学习文化,有助于提升敏捷环境下软件项目的整体质量。
2024-03-20 cs.SE
Assessing the maturity of software testing services using CMMI-SVC: An industrial case study
内容:虽然许多公司在内部进行软件测试活动,但许多其他公司将其软件测试需求外包给充当软件测试服务提供商的其他公司。因此,在过去的几十年里,测试即服务(TaaS)已经成为一个强大的服务行业。在软件测试服务的上下文中,可能存在各种挑战(例如,在规划和服务交付阶段),因此,测试服务的质量并不总是符合预期。目的:对于测试服务的提供者和客户来说,评估测试服务的质量和成熟度并随后对其进行改进是很重要的。方法:出于一个真正的工业需要在几个测试服务提供商的背景下,评估他们的软件测试服务的成熟度,我们选择了现有的CMMI服务成熟度模型(CMMI-SVC),并进行了案例研究,使用它在两个土耳其测试服务提供商的背景下。结果如下:案例研究的结果表明,成熟度评估的测试服务使用CMMI-SVC是有帮助的公司和他们的测试管理团队,使他们能够客观地评估他们的测试服务的成熟度,并查明潜在的改进领域。结论:我们根据经验观察到,经过一些小的定制,CMMI-SVC确实是一个合适的模型,测试服务的成熟度评估。
2020-05-30 cs.SE
Software Testing Process Models Benefits & Drawbacks: a Systematic Literature Review
背景:软件测试在产品质量改进中起着至关重要的作用。出于这个原因,已经开发了几个软件测试模型来支持组织。然而,在组织内部采用测试过程模型仍然是零星的,需要更多的证据报告的经验。目的:我们的目标是识别在组织环境中应用软件测试模型所收集的结果。我们关注的特点,如使用环境,在不同的测试过程阶段应用的实践,以及报告的优点和缺点。方法:我们进行了一项系统性文献综述(SLR),重点关注有关软件测试过程应用的研究,并补充了之前综述的结果。结果:从35个主要的研究和调查为基础的文章,我们收集了17个测试模型。虽然大多数现有的模型被描述为适用于一般情况下,从研究中获得的证据表明,一些模型并不适合所有的企业规模,并不适合特定的领域。结论:SLR证据可以用于比较不同的软件测试模型在组织内部的适用性。正如调查案例中报告的那样,无论是优点还是缺点,都可以更好地了解每个模型的优点和缺点。
2019-01-05 cs.SE
Automated and manual testing as part of the research software development process of RCE
研究软件通常由个人研究人员或小型团队在研究工作的同时开发。越多的人和研究项目依赖于有问题的软件,软件更新正确实现新功能并且不引入回归就越重要。因此,研究软件的开发人员必须在实现新功能和彻底测试任何代码更改之间平衡他们有限的资源。我们提出的过程中,我们使用的开发分布式集成框架RCE在DLR。这些过程旨在在自动化和手动测试之间取得平衡,减少测试开销,同时尽早解决问题。我们还简要描述了这些测试过程如何与周围的开发和发布过程集成。
2022-04-12 cs.SE
Key Stakeholders' Value Propositions for Feature Selection in Software-intensive Products: An Industrial Case Study
许多软件公司正在采用基于价值的决策。然而,价值对关键利益相关者的决策意味着什么?不同的利益相关者群体如何理解价值?如果没有对价值含义的明确理解,决策就会变得模棱两可,这很可能会使决策产生偏见。本案例研究提供了一个深入的分析关键利益相关者的价值主张时,选择功能的大型电信公司的软件密集型产品。利益相关者的价值主张是通过访谈引出的,并使用扎根理论编码技术(开放和选择性编码)进行分析。36个价值主张被确定,并分为六个维度:客户价值,市场竞争力,经济价值/盈利能力,成本效率,技术和架构,公司战略。我们的研究结果表明,虽然在客户价值维度的主张是那些提到最多的,价值的概念,特征选择包括广泛的价值主张。此外,各利益攸关方团体侧重于不同的和互补的价值层面,呼吁让所有关键利益攸关方参与决策进程。虽然我们的研究结果是特别相关的公司类似于这里所描述的,他们的目的是产生一个学习过程中的基于价值的特征选择的从业者和研究人员一般。
2018-10-30 cs.SE
DDTS: A Practical System Testing Framework for Scientific Software
许多科学软件项目对其代码的测试不充分,或者根本没有测试。尽管其众所周知的好处,采用常规测试往往并不容易。开发团队可能对建立有效的测试过程、编写测试软件或处理日益复杂的测试用例有疑问。它们可能需要在受限的HPC平台上运行(和测试)。他们几乎肯定会面临时间和预算的压力,这可能会使测试在他们的待办事项列表的底部徘徊。本文介绍了DDTS,一个用于构建测试套件应用程序的框架,旨在满足科学软件项目的需求。DDTS旨在简化严格测试的引入,并随着需求的成熟而缓解成长的烦恼。它将测试问题分解为实用、直观的阶段;易于配置和扩展;可移植且适用于HPC平台;并利用并行性。DDTS目前用于自动化回归和开发人员预提交测试,用于具有不同测试需求的几个科学软件项目。
2014-11-07 cs.SE
A Multi-level Methodology for Behavioral Comparison of Software-Intensive Systems
软件密集型系统不断发展。为了防止软件变更无意中引入代价高昂的系统缺陷,了解其影响以降低风险非常重要。然而,在实践中,当处理具有许多配置和使用场景的大型工业系统时,几乎不可能预见软件更改的全部影响。为了帮助开发人员进行变更影响分析,我们引入了一种新的多层次的方法,用于软件密集型系统的行为比较。我们完全自动化的方法是基于比较软件行为的状态机模型。我们将现有的互补比较方法结合成一种新的方法,通过逐步放大越来越多的细节,逐步引导用户了解相关差异。我们经验性地评估我们的工作,通过定性探索性的实地研究,显示其实用价值,使用多个案例研究在ASML,在开发光刻系统的领先公司。我们的方法显示了巨大的潜力,防止软件变化的系统行为回归。
2022-05-17 cs.FL cs.SE
Supplementary Results of a Comparative Syntactic and Semantic Study of Terms for Software Testing Glossaries
这个预印本指定了补充材料和三个软件测试术语表的比较、句法和语义研究的结果。这三个软件测试词汇表是:ISO 29119 - 1,概念和定义标准,国际软件测试资格委员会(ISTQB)在软件测试中使用的标准术语表(3.5版),以及测试成熟度模型集成(TMMi)基金会提供的词汇表。首先,我们将词汇表中的术语通过分析其给定的语义分为8类,即:测试项目,策略或组织;测试过程或活动;测试目标,需求或实体;测试工作产品;测试方法或技术;测试代理,角色或工具;其他与测试有关的术语;以及超出测试领域的术语。此外,我们还设计了一组度量标准,用于提取和生成支持语法和语义相似性和差异分析的数据,并最终分析词汇表术语之间的不一致和不一致。值得注意的是,在这项工作中,整个分析都集中在名称以“测试”结尾的词汇表术语上。
2022-05-21 cs.SE
Reliability Testing Strategy - Reliability in Software Engineering
本文介绍了软件工程中可靠性的核心原则-概述了为什么可靠性测试是至关重要的,并指定了测量可靠性的过程。本文为软件工程领域的新手和专家提供了评估软件系统失效强度和预测软件系统失效的见解。测量是通过利用来自操作配置文件的信息来进行的,以进一步增强测试计划和测试用例,所有这些本文都演示了如何实现。
2016-05-03 cs.SE
Non Homogeneous Poisson Process Model based Optimal Modular Software Testing using Fault Tolerance
在软件开发过程中,我们会遇到各种模块。提出了软件不同模块优先级的思想,使重要模块优先测试。这种方法是可取的,因为由于时间和成本的限制,不可能对每个模块进行回归测试。本文讨论了在非齐次Poisson过程的基础上,对软件的几个模块进行优先级排序所需的参数,给出了测试时间和成本最优的度量。
2009-05-10 cs.SE
Can Language Models Pass Software Testing Certification Exams? a case study
Luxembourg Institute of Science and Technology (LIST)(卢森堡科学与技术研究所);University of Luxembourg(卢森堡大学)
研究评估了60种语言模型在ISTQB认证考试中的表现,探讨LLM在软件测试任务中的能力及考试设计改进建议。
2026-03-24 cs.SE
Testing Ocean Software with Metamorphic Testing
海洋科学的进步对世界的发展产生了重大影响,从船舶的安全航行到维护健康和多样化的海洋生态系统。各种海洋软件系统已被广泛用于不同的目的,例如,预测每小时跨越海岸线的海平面上升,模拟大规模的海洋环流,以及将其纳入地球系统模型用于天气预报和气候预测。无论其重要性如何,保证海洋软件和建模系统的可靠性是一项长期挑战。海洋软件测试中存在大量的“预言机问题”,即由于多个物理变量的非线性相互作用和计算的高度复杂性而导致测试预言机的缺失。在海洋中,观测到的潮汐信号被不确定的物理变量所扭曲,阻碍了我们了解时间序列中存在的“真实”天文潮汐分量。在本文中,我们介绍了如何基于变形测试(MT)来测试潮汐分析和预测(TAP)软件,变形测试(MT)是一种简单而有效的Oracle问题测试方法。特别地,我们从天文潮汐的周期性构造变形关系,然后使用它们成功地检测到一个开源TAP软件中的一个实际缺陷。我们还进行了一系列的实验,以进一步证明MT在TAP软件测试的适用性和有效性。我们的研究不仅证明了MT在测试更复杂的海洋软件和建模系统方面的潜力,而且还可以扩展到评估和提高更广泛的科学模拟软件系统的质量。
2022-06-11 cs.SE
A survey of service oriented architecture systems testing
面向服务的体系结构(SOA)是最新的软件体系结构之一。这种架构是在业务需求的方向上创建的,消除了软件和业务之间的差距。软件测试是软件开发活动中不断增加的成本。SOA具有与其他软件体系结构不同的规范和功能比例。首先,本文回顾了SOA测试的挑战和针对这些挑战的现有解决方案。然后报告了SOA系统测试的最新研究概况,包括功能测试和非功能测试。这些测试针对不同级别的功能测试,包括单元测试、集成测试和回归测试。
2012-12-13 cs.SE
Improving the Technical Aspects of Software Testing in Enterprises
许多软件开发项目由于质量问题而失败。软件测试能够创建高质量的软件产品。由于这是一项繁琐而昂贵的任务,而且往往难以管理,因此其技术背景和组织实施都必须有充分的基础。我们与开发软件的区域公司合作,以了解他们在测试方面的明显弱点和优势。通过分析和比较优势,我们得出了最佳实践。在本文中,我们解释了该项目的背景和素描的设计科学研究方法论使用。然后,我们介绍了一个图形分类框架,帮助企业判断建议的适用性。最后,我们提出了五个技术方面的测试建议的细节。对于每一个建议,我们给出了基于分类框架的实施建议。
2010-11-02 cs.SE
Software Testing and Code Refactoring: A Survey with Practitioners
本研究面向软件测试从业者开展调研,探究其代码重构实践的收益与局限,发现重构可助力自动化测试维护、提升团队绩效,但存在管理层重视不足等障碍,为测试人员提升编码能力提供参考。
2023-10-03 cs.SE
Improvement of Key Problems of Software Testing in Quality Assurance
质量保证确保项目将根据先前批准的规格,标准和功能完成。要求没有缺陷和可能的问题。它从项目一开始就监控并尝试推进开发过程。软件质量保证(SQA)是整个软件开发过程的组合,包括软件设计、编码、源代码控制、代码评审、变更管理、配置管理和发布管理。本文描述了质量保证中软件测试关键问题的解决方法。现有的软件实践存在一些问题,如测试实践,用户的态度和组织的文化。所有这些树的问题有一些组合的问题,如测试中的快捷方式,减少测试时间,不良的文档等,在本文中,我们建议的策略,提供上述问题的解决方案。
2012-02-12 cs.SE
A Review on the Process of Automated Software Testing
对自动化、数字化和快速计算的需求使IT部门对高度可靠、高效和经济高效的软件寄予厚望。考虑到软件产品的测试、验证和确认过程消耗了总收入的50-75%,如果测试过程是无效的,则必须投入“n”倍的支出来修复所造成的破坏。项目完成的延迟通常归因于测试阶段,因为调试过程有许多周期。软件测试过程确定向用户发布的产品的外观。它设定了公司产品的标准和可靠性。随着复杂性的增加,测试变得越来越激烈,以便检查所有的离群值和处理流程的各个分支。测试过程是自动化的,使用软件工具,以避免繁琐的手动过程中的测试输入生成和验证标准,这证明程序只有在一定的置信水平,在存在离群值。
2022-09-07 cs.SE
Automated Software Testing Starting from Static Analysis: Current State of the Art
复杂软件的大规模生产使得人工测试其安全漏洞变得不可能。自动化安全测试工具有各种各样的风格,在软件开发的各个阶段发挥作用,并针对不同类别的软件漏洞。我们有大量的自动化工具可供选择,这很好,但问题是它们的采用和认可并不突出。本研究的目的是探索现有技术的可能性,同时也通过探索安全测试工具和相关技术的未来来拓宽视野。
2023-01-15 cs.SE
Agent-Based Software Testing: A Definition and Systematic Mapping Study
软件测试中新技术的出现提高了测试过程的自动化程度和灵活性。在这种情况下,通过代理在软件测试仍然是一个活跃的研究领域,在其中各种代理的方法,架构和工具,以改善不同的测试问题。尽管在软件测试中研究代理的研究一直在增长,但这些基于代理的技术应该从更广泛的角度来考虑。为了提供一个全面的概述,这一研究领域,我们定义为基于代理的软件测试(ABST),已进行了系统的映射研究。这项映射研究的目的是确定在ABST研究的主题,以及检查所采用的研究方法论,确定目前的研究差距,并指出未来的ABST研究方向。我们的研究结果表明,有兴趣ABST后,1999年,导致开发的解决方案,使用反应,BDI,审议和合作代理架构的软件测试。此外,大多数ABST方法都是使用JADE框架设计的,目标是Java程序设计语言,并用于功能、非功能和白盒测试的系统级测试。关于回归测试,我们的研究结果表明,可以在未来的研究中解决的研究差距。
2020-07-20 cs.SE
Approximation-Refinement Testing of Compute-Intensive Cyber-Physical Models: An Approach Based on System Identification
黑盒测试已被广泛应用于网络物理系统(CPS)的测试模型,因为这些模型往往不适合静态和符号测试和验证。然而,黑盒测试需要对大量候选测试输入执行被测模型。这对一个大型且实际重要的CPS模型类别(称为计算密集型CPS(CI-CPS)模型)提出了挑战,其中单个模拟可能需要数小时才能完成。我们提出了一种新的方法,即ARIsTEO,使有效和高效的测试CI-CPS模型。我们的方法将黑盒测试嵌入到一个迭代近似-细化循环中。在开始时,在测试下的CI-CPS模型的一些采样输入和输出用于生成代理模型,该代理模型执行更快并且可以经受黑盒测试。在原始模型上检查为代理模型识别的任何故障揭示测试。如果是假的,则使用测试结果来重新优化要再次测试的代理模型。否则,测试显示有效失败。我们通过将其与S-Taliro进行比较来评估ARIsTEO,S-Taliro是一种用于测试CPS模型的开源和行业实力工具。我们的研究结果是基于五个公开的CPS模型获得的,结果表明,平均而言,ARIsTEO能够比S-Taliro多发现24%的需求违规,并且在发现这些违规方面比S-Taliro快31%。我们进一步评估了ARIsTEO在卫星领域的大型工业案例研究中的有效性和效率。与S-Taliro相比,ARIsTEO成功地测试了该模型的两个不同版本,并且可以识别三个需求违规,平均每个违规需要四个小时。
2019-10-07 cs.SE
Planning Activities in Software Testing Process: A Literature Review and Suggestions for Future Research
软件测试过程由计划后实施的活动组成,包括记录相关测试活动。为了能够清楚地看到软件的质量、可靠性程度、是否准备好交付、有效性程度以及测试的剩余量,必须应用测试过程。这些过程中最重要的阶段之一是测试计划活动。在软件项目中,测试计划活动直接影响项目的成功。在本研究中,软件测试的过程,以及在这个过程中进行的测试计划活动首先通过文献综述清楚地展示出来。随后,确定了一个基本的软件测试过程和测试计划过程,并逐步进行了说明。这样做的目的是从不同的角度深入了解考试规划活动,并提高对这一专题的认识。研究结果表明,目前软件测试规划活动应用不充分,软件测试人员、专家或研究人员对测试规划方法的细节缺乏足够的了解,这种情况对软件项目的交付和成本造成了非常严重的负面影响。最后,对课题进行了详细的讨论,并给出了一些结论和建议,供从事软件测试的人员参考。在这一点上,本研究有望贡献文献。
2019-02-09 cs.SE
Software Testing of Generative AI Systems: Challenges and Opportunities
本文探讨了生成式AI系统在软件测试中引入的新挑战,分析了传统测试技术的不足,并提出了未来研究的机遇以提升该领域的质量保证。
2023-09-11 cs.SE
Understanding and Modeling AI-Intensive System Development
AI密集型系统的开发人员-即,涉及“传统”软件和“人工智能“的系统正在认识到系统地组织开发并使用工程方法和工具的必要性。由于AI密集型系统(AIIS)严重依赖软件,因此预计软件工程(SE)方法和工具可以提供帮助。然而,AIIS的开发与“传统”软件系统的开发在一些实质性的方面有所不同。因此,传统的SE方法和工具本身并不适合或足够,需要进行调整和扩展。对“SE for AI”方法和工具的探索已经开始。我们认为,在这一努力中,我们应该从经验中吸取教训,避免重复过去几年在寻求可持续发展方面所犯的一些错误。为此,一个基本的工具是一套概念和符号来处理AIIS和表征其开发过程的问题。在本文中,我们建议描述AIIS通过一个符号,提出了SE和嵌入一组概念,适合代表AIIS以及。我们展示了使用的符号建模的一些特点,特别是相关的AIIS。
2021-03-16 cs.SE
Roadblocks to Attracting Students to Software Testing Careers: Comparisons of Replicated Studies
上下文最近,一系列研究强调了软件工程和计算机科学课程的本科生中软件测试职业的不受欢迎。最初的研究及其复制探索了四个国家(加拿大,中国,印度和马来西亚)的大学生的看法,并表明大多数学生不认为软件测试的职业生涯是毕业后的一个选择。这种情况代表了软件行业的一个问题,因为缺乏熟练的测试专业人员可能会降低软件项目的质量,增加不成功项目的数量。目标.本研究的目的是复制,在巴西,在其他四个国家进行的研究,建立比较和支持战略的发展,以提高全球本科生之间的软件测试的知名度和重要性。法我们遵循与原始研究相同的协议,使用问卷收集数据,并使用描述性统计和定性数据分析来分析答案。结果我们的研究结果表明,在巴西获得的结果相比,从其他国家获得的相似之处。我们观察到,学生们没有动力去从事软件行业的测试工作,因为他们认为测试活动缺乏挑战和持续学习的机会。结论.总之,学生们似乎对学习更多关于软件测试的知识很感兴趣。然而,缺乏关于软件开发课程主题的讨论,以及在大学一级提供的专注于软件质量的课程有限,降低了这一领域的知名度,从而导致对这一职业的兴趣下降。
2022-06-16 cs.SE
A New Proposed Technique to Improve Software Regression Testing Cost
在本文中,我们描述了回归测试过程,以测试和验证对软件所做的更改。提出了一种基于决策树和测试选择过程的自动化测试技术,以降低测试成本。将该方法应用于实际案例,结果表明该方法具有较好的效果.
2011-11-23 cs.SE
Quality Assurance of Bioinformatics Software: A Case Study of Testing a Biomedical Text Processing Tool Using Metamorphic Testing
生物信息学软件在许多领域(包括医学和卫生保健)的关键决策中发挥着非常重要的作用。然而,大多数研究都是针对开发工具,很少有时间和精力花在测试软件,以确保其质量。在测试中,测试预言用于确定测试在测试过程中是通过还是失败,不幸的是,对于大多数生物信息学软件来说,确切的预期结果并没有很好地定义。因此,与对生物信息学软件进行系统测试相关的主要挑战是Oracle问题。变形测试(MT)是一种用于测试面临预言机问题的程序的技术。MT使用变形关系(MR)来确定测试是通过还是失败,并根据对输入的特定更改指定输出应如何更改。在这项工作中,我们使用MT来测试LingPipe,这是一种使用计算语言学处理文本的工具,通常用于生物信息学中从生物医学文献中识别生物实体。首先,我们确定一组MR用于测试任何生物实体识别程序。然后,我们开发了一组测试用例,可用于测试LingPipe的生物实体识别功能,使用这些MR。为了评估这个测试过程的有效性,我们自动生成一组LingPipe的错误版本。根据我们对实验结果的分析,我们观察到我们的MR可以检测到这些错误版本中的大多数,这表明了这种测试技术在生物信息学软件质量保证中的实用性。
2018-02-20 cs.SE
On the Prevalence, Impact, and Evolution of SQL Code Smells in Data-Intensive Systems
代码气味表明软件设计问题会损害软件质量。频繁访问数据库的数据密集型系统除了传统的气味外,还经常受到SQL代码气味的影响。虽然对传统的代码气味已经有了广泛的研究,但最近,人们对SQL代码气味的兴趣越来越大。在本文中,我们进行了一项实证研究,调查的流行和演变的SQL代码气味在开源,数据密集型系统。我们收集了150个项目,并检查了这些项目中的传统和SQL代码气味。我们的调查提供了几个重要的发现。首先,SQL代码气味在数据密集型软件系统中确实很普遍。第二,SQL代码气味与传统代码气味的共现性较弱。第三,SQL代码气味与bug的关联性比传统代码气味弱。第四,与传统的代码气味相比,SQL代码气味更有可能在项目生命周期开始时引入,并且可能留在代码中而不进行修复。总体而言,我们的研究结果表明,SQL代码气味确实是普遍存在的,并在所研究的数据密集型软件系统持久。开发人员应该意识到这些气味,并考虑使用专用工具分别检测和重构SQL代码气味和传统代码气味。
2022-01-06 cs.SE
About Instruction Sequence Testing
软件测试是作为一个所谓的主题,其中不同的作者和团体定义了不同的主题,每个主题都有不同的测试重点。软件测试的统一概念是不存在的,软件测试的可能的连贯视角的空间,每一个适合的主题,被视为由五个维度,每个维度代表两个相反的观点与各种中间视图之间跨越。指令序列被用作计算机程序的简单理论概念。指令序列测试理论可以作为软件测试理论的模型。指令序列测试被认为是一个新的主题,其定义可以自由地考虑,而不受现有的软件测试的观点的限制。提出了建立指令序列测试理论的问题。一个调查的动机和场景,为发展一个理论的指令序列测试。
2012-01-18 cs.SE