February 12, 2018 Sam Siewert
SE420 Software Quality Assurance
Lecture 5 – WBS, SoW, and More on Requirements and Acceptance, Part-2
Reminders Assignment #3 Posted, due on 2/23
Exam #1 - Tues, 2/27, Review on 2/22 (Thurs) After Completion of Assignment #3 on 2/23 I will grade Assignment #2 this week and Turn-around Assignment #3 Quickly, Completing Grading on Monday, 2/26 Remaining Assignments [Top Down] – #4 – System Design and System Integrated Test – #5 – Design, Module Unit Tests and Regression Suite – #6 – Complete Code, Refine and Run all V&V Tests and Deliver
We can have another pre-Exam Quiz on-line, 2/25
Sam Siewert 2
Assignment #2 & #3 Unit Tests Should Have POSITIVE (PASS) output OR NEGATIVE (FAIL) OR ASSERT Use of Assert – Halts Testing on Spot When Expected Condition NOT met Use Early in Unit Testing, Carry into I&T for Fatal-Errors Non-Fatal should output FAIL, test continues Prior to Final System Integration, all ASSERT Eliminated and Replaced by Exception Handlers (Recovery) – Gate for FCS (First Customer Ship)
Sam Siewert 3
Using Assert Library function or macro – E.g. Linux , Windows, Mac OS-X Abort Program if Assertion Predicate is FALSE Wrap around any C/C++ Expression that evaluates to TRUE or FALSE (use return codes from functions, all OS functions normally return 0 or POSITIVE for success and NEGATIVE ERROR code for failure – wrap in conditional expression to create predicate) For Fatal Errors, without Exception Handling for Recovery or Fail-Safe, No Point continuing test cases Sam Siewert 4
Code Walkthroughs and Inspections
Work Plans and Test Plans
Sam Siewert
5
http://dilbert.com/strips/comic/2010-03-08/
Project Kick-off Top-Down – Concept, Vision and
Mission Statement – Specific Objectives – Statement-of-Work – Work Breakdown
Structure – Requirements
Specification – Test Strategy and
Plans
Documentation Inspections Audits
Sam Siewert 6 http://en.wikipedia.org/wiki/Work_breakdown_structure
http://www.gao.gov/assets/150/146085.pdf - Report to Chaiman, Committee on Armed Services, House of Representatives – Aircraft Development- The Advanced Tactical Fighter’s Cost, Schedule, And Performance Goals
Statement-of-Work Purpose Scope of Work Location and Key Personnel Period of Performance (Cost Estimates) Deliverables and Schedule Outline Standards Followed High Level Acceptance Criteria Special Requirements or Pre-conditions to Start Business Agreements
Sam Siewert 7
Resources for Requirements Documentation
IEEE Standard 830-1998, 29148-2011(Active) IEEE SRS Template Tracing to Acceptance Test by Section and Requirement #
Sam Siewert 8
Example SRS for Test-Driven Design Write the User’s Guide and Test plans, scripts, drivers, etc. first
Example - Linux-File-RAID-System-SRS.pdf Complete Middle and Right Hand side of “V” as early as possible
Sam Siewert 9
Resources for Test Plans and Strategy IEEE Standard for Software and System Test Documentation – Master Test Plan – Describes overall plan and levels of test – Level Test Plan, Design, Cases, Procedure, Log
Unit Test Plan Sub-system Test Plan System Test Plan Acceptance Test Plan
– Level Test Report Unit Test Report Sub-system Test Report System Test Report Acceptance Test Report
– Master Test Report – Overall Evaluation of all Levels of Test
Sam Siewert 10
Take-Away Documentation is Critical SQA Test Documentation Should Parallel all Analysis, Design, Implementation and Delivery Documents for the Project IEEE Standards and Templates are a Great Place to Start Mission Statement Should be Simple, Non-Technical SoW Should Describe Scope, Purpose, Goals, Deliverables WBS Should be Detailed and Hierarchical Representation of All Tasks to Complete Project
Sam Siewert 11
More Unit Test Discussion – Image Proc Walkthrough
Image Processing Unit Test http://mercury.pr.erau.edu/~siewerts/se420/code/Examples-Imageproc-Unit-Test/ – Driver – Test Cases [Additional?]
– Function Specification(s)
– Implementation
– Function, Performance, Error Handling
Sam Siewert 12
More Unit Test Discussion – SW RAID Walkthrough
Software RAID Unit Test http://mercury.pr.erau.edu/~siewerts/se420/code/Examples-RAID-Unit-Test/ – Driver – Test Cases [Additional?]
– Function Specification(s)
– Implementation
– Function, Performance, Error Handling
Sam Siewert 13