×

函数编程测试。 (英语) Zbl 1142.68022号

Berichte aus der Informatik公司亚琛:Shaker Verlag;哈根:哈根大学(Habil.2006)(ISBN 978-3-8322-7056-8)。192页。(2008).
摘要:测试是一种常用的判断和改进软件质量的方法。软件测试的研究领域是高度多样化的。已经提出了适用于许多编程范例的测试工具。软件开发过程的各个阶段对应于测试代码的不同粒度,因此需要专门的测试方法。最后,还有一些框架测试,从教学环境中的小示例程序分析到大型工业软件项目中的错误检测。迄今为止,很少有人对函数编程范式中的测试进行研究。在这本书中,我们研究函数编程的软件测试。正在考虑的场景涉及函数式编程语言的教学领域和函数式程序的工业开发。
当学习一门新的编程语言时,学生通常必须解决一些小的编程任务。学习过程可以得到以下方面的支持对成功完成这些编程任务提供即时反馈。这种反馈需要准确、可靠和易于理解,以便帮助学生提高他们的程序和编程技能。特别是,由于人类教师很难满足即时反馈和全职可用性的要求,因此自动生成反馈的系统可以改进编程语言的教学。教学环境中的程序测试具有特殊性,因为它可以依赖于有关已解决的编程任务的许多信息,包括假定正确的样本程序。函数编程语言的教学必须考虑函数编程范式的特殊特征(例如,高阶函数和判断由函数组成的结果值的正确性的问题)。
在本书的第一部分中,我们研究了教学环境中功能程序的自动测试。我们开发了AT(S)系统,在提交程序后立即提供反馈。它的开发侧重于教学场景的特殊需求:强大而简单的测试描述、系统的健壮性以及生成的可靠且学生可以理解的输出消息。大型软件系统的工业开发包括不同的测试阶段。组件测试发生在软件开发过程的早期,结构测试是组件测试中判断测试集质量的主要工具之一。然而,在函数编程语言中没有复杂的结构测试方法。
在本书的第二部分中,我们研究了工业环境中功能程序的结构测试需求。我们将重点放在函数式编程语言Erlang上,之所以选择Erlang,是因为成功完成了超过一百万行代码的项目,显示了它的工业实用性。我们的工作有两个主要贡献:首先,定义了适用于函数程序且易于程序员理解的函数流图;其次,提出了函数流图的几种覆盖准则。通过比较这些标准,我们为函数编程中的结构组件测试制定了一个通用指令。这些结果已被纳入STEP原型的实现中,该原型对Erlang程序进行结构测试。

MSC公司:

68甲18 函数编程和lambda演算
68-02 与计算机科学有关的研究展览会(专著、调查文章)

软件:

埃尔朗
PDF格式BibTeX公司 XML格式引用
全文: 链接