CddBranch

Revision as of 02:56, 20 February 2008 by Aleitner (Talk | contribs) (Download)


What is the CDD extension for EiffelStudio?

CDD (short for Contract Driven Development) is a project developed at ETH Zurich. The extension adds full support for unit testing to EiffelStudio. It also introduces the new idea of extracting test cases automatically from failures observed via the debugger. The following lists the main features of CDD:

  • Automated extraction of test cases from failures (For every exception thrown a new test case is created)
  • Visualization of test cases and their outcomes
  • One button creation of manual test cases
  • Automated execution of test cases in the background
  • Limit visible test cases via predefined filters and custom tags
  • Testing occurs in the background and is undisruptive to the developer
  • Easy test case management through tags

If you have questions, feedback, or would like to report a bug please visit the [CDD forum]


Video still.png

Play Video!

(TODO: Update with more recent screenshot and video)

Download

  • Download CDD Final 1
    • Linux: http://se.ethz.ch/people/leitner/cdd/Eiffel61_cdd_final_1.tar.bz2 (Download the above file and install it just like you would install a EiffelStudio tar ball. Afterwards proceed to section "Using CDD".)
    • Windows
      • Installer: http://n.ethz.ch/~moris/download/Eiffel61cdd_gpl_final1-windows.msi (Note: Installation is independent of installations of official EiffelStudio 6.1)
      • Patch: Not available for Final 1. (The CDD Edition of EiffelStudio is no longer overwriting installations of official EiffelStudio 6.1. So it does need its own registry entries which are set using the installer. For further releases a patch might be available again for patching installations produced by the installer below)

Documentation

Old Documentation

Documentation for the release of CDD for EiffelStudio version 5.7 is available from CddOldDocumentation.

Project Internal Stuff

Schedule

  • 04.01.2008: Final experiment definition (questions to ask, how to conduct experiment)
  • 08.01.2008: Finalized list of features to go in release (including logging and log submission)
  • 27.01.2008: Beta 1 (feature complete version online)
  • 04.02.2008: Beta 2 (designated testers test release, # > 3)
  • 11.02.2008: Beta tester feedback in
  • 11.02.2008: Beta 3
  • 18.02.2008: Final 1 release
  • 19.02.2008: Initial Questionnaire
  • 20.02.2008: Final 1 handover to ISG
  • 22.02.2008: Final 1 installed on students machines
  • 29.02.2008: Final 2 release
  • 05.03.2008: Final 2 handover to ISG
  • 07.03.2008: Final 2 installed on students machines
  • 25.03.2008: Midterm Questionnaire
  • 19.05.2008: Final Questionnaire
  • 20.05.2008: Having all data
  • 06.06.2008: Finished analysis

Stefans Master Plan

  • MA Start ca 17.12.2007
  • MA End ca 17.6.2008
  • Testing the tester
    • System level test for CDD (incl. framework)
    • Recreating existing unit test suite with CDD
    • Large scale validation of CDD
      • Info 4 and/or Software Engineering
      • Questions
        • Does testing (manual/extracted) increase developer productivity?
        • How many tests do ppl end up with (manual/extracted)?
        • ...

Various

Things we need from estudio

  • Invariants should be checked during debugging equally to pre- and post conditions (they could also be visualised in the flat view the same way like pre- and post conditions are)
  • The information whether some call is a creation call or a normal routine call (Not sure if this is really necessary, what if we assume every call to some creation procedure is always a creation call?)
  • Support for multiple open targets