最近的更改- 搜索以下为:

使用快速检查测试Erlang-OTP

使用QuickCheck测试Erlang/OTP

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

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

QuickCheck是一种基于规范的测试工具,它用测试中的软件应能容纳所有可能的输入。随机测试性能使用QuickCheck用户提供的测试数据生成器生成测试用例。当测试失败时,它会自动减少到最小的失败案例,以加快问题的诊断。因此QuickCheck提供了从正式规范到简洁错误的快速、全自动路线报告。QuickCheck首先由Koen Claessen和John Hughes为Haskell开发;这个项目将使用Quviq AB开发的Erlang商业版本。

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

这个硕士项目的目标是为大型的尽可能使用QuickCheck和原型工具,作为Erlang/OTP库的一部分由ProTest团队开发。应以尽可能模块化的方式开发属性:例如,几个库提供了非常相似的接口的替代实现,允许使用相同的属性测试多个库。有机会自基于属性的测试以来,开发新的抽象来表示大型库的属性代码仍然是一个相当新的现象。许多库实现了纯功能的数据结构这样或那样:在这里,ProTest团队的自动属性发现可以与成功。最终,该项目旨在创建可测试Erlang/OTP的基于属性的软件库比迄今为止更彻底,并通过发现漏洞并向OTP报告开发人员,为未来Erlang/OTP版本的质量做出贡献。

联系约翰·休斯(John.Hughes AT quviq.com,rjmh AT chalmers.se)。

前提条件:

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