170 likes | 290 Views
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
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