首页> 外文学位 >Siddhartha: Domain-specific unit test generation for 'low-testibility' programs.
【24h】

Siddhartha: Domain-specific unit test generation for 'low-testibility' programs.

机译:Siddhartha:针对“低可测试性”程序的特定于域的单元测试生成。

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

摘要

This Dissertation validates the hypothesis that domain-specific language (DSL) methodology can provide essential automation support for specification-based testing (SBT) of computer program units expressed in difficult-to-test (i.e., “low-testability”), domain-specific design styles. This Dissertation presents Siddhartha, an extension to DSL methodology for development of program synthesizers to support SBT methods in novel application domains. Synthesizers map formal test data specifications (TestSpecs) into unit test driver procedures (Drivers). Both TestSpecs and Driver reference designs are represented via DSLs. Synthesizer development is iterative and example-driven. A Domain Designer applying the Siddhartha methodology in a novel application domain first selects a collection of general, example TestSpecs, then manually codes a collection of corresponding Drivers. Each Driver is expressed in a different reference design that specifically accommodates difficult-to-test, domain-specific program unit under test (UUT) design styles. After selecting the most promising Driver reference design, the set of (TestSpec, Driver) pairs become test cases for the synthesizer under development. The Domain Designer then designs a TestSpec→Driver translation function. The translation function maps TestSpecs to Driver kernels in the selected reference design. The translation function design simplifies DSL development by modularizing both TestSpec and Driver reference design DSLs into syntactic productions. This effectively optimizes DSL representations to support efficient TestSpec→Driver synthesis.; This Dissertation validates the hypothesis by answering the question “What are the relative costs and benefits of applying DSL methods to generate requirements-based and regression Drivers for a flight control system expressed in Ada?” Costs and benefits are measured with respect to manually coded Drivers, which are arguably equivalent to Drivers generated by a general-purpose tool developed by NASA. TestSpec→Driver synthesis programs developed via Siddhartha are somewhat costly, requiring between 400 and 1500 new lines of high-level programming language code. Operating such programs is relatively cheaper for both regression tests and requirement tests. Relative failure detection effectiveness for generated requirements test Drivers is the same and for generated regression test Drivers is at least as good.
机译:本论文验证了以下假设:特定领域语言(DSL)方法可以为以难以测试(即“低可测试性”),领域-表示的计算机程序单元的基于规范的测试(SBT)提供必要的自动化支持。具体的设计风格。本文介绍了Siddhartha,这是DSL方法的扩展,用于开发程序合成器以在新颖的应用程序领域中支持SBT方法。合成器将正式的测试数据规范(TestSpecs)映射到单元测试驱动程序过程(Drivers)中。 TestSpecs和驱动程序参考设计均通过DSL表示。合成器的开发是迭代的且由示例驱动。在新的应用程序域中应用Siddhartha方法的域设计人员首先选择常规TestSpecs的集合,然后手动编码相应驱动程序的集合。每个驱动程序都以不同的参考设计表示,该参考设计专门适应难以测试的特定于域的被测程序单元(UUT)设计风格。在选择最有希望的Driver参考设计之后,(TestSpec,Driver)对的集合成为正在开发的合成器的测试用例。然后,域设计器设计一个TestSpec→Driver转换功能。转换功能将TestSpecs映射到所选参考设计中的驱动程序内核。转换功能设计通过将TestSpec和Driver参考设计DSL模块化为语法形式,简化了DSL开发。有效地优化了DSL表示,以支持有效的TestSpec→Driver综合。本文通过回答“使用DSL方法来生成以Ada表示的飞行控制系统的基于需求和回归驱动因素的相对成本和收益是什么?”验证了这一假设。成本和收益是相对于手动编码的驱动程序进行衡量的,可以说它等同于由NASA开发的通用工具生成的驱动程序。通过Siddhartha开发的TestSpec→Driver综合程序有些昂贵,需要400到1500行新的高级编程语言代码。对于回归测试和需求测试而言,运行此类程序都相对便宜。生成的需求测试驱动程序的相对故障检测有效性是相同的,而生成的回归测试驱动程序的相对故障检测效率至少是一样的。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号