新永資訊有限公司


軟體資產管理家- 本公司可代為訂購國內外軟硬體
Tel:02-2597-1006   Fax:02-2597-1007

BullseyeCoverage

程式開發軟體
Programe Development Software

歡迎來電洽詢
TEL: 02-2597-1006

需要產品報價?

BullseyeCoverage C++代碼覆蓋分析工具

Bullseye Coverage是Bullseye公司開發的一款C/C++代碼覆蓋測試分析工具,支援多種的C++編譯器,除了Unix下的編譯器之外,Windows的Borland C++,Gnu C++也都有支援.

BullseyeCoverage is a code coverage analyzer for C++ and C that tells you how much of your source code was tested. You can use this information to quickly focus your testing effort and pinpoint areas that need to be reviewed. Code coverage analysis is useful during unit testing, integration testing, and final release. BullseyeCoverage enables you to create more reliable code and save time.

  • Function coverage gives you a quick overview and condition/decision coverage gives you high precision
  • Works with everything you can write in C++ and C, including system-level and kernel mode
  • Short learning curve
  • Include or exclude any portion of your project code
  • Run-time source code included, for custom environments
  • Simple licensing.
  • Merge results from distributed testing
  • Integration with Microsoft Visual Studio

BullseyeCoverage Measurement Technique

Some products report several similar code coverage measures and leave you to work out which one you should look at. BullseyeCoverage solves this problem by reporting only the best two measures: function coverage for quickly assessing overall coverage, and condition/decision coverage for detailed testing.

Function Coverage

Function coverage tells whether each function was invoked or not. Looking at your function coverage allows you to quickly know what major areas of your software are untested. To find defects quickly, begin testing by attaining function coverage in all areas of your software before delving into detailed testing of any one area.

Condition/Decision Coverage

Condition/decision coverage measures whether you exercise every control structure with every possible decision outcome as well as every possible condition outcome. A decision is the whole expression affecting the flow of control in a control structure. A decision may contain conditions, which are sub-expressions separated by logical-and (&&) and logical-or (||) operators. Condition/decision coverage basically measures whether you tested all the logic of your control structures.

Condition/decision coverage is the overall best coverage measure for detailed white-box code testing. Condition/decision coverage balances usability with thoroughness. Simpler coverage measures are blind to many obvious paths through the source code. For example, compared to statement coverage, branch coverage, and condition coverage, condition/decision coverage is stronger and just as easy to use. Condition/decision coverage sees more test cases than these measures and therefore gives you a better picture of what you are not testing. More thorough coverage measures require a significant increase in complexity combined with diminishing probability of exposing a bug. For example, compared to path coverage and its variants such as LCSAJ coverage and data flow coverage, condition/decision coverage is much, much easier to use.

Source Code Instrumentation

BullseyeCoverage uses source code instrumentation, which is required for the best coverage analysis. It also makes our technology easily adaptable to a wide variety of processors and platforms. But we did not sacrifice performance; our build-time and run-time speed ranks among the very best.

With Microsoft C++, our smart preprocessor minimizes performance impact while mimicking Microsoft's idiosyncracies. BullseyeCoverage recognizes macro invocations and adjusts the measurement to reflect what really needs testing.

Automatic Saving

BullseyeCoverage automatically saves coverage once per second. There is no trade-off between buffering and performance.

Performance

Execution time increases 1.2x. Code size increase 1.4x. Build time increases 1.7x with most Microsoft C++ projects, 3-8x with other compilers.