Transcript
Page 1: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

SOFTWARE QUALITY ASSURANCESOFTWARE QUALITY ASSURANCE

DEFINITIONS OF SQA DEFINITIONS OF SQA SOFTWARE STANDARDSSOFTWARE STANDARDS

Process Quality AssuranceProcess Quality Assurance Product Quality AssuranceProduct Quality Assurance

SQA ATTRIBUTESSQA ATTRIBUTES SOFTWARE METRICS:SOFTWARE METRICS:

CONTROL METRICSCONTROL METRICSPREDICTOR METRICSPREDICTOR METRICS

DOCUMENTATAIONDOCUMENTATAION

Page 2: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

DEFINITION OF SQADEFINITION OF SQA

Bersoff (1984) provides a good working Bersoff (1984) provides a good working definition of SQA;definition of SQA;

““SQASQA consists of those consists of those procedures, procedures, techniques and toolstechniques and tools applied by applied by professionals to ensure that a product meets professionals to ensure that a product meets or exceeds or exceeds pre-specified standardspre-specified standards during a during a product's development cycle; and without product's development cycle; and without specific prescribed standardsspecific prescribed standards, quality , quality assurance entails ensuring that a product assurance entails ensuring that a product meets or exceeds a minimal industrial and /or meets or exceeds a minimal industrial and /or commercially commercially acceptableacceptable level of excellencelevel of excellence.”.”

Page 3: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

SOFTWARE QUALITY ASSURANCESOFTWARE QUALITY ASSURANCE

SQA is defined as;SQA is defined as; ““Conformance to Conformance to explicitlyexplicitly stated stated

functionalfunctional and and performance performance requirements, explicitly documented requirements, explicitly documented development standards and development standards and implicit implicit characteristicscharacteristics that are expected of that are expected of all professionally developed all professionally developed software.”software.”

Page 4: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

SQA DEFINITIONSQA DEFINITION

According to Dunn and Ullman; “SQA is the mapping of managerial

precepts and design disciplines of quality assurance onto the applicable managerial and technological space of software engineering.”

Page 5: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

SOFTWARE QUALITY ASSURANCESOFTWARE QUALITY ASSURANCE

SQA encompasses;SQA encompasses; A Quality Management Approach;A Quality Management Approach; Effective Software Engineering Effective Software Engineering

Technology;Technology; Formal Technical Reviews that are applied Formal Technical Reviews that are applied

throughout the process;throughout the process; A Multi-tiered Testing Strategy;A Multi-tiered Testing Strategy;

Page 6: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

SOFTWARE QUALITY ASSURANCESOFTWARE QUALITY ASSURANCE

Control of Software Documentation Control of Software Documentation and changes made to it; and changes made to it;

A procedure to ensure compliance to A procedure to ensure compliance to software development standards;software development standards;

Measurement and reporting Measurement and reporting mechanism;mechanism;

Page 7: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

SQA ACTIVITIESSQA ACTIVITIES

The SQA activities are divided between The SQA activities are divided between two groups; two groups;

Software Engineer who incorporate the Software Engineer who incorporate the quality into the design by using solid quality into the design by using solid technical methods and procedures;technical methods and procedures;

SQA Team, who is responsible for quality SQA Team, who is responsible for quality assurance planning, oversight, record assurance planning, oversight, record keeping, analysis and reporting.keeping, analysis and reporting.

Page 8: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

SOFTWARE STANDARDSSOFTWARE STANDARDS

One of the most important roles of the QA One of the most important roles of the QA team is the development of team is the development of productproduct and and processprocess standards: standards:

Product Standards:Product Standards: These define These define characteristics which all product characteristics which all product components should exhibit. An example components should exhibit. An example is- is- Review FormReview Form- which defines the - which defines the information to be collected during review.information to be collected during review.

Page 9: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

SOFTWARE STANDARDSSOFTWARE STANDARDS

Process Standards:Process Standards:

These define how the software These define how the software process should be conducted.e.g. process should be conducted.e.g. procedural definition of how design procedural definition of how design review should be conducted.review should be conducted.

Page 10: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

Why Standards are important ?Why Standards are important ?

They provide an encapsulation of best or at least They provide an encapsulation of best or at least most most appropriate practiceappropriate practice.This knowledge is often .This knowledge is often only acquired after a great deal of only acquired after a great deal of trial and trial and errorerror.Building it into standard avoids the repetition .Building it into standard avoids the repetition of past mistakes.of past mistakes.

