170 likes | 307 Views
Chapter 4 explores the role of Quality Assurance (QA) in software development processes, emphasizing defect handling and resolution. It discusses alternative QA activities, the importance of timely defect reporting, and methods for defect logging and tracking. The chapter highlights the distinction between verification and validation, explains how defects can be analyzed and categorized based on severity and impact, and presents various QA methodologies, including the V-Model and Agile approaches. Overall, it underlines the significance of proactive quality management throughout the software lifecycle.
E N D
Ch.4: QA in Context • QA and the overall development context • Defect handling/resolution • How alternative QA activities fit in process • Alternative perspectives: verification/validation (V&V) view • Defect handling/resolution • Defect logging and tracking are support activities • How to handle depends on causal (root-cause) analysis • Resolution: correct/re-verify or perform other action • Improvement: break causal chain
Ch.4: Related Defect Handling Activities • Defect Handling • Often parallel to testing • Timely defect reporting • Where injected/found? • Type/severity/impact? • More detailed classification possible? • Consistent interpretation (failure vs. fault vs. error) • Defect DB Example • Process and Tools • formalized process (similar to configuration management) • unit testing defects vs. later testing • Tracking tools • status of defect
Ch.4: Related Defect Handling Activities • Defect analyses/quality models • As follow up to defect handling. • Data and historical baselines • Goal: assessment/prediction/improvement • Causal/risk/reliability/etc. analyses • Question: Why can we say that defect handling is not closely associated with defect prevention? • Details in Part IV.
Ch.4: QA in Software Processes • Mega-process: initiation, development, maintenance, termination. • Development process components (or phases): requirement, specification, design, coding, testing, release. • QA in waterfall process: Fig 4.1 (p.45) • Testing has QA focus • Defect prevention in early phases (error blocking) • Defect removal in middle/late phases • Defect containment in late phases • Phase transitions: inspection/review/etc. • QA scattered throughout the process
Ch.4: QA in Software Processes • Question: When can faults be injected in a software system? What phase are they MOST likely to be injected? • Question: There are practical obstacles to early fixing of injected defects. What are they?
Ch.4: QA in Software Processes • V-Model (Alternative to waterfall): QA in testing sub-phases (Fig 4.2, p.49) • Non-sequential processes • more user involvement => more validation • Iterative/Incremental: QA in iterations/increments – integration tests; • Spiral (which part to work on next based on risk analysis): selective QA on high-risk parts and operational testing; • Agile: test-driven development and inspect/test in pairs • QA in maintenance workflows: • Focus on defect handling; • Some defect containment activities for critical or highly-dependable systems; • Collect data for QA activities in future releases • QA scattered throughout all processes!!!
Ch.4: V&V • Validation: w.r.t requirement (what?) • Appropriate/fit-for-use/”right thing"? • Scenario and usage inspection/testing; • System/integration/acceptance testing; • Beta testing and operational support. • more external focus – linked with failures • Verification: w.r.t specification/design (how?) • Correct/”doing things right"? • Check conformance of software system to specifications • Structural and functional testing; • Inspections and formal verification. • more internal focus
Ch 4: V & V Questions • Are the following verification or validation activities? • activities that focus on providing continued service even when local problems exist • safety assurance activities that prevent or reduce accident damage when an accident is unavoidable • checking how one component works with another component • determining whether a function behaves expectedly • determining whether overall functions are implemented and implemented correctly • detecting or preventing faults that are linked to failures
Ch.4: V&V vs DC View • Two views of QA: • V&V view • DC (defect-centered) view in this book • Interconnected: mapping between V&V and DC views See Table 4.1 (p.51)
Ch.5: QA to QE • QA activities need additional support • Planning and goal setting • Management • When to stop? • Adjustment and improvement, etc. • All based on assessments/predictions • Assessment of quality/reliability/etc.: • Data collection needed • Analysis and modeling • Providing feedback for management
Ch.5: QE Process • Overall process: Fig 5.1 (p.54)
Ch.5: QE Activities • Idea/activities similar to Quality Improvement Paradigm (QIP) • understand, assess, package => feedback loop for improvement. • Major activities: • Pre-QA planning (understand) • QA: covered previously (Ch.3 & 4) (assess) • Post-QA analysis and feedback (may be parallel instead of “post-") (package)
Ch.5: Pre-QA Planning • Setting quality goal(s): • Identify quality views/attributes • Select direct quality measurements • Assess quality expectations vs. cost • Forming a QA strategy • Individual strength/weakness/cost of QA • Alternatives matched against goals • Measurement/feedback planning: • define measurements & collect data • preliminary choices of models/analyses • feedback & follow up mechanisms, etc.
Ch.5: Analysis and Feedback • Measurement: • Defect measurement as part of defect handling process • Other related measurements • Analyses: quality/other models • Data and historical baselines • Goal: assessment / prediction / improvement • Focus on defect / risk / reliability analyses • Feedback and follow up: • Frequent feedback: assessments/predictions • Possible improvement areas • Used in management and improvement • Details in Part IV.
Ch.5: QE Context and Cost • QE activities in software processes: • Different start/end time • Different sets of activities and focuses • In waterfall process: Fig 5.2 (p.61) • In other processes: slight variations • QE activity/effort distribution/dynamics: • Different focus in different phases • Different levels (qualitatively) • Different build-up/wind-down patterns • In waterfall process: Fig 5.3 (p.63) • In other processes: similar but more evenly distributed