zoukankan      html  css  js  c++  java
  • Object Biography: Cruise Control, Elevator, and Ordered Set

     

    The Java clusters (Cruise Control, Elevator and OrdSet) presented here have been used in an empirical study addressing the impact of using state machines for testing class clusters that exhibit a state-dependent behavior in testing cost effectiveness when compared with structural testing.(就是这些数据集被用来,比较基于状态的测试跟结构化测试的花销及有效性)。

    The RTP testing technique , a common state testing strategy, was selected for state based testing. A state machine would be represented as a tree graph, called transition tree which includes (in a piecewise manner) all the transition sequences (paths) that begin and end with the same state, as well as simple paths (i.e., sequences of transitions that contain only one iteration for any loop present in the state machine) from the initial state to the final state. A transition tree is provided in the package documentation. Participants working with state machines are asked to use state invariants in their oracle assertions. After executing a transition, an oracle assertion checks the new cluster state with the expected state invariant. Participants are also asked to implement contract assertions in their oracles. Contract assertions include class invariant, and methods' preconditions and post-conditions. The different invariants and contracts are provided in OCL in the provided documentation.

    For structural testing, participants were told to attempt covering all blocs (nodes, statements) and edges in the methods' control flow graphs. By running their drivers on the instrumented code (provided along with the source code), the students identify non-covered nodes and edges. This guides students to identify new test cases to be added to their drivers to improve structural coverage. Structural testing students were advised to write oracles checking expected output/attribute values against actual ones.

    To compare the fault detection effectiveness of state based testing to structural testing, one executes the different drivers delivered by the experiment participants on a number of mutant programs (or mutants - provided in the package), that is versions of the program under test where one fault was seeded using a mutation operator. The mutants were automatically generated using MuJava .

    References

    Assessing, Comparing, and Combining State machine-Based Testing and Structural Testing: A Series of Experiments, Samar Mouchawrab, Lionel C. Briand, Yvan Labiche, and Massimiliano Di Penta. 2008. Technical Report, Carleton University, Ottawa, Ontario, Canada.pdf 

  • 相关阅读:
    jQuery技巧大放送
    网页挂马工作原理完全分析
    C#常见问题
    网站优化之页面优化
    SQL大全分享
    获得本机的可用的所有打印机
    C#文件操作方法大全
    编程范式及其代表语言
    23种模式简說
    C# Open Source
  • 原文地址:https://www.cnblogs.com/zztian/p/2350058.html
Copyright © 2011-2022 走看看