Contents Last Time � Introduction Introduction � � Software Development Processes Software Development Processes � � Project Management Project Management � � Requirements Engineering Requirements Engineering � � Software Construction Software Construction � � Group processes Group processes � � Quality Assurance � What is Quality Assurance? � Testing (Lecture 7) � Planning Quality and Inspections (Lecture 8) � Software Management and Evolution 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU Today - Quality Assurance What is Quality Assurance? QA is the combination of planned and unplanned � What is Quality Assurance? activities to ensure the fulfillment of predefined quality � What is Quality? standards. � Constructive vs. analytic approaches to QA � Qualitative vs. quantitative quality standards � Measurement � Derive qualitative factors from measurable quantitative factors � Software measures (metrics) 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU Some Example Metrics Some Example Metrics (cont.) � To measure reliability � To measure efficiency � Time behaviour � MTTF (Mean Time To Failure) • Transactions per second � Availability • Response time � To measure robustness • Screen refresh time � Resource behaviour � Time to restart after a failure • KBytes of executables � Probability of data corruption on failure • LOC � To measure portability • Number of processors � Number of target systems � To measure usability � Percentage of target dependent statements � Training time � Number of help frames � Measurement is necessary 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU 1
How To Measure Quality? Approaches to QA subjective Efficiency Quality Factor � Constructive Approaches properties The usage of methods, languages, and tools that depends ensure the fulfillment of some quality factors. on � Syntax-directed editors Property/ Property/ Property/ Speed � Enforced coding guidelines Criteria Criteria Criteria Size � Type systems determined � Standards by � … Response time in s objective Metric Metric Metric LOC measurements ... 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU Standards Standards (cont.) � How to follow them � Two types of standards � Involve the software engineers � Product � Review and modify regulary � Provide software tools to support standards � Process � It takes time to develop standards � Standards are important � Base organisational standars on national and international � Based on experience standards • ISO 9000, ... � A framework for implementing the quality � Documentation standards assurance process � Documentation process standards � Assist in continuity � Document standards � Document interchange standards 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU Approaches to QA (cont.) Approaches to QA (cont.) � Software Process Improvement � Analytic approaches The usage of methods, languages, and tools to observe The improvement of development processes to yield the current quality level. better products � Inspections � Static analysis tools (e.g. lint) � Testing � ... 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU 2
Quality is ... And Quality is … Sponsor User � … I know it when I see it � … it suits the client/user Functionality Low costs � … it conforms to the specification Efficiency Easy to learn I ncreased productivity � … it has some inherent quality Easy to remember Short time of delivery � … it depends on the price Reliability Easy to use Flexibility � … it depends on the delivery date Few errors Readable code Good design Good documentation Maintainer/modifier 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU The Quality Triangle Quality Factors (ISO 9126) � Different goals for Suitability different projects and Accuracy Lead time Functionality Interoperability organizations (close delivery time) Security � Medical equipment Maturity Reliability Fault tolerance � ATM Recoverability � Text editor Understandability Usability Learnability Operability � ”Good Enough” Time behavior Efficiency Software Resource behavior Analyzability Changeability Maintainability � Quality must be Stability Functionality Quality Testability measured goal- (number of “features”) (absense of errors) Adaptability oriented Installability Portability Conformance 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU Replaceability Error vs. Fault vs. Failure HP’s Fault Classification Fault origin: WHERE? Specification/ Environment/ Documen- Design Code Other requirements support tation ?! Fault type: WHAT? can lead to can lead to Requirements HW interface (Inter-)Process Logic Test HW or communications specifications SW interface Computation Test SW Data definition human error fault failure Functionality User interface Data handling Integration SW Module design � Different types of faults Functional Module Development description Logic interface/ tools description implementation � Different identification techniques � Different testing techniques Error checking Standards � Fault prevention and -detection strategies should Standards be based on expected fault profile � Individual differences Missing Unclear Wrong Changed Better way 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU Fault mode: WHY? 3
Fault Profile of a HP Division Improving Quality 6% 11% Data handling Resources Products Processes Documentation � Personnel � Code � Methods 19% Requirements Hardware � Tools � Design � Management 18% Process/ interprocess � Budget � Requirements � Accounting Logic � ... � ... � ... 5% Computation Other code 4% Ordinary 5% testing 32% Easy to measure See [Pfleeger 98]. 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU The Message Summary � What is Quality Assurance? Quality is relative � What is Quality? Quality covers more than just code Establish a quality culture 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU Next time � Introduction Introduction � � Software Development Processes Software Development Processes � � Project Management Project Management � � Requirements Engineering Requirements Engineering � � Software Construction Software Construction � � Group processes Group processes � � Quality Assurance � What is Quality Assurance? What is Quality Assurance? � � Testing (Lecture 7) � Planning Quality and Inspections (Lecture 8) � Software Management and Evolution 12/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU 4
Recommend
More recommend