Lecture6 Quality Assurance - 副本课件_第1页
Lecture6 Quality Assurance - 副本课件_第2页
Lecture6 Quality Assurance - 副本课件_第3页
Lecture6 Quality Assurance - 副本课件_第4页
Lecture6 Quality Assurance - 副本课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、QUALITY ASSURANCESpring 2014Software QualityIn 2005, ComputerWorld lamented that “bad software plagues nearly every organization that uses computers, causing lost work hours during computer downtime, lost or corrupted data, missed sales opportunities, high IT support and maintenance costs, and low c

2、ustomer satisfaction.” A year later, InfoWorld wrote about the “the sorry state of software quality” reporting that the quality problem had not gotten any better.QualityThe American Heritage Dictionary defines quality as “a characteristic or attribute of something.” For software, two kinds of qualit

3、y may be encountered: Quality of design Quality of conformanceUser satisfaction = compliant product + good quality + delivery within budget and scheduleQualityA Philosophical ViewRobert Persig Per74 commented on the thing we call quality:Quality . . . you know what it is, yet you dont know what it i

4、s. But thats self-contradictory. But some things are better than others, that is, they have more quality. But when you try to say what the quality is, apart from the things that have it, it all goes poof! Theres nothing to talk about. But if you cant say what Quality is, how do you know what it is,

5、or how do you know that it even exists? If no one knows what it is, then for all practical purposes it doesnt exist at all. But for all practical purposes it really does exist. What else are the grades based on? Why else would people pay fortunes for some things and throw others in the trash pile? O

6、bviously some things are better than others . . . but whats the betterness? . . . So round and round you go, spinning mental wheels and nowhere finding anyplace to get traction. What the hell is Quality? What is it?QualityA Pragmatic ViewThe transcendental view argues that quality is something that

7、you immediately recognize, but cannot explicitly define. The user view sees quality in terms of an end-users specific goals. If a product meets those goals, it exhibits quality. The manufacturers view defines quality in terms of the original specification of the product. If the product conforms to t

8、he spec, it exhibits quality. The product view suggests that quality can be tied to inherent characteristics (e.g., functions and features) of a product. Finally, the value-based view measures quality based on how much a customer is willing to pay for a product. In reality, quality encompasses all o

9、f these views and more.Software QualitySoftware quality can be defined as: An effective software process applied in a manner that creates a useful product that provides measurable value for those who produce it and those who use it.The Software Quality DilemmaIf you produce a software system that ha

10、s terrible quality, you lose because no one will want to buy it. If you spend infinite time, extremely large effort, and huge sums of money to build the absolutely perfect piece of software, then its going to take so long to complete and it will be so expensive to produce that youll be out of busine

11、ss anyway. Either you missed the market window, or you simply exhausted all your resources. The Software Quality DilemmaSo people in industry try to get to that magical middle ground where the product is good enough not to be rejected right away, such as during evaluation, but also not the object of

12、 so much perfectionism and so much work that it would take too long or cost too much to complete.Quality ControlQuality control involves the series of inspections, reviews, and tests used throughout the software process.Quality control includes a feedback loop to the process.A key concept of quality

13、 control is that all work products have defined, measurable specifications to which we may compare the output of each process.The feedback loop is essential to minimize the defects produced.Quality AssuranceQuality assurance consists of the auditing and reporting functions that assess the effectiven

14、ess and completeness of quality control actions.Goal: provide management and technical staff with the data necessary to be informed about product quality.If the data provided through quality assurance identify problems, it is managements responsibility to address the problems and apply the necessary

15、 resources to resolve quality issues.Cost of QualityThe 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: PreventionAppraisalFailureCost of QualityPrevention costs includeQuality planningForm

16、al technical reviewsTest equipmentTrainingCost of QualityAppraisal costs include activities to gain insight into product condition the “first time through” each process.In-process and Inter-process inspectionData collection and metrics evaluationTesting and debuggingCost of QualityFailure costsInter

17、nal Failure Cost are incurred when you detect an error in a product prior to shipment.reworkrepairfailure mode analysisExternal Failure Cost are associated with defects found after (product) shipping to the plaint resolutionproduct return and replacementhelp line supportwarranty workCost of QualityR

18、elative cost of correcting errors and defectsSoftware Quality Assurance (SQA)Definition: Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software. SQA

19、Definition serves to emphasize three important points:Software requirements are the foundation from which quality is measured. Lack of conformance to requirements is lack of quality.Specified standards define a set of development criteria. If the criteria are not followed, lack of quality will almos

20、t surely result.A set of implicit requirements often goes unmentioned. If software conforms to its explicit requirements but fails to meet implicit requirements, software quality is suspect.SQA Group ActivitiesSQA group is made up of software engineers, project managers, customers, salespeople, and

21、the individual members.Software quality assurance is composed of two different constituencies.Software engineers who do technical work.SQA group that has responsibility for quality assurance planning, oversight, record keeping, analysis, and reporting.SQA Group ActivitiesSoftware engineers address q

22、uality activities byapplying technical methods and measures,conducting formal technical reviews,performing well-planned software testing.SQA group is to assist the software team in achieving a high quality end product.Role of An SQA Group1. Prepares an SQA plan for a project.The plan is developed du

23、ring project planning and is reviewed by all stakeholders.The plan identifiesEvaluations to be performedAudits and reviews to be performedStandards that are applicable to the projectProcedures for error reporting and trackingDocuments to be produced by the SQA groupAmount of feedback provided to the

24、 software project teamRole of An SQA Group2. Participates in the development of the projects software process description. The SQA group reviews the process description for compliance with organizational policy, internal software standards, externally imposed standards (e.g., ISO-9001), and other pa

