首页> 外文学位 >Adequate system-level testing of distributed systems.
【24h】

Adequate system-level testing of distributed systems.

机译:对分布式系统进行足够的系统级测试。

获取原文
获取原文并翻译 | 示例

摘要

Software testing is about risk management. Typically, engineers use test adequacy criteria to balance the cost and efficacy of the testing activity. Test adequacy criteria are rules that provide an objective stopping condition on test input creation by defining a finite set of test requirements that must be satisfied. While adequacy criteria have been a focus of research activity for many years, existing testing criteria do not address the unique features of distributed applications. The contributions of this dissertation are: (1) a study of reported failure scenarios of seven distributed applications; (2) a novel testing technique based on discrete-event simulations that serves as a basis for adequacy criteria for distributed systems; (3) a fault-based analysis technique that allows testers to addresses the fundamental risks associated with using adequacy criteria; and (4) a case-study evaluation of the simulation-based and fault-based techniques.; The failure study involves the categorization of test inputs and observations needed to replicate failures reported by users. The results show that failure-producing scenarios are amenable to categorization, that simple system topologies are likely to be quite effective, and that a significant proportion of failure-producing scenarios involve distributed inputs. Thus, the results confirm our intuition that distributed systems need their own class of adequacy criteria.; Rather than inventing a new specification formalism, we instead adapt the common practice of using discrete-event simulations for the design and understanding of distributed systems to testing. Our key observation is that these simulations can be viewed as specifications of the expected behavior of the system. Using simulations to test the implementation of a system is therefore a matter of selecting inputs to cover the simulation according to some criterion, and then mapping the inputs into the implementation domain. As simulations are sequential programs themselves, virtually all black- and white-box criteria can be used with a simulation-based technique.; When using any adequacy criterion for testing, there is generally no way for engineers to know a priori how effective a test suite or the criterion itself is going to be on their system. To mitigate this risk within the context of simulation-based testing, we propose a fault-based analysis technique that uses code mutation operators to create a set of incorrect simulations. Candidate test cases are executed against each of these specification mutants and the number killed is used as a surrogate measure of effectiveness.; We evaluate the simulation-based technique and the companion fault-based analysis method on 28 implementations of three distributed systems. The results of these experiments are striking. First, we confirm that discrete-event simulations can indeed be used in testing, and that white-box techniques based on the simulation are both effective, and cost-effective when compared to randomly selected test suites of the same size. Second, in a significant advancement of the state of the art, we demonstrate the power of the fault-based analyses by improving the effectiveness of adequate suites within each criterion, and by predicting exactly the overall relationships between different criteria.
机译:软件测试是关于风险管理的。通常,工程师使用测试充分性标准来平衡测试活动的成本和功效。测试充分性标准是通过定义一组必须满足的有限测试要求,在创建测试输入时提供客观停止条件的规则。尽管多年来,充分性标准一直是研究活动的重点,但是现有的测试标准并未解决分布式应用程序的独特功能。本文的研究成果包括:(1)对七个分布式应用的故障报告场景的研究; (2)一种基于离散事件模拟的新颖测试技术,可作为分布式系统适当性标准的基础; (3)一种基于故障的分析技术,使测试人员可以解决与使用适当性标准相关的基本风险; (4)基于仿真和基于故障的技术的案例研究评估。故障研究涉及复制用户报告的故障所需的测试输入和观察的分类。结果表明,故障产生场景可以进行分类,简单的系统拓扑可能非常有效,并且大量故障产生场景涉及分布式输入。因此,结果证实了我们的直觉,即分布式系统需要自己的一类适当性标准。我们没有发明一种新的规范形式,而是改用了使用离散事件仿真来设计和理解分布式系统以进行测试的通用做法。我们的主要观察结果是,这些仿真可以视为系统预期行为的规范。因此,使用仿真来测试系统的实现是根据一些准则选择输入以覆盖仿真的问题,然后将输入映射到实现域中。由于模拟本身是顺序程序,因此几乎所有黑盒和白盒标准都可以与基于模拟的技术一起使用。使用任何适当性标准进行测试时,工程师通常无法先验地知道测试套件或标准本身在他们的系统上将如何有效。为了在基于模拟的测试中减轻这种风险,我们提出了一种基于故障的分析技术,该技术使用代码变异运算符来创建一组错误的模拟。针对这些规范突变体中的每一个执行候选测试用例,并使用杀死的数量作为有效性的替代度量。我们在三个分布式系统的28个实现上评估了基于仿真的技术和基于伴随故障的分析方法。这些实验的结果令人震惊。首先,我们确认离散事件模拟确实可以用于测试中,并且与随机选择的相同大小的测试套件相比,基于模拟的白盒技术既有效又具有成本效益。其次,在最新技术水平的重大进步中,我们通过提高每个标准中适当套件的有效性并准确预测不同标准之间的整体关系,证明了基于故障的分析的强大功能。

著录项

  • 作者

    Rutherford, Matthew J.;

  • 作者单位

    University of Colorado at Boulder.;

  • 授予单位 University of Colorado at Boulder.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2006
  • 页码 158 p.
  • 总页数 158
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 自动化技术、计算机技术;
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号