Data to Mine: Product
From Maisqual Private Wiki
Contents |
[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: http://students.ceid.upatras.gr/~sxanth/ncc/
- DoctorJ: Doctorj analyzes Java code, performing documentation verification, statistics generation and syntax analysis. Site: http://students.ceid.upatras.gr/~sxanth/ncc/
Code coverage tools:
- GCOV: GCC code coverage tool.
- LCOV: Extension to GCOV. http://ltp.sourceforge.net/coverage/lcov.php
- BCOV: https://bugs.launchpad.net/ubuntu/+filebug
- KCOV: http://simonkagstrom.github.com/kcov/
[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
- Doceval: http://doceval.sourceforge.net/
- Manually check for the documents availability.
[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:
- Cobertura: http://cobertura.sourceforge.net/
[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