Parameterized unit testing: theory and practice

Parameterized unit testing: theory and practice
复制标题

参数化单元测试:理论与实践

DOI:
--
复制
发表时间:
2010
期刊:
2010 ACM/IEEE 32nd International Conference on Software Engineering
影响因子:
--
通讯作者:
Tao Xie
Tao Xie
中科院分区:
--
文献类型:
--
作者:
N. Tillmann;J. D. Halleux;Tao Xie

文献摘要

被引文献

相似文献

单元测试被广泛认为是提高软件可靠性的重要和有价值的手段,因为它在软件开发生命周期的早期暴露了错误。然而,手动单元测试通常是乏味和不足的。测试工具可用于通过减少手动工作来实现资源的经济使用。最近,参数化单元测试已成为一种非常有前途且有效的方法,可以分离两个测试关注点或任务:外部黑盒行为的规范(即,断言或规范)以及内部白盒测试输入的生成和选择(即,高代码覆盖测试输入)。参数化单元测试(PUT)只是一个测试方法,它接受参数,调用被测代码,并声明断言。PUT已经得到了各种测试框架的支持。还存在各种开源和工业测试工具来为PUT生成测试输入。本教程介绍了有关原理和技术的最新研究,以及将参数化单元测试应用于实际程序的实际考虑,突出了开发人员测试的成功案例,研究和教育成果以及未来的研究方向。本教程将帮助提高开发人员编写PUT的技能和知识,并概述支持PUT的工具自动化。与会者将获得在开发人员测试领域进行研究或实践所需的技能和知识,并将开发人员测试技术整合到自己的研究,实践和教育中。
Unit testing has been widely recognized as an important and valuable means of improving software reliability, as it exposes bugs early in the software development life cycle. However, manual unit testing is often tedious and insufficient. Testing tools can be used to enable economical use of resources by reducing manual effort. Recently parameterized unit testing has emerged as a very promising and effective methodology to allow the separation of two testing concerns or tasks: the specification of external, black-box behavior (i.e., assertions or specifications) by developers and the generation and selection of internal, white-box test inputs (i.e., high-code-covering test inputs) by tools. A parameterized unit test (PUT) is simply a test method that takes parameters, calls the code under test, and states assertions. PUTs have been supported by various testing frameworks. Various open source and industrial testing tools also exist to generate test inputs for PUTs. This tutorial presents latest research on principles and techniques, as well as practical considerations to apply parameterized unit testing on real-world programs, highlighting success stories, research and education achievements, and future research directions in developer testing. The tutorial will help improve developer skills and knowledge for writing PUTs and give overview of tool automation in supporting PUTs. Attendees will acquire the skills and knowledge needed to perform research or conduct practice in the field of developer testing and to integrate developer testing techniques in their own research, practice, and education.