View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

TestAide

TestAide is aimed at enhancing Squeak's testing capabilities. Squeak comes bundled with SUnit - which is one member of the XUnit family of testing frameworks. The 'TestRunner' (which we have been using throughout our MPs) acts as a test harness which is a fancy and convenient interface over SUnit. However Squeak's testing framework lacks in some areas and can therefore be enhanced in ways that can make it more useful.

Our project intends on enhancing Squeak's testing framework. Specifically we shall be providing the following features:

  1. Associate a test case with a class and vice versa
    Currently there is no association maintained between the test cases and the classes/methods that they are intended to test. In a large project not having this association would mean that potentially all the test suite should be run upon any change in any class. By maintaining an association we can run only the affected test cases.
  2. Automatically find associations between test cases and classes
    We intend on providing an auto-association functionality in which we can find the classes that a test cases is testing.
  3. Generate a stub class based on the test cases
    This will facilitate test driven development.
  4. Provide method coverage for test cases
    To see how many methods got called during the execution of a test case. We will build on the concept introduced by John Brant et al. in their paper on 'method wrappers'
  5. Generate stub test cases for a class
    To provide a first cut test case in which the user can develop further logoic
  6. Highlight the test cases that get affected when the associated class/methods are changed
    This will make sure that the user knows the minimal set of test cases that need to be run when a part of the code changes.

    Technical challenges:
    We expect our project to pose the following technical challenges:

    • We will have to hack into the Squeak browser to hook in our testing logic and buttons.

    • We will have to work extensively with Squeak Reflection mechanism.

    • We will have to work with Squeak's Compiler class hierarchy.

    • We might have to customize an existing or develop our own mini parser

    • We will have to provide an alternate Squeak Testing browser (somthing similar to TestRunner but with options for associating classes and test cases and other custom features.)


    We are still in the process ironing out details and figuring out what can and can not be achieved.

    Project Webpage:TestAide - testing made easy!

    Group Members:
    Manzoor, Kashif
    Garcia, Kely

    Link to this Page

    • Class projects last edited on 2 April 2008 at 5:20:59 pm by vpn3-144241.near.uiuc.edu