• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Automated testing in C/C++

I want to know what the good automated test frameworks are for C/C++. I am currently tinkering with CPPUnit. I know how to use JUnit, so CPPUnit isn't that bad. I got the test examples working fairly easily but I don't necessarily understand why they work.

The fact that no manual exists really stinks.

So, what other automated test tools are good or atleast worth a look?

Thanks!
 
I assume you're working on a Win32 application? There are three kinds of automated testing I can think of at the moment:

1. Unit testing. That's what the things you've looked at so far do. If it's just you or a very small number of people working on a task, that may be all you need. I'm not really familiar with any for C/C++.

2. Interface testing. There exist programs that can interface with your application like a user would. Most target web apps, but some work with the Win32 or .NET API. If you have a few thousand dollars, HP Quick Test seems to be the standard. If not...maybe try the free but not open-source program Auto-It for Win32. (It's not designed for testing, but it interfaces well.)

3. Performance testing. This is usually for an app that accesses a common database or server, so this may or may not apply to you. The tool you choose may depend more on the server interface than the client app, as in most cases it's better to just emulate the client communications without the client.
 
Rational had been developing a toolset that you could instrument your developed code at different stages and perform regression testing.

Mercury also had a package out.

Other companies had Windows interface packages that allowed you to setup test scripts that interacted with the applications Windows interface.

What currently exists on the market, I do not know.
My knowledge on those C++ tools is from the '00 time frame.

 
Mercury got bought out by HP, hence the HP reference above.

But I think the OP is looking for unit testing tools; I didn't think Mercury ever made those.
 
The programs that come as exmaples with CPPUnit are pretty good. The lack of documentation really bothers me though. There is some code that you need to place in the unit test files that i do not know what it is for. I really wish tehre were a line for line explanation of things.

I almost want to write my own code from scratch. It doesn't look like CPPUnit does much for you. You still have to place method names in a secondary file just to run all tests. I can do that without CPPUnit's help.
 
I've used Boost Test in the past, it's pretty easy to get started with and does its best to stay out of your way. If you're not already using/familiar with boost, there will be a slight learning curve.
 
Back
Top