快速检查的测试语言

使用QuickCheck测试Erlang/OTP

(根据John的项目描述:用QuickCheck测试erlangotp.)

Erlang/OTP是一种由Ericsson开发和维护的并发函数语言1998年作为开源软件提供。Erlang用于开发电信和互联网产品例如交换机、电子邮件网关、即时消息服务、半结构化数据库和游戏无论是在爱立信还是在全球范围内迅速增长的其他公司的服务器。二郎是与专门针对健壮性和容错性的大量库一起提供分布式系统(开放式电信平台)。

QuickCheck是一种基于规范的测试工具,它用测试中的软件,应保存所有可能的输入。随机测试性能使用QuickCheck用户提供的测试数据生成器生成测试用例。当测试失败时,它会自动减少到最小的故障情况,以加快问题的诊断。因此QuickCheck提供了从正式规范到简明bug的快速、全自动的路径报告。QuickCheck首先由Koen Claessen和johnhughes为Haskell开发;本项目将使用由quviqab开发的Erlang的商业版本。

抗议是一个欧洲的FP7项目,旨在进一步开发QuickCheck和其他工具基于属性的测试方法,使用Erlang作为通用技术基础。抗议队伍Chalmers和IT大学目前有6名研究人员,他们正在研究房地产-基于并发软件的测试方法(包括随机调度以引发竞争)条件),以及从测试套件和代码自动派生属性的方法。新的瑞典科学委员会的资助将进一步扩大研究小组的规模。

本硕士项目的目标是开发一个广泛的基于物业的测试套件使用QuickCheck和原型工具作为Erlang/OTP库的一部分由抗议小组开发的。应以尽可能模块化的方式开发特性:例如,几个库提供了一个非常相似的接口的替代实现,使相同的属性可用于测试多个库。有机会开发新的抽象来表达大型库的属性,因为基于属性的测试代码仍然是一个相当新的现象。许多库实现一种或另一种:在这里,抗议小组的自动财产发现可以与成功。最终,该项目的目标是创建能够测试Erlang/OTP的基于属性的软件通过查找错误并向OTP报告错误,库比以往更加彻底开发人员,为将来Erlang/OTP版本的质量做出贡献。

联系johnhughes(John.Hughes在quviq.com,rjmh在chalmers.se)。

先决条件:

  • 函数式程序设计
  • 使用形式化方法进行测试、调试和验证或软件工程
  • 编程语言或编程范例
  • 编译器构造或软件约束