They provide a framework around which QA They provide a framework around which QA process may be implemented.process may be implemented.

They assist in continuity where work carried out by They assist in continuity where work carried out by one person is taken up and continued by another. one person is taken up and continued by another. They ensure that all SE follow the practice.They ensure that all SE follow the practice.

Page 11: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

ISO9000 STANDARDSISO9000 STANDARDS

The ISO 9000 standards have been adapted by The ISO 9000 standards have been adapted by many countries like Canada, Mexico,The United many countries like Canada, Mexico,The United States and India and so on.States and India and so on.

ISO 9001 STANDARD:ISO 9001 STANDARD: This is the standard This is the standard applicable to Software Engineering.The standard applicable to Software Engineering.The standard contains 20 requirements that must be present contains 20 requirements that must be present for an effective Quality assurance system.for an effective Quality assurance system.

The actual standard for Software Process is ISO The actual standard for Software Process is ISO 9001.3.9001.3.

Page 12: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

ISO 9001 REQUIREMENTSISO 9001 REQUIREMENTS

The requirements delineated by The requirements delineated by ISO 9001 address topics such asISO 9001 address topics such as;; Management Responsibilities;Management Responsibilities; Quality System;Quality System; Contact Review;Contact Review; Process Control;Process Control;

Page 13: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

ISO 9001 REQUIREMENTSISO 9001 REQUIREMENTS

Design Design ControlControl;; Document and Data Control;Document and Data Control; Corrective and preventive Corrective and preventive

Actions;Actions; Internal Quality Audits;Internal Quality Audits;

Page 14: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

SQA ATTRIBUTESSQA ATTRIBUTES

ECONOMYECONOMY INTEGRITYINTEGRITY DOCUMENTATIONDOCUMENTATION UNDERSTABILITYUNDERSTABILITY FLEXIBILITYFLEXIBILITY INTEROPERABILITYINTEROPERABILITY MODULARITYMODULARITY CORRECTNESSCORRECTNESS RELIABILITYRELIABILITY EVOLEVEBILITYEVOLEVEBILITY

VALIDITYVALIDITY GENERALITYGENERALITY TESTABILITYTESTABILITY REUSABILITYREUSABILITY USABILITYUSABILITY CLARITYCLARITY PORTABILITYPORTABILITY EFFICIENCYEFFICIENCY RESILIENCERESILIENCE MAINTAINABILITYMAINTAINABILITY

Boehm et.al. (1978) suggest that quality criteria include, but not limited to, the attributes as shown;

Page 15: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

CORRECTNESS :CORRECTNESS :

The extent to which a software The extent to which a software satisfies its satisfies its specificationsspecifications. A . A program is functionally correct, if program is functionally correct, if it behaves according to the it behaves according to the specifications of the functions it is specifications of the functions it is suppose to provide, which are suppose to provide, which are called called functional requirements functional requirements specifications.specifications.

Page 16: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

RELIABILITYRELIABILITY

Informally, software is Informally, software is reliablereliable if the if the user can user can dependdepend on it. The on it. The specialized literature on software specialized literature on software reliability defines reliability in terms reliability defines reliability in terms of of statistical behaviorstatistical behavior, the probability , the probability that the software will operate as that the software will operate as expected over a specified period of expected over a specified period of time.time.

Page 17: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

ROBUSTNESSROBUSTNESS

A program is A program is robustrobust if it behaves if it behaves “reasonably”,“reasonably”, even in circumstances that even in circumstances that were not anticipated in the requirements were not anticipated in the requirements specifications, for example, it encounters specifications, for example, it encounters incorrect input data or some hardware incorrect input data or some hardware malfunction (disk crash).malfunction (disk crash).

A program that assumes A program that assumes perfect inputperfect input and and generates an generates an unrecoverable run-timeunrecoverable run-time errorerror, , if user type some commands, will not be if user type some commands, will not be robust.robust.

Page 18: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

USER-FRIENDLYNESSUSER-FRIENDLYNESS

A software is user-friendly if its human A software is user-friendly if its human interface is interface is easy to useeasy to use. An application . An application that is designed using GUI concept will that is designed using GUI concept will be more user friendly in comparison to be more user friendly in comparison to that which uses that which uses text Commandstext Commands to be to be typed from the key-board. typed from the key-board.

