Download presentation
Presentation is loading. Please wait.
1
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee Department of Computer Science
2
Copyright © 2006 Software Quality Research Laboratory SQA WBS 3.2.4.1 Software Quality Engineering 3.2.4.2 SNS Interface Requirements 3.2.4.3 SNS Integration Plan 3.2.4.4 Software Testing
3
Copyright © 2006 Software Quality Research Laboratory 3.4.2.1 Software Quality Engineering Write Software Quality Engineering Guidelines –Done Present 4 Software Quality Engineering Workshops, focused on Specific DANSE Tasks –To be scheduled –General preparation done
4
Copyright © 2006 Software Quality Research Laboratory Software Quality Engineering Responsibilities Define development process procedures and standards (see http://danse.us/trac/sqa) Recommend methods and tools to support productivity and process compliance Perform periodic audits
5
Copyright © 2006 Software Quality Research Laboratory Process Summary Rigorous code specification derived from informal requirements –Architecture –Behavior Certification –Independent Work Product Review –Quantitative Testing Configuration management –Centralized build/release control –Comprehensive change tracking
6
Copyright © 2006 Software Quality Research Laboratory Essential Process Elements
7
Copyright © 2006 Software Quality Research Laboratory Work Product Completion Criteria Planning Review Initial Requirements Initial Requirements Peer Review Behavior Specification Behavior Specification Architecture Specification Architecture Specification Code Review Software Implementation Software Implementation Certification Test Software Release Software Release
8
Copyright © 2006 Software Quality Research Laboratory Certification Protocol Architecture and Behavior Specs updated to as- built design – peer review action items resolved Code inspection complete – action items resolved Certification testing complete – defect correction for all failures resolved Beta test complete* – reported issues resolved *optional for all except final increment
9
Copyright © 2006 Software Quality Research Laboratory Software Quality Engineering Responsibilities Define development process procedures and standards (see http://danse.us/trac/sqa) Recommend methods and tools to support productivity and process compliance Perform periodic audits
10
Copyright © 2006 Software Quality Research Laboratory Software Configuration Management
11
Copyright © 2006 Software Quality Research Laboratory Trac Ticket Lifecycle
12
Copyright © 2006 Software Quality Research Laboratory Roles of Trac and Subversion in the Development Sequence
13
Copyright © 2006 Software Quality Research Laboratory Manual Inspection Manual and Automated Code Inspection Code Automated Inspection (PyLint, Flexelint) + Test 2. Verify correct code functionality with respect to specification. 1. Identify defects related to semantic errors and hazardous coding practices. 3. Iterate until defect volume is acceptable for testing.
14
Copyright © 2006 Software Quality Research Laboratory Software Quality Engineering Responsibilities Define development process procedures and standards (see http://danse.us/trac/sqa) Recommend methods and tools to support productivity and process compliance Perform periodic audits
15
Copyright © 2006 Software Quality Research Laboratory Quick-look Audit Results: Areas for Improvement Requirements Definition Behavior Specification Architecture Specification Code Annotation (Doxygen) Certification Test Planning Design Review
16
Copyright © 2006 Software Quality Research Laboratory Toward Better Requirements (Use Cases) U (Functional Requirements) Express as stimulus/condition/response action statement “When the user does X while Y is true, then the system output is Z.” Collect all in a single work product Itemize and tag for traceability
17
Copyright © 2006 Software Quality Research Laboratory Toward Better Requirements Supplementary Requirements Nonfunctional requirements only Should be measurable If not measurable, then objectively verifiable Otherwise, don’t bother
18
Copyright © 2006 Software Quality Research Laboratory Behavior Specification (currently non-existent) 1) Establish system boundary. 2) Define human/software/hardware interfaces. 3) Itemize stimuli. 4) Itemize responses. 5) Define response for every stimulus sequence.
19
Copyright © 2006 Software Quality Research Laboratory Architecture Specifications (currently too implicit and incomplete) Define components and their responsibilities Specify relationships among components Specify intra-system and external interfaces Ensure unidirectional dependency hierarchy Specify assumptions regarding platform/environment
20
Copyright © 2006 Software Quality Research Laboratory DANSE Architecture Specification Recommendation Overview class diagram(s) with summary description of each class/component on Doxygen main page Detailed interface specifications embedded in code as Doxygen annotation
21
Copyright © 2006 Software Quality Research Laboratory Specification for Functions & Static Processes (using Doxygen) 1) For arguments and return values, specify type, definition, units, valid range, and default value 2) Partition input space into domains 3) Specify response function for EVERY domain
22
Copyright © 2006 Software Quality Research Laboratory Required Testing (missing in some planning documents) Certification Test Model system Generate test cases Define test oracle(s) Execute test Evaluate results Beta Test Plan User Guide User training User feedback Completion criteria
23
Copyright © 2006 Software Quality Research Laboratory Design Review Essentials Reviewable work product checked into SVN Notify reviewers 2+ days before review Review formats 1. “Walk-thru” meeting 2. Issue resolution meeting 3. E-review by individuals Reviewers confirm correctness and traceability Record each action item as Trac ticket Resolve action items (tickets) Update work product in SVN
24
Copyright © 2006 Software Quality Research Laboratory Software Engineering Workshop Topics Engineering Diffraction Focus CNMS Room L382, Wed, Jan 24 Better and Easier Requirements Systematic transition: Requirements→Behavior Spec→Code Architecture spec standards Model-based Testing How-to
25
Copyright © 2006 Software Quality Research Laboratory Quality Challenges New, large, distributed development team Wide range of software engineering experience Expectations comparable to industrial product line Reliable, intuitive operation for novice users Straightforward extensibility for power users Long term maintenance by SNS
26
Copyright © 2006 Software Quality Research Laboratory
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.