Software Quality Assurance SWEBOK n n n n
软件质量保证 Software Quality Assurance
SWEBOK 知识域 n n n n n 软件需求Software Requirements 软件设计Software Design 软件构造Software Construction 软件测试Software Testing 软件维护Software Maintenance 软件配置管理Software Configuration Management 软件 程管理Software Engineering Management 软件 程过程Software Engineering Process 软件 程 具和方法Software Engineering Tools and Methods 软件质量Software Quality
相关学科 n n n n 计算机 程Computer Engineering 计算机科学Computer Science 管理Management 数学Mathematics 项目管理Project Management 质量管理Quality Management 软件人类 程学Software Ergonomics 系统 程Systems Engineering
什么是质量? n 产品或 作的优劣程度 Degree or grade of excellence
什么是质量? Quality is: n Doing the Right Thing n Right n First Time n Everybody
什么是保证? assurance n n n A statement or indication that inspires confidence; a guarantee or pledge. 保证,发誓激励自信的声明或表示;保 证或发誓。 Freedom from doubt; certainty. 免于怀疑;肯定。 The act of assuring. 保证,保证的行为。
什么是保证? assure n n n n To inform positively, as to remove doubt. 向…保证告知确实如此,以解除怀疑。 To cause to feel sure. 使确信。 To give confidence to; reassure. 给予信心;使放心。 To make certain; ensure. 确实;保证。
QA Vs QC
软件开发流程 System Requirements Software Requirements Analysis Program Design Implementation Testing Operations
Software developing Analysis Design Implement Plan for Maintenance Software Quality Assurance Verification and Validation Risk Analysis and Risk Management Configuration Management Software Engineering Project Management Test Maintain
软件质量因素 Factors Criteria
软件质量因素 1. Per ISO/IEC 9126 specification the Software Quality is expressed in terms of six factors: Functionality, Reliability, Usability, Efficiency , Maintainability, Portability 2. Each factor is qualified via a set of criteria (software oriented concerns) and each criterion is measured in terms of a set of metrics. Factors Criteria
软件质量因素 3. Different parts of the product can have different combinations of desired quality characteristics. Efficiency may be critical for certain components, while usability is paramount for others. 4. Identify quality characteristics that apply to the entire product from those that are specific to certain components, certain user classes, or particular usage situations. Factors Criteria
软件质量因素 5. Document quality characteristics in the requirements specification. 6. If we cannot quantify some of the quality attributes, at least define the priorities and preferences. Factors Criteria
Results are always variable External Influence Factors Requirements Ideas Time People Material Energy Technology Work activities process Products & Service
为什么会有质量问题? Man Machine Material Method Environment Measurement
为什么会有质量问题? PEOPLE PROCESS TECHNOLOGY
怎样提高软件质量? n n n ISO 9000 CMM 6 sigma PDCA SPC Quality tools
怎样提高软件质量? n n 过程控制 定量管理 持续改善 缺陷预防 (process control) (quantitative management) (continuous improvement) (defects prevention)
Why focus on process? Process holds the elements together Process Major determinants of product cost, schedule, and quality Practices Technology People
Why focus on process? n Why not focus on people? n n n Why not focus on technology? n n n Focusing on process puts the emphasis on having good process to follow, not on hiring only brilliant people. Rather than having people work harder, have them work smarter. Look at the dot. com bust Technology is our friend, but it’s not the only answer to our problems Process is part of the answer n When supported by training, enough money, enough skilled people, proper tools, and management commitment, can help your organization
定量管理 Definition A Software metric is defined as a unit that enables one to quantitatively determine the extent to which a Software process, product, or project possesses a certain attribute. Metrics Characteristics n n Simple to understand precisely defined Inexpensive to use Robust Consistent and used over time
定量管理 Why We use Metrics? When you can measure what you are talking about, and express it in numbers, you know something about it; but when you cannot measure it, and when you cannot express it in numbers, your knowledge is of a meagre and unsatisfactory kind; -- Lord Kelvin You cannot control what you cannot measure. -- De. Marco
定量管理 Why we use metrics? (Continue) n n n More accurate Comparable Measurement (Measurement is not the goal, the goal is improve the quality of software development through measurement, analysis and feedback)
定量管理 Usage of Software Metrics(EMP) n E-----Evaluating the past n M-----Monitoring the present n P-----Predicting the future Measurement Areas n Process n Product n Project
定量管理 • Both the software process and products are quantitatively understood and controlled. • Quantitative Management is not equal to metrics. Metrics is indicators which represent the status of project or organization. On the other hand, Quantitative Management involves making decision based the metrics as well as historical data. • The focus of Quantitative Management is to make process stable and predictable.
质量 具 From this chart, we can find that most of faults fall into A 4 and A 2 categories. So it would be effective to devote our effort to analyze the causes of faults in these 2 categories.
质量 具 This Run Chart suggested that productivity is increasing by yearly basis.
质量 具 Process Quality gate for coding phase was changed from inspection to review. The software architecture was not well designed. Not all engineers receive sufficient domain training Technique / Engineering Project Management Tight Schedule Process change No tools available facilitate unit test Tools Total 407 defects were reported during system test
软件质量保证活动 Software Quality Assurance involves n reviewing and auditing the software products and activities to verify that they comply with the applicable procedures and standards. n providing the managers and software project team members with the results of these reviews and audits.
软件质量保证活动 n n n Verification and Validation Test Review Audit Inspection
Quality is free
- Slides: 66