MSDOS Based:MSDOS Based:Not user friendlyNot user friendly. . Windows-BasedWindows-Based::User-friendly.User-friendly.

Page 19: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

VERIFIABILITYVERIFIABILITY

A software is A software is “verifiable“verifiable”” if its properties if its properties can be verified easily.For example it can be verified easily.For example it correctness can be verified. correctness can be verified.

A common technique for improving the A common technique for improving the verifiability is the use of verifiability is the use of “Software “Software Monitors”Monitors” that is, that is, code insertedcode inserted in the in the software to monitor various qualities such software to monitor various qualities such as performance or correctness.as performance or correctness.

Verifiability is an Internal Quality.Verifiability is an Internal Quality.

Page 20: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

MAINTAINABILITYMAINTAINABILITY

Software Maintenance is commonly used Software Maintenance is commonly used to refer to the to refer to the modificationsmodifications that are to be that are to be made to software system after initial made to software system after initial releaserelease and some and some user trial.user trial.

Maintenance used to be viewed as;Maintenance used to be viewed as; BUG-FIXINGBUG-FIXING ENHANCING THE PRODUCT ENHANCING THE PRODUCT

CAPABILITY.CAPABILITY.

Page 21: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

REUSABILITYREUSABILITY

Reusability means to use the Reusability means to use the functionsfunctions or or objectsobjects or or componentscomponents written by other programmers in our written by other programmers in our program to achieve our goals and program to achieve our goals and objectives in minimum possible time objectives in minimum possible time with optimum coding at our end. with optimum coding at our end.

Page 22: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

EFFICIENCYEFFICIENCY

The amount of The amount of computingcomputing resourcesresources and and codecode required by a software required by a software system to perform its intended system to perform its intended functionality is called the functionality is called the efficiencyefficiency of of the system. the system.

The efficiency comparison is done on The efficiency comparison is done on standard hardwarestandard hardware to make a fair to make a fair decision.decision.

Page 23: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

ACCURACY ANDACCURACY AND ERROR TOLERANCE ERROR TOLERANCE

The correctness in The correctness in intendedintended precisionprecision is called accuracy of the software is called accuracy of the software system.system.

When program encounters an error, When program encounters an error, what is the limit / extent to which the what is the limit / extent to which the program can tolerate this error (i.e. program can tolerate this error (i.e. program is not damagedprogram is not damaged due to this due to this errorerror) is called ) is called error toleranceerror tolerance,,

Page 24: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

The Software Quality Factor is The Software Quality Factor is defined as;defined as;

Where C1, C2 … are Regression Coeff.Where C1, C2 … are Regression Coeff. M1,M2.. Are Software Metrics.M1,M2.. Are Software Metrics.

SOFTWARE QUALITY FACTORSOFTWARE QUALITY FACTOR

Fq = C1*M1+C2*M2+…….Cn* Mn.

Page 25: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

SOFTWARE METRICSSOFTWARE METRICS

A software metric is any measurement A software metric is any measurement which relates to a software system, process which relates to a software system, process or related documents. Examples are or related documents. Examples are measures of the size of the product as;measures of the size of the product as;

Line of Code,Line of Code, Fog Index of a product Manual,Fog Index of a product Manual, The number of faults reported in the The number of faults reported in the

product,product, The number of The number of Man-MonthsMan-Months required for required for

development.development.

Page 26: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

METRIC CATEGORIESMETRIC CATEGORIES

CONTROL METRICS:CONTROL METRICS: These are used by These are used by management to control the software management to control the software process. Ex. are process. Ex. are Efforts expendedEfforts expended, , elapsed elapsed timetime and and disk usage.disk usage.

PREDICTOR METRICS:PREDICTOR METRICS: These are These are measurements of a product attributes measurements of a product attributes which can be used to predict associated which can be used to predict associated product quality.Ex. are readability of product quality.Ex. are readability of manual,ease of operation and maintenance manual,ease of operation and maintenance and so on.and so on.

Page 27: SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance

SUMMARYSUMMARY

We have defined the SQA.We have defined the SQA. The attributes of SQA are explained.The attributes of SQA are explained. Software ISO 9001 Standard was Software ISO 9001 Standard was

discussed.discussed. Software Metrics were presented.Software Metrics were presented.

Control MetricsControl Metrics Predictor MetricsPredictor Metrics


Recommended