280 likes | 874 Views
Statistical Software Quality Assurance. Implies Information about defects is collected and categorized An attempt is made to trace each defect to underlying cause Use of Pareto Principle to identify vital causes (80% of defects can be traced to 20% of causes/mistakes)
E N D
Statistical Software Quality Assurance • Implies • Information about defects is collected and categorized • An attempt is made to trace each defect to underlying cause • Use of Pareto Principle to identify vital causes (80% of defects can be traced to 20% of causes/mistakes) • Move to correct the problems that have caused the defects
Software Engineering II Lecture 30 Fakhar Lodhi
Example • Information about defects is collected for one year and categorized as follows: • Incomplete or erroneous specifications (IES) • Misinterpretation of customer communication (MCC) • Intentional deviation from specifications (IDS) • Violation of programming standards (VPS) • Error in data representation (EDR) • Inconsistent component interface (ICI) • Error in digital logic (EDL) • Incomplete or erroneous testing (IET) • Inaccurate or incomplete documentation (IID) • Error in programming language translation or design (PLT) • Ambiguous or inconsistent human computer interface (HCI) • Miscellaneous (MIS)
IES, EDR, PLT and EDL constitute about 80% of serious errors
Excel example • Now start corrective action focused on vital few • For example for EDR • Review the data representation techniques to identify the possible improvement areas • Adopt a use case tool for data modeling and perform stringent data design reviews
Error Index (EI) Used to develop an overall indication of improvement in software quality • Ei – the total number of errors uncovered during the ith step in the SE process • Si – number of serious errors • Mi – number of moderate errors • Ti – number of minor errors • PSi – product size at the ith step • ws, wm, wt – weighting factors for serious, moderate, and minor errors • Recommended values – 10, 3, 1 respectively
Error Index (EI) • At each step of the software process a Phase Index is computed PIi = ws(Si/Ei) + wm(Mi/Ei) + wt(Ti/Ei) • EI – cumulative effect on each PIi = ∑(i x PIi)/PSi • Weighting errors encountered in the SE processes more heavily than those encountered earlier • Used to develop an overall indication of improvement in software quality
Software Reliability • Defined as: • Probability of failure free operation of a computer program in a specified environment for a specified time • E.g. program X is estimated to have a reliability of 0.96 over 8 elapsed hours. • What is meant by the term failure? • Failure is non-conformance to software requirements • Grading • From annoying to catastrophic • Time to fix from minutes to months • Ripples from fixing
Software reliability • Hardware versus software reliability • Hardware reliability is predicted on failure due to wear, rather than failure due to design • Software – no wear and tear • Mean time between failure – MTBF • MTBF = MTTF + MTTR where MTTF is mean time to failure and MTTR is mean time to repair
Software reliability • Arguably MTBF is far better than defects/kloc • Each error does not have the same failure rate • User is concerned with failure and not with total error count