Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.6 / 3....
  • Linux Kernel 3.0.82 LTS...
  • KDE Software Compilatio...
  • PulseAudio 4.0
  • Wireshark 1.10.0
  • NetworkManager 0.9.8.2
  • LibreOffice 3.6.6 / 4.0...
  • SystemRescueCd 3.7.0
  • Linux Kernel 3.10 RC6
  • Ubuntu Tweak 0.8.5
  • Home > Linux > Programming > Quality Assurance and Testing

    Testar 1.0

    Download button

    Downloads: 429  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    Very Good (4.0/5)
    1 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Mikhail Dmitriev | More programs
    The Apache License 2.0 / FREE
    August 31st, 2006, 20:15 GMT
    ROOT / Programming / Quality Assurance and Testing

     Read user reviews (0)  Refer to a friend  Subscribe

    Testar description

    Testar is a tool designed to reduce the time spent running Java unit tests.

    Testar is a tool designed to reduce the time spent running Java unit tests.

    Additionally, Testar allows you to find out which methods a given test covers, and vice versa.

    How it works:

    The first time Testar is invoked, it runs all tests in JUnit test suite(s) given to it, and for each testXXX() method records code coverage information: what application methods are exercised (covered) by this test. This information, along with checksums for application/test classes and methods is saved into the Test Database (TDB).

    On subsequent invocations, Testar finds out (using the saved checksums) what classes and methods you have changed. Based on this data, it selects for running only those tests that exercise the updated code. It is assumed that other tests, that passed before, will pass again, since nothing has changed in the code that they exercise. Of course, if any test didn't pass before, or if a test is new, Testar will run it unconditionally.

    The above algorithm implies that all the (changeable) input for the tests is in the test code. If your tests depend on input from other sources, e.g. resource files, you should give Testar names of these files. When such a file changes, Testar will rerun all or selected tests, depending on additional options that you may specify.

    How much time does it save?

    Time savings may vary depending, equally importantly, on:
    The amount of changes to the code
    How "popular" is the piece of code you have changed
    How much code each test covers
    How many tests there are in your suite(s)

    Generally, the smaller your changes are (or the more frequently you run Testar), and the more tests you have, the bigger are the relative savings. On the other hand, if there are some method(s) in your application that are exercised by all or most of the tests, any change to such a method will cause all these tests to rerun. That said, in practice for large applications the author has observed an average 60-70 per cent reduction in time to run tests.

    How do I use it?

    To use Testar, you will have to add the following options to the command line that invokes your test suite:

    -javaagent:< Path to Testar.jar >=< Testar options >

    For example, if normally you invoke your test suite as

    java -classpath junit.jar:MyApp.jar junit.textui.TestRunner myapp.MyAppTests

    you should modify the above line, at a minimum, as follows:

    java -javaagent:Testar.jar=tdb=testar.tdb

    -classpath junit.jar:MyApp.jar junit.textui.TestRunner myapp.MyAppTests

    where the tdb option specifies the name of the Testar DB file, in which the tool will keep the information about your tests' code coverage.

    Below is the list of all Testar options (to pass multiple options to the tool, specify them as option1=value1,option2=value2,...).

    Product's homepage

    Requirements:

    · Java 1.5

      


    TAGS:

    quality testing | unit testing | testing framework | Testar | Java | unit

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM