Date Posted: May 12, 2005
Update: September 3, 2009
Version 3.5.2.3 provides bug fixes, including instrumentation of classes without line number information.
Tab navigation
1. Is ConTest for developers or for testers?
Both. ConTest can bring a great deal of value for developers at unit testing, as well as for testers in function and system testing.
2. Does ConTest create tests?
No. ConTest works with your existing tests. To use ConTest effectively for testing, you need to have tests that run several threads concurrently. ConTest greatly increases the probability that these tests will reveal the concurrent bugs that exist, such as deadlocks or race conditions. Furthermore, you'll benefit from running the same tests many times, since each time something different will happen.
3. How does ConTest know that an error was detected in the test?
It doesn't. Since you wrote the test, you should know what behavior of the test is considered an error. ConTest's debugging support can give you additional run-time information, which can help you judge whether it is indeed a bug and where it is located.
4. How can I know that my tests are good enough?
ConTest coverage support (code coverage and synchronization coverage) can help you determine whether your tests are sufficient and where you need to strengthen them.
5. What must I do in order to run my tests with ConTest?
You'll need to specify target classes in the ConTest preference file (and, optionally, other preferences), add a flag to the JVM command that runs your tests, and then just run your tests as before.
6. Is ConTest useful for distributed applications as well?
Yes, because it causes different interleaving scenarios on distributed applications, too. ConTest also includes a special component for UDP (datagram) communication, which gives additional power in testing for whether the program correctly handles communication problems.
