920 likes | 2.23k Views
Software Quality Assurance. Software Quality Measurement and Metrics. Outline. Basic Terminologies Project Indicators Classification of Software Metrics Software Quality Metrics Software Defects Classification. Software Metrics.
E N D
Software Quality Assurance Software Quality Measurement and Metrics
Outline • Basic Terminologies • Project Indicators • Classification of Software Metrics • Software Quality Metrics • Software Defects Classification Software Quality Measurement and Metrics
Software Metrics “Software Metrics let you know when to laugh and when to cry” (Tom Glib) Software Quality Measurement and Metrics
Basic Terminologies • Measure – a quantitative indication of some attribute of a product or process. For example, 5 errors, 1200 LOC etc • Measurement – the act of determining a measure. • Metric – a quantitative measure of the degree to which a product or process possesses a given attribute. For example, 5 defects / KLOC. Metric is, basically, a ratio of two related measures. Software Quality Measurement and Metrics
Why Measurement ? • There are four reasons for measuring software processes, products and resources: • To Characterize • To Evaluate • To Predict • To Improve Software Quality Measurement and Metrics
Types of Measurements • Direct Measures • Easily and directly measurable. For example, LOC, Effort, Cost etc. • Indirect Measures • Not easy to measure. • Indirectly measured from direct measures etc. • For example, complexity, quality etc. Software Quality Measurement and Metrics
Indicators • Indicator – is a metric or combination of metrics that provide insight into the software process, product or project. For example, two teams using two different review approaches give an indicator of the better approach. • Indicators are of two types: • Process Indicators • Project Indicators Software Quality Measurement and Metrics
Indicators • Process Indicators • Used to gain the insight into the efficacy of the existing process. • These are collected across all projects and over a long periods of time. • Project Indicators • Used to asses the status of the project. • Track potential risks. • Uncover problems areas before they occur. • Adjust the work flow and tasks accordingly. • Evaluate project’s team ability to control software quality. • For example, EVA etc. Software Quality Measurement and Metrics
Classification of Metrics Software Quality Measurement and Metrics
Quality Metrics • Provide indicators to improve the quality of the product. • There are many quality attributes such as maintainability, usability, integrity and correctness etc. (see McCall’s Quality Model) Software Quality Measurement and Metrics
Mean Time to Failure a= Mean Time to Failure + Mean Time to Repair Availability • Availability is concerned with system failure and its associated consequences. • The availability of a system is the probability that it will be operational when it is needed. This is typically defined as: • From this come terms like 99.9% availability, or a 0.1% probability that the system will not be operational when needed. Software Quality Measurement and Metrics
Maintainability • Maintainability is the degree of easiness with which a program can be corrected if an error is encountered or changed if user requirement changed. • Mean Time To Change (MTTC) is the indirect measure to measure the maintainability. • MTTC is the mean time to fulfill a change request. • Lower MTTC means high maintainability. Software Quality Measurement and Metrics
No. of Defects reported by the user DD= Size of the program in KLOC Correctness • Correctness is the degree to which the software performs its required function. • A common way to measure the correctness is Defect Density (DD) Software Quality Measurement and Metrics
Usability • Usability is concerned with how easy it is for the user to accomplish a desired task and the kind of user support the system provides. • It be broken down into: • Learning system features • Using a system efficiently • Minimizing the impact of errors • Adapting the system to user needs • Increasing confidence and satisfaction Software Quality Measurement and Metrics
Integrity • Ability of the system to withstand attacks on its security. • Integrity is measured in terms of threat and security. • Threat – probability that an attack of specific type will occur within a given time. • Security – probability thatan attack of specific type will be repelled. . Integrity = ∑ [ (1- threat) * (1 – security) ] Software Quality Measurement and Metrics
Performance • Performance is concerned with how long it takes the system to respond when an event occurs. • The response of the system to an event can be characterized by: • Latency = response time – event occurrence time. • Throughput = the number of transactions the system can process in a second . • The Jitter of Response = the variation in latency • The number of events not processed because the system was too busy to respond Software Quality Measurement and Metrics
Software Quality Assurance Defects Classification
Defects Classification • Error • Errors are human mistakes. • For example, spell mistakes or syntactic errors etc. • Defects • Defects are improper program conditions that generally results from errors, but not always. • For example, documentation errors do no result in defects. And • Incorrect Packaging or exception handling Software Quality Measurement and Metrics
Defects Classification • Bugs / Fault • It is a program defect that is encountered in operation (alpha testing, beta testing or software operation) • All defects do not cause bugs. • For example, Y2K • Failure • A failure is a malfunction of user’s installation. • It may result from a • Bug • Incorrect installation • Communication line hit • Hardware failure etc. Software Quality Measurement and Metrics
Defects Classification • Problems • Problems are user encountered difficulties. • Problems are human events whereas Failures are system events. • A problem may result from: • Failure • Misuse • misunderstandings Software Quality Measurement and Metrics
Software Quality Assurance Feel free to ask! Thanks!
Software Quality Assurance Software Quality Measurement and Metrics