Professional Documents
Culture Documents
Bugs per line of code Code coverage Cohesion Coupling Cyclomatic complexity Function point analysis Number of classes and interfaces Number of lines of customer requirements Order of growth Source lines of code Robert Cecil Martins software package metrics
Software Quality Metrics focus on the process, project and product. By analyzing the metrics the organization the organization can take corrective action to fix those areas in the process, project or product which are the cause of the software defects. The de-facto definition of software quality consists of the two major attributes based on intrinsic product quality and the user acceptability. The software quality metric
encapsulates the above two attributes, addressing the mean time to failure and defect density within the software components. Finally it assesses user requirements and acceptability of the software. The intrinsic quality of a software product is generally measured by the number of functional defects in the software, often referred to as bugs, or by testing the software in run time mode for inherent vulnerability to determine the software "crash" scenarios.In operational terms, the two metrics are often described by terms namely the defect density (rate) and mean time to failure (MTTF). Although there are many measures of software quality, correctness, maintainability, integrity and usability provide useful insight. Correctness A program must operate correctly. Correctness is the degree to which the software performs the required functions accurately. One of the most common measures is Defects per KLOC. KLOC means thousands (Kilo) Of Lines of Code.) KLOC is a way of measuring the size of a computer program by counting the number of lines of source code a program has. Maintainability Maintainability is the ease with which a program can be correct if an error occurs. Since there is no direct way of measuring this an indirect way has been used to measure this. MTTC (Mean time to change) is one such measure. It measures when a error is found, how much time it takes to analyze the change, design the modification, implement it and test it. Integrity This measure the systems ability to with stand attacks to its security. In order to measure integrity two additional parameters are threatand security need to be defined. Threat probability that an attack of certain type will happen over a period of time. Security probability that an attack of certain type will be removed over a period of time. Integrity = Summation [(1 - threat) X (1 - security)] Usability How usable is your software application ? This important characteristic of your application is measured in terms of the following characteristics:
-Physical / Intellectual skill required to learn the system -time required to become moderately efficient in the system. -the net increase in productivity by use of the new system. -subjective assessment(usually in the form of questionnaire on the new system)
Standard for the Software Evaluation In context of the Software Quality Metrics, one of the popular standards that addresses the quality model, external metrics, internal metrics and the quality in use metrics for the software development process is ISO 9126.
By level of severity By category or cause, e.g.: requirements defect, design defect, code defect, documentation/on-line help defect, defect introduced by fixes, etc. 3. Responsiveness Turnaround time for defect fixes, by level of severity Time for minor (turnaround time) to vs. major enhancements; actual vs. planned elapsed time (by users customers) in the first year after product delivery McCabe's cyclomatic complexity counts across the system Halsteads 7. Complexity of measure Card's design complexity measures Predicted defects and delivered product maintenance costs, based on complexity measures Breadth of functional coverage Percentage of paths, branches or conditions that were actually tested Percentage by criticality level: 8. Test coverage perceived level of risk of paths The ratio of the number of detected faults to the number of predicted faults. Business losses per defect that occurs during operation Business interruption costs; costs of work-arounds Lost sales and lost goodwill 9. Cost of defects Litigation costs resulting from defects Annual maintenance cost (per function point) Annual operating cost (per function point) Measurable damage to your boss's career Costs of reviews, inspections and preventive measures Costs of test planning and preparation Costs of test execution, defect tracking, version and change control Costs of diagnostics, debugging and fixing 10. Costs of quality Costs of tools and tool support Costs of tools and tool support Costs activities of test case library maintenance Costs of testing & QA education associated with the product Costs of monitoring and oversight by the QA organization (if separate from the development and test organizations) Re-work effort (hours, as a percentage of the original coding hours) Re-worked LOC (source lines of code, as a percentage of the total 11. Re-work delivered LOC) Re-worked software components (as a percentage of the total delivered components) Availability (percentage of time a system is available, versus the time the system is needed to be available) Mean time between failure 12. Reliability (MTBF) Mean time to repair (MTTR) Reliability ratio (MTBF / MTTR) Number of product recalls or fix releases Number of production re-runs as a ratio of production runs