verybench 2.0 user guide - verifysoftfiles, generating pdf reports, showing diagrams or saving...

62
Verybench 2.0 User Guide Complexity Measurement Front End For Testwell CMT++

Upload: others

Post on 29-Jan-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

  • Verybench 2.0User Guide

    Complexity Measurement Front EndFor Testwell CMT++

  • 2

    User Guide for Verifysoft Verybench 2.0Complexity Measurement Front End

    This user guide intends to provide help for the following application only:

    Verybench 2.0 for Testwell CMT++ 4.2

    Furthermore, Verifysoft Technology GmbH assumes no responsibility for any errors or omissions that may appear in this document nor does Verifysoft Technology GmbH make a commitment to up date the information con-tained herein. Third party trademarks, registered names or signs are the property of their respective owners.

    For more information about services and products of Verifysoft Technology GmbH, software updates or updates of the help contents for Verybench 2.0 visit www.verifysoft.com.

    Support

    Verifysoft Technology GmbH provides support for Verybench 2.0 if an on-going maintenance period for Testwell CMT++ is current and for the speci-fied operating systems and platforms only.

    Contact us via:[email protected]

    www.verifysoft.com

    Verybench 2.0 is a product of Verifysoft Technology GmbH 2003-20�2.

    Legal Disclaimer

  • 3

    �. Requirements and Installation ................................................................................ 4 2. First Start of Verybench 2.0 ...................................................................................... 6 3. Complexity Measurement ...................................................................................... 7

    3.� Testwell CMT++ ................................................................................................... 7 3.2 Introducing Verybench 2.0 ............................................................................. �0 3.3 Testwell Semantics and Verybench 2.0......................................................... ��

    4. Graphical User Interface ....................................................................................... �5 4.� Main Menu and Quick Menu ......................................................................... �6 4.2 Projects Explorer ............................................................................................... 20 4.3 Views of Verybench 2.0 .................................................................................. 22

    4.3.� Dashboard View ...................................................................................... 22 4.3.2 Metrics View ............................................................................................. 27

    4.4 Command History ............................................................................................ 29 5. Creating Items ........................................................................................................ 30

    5.� Creating Metrics Projects ................................................................................ 3� 5.2 Creating Snapshots ......................................................................................... 34

    6. Editing Items ............................................................................................................ 38 6.� Editing Metrics Projects.................................................................................... 40 6.2 Editing Snapshots ............................................................................................. 4�

    7. Configuring Verybench 2.0 ................................................................................... 46 8. Creating Reports .................................................................................................... 49

    8.� Creating PDF Reports ...................................................................................... 49 8.2 Creating Text Reports ...................................................................................... 52 8.3 Creating CSV Reports ...................................................................................... 53 8.4 Creating XML Reports ...................................................................................... 54

    9. Getting Help ........................................................................................................... 55�0. Appendix ................................................................................................................ 56

    �0.� Metrics Glossary .............................................................................................. 56 �0.2 Testwell CMT++ Error Messages ..................................................................... 57

    ��. End User License Agreement (EULA) ................................................................... 58

    Table of Contents

    Table of Contents

  • 4

    �. Requirements and Installation

    Make sure you meet the following requirements prior to installing Verybench 2.0.

    � Minimum Software Requirements

    �.� Operating System: Microsoft Windows 7 (32 and 64bit) Ultimate or Professional Microsoft Windows XP (32 and 64bit) Professional with Service Pack 3 �.2 Runtime Environment: Microsoft .NET Framework 4.0 �.3 Testwell CMT++: You have a valid copy of Testwell CMT++ 4.2 licensed and installed on the same physical machine Verybench 2.0 will run on.

    2 Minimum Hardware Requirements

    2.� Working Machine: Pentium® III- or Athlon™ processor with 600 MHz, �28 MB RAM and 3-4 MB free disc space.

    2.2 Graphics Components: Standard graphics card and standard 24bit monitor with a screen reso- lution of at least ��52x864 pixels. 2.3 Peripheral Devices: IBM® compatible mouse and keyboard. This guide is not intended to give any further advice on how to download or in-stall Microsoft’s .NET Framework 4.0 or any other version. For more information or download instructions visit www.microsoft.com.

    Requirements and Installation

  • 5

    3 Installation

    Install Verifysoft Verybench 2.0 by following the instructions below.

    �. Obtain a copy of Verybench 2.0 from Verifysoft Technology GmbH either on disc or by download. This copy includes the tool itself, help pages in HTML format, a PDF library (DLL) and this PDF User Guide.

    2. Make sure that you installed Microsoft’s .Net Framework 4.0 properly and that it runs correctly.

    3. Make sure that you installed a licensed copy of Testwell CMT++ 4.2 pro- perly and that it runs correctly.

    4. Unzip the obtained Verybench 2.0 bundle to a desired location.

    5. In the installation folder where you unzipped the Verybench 2.0 bundle to, double click the Verybench 2.0.exe to start the application.

    6.� If you see the start screen of Verybench 2.0 splashing, Verybench 2.0 is starting and shortly after is ready to go. Stand by until the main view has shown up.

    6.2 If you see an error message popping up, follow the error message and correct the error that has occurred (contact us in case you do not know how to proceed).

    Requirements and Installation

  • 6

    2. First Start of Verybench 2.0

    When you start Verybench 2.0 for the first time, it basically provides two different hint boxes at (every) startup. These two hint boxes are the Quick Option box and the Hint of the Day box. If you do not want to see them (ever) again you can deselect their individual checkboxes and they are gone. To bring them back, please refer to chapter 7: Configuring Verybench 2.0. The Quick Option box lets you quickly create a new Metrics Project or open an existing one from disc. The Hint of the Day box is just what the title says: a box to provide you with hints about the application which you might or might not know already. The goal here is to point you to all functionalities of Verybench 2.0 and give you basic hints about the concept behind Verybench 2.0. It is, by any means, not meant to be any kind of reduced help system. Hints are shown randomly so they may repeat from time to time. If you want to explore the facts behind the hint in more detail you can jump to the built-in help system to get a help page related to the hint. Figure 2.� and 2.2 show these boxes respectively.

    Fig. 2.�: Hint of the Day box at startup.

    Fig. 2.2: Quick Option box at startup.

    First Start of Verybench 2.0

  • 7

    3. Complexity Measurement

    Complexity measurement or complexity analysis is a process where key figures are derived from existing source code. These key figures then serve as indicators to judge a source code’s quality. Obtaining key figures is accomplished by cer-tain arithmetics directly applied to the source code. In General, arithmetics that are applied in complexity measurements are called Metrics. They make up a set of formulae that is provided by code metrics tools such as e.g. Testwell CMT++.

    3.� Testwell CMT++

    Testwell CMT++ is developed by the company Testwell (www.testwell.fi). The com-pany is situated in Tampere Finland. The tool Testwell CMT++ is a command line tool dedicated to measure the complexity of source code written in C, C++ or even in assembly language by certain different metrics. Table 3.�.� shows the metrics that are provided for complexity analyses.

    Tab. 3.�.�: Different metrics provided by Testwell CMT++.

    Complexity Measurement

  • 8

    Although Testwell CMT++ provides a number of possibilities when it comes to cus-tomizing metrics, it lacks the possibilities of comfortable reporting, reflecting results back in one place and summarize values for a better understanding. Since results of complexity analyses by Testwell CMT++ could by now only be viewed in sepa-rate reports of formats like HTML, TXT, XML or CSV, an instant observation, linking and understanding of retrieved key figures (metrics values) was not possible. Fig-ure 3.�.� shows the original HTML report of Testwell CMT++ exemplarily.

    In general, Verybench 2.0 gives a much quicker and more comprehensive over-view over a source code’s quality situation than several loosly linked reports. Al-though Verybench 2.0 is a pure graphical application, it does not break tradition with the functionalities of its underlying back end (Testwell CMT++). Meaning, that it preserves most original functionalities and extends them by adding several new functionalities, such as e.g. managing Metrics Projects, Snapshots and Source Files, generating PDF reports, showing diagrams or saving images from diagrams.Verybench 2.0 was designed to control most of the original functionalities of Tes-twell CMT++ and all extended functionalities, graphically in one place. For those reasons, two main views have been built into Verybench 2.0 from the very begin-ning which are: the Dashboard View and the Metrics View.

    Fig. 3.�.�: Conventional HTML report of Testwell CMT++.

    Complexity Measurement

  • 9

    The situation of “figuring out relations between single key figures” has changed entirely. Nowadays, graphical front ends are able to pick up analysed metrics data very easily, present and export them in crystal clear quality (this is also true for Verybench 2.0, see next section). Every time Testwell CMT++ analyses source code, it generates an XML file (known as XML Long Report) containing all results (metrics values) of the preceeding complexity analysis. This XML file gives Testwell CMT++ the possibility to communicate with such foresaid external front ends. In or-der to understand how Testwell CMT++ collaborates with Verybench 2.0 in detail, consider figure 3.2.1 in the next chapter.

    Complexity Measurement

  • �0

    3.2 Introducing Verybench 2.0

    Verybench 2.0 as graphical front end collaborates with Testwell CMT++ in exact the manner described in figure 3.2.�. Verybench 2.0 is a graphical user interface that enables manag-ers, developers as well as quality and test engineers to colaborate easier on and to contribute easier to source code quality. It accelerates the way metrics are understood by an entire development team and not just by single individuals involved in improv-ing the quality of a software.

    To give you an impression on how Very-bench 2.0 works, look at figure 3.2.1 again. Verybench 2.0 has its own se-mantics that are based on Testwell’s. It extends these original semantics to enable you to manage Metrics Proj-ects, Snapshots or Source Files, to per-form complexity analyses at will and to report results in detail to others.

    While Verybench 2.0 concentrates on managing and delivering clarity of results of complexity analyses to you, it delegates to Testwell CMT++ when ever such complexity analyses are needed. The main communication interface between back end and front end is the XML Long Report (.xml) file that Testwell CMT++ writes all calculated metrics values to. They are then parsed and displayed by Verybench 2.0. This process is fully transparent to you. But if errors occur while pars-ing Source Files, you can view these errors within the Command History (s. chapter 4, section 4.4).

    Fig. 3.2.�: Collaboration of Testwell CMT++ and Verifysoft Verybench 2.0.

    Complexity Measurement

  • ��

    3.3 Testwell Semantics and Verybench 2.0

    Testwell defines for the tool Testwell CMT++ several semantics which are essen-tial and crucial to understand. First of all, all Testwell semantics were kept when designing Verybench 2.0 to give you the best understanding, if you are already familiar with the tool itself or any earlier version that applies the succeeding se-mantics. In Verybench 2.0 none of these original semantics were neglected or replaced; they only were extended. Let’s review the original semantics of Testwell CMT++ and then go on with the extensions Verybench 2.0 provides.

    Testwell CMT++ strongly works with Scopes. The concept of a Scope implies that every metrics value that is calculated from source code has to be regarded rela-tive to a context (Scope). This means, if Testwell CMT++ measures metrics values in a particular context (Scope), there is no room for interpreting the values’ mean-ing other than by its context (Scope) it was measured in. Figure 3.3.� shows the defined Scopes by Testwell.

    Fig. 3.3.�: Process of measuring metrics values in particular Scopes.

    Measuring in particular Scopes is not only to avoid misinterpretation of metrics val-ues, it is also done to cope with the several levels (Scopes) source code itself with its hierachical structure implies. Let’s imagine a set of several ordinary C/C++ files. Metrics formulae could be applied merely to every function of each file (Function Scope, s. Fig. 3.3.1). But also a file as a whole could also be measured with the exact same metrics formulae (File Scope, s. Fig. 3.3.1) and even an entire set of files could be measured with these very same metrics formulae (System Scope,

    Complexity Measurement

  • �2

    s. Fig. 3.3.1). You see, there is quite a lot structural information when it comes to breaking up an ordinary C/C++ file. Regarding figure 3.3.1 again, now it becomes clear that measuring on several different levels (Scopes) makes perfect sense to a quality engineer who wants to analyse certain aspects of his source code. It just depends on what level (Scope) of source code you want to be measured and therefore understood.

    Testwell CMT++ does all that and even defines Alarm Limits for almost every Scope and for the most important metrics it provides. Alarm Limits are (mostly) a pair of values for a certain metric that limit its calculated metrics values numerically upwards and downwards (lower and upper bound). They are just reference val-ues to be taken as a range (interval) that can be expected a certain measured metric’s value should lie in. Alarm Limits are simply recommended numerical in-tervals for a metric. Alarm Limits should not be exceeded or fallen below by the actual metric’s value to be considered OK. Some of the metrics provided by Tes-twell are even rounded. These metrics are: the Maintainability Indexes (MI, MIcw, MIwoc) (by Testwell), the Estimated Number of Bugs (B) and the Program Volume (V) (both by Verybench 2.0). With Scopes and Alarm Limits, metrics for the first time become understandable and applicable for quality engineers and at the same time imply a simple Code Quality System that is based on deviations of ac-tual measured metrics values from their individual predefined Alarm Limits (lower and upper bounds), that also respect the criteria of the Scopes the metrics values were measured in. Now, there are some perculiarities of Testwell CMT++ which are essential to know and which are rathed based on the historical development over the past 20 years than by design. Testwell CMT++ defines Alarm Limits for the File Scope and Function Scope but not for the System Scope as figure 3.3.1 shows with the alarm bell icons on the right hand side of the drawing. The uncrossed alarm bell icon indicates that there are metrics in this Scope that have Alarm Limits. These metrics are called Alarming Metrics because they are able to pro-duce an alarm when the deviate from their predefined Alarm Limits. The crossed

    Complexity Measurement

    All Scopes defined by Testwell are truely independent although they seem to nest due their hierachical nature within a source file! System Scope [ File Scope [ Function Scope ] ]

  • �3

    version of the alarm bell icon indicates that this Scope also has metrics that have no predefined Alarm Limits and therefore cannot be examined that easily due to such missing Alarm Limits. These metrics are called Non-Alarming metrics. They need external examination by Alarm Limits neither provided by Testwell CMT++ or Verybench 2.0. You can make up your own Alarm Limits if you need these metrics being Alarming Metrics, too. Putting all this information together results in the fol-lowing table 3.�.�. It clearly states which metrics provided by Testwell CMT++ have which type of Alarm Limits in which Scopes.

    Tab. 3.3.�: Overview over all metrics, alarming types and Scopes.

    Complexity Measurement

  • �4

    Complexity Measurement

    To manage all metrics values derived from measured source code, Verybench 2.0 offers to create Metrics Projects that contain Snapshots. One Metrics Project can have several Snapshots, each containing the particular Source Files that you want to be measured. Just like in Testwell CMT++ semantics, you have to decide which Source Files you want to be measured and then tell Testwell CMT++ to do so. By holding all measured Source Files with their calculated metrics values, a Snapshot serves solely as a data container, literally capturing quality information of a set of Soure Files at a certain point in time. As you can imagine, snapshotting a set of Soure Files over time makes up a Quality Baseline.

    1. You should not create Snapshots that comprise more than 200 source files at total. 2. You should not work with a single Snapshot all the time since this leads to unclarity when using Verybench 2.0.

    Whether you only create Snapshots from one static set of Source Files over time or you create Snapshots from a set of Source Files that varies over time, is up to you. Both cases are possible and applicable in Verybench 2.0. You can edit your latest Snapshot (Main Snapshot), add new Snapshots or remove Snapshots from Metrics Projects any time you want during your monitoring phase. Figure 3.3.2 shows the semantics of snapshotting quality again for a better understanding.

    Fig. 3.3.2: Quality Baseline built by snapshotting metrics values over time.

  • �5

    4. Graphical User Interface

    The graphical user interface (GUI) of Verybench 2.0 is divided into four main areas. These four main areas are dedicated to accomplish different tasks each. Figure 4.� shows these four main areas within the graphical user interface of Verybench 2.0 before they are described in more detail.

    Fig. 4.�: The four main areas of Verybench 2.0.

    �. The Main Menu and the Quick Menu, for basic operations like open/save Metrics Projects, switch views or create reports.2. The Projects Explorer, to manage items like the Metrics Projects, Snap- shots or Source Files.3. The view area for the two views Dashboard View and Metrics View, to examine the different Scopes for metrics graphically or precisely.4. The Command History, where commands of Verybench 2.0 and Testwell CMT++ 4.2 are logged together.

    Graphical User Interface

    1

    23

    4

  • �6

    4.� Main Menu and Quick Menu

    Verybench 2.0 provides a Main Menu comprising three option groups. Figure 4.�.� shows these option groups as parts of the Main Menu of Verybench 2.0.

    Fig. 4.�.�: Main Menu option groups of Verybench 2.0.

    �. Main Menu

    Main Menu Option Group: File

    1.1 File 4 New 4 Metrics Project Click New then click on Metrics Project or press Ctrl + N to set up a new Metrics Project that will contain all Snapshots of analyses results later on. 1.2 File 4 New 4 Snapshot Click New then click on Snapshot or press Ctrl + Alt + N to set up a new Snapshot for an existing Metrics Project. This Snapshot will be marked bold within the Projects Exlorer implicating that it is the latest in time which means that it holds the latest metrics values of the latest complexity analy- sis.

    1.3 File 4 New 4 Report 4 PDF Report Click New then click on Report, then click PDF Report to set up a new PDF re- port of the current Main Snapshot (latest, marked bold) of the current Main Project. A dialog will show up allowing you to set further options to customise your report.

    Graphical User Interface

  • �7

    1.4 File 4 New 4 Report 4 XML Report Click New... then click on Report, then click XML Report to set up a new XML report of the current Main Snapshot (latest, marked bold) of the cur- rent main project. This XML report is generated by Testwell CMT++.

    1.5 File 4 New 4 Report 4 CSV Report Click New then click on Report, then click CSV Report to set up a new CSV report of the current Main Snapshot (latest, marked bold) of the current main project. This CSV report is generated by Testwell CMT++. It allows you to export metrics data into spread sheet software like Microsoft Excel.

    1.6 File 4 New 4 Report 4 Text Report Click New then click on Report, then click Text Report to set up a new plain text report of the current Main Snapshot (latest, marked bold) of the current Main Project. This plain text report is generated by Testwell CMT++ 4.2. You can open it with any text editor.

    1.7 File 4 Open... Click Open to load an existing Metrics Project from disc.

    1.8 File 4 Open Recent Solution Click Open Recent Project to load a recently saved Metrics Project. You can choose from �0 recently saved Metrics Projects at total.

    1.9 File 4 Save Click Save to save the current Metrics Project to your predefined Project Location (also called Working Directory) or press Ctrl + S.

    1.10 File 4 Save As Click Save As to save the current Metrics Project to a desired path.

    1.11 File 4 Exit Click Exit to quit Verybench 2.0 or press Alt + F4.

    Graphical User Interface

  • �8

    Main Menu Option: Edit 1.12 Edit 4 Delete Click Edit and then Delete to delete the currently selected item within the Projects Explorer.

    1.13 Edit 4 Application Settings... Click Edit and then Application Settings... to configure the application wide settings of Verybench 2.0 such as the path to Testwell CMT++, the coloring for syntax highlighting of source code or the configuration of startup dia- logs.

    Main Menu Option: Info

    1.14 Info 4 Help Click Info and then Help to view the local help pages of Verybench 2.0 in a built-in Web Browser or press the F� key.

    1.15 Info 4 About Click About to see information about the application and its version or press the F4 key.

    Graphical User Interface

  • �9

    2. Quick Menu

    The Quick Menu gives you a quick access to a set of frequently needed opera-tions. Figure 4.�.2 shows this menu for a better understanding.

    Fig. 4.�.2: Quick Menu of Verybench 2.0.

    Quick Menu Options

    2.1 Open: Click Open to load an existing Metrics Project from disc. 2.2 Save: Click Save to save the current Metrics Project to your predefined Project Location.

    2.3 Dashboard: Switch to the Dashboard View to examine metrics graphically.

    2.4 Metrics: Switch to the Metrics View to examine metrics precisely.

    Quick Menu Options 4 Reports

    2.5 PDF: Generate a PDF report from the current Main Snapshot.

    2.6 XML: Generate an XML report from the current Main Snapshot.

    2.7 CSV: Generate a CSV report from the current Main Snapshot.

    2.8 TXT: Generate a text report from the current Main Snapshot.

    Graphical User Interface

  • 20

    4.2 Projects Explorer

    The Projects Explorer together with the View Area is the most essential part of the entire graphical user interface of Verybench 2.0. It provides the possibilities to manage and manipulate items (as will be separately pointed out in chapter 6, section 6.�). It shows all created items according to their nesting behavior. The Projects Explorer controls how items relate to each other hierachically and which items can be examined within the View Area. Simply by clicking on items within the Projects Explorer can e.g. trigger the current subview of the Metrics View to change. Knowing how the Projects Explorer works, is key to understand Verybench 2.0. Figure 4.2.� demonstrates how the Projects Explorer works and how it behaves for different item types.

    �. Left clicking a Snapshot node will trigger the Alarming and Non-Alarming metrics values of the File Scope of the selected snapshot to be loaded within the Metrics View. It will also trigger the System Scope values, the current alarm values and the Code Quality Rating of the selected Snapshot to be loaded-within the Dashboard View. If you have Clicking a Snapshot node will always affect the Dashboard View and the Metrics View to change accordingly.

    2. Left clicking a Source File node trig-gers the Alarming and Non-Alarming metrics values of the Function Scope of the selected Source File to be loaded within the Metrics View. If you are currently not in the Metrics View at the time of switching, you will not see any change. But you can switch to the Metrics View when ever you want. The Function Scope metrics are loaded anyway and are ready for you to be viewed. Clicking a Source File node will always only affect the Metrics View to change.

    Graphical User Interface

    Fig. 4.2.�: Clicking Projects Explorer nodes.

  • 2�

    3. Clicking the New Snapshot... button will start the Snapshots Wizard to create a new Snapshot as well as right clicking a project node within Projects Explorer and selecting New Snapshot... . Creating Snapshots will be described in detail in chapter 5, section 5.�.

    4. Clicking the Edit Main Snapshot... button will start the Snapshots Settings Editor. Only the current Main Snapshot can be edited. Earlier Snapshots by design can not be edited anymore, as will be pointed out in chapter 6, section 6.2.

    Graphical User Interface

  • 22

    Graphical User Interface

    4.3 Views of Verybench 2.0

    Verybench 2.0 comes with two main views built-in which are both explained in this section. First the Dashboard View and then the Metrics View is described in detail.

    4.3.� Dashboard View

    The Dashboard View was designed to give you the most comprehensive and most appealing overview upon Testwell metrics. The Dashboard View has �2 sub-views built in that show different aspects and relations of metrics values graphi-cally. If you get stuck and need some help, click on the help icon in the right upper corner of the Dashboard View and you can jump directly into the related help page for this view within the built-in help browser.

    �. Snapshots Overview and Code Quality Rating

    First of all there, is the Snapshots Overview subview of the Dashboard View. It in-cludes an overview over the last six snapshots, a Code Quality Rating (CQR) of the selected Snapshot and . This subview was called Snapshots Overview because that is the aspect that is most important here. It can be regarded as the Status Quo subview of the Dashboard View of Verybench 2.0 because it is the only sub-view of all subviews that shows the course of the measured source code’s qual-ity over time by stating the alarm ratios of the latest six snapshots. Figure 4.3.�.�.� shows this subview for a better understanding. The Code Quality Rating tab and Snapshot Data tab are on the right whereas the Snapshots Overview chart is on the left of the Snapshots Overview subview. The Snapshot Data tab contains met-rics values of the System Scope and the current alarm values of the File Scope and the Function Scope.

  • 23

    Fig. 4.3.�.�: �. Snapshots Overview chart, 2. Code

    Quality Rating tab.

    Figure 4.3.�.2 shows the Snapshot Data tab in greater detail to get an impression on how many metrics, which metrics and which alarms the System Scope provides. Usage of the Snapshots Overview: Switch to the Snapshots Overview every time you need to know where you stand with your latest snapshot (Main Snapshot) while tweak-ing your source code’s quality, or if you want to know your Main Snapshot’s quality level or just if you want to view the metrics values of the System Scope or the current alarms within the File Scope or the Function Scope.

    Graphical User Interface

    2

    1

    Fig. 4.3.�.2: Snapshot Data tab of Snapshots Overview.

  • 24

    2. Alarm Limits Overview for File and Function Scope

    As explained in chapter 3, section 3.3 (Testwell Semantics and Verybench 2.0) Tes-twell provides configurable Alarm Limits for the two scopes: File Scope and Func-tion Scope. The Alarm Limits Overview subview though integrates all configurable Alarm Limits into a Radar Chart for each scope respectively. Alarm Limits can therefore be examined individually in respect to their Scope. Figure 4.3.�.3 shows the Alarm Limits Overview of the File Scope (taken exemplarily) to demonstrate how Alarm Limits are presented within the Radar Chart. Every axis represents a dif-ferent alarming metric with its configurable lower and higher Alarm Limits. The Ra-dar Chart basically shows the deviation of a metric’s current value from its lower and higher Alarm Limits quantitatively. Additionally, all metrics’ current values and Alarm Limits are again shown on the right hand side of the Alarm Limits Overview in a column. Both Scopes (File Scope, Function Scope) have their own diagrams.

    Fig. 4.3.�.3: �. Radar Chart (File Scope), 2. Column of Alarm Limits.

    Graphical User Interface

    2

    1

  • 25

    Usage of Alarm Limits Overview: Switch to the Alarm Limits Overview every time you want to see the deviation of the selected Snapshot’s metrics values from their Alarm Limits within the File Scope or within the Function Scope respectively.

    3. Distribution of Metrics to Files and Functions

    The File Distribution and Function Distribution subviews basically are histograms that show how measured files or functions distribute to their metric values. Distribu-tions of files or functions can be examined in their own subviews and have their own array of selectable metrics. Selectable metrics for file and function distribu-tions are the following:

    File distributions can be examined for:n V (Program Volume)n c% (Comment Ratio)n LOCpro (Program Lines of Code)n v(G) McCabe’s Cyclomatic Complexityn B (Estimated Number of Bugs)

    Function distributions can be examined for:n V (Program Volume)n c% (Comment Ratio)n LOCpro (Program Lines of Code)n v(G) McCabe’s Cyclomatic Complexity

    Graphical User Interface

  • 26

    Fig. 4.3.1.4: Distribution of all measured files to the metric V (Program Volume) (example).

    As you can see in figure 4.3.1.4, the Distribution Views provide intervals on the x-axis for you to better examine your file/function distributions. Therefore, Source Files or Functions that do not fit the Alarm Limits that were previously defined by you for a certain metric, here V (Program Volume), their bars of the interval they lie in are marked red. The bars for Source Files or Functions that fit the Alarm Limits are marked green which means that these values are OK. If there is an interval in which there are metrics values that fit and others that do not fit the Alarm Limits, their bars are marked yellow to give you an exact overview over your Source Files’ (or Function’s) distribution according to the metric examined. See the title of the x-axis to know the currently configured Alarm Limits for the current metric exam-ined within the view.

    Usage of Distribution Subviews: Switch to these subviews every time you need to know how widely spread your metrics values are across your file/function landscape and how many and which function or file are OK regarding a particular metric.

    Graphical User Interface

  • 27

    4.3.2 Metrics View

    The Metrics View was designed to give you an overview over all Alarming and Non-Alarming metrics of your measured files and functions relationless, precise and one particular scope at a time. The Metrics View consists of two parts: the metrics tables within the tab control (�) and the Code View window (2) beneath the tab control for source code viewings of measured files. Figure 4.3.2.1 shows the Metrics View to get an impression of what is shown within the parts. If you get stuck and need help, click on the help icon in the right upper corner of the Metrics View and you can jump directly into the related help page of this view within the built-in help browser.

    4.3.2.�: �. Metrics tables, 2. Code View of Metrics View.

    �. Tab Control

    As explained in chapter 3, section 3.3 (Testwell Semantics and Verybench 2.0) Testwell defines metrics that can be configured in their Alarm Limits, others do not even have Alarm Limits. Therefore, the tabs of the Metrics View were designed to separate these to two groups of metrics. Figure 4.3.2.2 shows the tab control of the Metrics View. The first tab lists the Alarming metrics and the second tab lists

    Graphical User Interface

    1

    2

  • 28

    the Non-Alarming metrics, both of the same particular scope. Alarming metrics are marked red when their metrics values exceed or fall below a preconfigured Alarm Limit.

    4.3.2.2: The tab control to separate Alarming from Non-Alarming metrics.

    2. Source Code View

    The Source Code View always shows the source code of the Source File that was selected in one of the File Scope metrics tables or within the Projects Explorer. If the Function Scope metrics tables were loaded, then by clicking a function the selection within the Source Code View jumps to that function within the loaded source code. Figure 4.3.2.3 shows the Source Code View.

    4.3.2.3: Source Code View of the Metrics View.

    Graphical User Interface

  • 29

    4.4 Command History

    The Command History was designed to log all operations of Verybench 2.0 and all operations of Testwell CMT++ that are performed. They are listed chronologi-cally according to their date of occurance. So if you are curious about what Verybench 2.0 or Testwell CMT++ is doing be sure you take a look at this log.

    The Command History can be expanded and collapsed. To expand the Com-mand History, click on its title (hand cursor appears) or click on the tiny arrow in the middle of its upper most handle bar. To collapse it, click on the same tiny arrow again and the Command History will shrink down to the bottom of the win-dow. The entire course of the Command History can also be saved to a text file that lists all operations adequately as seen in the log itself. To save it to a text file click Save History in the title bar of the Command History. To clear the course of the Command History within Verybench 2.0, click Clear History also situated in the title bar of the Command History.

    4.4.� Command History of Verybench 2.0.

    Graphical User Interface

  • 30

    Editing Items

    5. Creating Items

    In Verybench 2.0 there are three different types of items that can be created.

    Metrics Projects serve as container to manage Snapshots. A Snapshot always holds all measured metrics values for a specific set of Source Files at a certain point in time. So every Snapshot comprises a set of metrics values that describes your source code’s quality at a certain point in time. Taken all Snapshots over time, one can view the so called Quality Baseline (QB) of one’s source code’s quality over time.

    Figure 5.� shows all these items and how they nest within the Projects Explorer.

    Keep in mind, that when deleting an item from the Projects Explorer, the integrity of its comprising item is always preserved! Which means that, if you delete an item from a containing item, the container item itself will be deleted as well if necessary. You will be notified in cases where such a (cascaded) deletion is about to be performed. E.g. this is always the case when the last item of a container item is deleted: a last Snapshot, or a last Source File.

    This chapter and the next chapter will go into great detail about how items are created in Verybench 2.0 and how they can be manipulated later on.

    Fig. 5.�: Projects Explorer with all items of Verybench 2.0.

  • 3�

    5.� Creating Metrics Projects

    This section explains how to create a new Metrics Projects. In the Main Menu click File 4 New... 4 Metrics Project or press Ctrl + N or click New Metrics Project... within the Startup Dialog box or right click the root node of the Projects Explorer and then click New Metrics Project... to start the Wizard for a new Metrics Proj-ects.

    1. Step: Welcome

    To create a new Metrics Project, simply follow the Wizard. It will guide you through the setup process. Figure 5.1.1 shows this first step. Click Next when you are done reading.

    Fig. 5.�.�: Welcome step of the Wizard for a new Metrics Project.

    Creating Items

  • 32

    2. Step: Set up Properties

    In the second step, provide a title for the new project, the name of the project’s author and a location to save the new Metrics Project to. Figure 5.�.2 shows this step for a better understanding. Click Next when you are done with it.

    Keep in mind, that the following characters are invalid for titles or names within Verybench 2.0: “/”, “:”, “*”, “?”, “\”, “”, “|”. Additionally, any title or name within Verybench 2.0 may not begin with a whitespace character.

    Fig. 5.�.2: Project Properties step of the Wizard for a new Metrics Project.

    Creating Items

  • 33

    3. Step: Finish Assistant

    The third step is a mandatory step to tell you that you have finished creating a new Metrics Project. Figure 5.1.3 shows this final step. Click Finish when you are done reading.

    Fig. 5.�.3: Final step of the Wizard for a new Metrics Project.

    Creating Items

  • 34

    5.2 Creating Snapshots

    This section explains how to create a new Snapshot to capture metrics values of measured Source Files. In the Main Menu click File 4 New... 4 Snapshot or click the New Snapshot... button in the Snapshot Bar or press Ctrl + Alt + N to start the Wizard for a new Snapshot.

    Keep in mind, that Snapshots cannot be empty. If a Snapshot is delet-ed, every Source File is only deleted within Verybench 2.0. Therefore, the original Source File are never modified and stay always on the disc.

    1. Step: Welcome

    To create a new Snapshot simply follow the Wizard. It will guide you through the setup process. Figure 5.2.1 shows its first step. Click Next when you are done read-ing the information in this step.

    Fig. 5.2.� Welcome step of the Wizard for a new Snapshot.

    Creating Items

  • 35

    2. Step: Set up Properties

    In the second step, provide a title for the new Snapshot and a name of the Snap-shot’s author. Figure 5.2.2 shows this step for a better understanding. Click Next when you are done with it.

    Keep in mind, that the following characters are invalid for titles or names within Verybench 2.0: “/”, “:”, “*”, “?”, “\”, “”, “|”. Additionally, any title or name within Verybench 2.0 may not begin with a whitespace character.

    Fig. 5.2.2: Snapshot Properties step of the Wizard for a new Snapshot.

    Creating Items

  • 36

    3. Step: Select Source Files

    In the third step, you need to select all Source Files that should be measured by Testwell CMT++. To do that, click the Add button and select your Source Files from the file chooser. To remove Source Files from your selection, simply select the Source File you want to remove and click the Remove button. You can add more Source Files or delete selected Source Files at any time during this setup process. If you want to remove more than one Source File at once from your selection, you can either click the Select All checkbox or select the Source Files of your choice by pressing Ctrl + Click or Shft + Click and then click the Remove button. Also Ctrl + A can be pressed alternatively to select all Source Files at once.

    Fig. 5.2.3: Select Source Files step of the Wizard for a new Snapshot.

    If you are done selecting your Source Files of choice, click Next to proceed to the next step of the Wizard.

    Creating Items

  • 37

    4. Step: Finish Assistant

    The fourth step is a mandatory step to tell you that you have finished creating a new Snapshot. Figure 5.2.4 shows this final step. Click Finish when you are done.

    Fig. 5.2.4: Final step of the Wizard for a new Snapshot.

    Creating Items

  • 38

    6. Editing Items

    Editing items in Verybench 2.0 is mostly done via the Projects Explorer. It provides a context menu for every item in it. The context menu is reached by right clicking an item. It offers individual options to manipulate the selected item.

    �. Editing Metrics Projects

    Right clicking a Metrics Project node shows a context menu offering to set the selected Metrics Project as Main Project, to Rename it, to Edit Settings, to Close it or Delete it. Figure 6.�.2 shows the context menu for Metrics Projects. For more details on editing a Metrics Project’s properties, refer to the next chapter.

    2. Editing All Snapshots

    Right clicking the Snapshots category node shows a context menu offering the option to Delete All Snapshots at once. Figure 6.�.2 shows this context option.

    Editing Items

    Fig. 6.�.�: Editing a Metrics Project.

    Fig. 6.�.2: Editing all Snapshots at once.

  • 39

    3. Editing a Snapshot

    Right clicking a Snapshot node shows a context menu offering to Rename or Remove the selected Snapshot. The option Edit Settings... is only of-fered if the current Main Snapshot is selected. Figure 6.�.3 shows the con-text menu for the Main Snapshot ex-emplarily. Click Edit Settings... to fine tune the settings of the Main Snap-shot since they can influence com-plexity analyses heavily.

    4. Editing a Source File

    Right clicking a Source File node shows a context menu offering to Remove it from the comprising Snap-shot. The Source File will not be de-leted from disc. Figure 6.�.4 shows the context option for a Source File.

    Editing Items

    Fig. 6.�.3: Editing a Snapshot.

    Fig. 6.�.4: Editing a Source File.

  • 40

    6.� Editing Metrics Projects

    As described in chapter 6.� a Metrics Project’s properties can be edited by right clicking a Metrics Project’s node within the Projects Explorer. After that, the Proj-ect Settings Editor appears where basic properties of the selected Metrics Project can be edited. The edited settings are applied when you click the Save button. They are discarded if you click the Cancel button. You can rename the selected Metrics Project that has been loaded in the same way as you are used to do it either directly within the Projects Explorer or by pressing the F2 key. You can also edit the Metrics Project’s location on the disc. After having edited the Metrics Proj-ect’s location’s path, the Metrics Project will be saved to this new location either when the Save button within the Quick Menu is clicked or the Save option within the Main Menu was clicked or Ctrl + S was pressed. Figure 6.�.� shows the ProjectSettings Editor to get an impression.

    Fig. 6.�.�: Properties of a Metrics Project.

    Editing Items

  • 4�

    6.2 Editing Snapshots

    Snapshots can be edited much more intensively compared to Metrics Projects or Source Files which means,that they offer a lot more settings to edit. This is because Snapshots are the key items within Verybench 2.0 and are able to control the measurement of metrics massively. As referred to earlier, only the latest Snapshot (Main Snapshot) can be edited. The settings that the Main Snapshot offers can be seen on the left hand side of the Snapshot Settings Editor shown in figure 6.2.1 which will appear either when Edit Main Snapshot... is clicked within the Snapshots Bar or the Main Snapshot is right clicked and the option Edit Settings... is clicked.

    �. Edit General Settings

    In the menu General Settings of the Snapshot Settings Editor, only one basic prop-erty can be edited; its title. All other properties within the General Settings are meta data, cannot be changed and are merely for your information.

    Fig. 6.2.�: General Snapshot Settings.

    Editing Items

  • 42

    2. Edit Advanced Settings

    The settings that you can edit here are meant for advanced users only! It is not recommended to edit them unless you know excately what you are doing. Be sure to have read the Testwell CMT++ documentation carefully first before you do any changes in this menu. For more informa-tion about single settings you can hover the little help icons next to each setting. Clicking on a reset icon resets the corresponding setting to its default(s). So if you think you messed up your Testwell CMT++ installation be sure to reset all settings first before going on measuring your Source Files. The error might come from wrong or bad Advanced Settings. Figure 6.2.2 shows the Advanced Settings of the Main Snapshot.

    Fig. 6.2.2: Advanced Snapshot Settings.

    Editing Items

  • 43

    3. Edit Existing Source Files

    Existing Source Files of the Main Snapshot can be edited even after they were set up to be measured. To edit the Source Files of the Main Snapshot, either click Edit Main Snapshot... or right click it and choose Edit Settings... from the context menu. Wait until the Snapshot Settings Editor appears and click Source Files. Add or Re-move source as you like; it works just like within the Snapshots Wizard. Edit your loaded source files and press the Save button to obtain the changes or the Can-cel button to discard them. The Main Snapshot then is remeasured. Figure 6.2.3 shows the menu to edit existing Source Files within the Snapshot Settings Editor.

    Keep in mind, that when removing Source Files, not all Source Files can be removed at once. At least one Source File needs to be present at all times. Empty Snapshots are invalid in Verybench 2.0. In general, if you want to remove all Source Files from a Snapshot at once, consider re-moving the entire Snapshot instead via the Projects Explorer’s context menu for a Snapshot (s. chap. 6, section 3).

    Fig. 6.2.3: Edit Existing Source Files.

    Editing Items

  • 44

    4. Edit Alarm Limits for File Scope

    Editing Alarm Limits is very important when itcomes to fine tuning your source code’s quality. It allows you to narrow or widen Alarm Limit intervals to an extend where you find them useful to you and at the same time where you think that your source code can be best measured with. To edit the Alarm Limits of the Main Snapshot for the File Scope, right click it and choose Edit Settings... from the Proj-ect Explorer’s context menu or click Edit Main Snapshot... in the Snapshots Bar. Wait until the Snapshot Settings Editor appears and click File Scope. If you click a reset icon you will notice that default values can be reset at any time you want. The default values are the recommended Alarm Limits by Testwell. Fine tune your Alarm Limits and afterwards press the Save button to obtain the changes or press the Cancel button to discard them. The Main Snapshot then is remeasured with your new Alarm Limits. After that, the Dashboard View and the Metrics View are both updated with the latest metrics values. Figure 6.2.4 shows the menu to edit the Alarm Limits for the File Scope within the Snapshot Settings Editor.

    Fig. 6.2.4: Edit Alarm Limits for File Scope.

    Editing Items

  • 45

    5. Edit Alarm Limits for Function Scope

    Editing Alarm Limits is very important when itcomes to fine tuning your source code’s quality. It allows you to narrow or widen Alarm Limit intervals to an extend where you find them useful to you and at the same time where you think that your source code can be best measured with. To edit the Alarm Limits of the Main Snapshot for the File Scope, right click it and choose Edit Settings... from the Proj-ect Explorer’s context menu or click Edit Main Snapshot... in the Snapshots Bar. Wait until the Snapshot Settings Editor appears and click File Scope. If you click a reset icon you will notice that default values can be reset at any time you want. The default values are the recommended Alarm Limits by Testwell. Fine tune your Alarm Limits and afterwards press the Save button to obtain the changes or press the Cancel button to discard them. The Main Snapshot then is remeasured with your new Alarm Limits. After that, the Dashboard View and the Metrics View are both updated with the latest metrics values. Figure 6.2.5 shows the menu to edit the Alarm Limits for the Function Scope within the Snapshot Settings Editor.

    Fig. 6.2.5: Edit Alarm Limits for Function Scope.

    Editing Items

  • 46

    7. Configuring Verybench 2.0

    Verybench 2.0 can be configured very easily. First click Edit and then Application Settings... within the Main Menu. The Application Settings Editor will appear where you can edit the three basic settings of Verybench 2.0.

    �. Change the Back End Path (Testwell CMT++)

    If you moved the executable of Testwell CMT++ (cmt.exe) you need to tell Very-bench 2.0 where you moved it. To edit the existing path to the back end’s loca-tion click the Browse... button and select the new location of the moved Testwell CMT++ executable. Obtain your settings by clicking the Save button or discard them by clicking the Cancel button.

    Figure 7.� shows the menu to edit the location of Testwell CMT++ within the Ap-plication Settings Editor.

    Fig. 7.�: Set the location of the Testwell CMT++ executable.

    Configuring Verybench 2.0

  • 47

    2. Change Syntax Coloring

    If you do not like the default syntax highlighting colors for source code within the Code View you can easily change them. To do so, simple click the drop down list and select the style you wish for. The colors will be applied to the source code immediately after you close the dialog. Obtain your settings by clicking the Save button or discard them by clicking the Cancel button.

    Figure 7.2 shows the menu to change the syntax colors for source code within the Application Settings Editor.

    Fig. 7.2: Set the syntax coloring within the Source Code View.

    Configuring Verybench 2.0

  • 48

    3. Change Options for Startup Dialogs

    To configure the Startup Dialogs of Verybench 2.0 you have the following two possibilities.

    �. If you want to see the Quick Options dialog at every startup click Yes otherwise deselect the checkbox.

    2. If you want to see the Hint of the Day dialog at every startup click Yes otherwise deselect the checkbox.

    Obtain your settings by clicking the Save button or discard them by clicking the Cancel button. Figure 7.3 shows the menu to change the settings for Startup Dia-log boxes within the Application Settings Editor.

    Fig. 7.3: Change settings for both Startup Dialogs.

    Configuring Verybench 2.0

  • 49

    8. Creating Reports

    Verybench 2.0 is able of exporting its data to several different file formats includ-ing PDF, Text, CSV and XML. These export formats differ in their configurable set-tings. Therefore, all settings of all export formats are explained step by step in this chapter. Beginning with the most comprehensive report; the PDF report. In fact, a PDF report of Verybench 2.0 can be rather long because it contains the highest level of detail of all export formats.

    8.� Creating PDF Reports

    Figure 8.�.� shows the General Settings setup for a new PDF report within the Re-port Editor. To create a new PDF report, click the PDF icon in the Quick Menu bar or go to File 4 New 4 Report 4 PDF Report within the Main Menu to start the PDF Report Editor. Click the Export button any time you are ready customising your PDF report or click the Cancel button if you wish to discard all settings made.

    Fig. 8.�.�: General Settings of a new PDF report.

    Creating Reports

  • 50

    �. General Settings

    Only the Main Snapshot of the currently set Main Project (marked bold) can be exported to PDF.

    If you want to export a Main Snapshot other than of the Main Project ones, first set the Metrics Project that contains that desired Main Snap-shot, as the Main Project and proceed as described.

    2. Cover Page

    Verybench 2.0 offers quite a lot options that can be set when it comes to cus-tomising PDF reports. In the Cover Page setup you can customise the cover page of your PDF report. Set your own report title, set a company logo image, give it a style color or even set your company’s address as shown in figure 8.1.2.

    Fig. 8.�.2: Cover Page setup of a new PDF report.

    Creating Reports

  • 5�

    3. Following Pages

    The Following Pages setup is an additional setup to customise the following pages of your PDF report even adequately as the cover page. Figure 8.�.3 shows the Fol-lowing Pages setup of a PDF report. For the following pages of a PDF report you have the following customisation options:

    1. Show Report Title: Set this option to have your own report title within the head-ers of each page following the table of contents. 2. Show Author’s Name: Set this option to have the author’s name within the headers of each page following the table of contents. 3. Show Creation Date: Set this option to have the date of the PDF creation within the headers of each page following the table of contents. 4. Show Project Title: Set this option to have the title of the current Main Project within the headers of each page following the table of contents.

    Figure 8.�.3 shows the Following Page menu for a PDF Report within the Report Editor.

    Fig. 8.�.3: Following Pages setup of a new PDF report.

    Creating Reports

  • 52

    8.2 Creating Text Reports

    To create a new text report, click the Text Report icon within the Quick Menu or go to File 4 New 4 Report 4 Text Report within the Main Menu to start the Text Report Editor. In comparison to the PDF report the text report is much more simple. Only entering a custom report title and saving the text report to a Specific Loca-tion can be set here. No other options are available here, although you might be used to more export settings by the console version of Testwell CMT++. Click the Export button any time you are ready customising your text report or click the Cancel button if you wish to discard all settings made. Figure 8.2.� shows the menu for a Text Report within the Report Editor.

    Fig. 8.2.�: General Settings for a new text report.

    Creating Reports

  • 53

    8.3 Creating CSV Reports

    To create a new CSV report click the CSV Report icon within the Quick Menu or go to File 4 New 4 Report 4 CSV Report within the Main Menu to start the CSV Report Editor. In comparison to the text report the CSV report is even more simple and therefore represents the most minimalistic report that is offered by Verybench 2.0. The CSV report is not even formated to be viewed within a text editor. None-theless, it offers three options to customise it. It offers saving to a Specific Location, choosing a specific CSV separator token (Comma, Semicolon, Whitespace) and a setting whether the CSV report should contain column headers or not. No other options are available here, although you might be used to more export settings by the console version of Testwell CMT++. Click the Export button any time you are ready customising your CSV report or click the Cancel button if you wish to discard all settings made. Figure 8.3.� shows the menu for a CSV Report within the Report Editor.

    Fig. 8.3.�: General Settings for a new CSV report.

    Creating Reports

  • 54

    8.4 Creating XML Reports

    To create a new XML report click the XML Report icon within the Quick Menu or go to File 4 New 4 Report 4 XML Report within the Main Menu to start the XML Report Editor. The XML report is designated to be viewed within a web browser but does not contain any graphics. It can be viewed in any standard web browser and has only one option. If you want a long detailed version of all of your metrics values and all operators and operands within your source code, you can check the checkbox Full Long Report. You also have the two default options to save the XML report to a Specific Location or to enter a custom report title. Click the Export button any time you are ready customising your XML report or click the Cancel button if you wish to discard all settings made. Figure 8.5.� shows the menu for an XML Report within the Report Editor.

    Fig. 8.5.�: General Settings for a new XML report.

    Creating Reports

  • 55

    9. Getting Help

    Help in Verybench 2.0 is important, direct and context sensitive. Which means if you see a help icon, you can be sure that hovering it gives you a hint that is di-rectly related to the element the help icon stands for and that it is really helpful. If you click a help icon, you can be sure even to be able to jump to a related help page within the built-in help system. Figure 9.� shows this built-in help system to get an impression on its content and how it integrates.

    Fig. 9.�: Built-in help system of Verybench 2.0.

    Getting Help

  • 56

    �0. Appendix

    �0.� Metrics Glossary

    McCabe’s Extended Cyclomatic Complexityv(G) Complexity of a program’s control flow

    Lines of CodeLOCphy Physical lines of source codeLOCpro Program lines of source code (may contain comments)LOCcom Comment lines of source code (may contain program code)LOCbl Blank lines of source code

    Maintainability IndexesMI Maintainability IndexMIwoc Maintainability Index without CommentsMIcw Maintainability Index with Weighted Comments

    HalsteadB Estimated Number of Delivered BugsD Difficulty Level (Error Proneness)E Effort to ImplementL Program LevelN Program LengthN� Number of OperatorsN2 Number of Operandsn Vocabulary Size (unique operators and unique operands)n� Number of unique Operatorsn2 Number of unique OperandsT Implementation Time/Time to UnderstandV Size of the Implementation of an Algorithm (Volume)

    Misc.MaxND Maximum Nested Depth of {}c% Comment Ratio: �00 * LOCcom / LOCphya% Alarm Ratio: �00 * Alarms / MaxAlarms

    Appendix

  • 57

    �0.2 Testwell CMT++ Error Messages

    Working with FLEXlm License Server

    Error: FLEXlm License Finder suddenly appears while measuring source code, al-though Testwell CMT++ is properly licensed and is usually known to run fine. Figure �0.2.� shows this error.

    Solution: This error occurs because you are working with a bad or no connection to the FLEXlm License Server. Reestablish the connection to FLEXlm and the error is gone. Usually, you should not type in anything into this dialog box unless needed; just press Cancel.

    Fig. �0.2.�: FLEXlm License Finder.

    For more information about errors of Testwell CMT++, please refer to the original Testwell documentation within your Testwell installation (Doc).

    Appendix

  • 58

    ��. Verifysoft End User License Agreement (EULA)See the following terms and conditions of Verifysoft’s EULA at www.verifysoft.com/EULA_Verifysoft.pdf.

    PLEASE READ THE FOLLOWING CAREFULLY BEFORE INSTALLING OR USING THE SOFTWARE THAT IS PROVIDED TO YOU BY VERI-FYSOFT TECHNOLOGY GMBH (GERMANY), EITHER DIRECTLY OR VIA ITS DISTRIBUTOR. INSTALLING OR USING THE SOFWARE INDICATES THAT YOU HAVE ACCEPTED EACH OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE WITH WHAT THIS AGREEMENT STATES, DO NOT INSTALL OR USE THE SOFTWARE, PROMPTLY RETURN THE SOFTWARE (INCLUDING ALL ACCOMPANIED DELIVERED MATERIALS) TO THE PLACE WHERE THE SOFTWARE WAS PROVIDED TO YOU AND DELETE ALL POSSIBLE COPIES OF THE SOFTWARE FOR A FULL REFUND ON THE LICENSE FEE YOU HAVE PAID FOR THE SOFTWARE. IN YOUR NON-ACCEPTANCE TO THIS AGREEMENT YOU DO NOT HAVE THE RIGHT TO BE REFUNDED OF THE LICENSE FEE OR BE RELIEVED OF YOUR OBLIGATION TO PAY THE INVOICE OF THE LICENSE FEE, IF (A) YOU HAVE BEEN SHOWN THIS AGREEMENT BEFORE YOU PLACED THE PURCHASE ORDER TO THE SOFTWARE, OR (B) MORE THAN FOURTEEN (�4) DAYS HAVE PASSED SINCE YOU HAVE RECEIVED THE SOFTWARE. In consideration of your payment of the license fee to Verifysoft Technology GmbH or to its authorized distributor, if you had purchased this Software license via him, Verifysoft Technology GmbH, hereinafter referred as “Verifysoft”, grants you a non-exclusive license to use the Software as defined herein, under the following terms and conditions:

    �. DEFINITIONS “Software” refers to those computer program products, supplied on appropriate media like a CD-ROM or delivered to you electronically via Internet, which have been provided to you, together with all documentation, either in paper form or in electronic form, furnished therewith, and includes any future Software Upgrades shipped or made available to you by Verifysoft as part of Maintenance.

    The actual Verifysoft Software product names (one or more of the following: Verybench, CTC++ for Java and Android-Add-on, CTC++ for C# Add-on), usage platforms (what computer type, operating system, and other systems software compliance for which the product deliverable is for and can be used with), type of license control (one of the following: node-locked license, site-specific floating license, country-specific floating license, region-specific floating license, other special type license), number of parallel use rights to the license, etc. are specified in your purchase order, but if not, or for clarity, they are specified below: Products: ___________________________________________________________________________________________________________

    Platform: ___________________________________________________________________________________________________________

    Form of license control: ______________________________________________________________________________________________

    Number of parallel use rights: ________________________________________________________________________________________

    “Software Upgrade” refers to newer versions of the Software, typically containing error corrections and product enhance-ments, which Verifysoft has made publicly available for your platform for sale to customers and which Verifysoft or its dis-tributor ships to you for free or makes available via Internet as part of Maintenance. If a Software Upgrade contains major enhancements, Verifysoft may decide to ask a payment for it, and such upgrade is not part of Maintenance. But if you separately accept such asked payment at that given time, you will get such major Software Upgrade as well.

    “Maintenance” refers to an arrangement where you can by email ask technical questions about the use of the Software, report problems in its use, and can expect to be answered in a reasonable time. Furthermore, Maintenance includes the right to receive, at minimum by downloading via Internet, normal Software Upgrades.

    End User License Agreement (EULA)

  • 59

    “Site” or “Site Location” refers to a physical location associated with a single street address, and includes the floors of a single building or adjoining buildings when linked together by a physical system. In node-locked and Site-specific floating licenses the Site is the place of use of the Software at you. The Site can be specified in your purchase order, but if not, or for clarity, the name and street address of the Site can be specified below. For Country-specific and Region-specific floating licenses, the primary Site can be specified:Site: _______________________________________________________________________________

    2. TITLE Title to and ownership of the Software, and all copies thereof, and Copyright to the Software shall at all times reside with Verifysoft or with Verifysoft’s licensor in the event the Software or a portion thereof is provided by Verifysoft under license of a third party.

    3. GRANT OF LICENSE Verifysoft grants you a non-exclusive and non-transferable right to use the Software and any possible Software Upgrades solely for your internal data processing requirements only. Any attempt to sublicense, transfer to an unlicensed computer, or assign the Software or the rights or obligations under this license to any third party without the prior written approval of Verifysoft shall be void.

    Depending on the type of license control the use right is further granted and the usage is regulated as follows:

    (a) Node-locked license: This type of license is granted on Windows platform only, on a single-user PC. The PC may not be used remotely from any other PC, e.g. via MS Terminal Server, Citrix or similar arrangement. The license is permanently bound to one specified PC, where the Verifysoft Software can be installed and used only. (b) Site-specific floating license: The Verifysoft Software can be installed and used on one or more machines at the specified Site only, and by so many of your users in parallel as there are licenses in the license pool. (c) Country-specific floating license: This is similar to a Site-specific floating license, except that Verifysoft Software can be installed and used at the machines of your Sites in the specified country only. (d) Region-specific floating license: Region is a set of countries belonging to EMEA, APAC or Americas. This is similar to a Country-specific floating license, except that Verifysoft Software can be installed and used at the machines of your Sites in the countries in the specified region only.

    Remark: Verifysoft may, at its own discretion, at any Verifysoft Software upgrade change the used node-locked and float-ing license control software and has no obligation to maintain backward compatibility in this regard.

    4. SCOPE OF LICENSE You may make additional copies of the Software, but only for your internal backup needs. Copies may be made only to the extent required to support the use of the Software. You must reproduce and include the copyright notice and the pro-prietary notices of Verifysoft or its licensors on the original and on all copies of the Software. In the event Verifysoft provides you with a Software Upgrade and you replace the Software licensed hereunder with the Software Upgrade, then such replacement Software and all copies thereof shall be covered by and will be subject to the terms and conditions of this Agreement until destroyed by you or returned to Verifysoft.

    5. MAINTENANCE The license fee you have paid includes also Maintenance during the first 12 months, starting from the date of delivery of the Software to you. The Maintenance is renewable for new �2 month periods by Verifysoft’s offer (or by its authorized distributor’s offer, as the case may be) and by your separate acceptance to the offer at that time. If you in the middle of an ongoing maintenance period purchase an extension to your license, for example more parallel use rights to the Soft-ware at your Site, the maintenance period for the extended part of the license ends at the same time as the maintenance of the initial part of the license. For you to be eligible to receive Maintenance you have to nominate a technical contact person from your Site for handling the technical matters of the use of this license. You need to direct such technical com-munication to the party where you have purchased the Software.

    End User License Agreement (EULA)

  • 60

    The Verifysoft Software delivery includes the delivery of license strings. In Node-locked licenses they are related to binding the license to one specified PC. In floating licenses they are related to binding a Flexlm license server to one specified serv-er machine (or to a set of redundant server machines), which manages the license pool. In case a Node-locked license or a Flexlm license server needs to be transferred to another machine, it is included in Maintenance, i.e. new license strings are delivered, provided however: (a) Maintenance is in effect; (b) you present an explanation of a valid technical reason, why the license use at the old machine is possible no more at your site (like the old machine will be permanently taken out of use and will be replaced with a new machine; e.g. just moving a Node-locked license to another PC is not a valid reason); (c) you give a statement that the license has been uninstalled and its use at the old machine has permanently stopped.

    6. RESTRICTIONS OF USE AND CONFIDENTIALITY The Software constitutes valuable proprietary assets of Verifysoft, embodying substantial creative efforts and significant ex-penditures of time and money. You hereby agree to observe complete confidentiality with respect to the Software, includ-ing but not limited to the following: (a) you agree to limit access to the Software, and assure that anyone who is permitted access to the Software, is made aware of and agrees to abide by the obligations imposed on you under this Agreement; (b) you agree not to alter or remove Verifysoft proprietary and copyright notices from the Software and to reproduce and include such notices on any copies of merged portions in any form of the Software; (c) you agree not to attempt to disas-semble, decompile or otherwise reverse-engineer the Software; (d) you agree not to make unauthorized copies of all or any portion of the Software; (e) you agree not to sell, rent, sublicense, give or otherwise disclose, distribute or transfer to any third party any portion of the Software or copies thereof; (f) you agree not to install the Software on an unlicensed machine or permit use of the Software on a local or non-local service bureau or other remote access system or utility whereby you or persons or utilities other than you benefit the direct or indirect use, whether for fee or not, of the Software; (g) you agree not to interfere with block, or disable built-in monitoring and executional tracking features on certain licenses or license classes of Software that are authorized for commercial use; (h) you agree that in the event of an unauthorized reproduc-tion, transfer or disclosure of any part of the Software, Verifysoft will not have an adequate remedy at law, and therefore injunctive or other equitable relief will be appropriate to restrain such reproduction, transfer or disclosure, threatened or actual; (i) you agree that your company’s name may be used by Verifysoft (or by its distributor, if you have purchased the Software via him) in its customer list and promotional material. On the previous clause 6(i) you can separately and explicitly request when placing the order for the license that your company’s name is not used by Verifysoft (or by its distributor) in its customer list and promotional material, which request is then honored. You agree that the provisions regarding restrictions on use and confidentiality contained in this Agreement shall survive any termination of this Agreement.

    7. WARRANTY Warranty on media: For a period of thirty (30) days from the date of the shipment Verifysoft warrants to you that any media on which the Software is furnished shall be free from defects in material and workmanship under normal use. If the media does not meet this warranty on media, you can report of the case, in which case Verifysoft (or its distributor, if you have purchased the Software via him) will replace any media that fails during this warranty period.

    Warranty on Software: For a period of ninety (90) days from the date of the shipment Verifysoft warrants to you that the Soft-ware will operate substantially as described in the documentation that is delivered along with the Software. If you find that the Software does not operate as warranted, during this warranty period you can report the error and ask Verifysoft (or its distributor, if you have purchased the Software via him) to deliver you a corrected version of the Software. The error report must be done in writing, it needs to be supplemented with technically meaningful and sufficient material to demonstrate the error, and you accept to provide reasonable technical assistance in analyzing the error. If during fourty five (45) days from the day you have reported of the error, which violates this warranty on Software, you have not received a corrected version of the Software, you have an option to terminate this Agreement for full refund of the license fees that you have paid. Your termination notice must be given in writing and during this warranty period or at latest within five (5) days when you should have received the corrected version of the Software.

    End User License Agreement (EULA)

  • 6�

    8. DISCLAIMER OF WARRANTIES

    THIS WARRANTY DOES NOT COVER DAMAGE ATTRIBUTABLE TO EXTERNAL FACTORS (E.G. FAILURE OR FLUCTUATION OF ELEC-TRICAL POWER OR AIR CONDITIONING, FIRE, FLOOD), ACCIDENTS, MISUSE, NEGLIGENCE OR FAILURE TO FOLLOW INSTRUC-TIONS FOR PROPER USE AND CARE OR NON-LICENSOR PRODUCTS AND SERVICES, ALTERATIONS OR OUT-OF SPECIFICATION SUPPLIES. EXCEPT AS EXPRESSLY STATED IN THIS AGREEMENT, THE SOFTWARE IS LICENSED “AS IS”. VERIFYSOFT DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE SOFTWARE WILL MEET YOUR REQUIREMENTS OR THAT THE SOFTWARE WILL OPERATE UNINTERRUPTED OR ERROR-FREE OR IN ALL COMBINATIONS SELECTED FOR USE BY YOU. EXCEPT AS EXPRESSLY STATED IN THIS AGREEMENT, OR AS REQUIRED BY STATUTE, THERE ARE NO OTHER WARRANTIES, EXPRESSED OR IMPLIED, BY OPERATION OF LAW OR OTHERWISE. VERIFYSOFT AND ITS SUPPLIERS EXPRESSLY DISCLAIM ANY IMPLIED WARRANTIES OF MER-CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE WARRANTIES UNDER THIS AGREEMENT IS VALID ONLY FOR THE SOFTWARE IN ITS UNALTERED FORM AND EXTEND SOLELY TO YOU.

    9. LIMITATION OF LIABILITY

    THE ENTIRE LIABILITY OF VERIFYSOFT AND ITS SUPPLIERS TO YOU OR ANY OTHER PARTY FOR ANY LOSS OR DAMAGE IN RESPECT OF ANY CAUSE OF ACTION RELATING TO OR ARISING OUT OF THIS AGREEMENT WILL NOT EXCEED THE LICENSE FEE PAID FOR THE USE OF THE SOFTWARE WHICH ARE THE SUBJECT MATTER OF OR DIRECTLY RELATED TO THE CAUSE OF ACTION ASSERTED. IN NO EVENT WILL VERIFYSOFT OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR EXPENSES, INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS AND LOST SAVINGS, EVEN IF VERIFYSOFT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR CLAIMS, DEMANDS OR ACTIONS AGAINST YOU BY ANY PERSON OR LOSS OF OR DAMAGE TO YOUR DATA FROM ANY CAUSE.

    �0. TERM This Agreement, together with your purchase order and Verifysoft’s or its distributor’s acknowledgement to your order, sets forth the entire agreement with respect to the license of the Software to you by Verifysoft. The license shall remain in effect until terminated. You may terminate the license by not using the Software any more and returning all copies and modifications and by destroying all merged portions of the Software in your possession. The license granted under this Agreement will terminate automatically without notice if you violate any of the terms and conditions of this Agreement. You agree upon termination to promptly return to Verifysoft all the Software that is delivered to you and certify in writing the destruction of all separate copies of the Software. There is no requirement to delete the Software from normal system backup files. ��. GENERAL You are responsible for ensuring that the Software is used in accordance with the manuals and instructions. You are also responsible for maintaining back-up data necessary to replace data in the event of loss or damage to such data from any cause. Neither party will be liable for failure to fulfil its obligations when due to causes beyond its reasonable control (force majeure). If any provision of this Agreement is declared void or unenforceable, this shall not nullify the remaining provisions of this Agreement which shall remain in full force and effect. This Agreement will be governed and construed in accordance with the laws of Germany. All disputes arising out of or in connection with this Agreement shall be resolved in the district court of Offenburg (Germany).

    YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT, UNDERSTAND IT, AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. YOU FURTHER AGREE IT IS THE COMPLETE AND EXCLUSIVE STATEMENT OF THE AGREEMENT BETWEEN US WHICH SUPERSEDES ANY PROPOSAL OR PRIOR AGREEMENT, ORAL OR WRITTEN, AND ANY OTHER COMMUNICATIONS BETWEEN US RELATING TO THE SUBJECT MATTER OF THIS AGREEMENT.

    Necessarily this Agreement needs not be signed. If this Agreement is not signed, you agree to be bound to the terms and conditions of this Agreement taking in consideration (a) you having placed a purchase order on the Software; (b) Veri-fysoft (or its authorized distributor) having sent an acknowledgement to it and/or delivered you the Software; (c) at latest when you installed or started to use the Software as specified in the beginning of this Agreement.

    End User License Agreement (EULA)

  • 62

    If this Agreement is signed, here is a place for it:

    For Verifysoft (GmbH) Offenburg, Germany:Name: ___________________________________________________________________Title: _____________________________________________________________________ Date: ____________________________________________________________________

    For you: Company name: _________________________________________________________Company address: _______________________________________________________Name: ___________________________________________________________________Title: _____________________________________________________________________ Date: ____________________________________________________________________

    If you have any questions regarding this agreement feel free to contact us.

    Verifysoft Technology GmbH Technologiepark OffenburgIn der Spoeck �0-�277656 OffenburgGermany

    Phone: +49 78� �27 8��8-0Fax: +49 78� 63 920-29

    Email: [email protected]

    Offenburg, 28th of March 20�2

    www.verifysoft.com© Verifysoft Technology GmbH 2003-20�2

    End User License Agreement (EULA)