25、rts of the software project plan.Role of An SQA Group3. Reviews and audits software engineering activities to verify compliance with the defined software process.The SQA group identifies, documents, and tracks deviations from the process, and verifies that corrections have been made; periodically re

26、ports the results of its work to the project manager.Role of An SQA Group4. Ensures that deviations in software work and work products are documented and handled according to a documented procedure.Deviations may be encountered in the project plan, process description, applicable standards, or techn

27、ical work products.Role of An SQA Group5. Records any noncompliance and reports to senior management. Noncompliance items are tracked until they are resolved.Software ReviewSoftware reviews are a filter for the software engineering process. That is, reviews are applied at various points during softw

28、are development and serve to uncover errors and defects that can then be removed.Software ReviewTypes of ReviewInformal ReviewMeeting around the coffee machine and discussing technical problems.Formal ReviewFormal presentation of software design to an audience of customers, management, and technical

29、 staff.A FTR is the most effective filter from a quality assurance standpoint.Cost Impact of Software DefectsThe primary objective of formal technical reviews is to find errors during the process so that they do not become defects after release of the software.Direct benefit is early discovery of er

30、ror, do not propagate to the next step.Cost Impact of Software DefectsDesign activities introduce between 50 and 65 percent of all errors (and ultimately, all defects) during the software process.However, FTR have been shown to be up to 75 percent effective in uncovering design flaws.FTR substantial

31、ly reduces the cost of subsequent steps in the development and support phases.Cost Impact of Software DefectsAssume that an error uncovered during design will cost 1.0 monetary unit to correct. Relative to this cost, the same error uncovered just before testing commences will cost 6.5 units;during t

32、esting, 15 units; after release, between 60 and 100 units.Defect Amplification and RemovalA defect amplification model can be used to illustrate the generation and detection of errors during the preliminary design, detail design, and coding steps of the software engineering process.A box represents

33、a software development step. During the step, errors may be by mistake generated.Review may fail to uncover newly generated errors and errors from previous steps, resulting in some number of errors that are passed through.Defect Amplification and RemovalIn some cases, errors passed through from prev

34、ious steps are amplified (amplification factor, x) by current work.The box subdivisions represent each of these characteristics and the percent of efficiency for detecting errors.Defect Amplification No ReviewDefect Amplification No ReviewBecause of no review conducted, 10 preliminary design defects

35、 are amplified to 94 errors before testing commences.Each test step is assumed to correct 50 percent of all incoming errors without introducing any new errors.12 latent errors are released to the field or to the customers.Defect Amplification Review ConductedDefect Amplification Review ConductedCons

36、iders the same conditions except that design and code reviews are conducted as part of each development step.In this case, 10 initial preliminary design errors are amplified to 24 errors before testing commences.Only 3 latent errors exist.Defect Amplification Review ConductedNow we can estimate over

37、all cost with and without review for our hypothetical example.To conduct reviews, a software engineer must expend time and effort and the development organization must spend money.Formal Technical ReviewsIt is a software quality assurance activity performed by software engineers.Objectives of the FT

38、R areTo uncover errors in function, logic, or implementation for any representation of the software;To verify that the software under review meets its requirements;To ensure that the software has been represented according to predefined standards;To achieve software that is developed in a uniform ma

39、nner;To make projects more manageable.FTR- Review MeetingEvery review meeting should abide by the following constraints:Between three and five people (typically) should be involved in the review.Advance preparation should occur but should require no more than 2 hours of work for each person.The dura

40、tion of the review meeting should be less than 2 hours.FTR focuses on a specific (and small) part of the overall software.e.g. rather than attempting to review an entire design, conducted for each component or small group of components.FTR- Review MeetingThe focus of FTR is on a work product. (e.g.

41、requirement, analysis, design, coding)The producerinforms the project leader that the work product is complete and that a review is required. The project leader contacts a review leader, who evaluates the product for readiness, generates copies of product materials, and distributes them to two or th

42、ree reviewers for advance preparation.Each reviewer is expected to spend between one and two hours reviewing the product & making notes.FTR- Review MeetingConcurrently, the review leader also reviews the product and establishes an agenda for the meeting, which is typically scheduled for the next day

43、.The FTR begins with an introduction of the agenda and a brief introduction by the producer. The producer then proceeds to walk through the work product, explaining the material, while reviewers raise issues based on their advance preparation. FTR- Review MeetingWhen valid problems or errors are dis

44、covered, the recorder notes each.At the end of the review, all attendees of the FTR must decide whether to Accept the product without further modification Reject the product due to severe errors Accept the product provisionallyThe decision made, all FTR attendees complete a sign-off, indicating thei

45、r participation in the review and their concurrence with the review teams findings.Review Reporting and Record KeepingDuring the FTR, a reviewer (the recorder) actively records all issues that have been raised. These are summarized at the end of the review meeting and a review issues list is produce

46、d. A review summary report answers three questions:1.What was reviewed?2.Who reviewed it?3.What were the findings and conclusions?Review summary report becomes part of the project historical record and may be distributed to the project leader and other interested parties. Review Reporting and Record

47、 KeepingThe review issues list serves two purposes: To identify problem areas within the product.To serve as an action item checklist that guides the producer as corrections are made. An issues list is normally attached to the summary report.It is important to establish a follow-up procedure to ensu

48、re that items on the issues list have been properly corrected. Unless this is done, it is possible that issues raised can “fall between the cracks.”One approach is to assign the responsibility for follow-up to the review leader.Review GuidelinesReview the product, not the producer.Dont point out err

49、ors 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 rebuttal:Rather than spending time debating the question, the issue should be recorded for fur

50、ther discussion off-line.State problem areas, but dont 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 GuidelinesLimit the number of participants and insist upon advance preparation.Keep the number of people involve

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论