Quality assurance and management, software engineering

29
Unit-7 Quality Assurance and Management

Transcript of Quality assurance and management, software engineering

Unit-7Quality Assurance and

Management

Quality

•Quality as “a characteristic or attribute of something.”•Two kinds of quality may be encountered:• Quality of design of a product increases, if the

product is manufactured according to specifications.•Quality of conformance is the degree to which the

design specifications are followed during manufacturing.

Quality

• In s/w development, we need to check user satisfaction by following relationship.•User satisfaction =

complete product + good quality + release within budget and schedule

Quality Control• Activities conducted in order to maintain the quality.• Quality control involves the series of inspections, reviews, and tests

used throughout the software process.• Quality control includes a feedback loop to the process.• The feedback loop is essential to minimize the defects produced.• Quality control activities may be fully automated, entirely manual,

or a combination of automated tools and human interaction.

Quality Assurance•Quality assurance consists of the auditing and reporting functions of management•Goal of quality assurance is to provide management with the data necessary•If the data provided through QA identify problems, it is management’s responsibility to address the problems and apply the necessary resources to resolve quality issues.

Cost of Quality

•The cost of quality includes all costs incurred in the pursuit of quality or in performing quality-related activities•Quality costs may be divided 3 mode of cost:

Prevention Appraisal Failure.

Cost of Quality•Prevention costs include• Quality planning• Formal technical reviews• Test equipment• Training

•Appraisal costs include In-process and Inter-process inspection Equipment calibration and maintenance Testing

Cost of Quality•Failure costs

Internal Failure Cost▪ rework▪ repair▪ failure mode analysis

•External Failure Cost▪ complaint resolution▪ product return and replacement▪ help line support▪ warranty work

Software Review•Review is the "filter" for the software engineering

process. •Reviews are applied at various points during software

development and serve to uncover errors and defects that can then be removed.•Types of Review• Informal Review• Meeting

•Formal Review• Formal presentation of software design to an audience of customers,

management, and technical staff

•A FTR is the most effective filter from a quality assurance standpoint.

Formal Technical Review• It is a SQA activity performed by software engineers• Objectives of the FTR are• To uncover errors in function, logic, orImplementation.• To verify that the software under review meets itsRequirements.• To ensure that the software has been representedaccording to predefined standards• To achieve software that is developed in a uniform manner.• To make projects more manageable.

Review Guidelines• Review the product, not the producer.

• Don’t point out errors harshly. One way to be gentle is to ask a question that enables the producer to discover his or her own error.

• Set an agenda and maintain it.• An FTR must be kept on track and on schedule.

• Limit debate and denial:• Rather than spending time debating the question, the issue should be recorded for

further discussion off-line• Speak problem areas, but don't attempt to solve every problem noted.

• Review only some small part of component. • Take written notes.

• make notes on a wall board, so that wording and priorities can be assessed by other reviewers

Review Guidelines• Limit the number of participants and insist upon advance

preparation.• Keep the number of people involved to the necessary minimum.

However, all review steam members must prepare in advance.• Develop a checklist for each product that is likely to be

reviewed.• helps the review leader to structure the FTR meeting and helps each

reviewer to focus on important issues.• Allocate resources and schedule time for FTRs• Conduct meaningful training for all reviewers.• To be effective all review participants should receive some formal

training• Review your early reviews.

Approaches to SQA

•Quality of S/w should be obtained during the• Analysis• Design• Coding • Testing

Approaches to SQA

•QA is obtained using Formal Technical Review and by performing multi-tier testing strategies.• In QA formal approach towards the s/w quality

assurance is required.•Precise & exact approach is required for requirement

gathering & its specification.

Approaches to SQA

•Effort should be made to adopt the formal approach of development for structured programming concept.

SOFTWARE RELIABILITY•Software reliability is defined in statistical terms as "the

probability of failure-free operation of a computer program in a specified environment for a specified time“.•What is meant by the term failure? • In the context of any discussion of software quality and reliability, failure is

nonconformance to software requirements.• Correction of one failure may in fact result in the introduction of other

errors that ultimately result in other failures.

•Software reliability can be measured directed and estimated using historical and developmental data.

Measures of Reliability and Availability

• A simple measure of reliability is mean-time- between-failure (MTBF), where

MTBF = MTTF + MTTRThe acronyms MTTF and MTTR are mean-time-to-failure and mean-time-to-

repair, respectively.• MTBF is a far more useful measure than defects/KLOC or defects/FP. • Stated simply, an end-user is concerned with failures, not with the total

error count. Because each error contained within a program does not have the same failure rate, the total error count provides little indication of the reliability of a system.• In addition to a reliability measure, we must develop a measure of

availability.

Software Quality Standards

• In order to bring quality in product & service, many organizations are adopting Quality Assurance System.• ISO standards are issued by the International

Organization for Standardization (ISO) in Switzerland.•Proper documentation is an important part of an

ISO 9001 Quality Management System.

ISO 9000 QUALITY STANDARD• Quality assurance ensure their products and services satisfy

customer expectations by meeting their specifications.• It covers a product’s entire life cycle including planning,

controlling, measuring, testing, reporting, and improving quality levels throughout the development and manufacturing process.• ISO 9000 describes quality assurance elements in generic

terms that can be applied to any business regardless of the products or services offered.

ISO 9000 QUALITY STANDARD

•After adopting the standards, a country typically permits only ISO registered companies to supply goods and services to government agencies and public utilities.• In turn, manufacturers of these products often

require their suppliers to become registered•To become registered, ISO 9000, a company’s

quality system and operations are scrutinized by third party auditors

ISO 9000 QUALITY STANDARD• Upon successful registration, a company is issued a

certificate from a registration body represented by the auditors.• ISO 9000 describes the elements of a quality assurance

system in general terms.• Elements like, the organizational structure, procedures,

processes, and resources needed to implement quality planning, quality control, quality assurance, and quality improvement.

ISO 9001 QUALITY STANDARDS

• ISO 9001 is the quality assurance standard that applies to software engineering.• It includes, requirements that must be present for

an effective quality assurance system• ISO 9001 standard is applicable to all engineering

discipline

ISO 9001 QUALITY STANDARDS• The requirements define by ISO 9001 address topics such as1.Management responsibility2. quality system3.contract review4.design control5.document 6.data control7.product identification8.Traceability

ISO 9001 QUALITY STANDARDS9. process control10. inspection11. Testing12. preventive action13. control of quality records14. internal quality15. Audits16. Training17. Servicing18. Statistical techniques.

Six Sigma: What is it?•Six sigma is “A generic quantitative approach to improvement that applies to any process.”•“Six Sigma is a disciplined, data-driven approach and methodology for eliminating in any process -- from manufacturing to transactional and from product to service.”

Six Sigma•To achieve six sigma•a process must not produce more than 3.4 defects per

million opportunities.•5 Sigma -> 230 defects per million•4 Sigma -> 6210 defects per million

•Six sigma methodologies•DMAIC (Define, Measure, Analyze, Improve, Control)•DMADV: (Define, Measure, Analyze, Design, Verify)

CMM: What is it?•“A Capability Maturity Model (CMM) is a reference model of mature practices in a specified discipline, used to improve and appraise a group’s capability to perform that discipline” -SEI•CMM contains a list of key process areas that includes software engineering, project management, and process improvement divided into different levels

CMMI Maturity Levels