首页> 外文会议>Software Maintenance, 2009. ICSM 2009 >Reduce, reuse, recycle, recover: Techniques for improved regression testing
【24h】

Reduce, reuse, recycle, recover: Techniques for improved regression testing

机译:减少,重复使用,回收,恢复:改进回归测试的技术

获取原文

摘要

One of the most expensive activities that occurs as software is developed and maintained is the testing (or retesting) of the software after it has been modified. Studies suggest that a significant portion of development and maintenance costs go to this retesting, which is known as regression testing. Reports estimate that regression testing consumes as much as 80% of the overall testing budget and can consume up to 50% of the cost of software maintenance. Rapidly changing software and computing environments present many challenges for effective and efficient regression testing in practice. Regression testing can be performed after changes are made to the software, such as after nightly or regular builds, before a new version of the software is released, every time the software is saved and compiled, such as in an agile development environment, or before patches, such as security patches, are released. Regardless of the environment or when it is performed, the goals of regression testing are the same: to improve confidence that the changes behave as intended and that they have not adversely affected unchanged parts of the software. Because regression testing is important, but expensive, much research has been performed, both in industry and in academia, to develop techniques to make regression testing more effective and efficient. This research has also produced many tools and systems that have been used for empirical studies that investigate the effectiveness, scalability, and practicality of the techniques. Researchers have developed techniques for addressing a number of issues related to regression testing, and, in this talk, I will discuss them in four areas. First, techniques attempt to reduce the regression testing time by creating effective regression test suites that test the changed part of the software, by identifying test cases in the regression test suite that do not need to be rerun on the changed software, and by identifying and removing obsolete test -ncases. Second, techniques can reuse test suites created for one version of the software by identifying those test cases that need to be rerun for testing subsequent versions of the software and by computing an effective ordering for running the test cases. Third, techniques can recycle test cases by monitoring executions to gather test inputs that can be used for retest-ing and by creating unit test cases from system test cases. Finally, techniques could recover test cases by identifying, manipulating, and transforming obsolete test cases, by generating new test cases from old ones, and by repairing test cases when the software changes. In this talk, I will overview the research in testing of evolving software, and discuss achievements to date in managing regression testing by reducing, reusing, recycling, and recovering test cases. I will also present the state of the research and the state of the practice in regression testing. Finally, I will discuss the current trends in both academia and industry, the challenges for solving the difficult problems that exist, the promise for testing of evolving software in the future, and the important open challenges for regression testing in the next decade.
机译:在开发和维护软件时发生的最昂贵的活动之一是在软件修改后对其进行测试(或重新测试)。研究表明,很大一部分开发和维护成本都花在了重新测试上,这就是所谓的回归测试。报告估计,回归测试将消耗整个测试预算的80%,并可能消耗多达50%的软件维护成本。快速变化的软件和计算环境在实践中对有效和高效的回归测试提出了许多挑战。可以在对软件进行更改之后(例如,在每晚或定期构建之后),在发布新版本的软件之前,每次保存和编译软件时(例如在敏捷开发环境中)或之前,执行回归测试。已发布诸如安全补丁之类的补丁。无论环境如何,何时执行,回归测试的目标都是相同的:提高置信度,使更改按预期方式运行,并且不会对软件的未更改部分产生不利影响。由于回归测试很重要,但价格昂贵,因此在工业界和学术界都进行了大量研究,以开发使回归测试更加有效的技术。这项研究还产生了许多工具和系统,这些工具和系统已用于实证研究,以研究该技术的有效性,可扩展性和实用性。研究人员已经开发出用于解决与回归测试有关的许多问题的技术,在本演讲中,我将在四个方面进行讨论。首先,技术试图通过创建有效的回归测试套件来测试软件的已更改部分,通过识别不需要在更改后的软件上重新运行的回归测试套件中的测试用例来减少回归测试时间。删除过时的测试-ncases。其次,通过识别那些需要重新运行以测试软件的后续版本的测试用例以及计算运行测试用例的有效顺序,技术可以重用为该软件的一个版本创建的测试套件。第三,技术可以通过监视执行以收集可用于重新测试的测试输入并通过从系统测试用例创建单元测试用例来回收测试用例。最后,技术可以通过识别,处理和转换过时的测试用例,通过从旧的用例生成新的用例以及在软件更改时修复用例来恢复测试用例。在本次演讲中,我将概述在不断发展的软件中进行测试的研究,并讨论通过减少,重用,回收和恢复测试用例来管理回归测试的最新成果。我还将介绍回归测试的研究状态和实践的状态。最后,我将讨论学术界和工业界的当前趋势,解决存在的难题的挑战,未来对不断发展的软件进行测试的希望以及未来十年中回归测试的重要开放挑战。

著录项

  • 来源
  • 会议地点 Edmonton(CA);Edmonton(CA)
  • 作者

    Harrold Mary Jean;

  • 作者单位

    College of Computing, Georgia Institute of Technology, Atlanta, GA 30332-0280;

  • 会议组织
  • 原文格式 PDF
  • 正文语种
  • 中图分类
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号