Data to Mine: Product

From Maisqual Private Wiki

Jump to: navigation, search


[edit] Source Code

[edit] Static Analysis

Examples of source code metrics are given by Squore.

You can get a list of common software measurement metrics in the maisqual wiki.

[edit] Data to Mine

Size-related metrics:

  • SLOC

Complexity-related metrics:

  • Cyclomatic Complexity

[edit] Tools

  • ncc: A small, extensible tool that provides program analysis data of C source code. This data can be used to analyze the function call flow of programs with tools such as graphviz and springgraph. Included with this distribution is nccnav that can be used to study the call hierarchy of C source code on a text-mode console. Site:
  • DoctorJ: Doctorj analyzes Java code, performing documentation verification, statistics generation and syntax analysis. Site:

Code coverage tools:

[edit] Dynamic Analysis

Dynamic metrics give insights of the execution of the source code. These can typically be retrieved from an executable product (as opposed to static source code analysis).

[edit] Traces

Dynamic execution traces allow for execution graphs, used in bug-finding techniques and other qualities related to code.

They are often associated to bug reports.

[edit] Documentation

Documentation is composed of all documents used in the development process:

  • Use cases,
  • Requirements document,
  • Design document (may include low-level or high-level design documents),
  • Coding and naming conventions,
  • Developer manual (may include e.g. testing procedures, build procedures, etc.),
  • User manual (how the users are supposed to achieve their use case goals),
  • Installation manual (how to install and deploy the product),
  • Administration manual (how to maintain the product: backups, restore, optimise, purge, etc.),

Project management related documents include:

  • Roadmap
  • Release plan
  • Change and Configuration Management plan
  • Testing plan
  • Quality Assurance plan

Documentation is a part of the Usability, Maintainability and Replaceability characteristics of quality. It is judged on its availability for the intended users (e.g. release plan for management, coding conventions for developers, user manual for end users).

[edit] Data Analysis

[edit] Testing

Tests give better confidence in the evolution and quality of code.

Testing has an impact on the bug reports, since many useful tests would give many bug reports (which is good for quality).

Testing is a part of the maisqual:testability, maisqual:reliability characteristics of quality.

[edit] Data to Mine

Data and information that can be analysed are:

  • Testing code analysis (are tests reliable, or easy to maintain or understand, etc.),
  • Number of tests,
  • Test coverage,
  • Tests pertinence,

[edit] Unit Testing

Unit testing ensures that individual subparts of a system respect their requirements.

[edit] Testing Tools

  • xUnit: JUnit and Co.

[edit] Data Analysis

Coverage tools:

[edit] Integration and System Testing

Integration and System testing ensure that all parts of the software work well together.

[edit] Testing Tools

  • Remedy

[edit] Functional Testing

[edit] Testing Tools

  • Selenium

[edit] Performance Testing

[edit] Tools

  • jmeter
Personal tools