SE420 Software Quality Assurance

Similar documents
SE420 Software Quality Assurance

Software Quality Engineering Courses Offered by The Westfall Team

Software Quality Engineering Courses Offered by The Westfall Team

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Lecture 2: Software Quality Factors, Models and Standards. Software Quality Assurance (INSE 6260/4-UU) Winter 2016

1. Can you explain the PDCA cycle and where testing fits in?

Measuring and Assessing Software Quality

SE300 Software Engineering Practices

18-642: Software Development Processes

Introduction to the Testing Maturity Model Enhanced TM (TMMe)

Architectural Considerations for Validation of Run-Time Application Control Capabilities for Real-Time Systems

SE310 Analysis and Design of Software

Software Engineering

Introduction to Software Engineering

SE curriculum in CC2001 made by IEEE and ACM: What is Software Engineering?

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Softwaretechnik. Lecture 02: Processes. Peter Thiemann SS University of Freiburg, Germany

II. Software Life Cycle. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

The software process

T Software Testing and Quality Assurance Test Planning

CSE 435 Software Engineering. Sept 14, 2015

Fundamentals Test Process

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Testing. Testing is the most important component of software development that must be performed throughout the life cycle

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

Surviving the Top Ten Challenges of Software Testing

SOFTWARE QUALITY ASSURANCE (SQA) Chapter 1

Testing 2. Testing: Agenda. for Systems Validation. Testing for Systems Validation CONCEPT HEIDELBERG

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

A Review Paper on Software Testing

Software Engineering

CS SOFTWARE ENGINEERING QUESTION BANK

(c) Addison Wesley Chapter 1. ! Software production is an art. ! Two groups. ! Main causes of software failures

Bugs are costly... Kinds of Quality Assurance

ISTQB Certified Tester. Foundation Level. Sample Exam 1

Software Engineering & Architecture

Software Engineering


R.POONKODI, ASSISTANT PROFESSOR, COMPUTER SCIENCE AND ENGINEERING, SRI ESHWAR COLLEGE OF ENGINEERING, COIMBATORE.

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK

Work Plan and IV&V Methodology

ISTQB CTFL BH0-010 Exam Practice Question Paper

9. Verification, Validation, Testing

LIFE-CYCLE MODELS AND PROCESS. Software Engineering 1/9/2008. CHAPTER 1, 2, and 3. Stephen R. Schach

The Product and the Process The Product The Evolving Role of Software Software Software: A Crisis on the Horizon Software Myths Summary References

CMSC 435: Software Engineering Section Back to Software. Important: Team Work. More Resources

Software Quality Assurance

SOFTWARE ENGINEERING WITH JAVA

Chapter 26. Quality Management

Skill Category 7. Quality Control Practices

Requirements Verification and Validation

Software Testing(TYIT) Software Testing. Who does Testing?

Introduction To Software Testing. Brian Nielsen. Center of Embedded Software Systems Aalborg University, Denmark CSS

WORK PLAN AND IV&V METHODOLOGY Information Technology - Independent Verification and Validation RFP No IVV-B

Quality Assurance Activities to Support Product Improvement

Teaching Software Quality Assurance in an Undergraduate Software Engineering Program

Software Engineering

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

ICS 52: Introduction to Software Engineering

Engineering. CMMI for Development V.1.2 Module 3. M03/Engineering/v1.2

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT-1

Chapter 3 Prescriptive Process Models

Quality Management Lessons of COQUALMO (COnstructive QUALity MOdel) A Software Defect Density Prediction Model

Explore Comparative Analysis Software Development Life Cycle Models

VANCOUVER Chapter Study Group. BABOK Chapter 6 Requirements Analysis

Cost-Effective Verification and Validation of Modeling and Simulation

BASICS OF SOFTWARE TESTING AND QUALITY ASSURANCE. Yvonne Enselman, CTAL

SOFTWARE QUALIT ASSURANCE- QUESTION BANK

MIS Systems & Infrastructure Lifecycle Management 1. Week 10 March 24, 2016

Software processes, quality, and standards VTV, fast methods, automation

Lesson 31- Non-Execution Based Testing. October 24, Software Engineering CSCI 4490

AUTOMATED DEFECT PREVENTION: BEST PRACTICES IN SOFTWARE MANAGEMENT

Requirements engineering IDY0201

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

This document describes the overall software development process of microcontroller software during all phases of the Company Name product life cycle.

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Independent Verification and Validation (IV&V)

QUALITY ASSURANCE PLAN OKLAHOMA DEPARTMENT OF HUMAN SERVICES ENTERPRISE SYSTEM (MOSAIC PROJECT)

Software Processes 1

Requirements Engineering: Part I. Software Requirements & Project Management CITS3220

Introduction. Fundamental concepts in testing

SWE 211 Software Processes

Chapter 8 : Informatics Practices. Software engineering- Process activities and Agile methods. Class XII ( As per CBSE Board) New Syllabus

Software Processes. Chapter 2. CMPT 276 Dr. B. Fraser Based on slides from Software Engineering 9 th ed, Sommerville.

Solutions Manual. Object-Oriented Software Engineering. An Agile Unified Methodology. David Kung

Introduction to Software Engineering

KNOWLEDGE AREA: SOFTWARE QUALITY

CONTENTS. Introduction to Software Engineering. Software Process and Life Cycle Models. Software Life-Cycle Model-2. Chapter 1. Chapter 2.

Foundations of Software Engineering. Lecture 16: Process: Linear to Iterative Michael Hilton

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

22C:180/55:180 Software Engineering-- Architecture & Design of Software Systems

Software Engineering Modern Approaches

Software Engineering in the Agile World. Table of contents

MTAT : Software Testing

Software Development Life Cycle (SDLC) Tata Consultancy Services ltd. 12 October

Systems Assurance within the Systems Engineering Lifecycle

methodologies (SOFTWARE ENGINEERING) CONTENTS 1.1 INTRODUCTION TO O SOFTWARE ENGINEERING Basic Stages in Software Development... 1.

Chapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2.

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016

Transcription:

SE420 Software Quality Assurance Lecture 2 Software Specification Part-1 January 16, 2017 Sam Siewert

SQA LO s (Learning Objectives) Theory and Principles 1. Coverage of Current SQA Theory and Practice 2. Concurrent SWE and SQA Design and Development 3. Execution of SQA Tests for Compliance Throughout Life-cycle 4. Integration of SQA with SWE Life-cycle for External or Internal SQA 5. Software Project Failure and Success Root-Causes 6. When are We Done Testing? (Exit Criteria) 7. Why Can t Software (Realistically) be Zero Defect? If not, How Do We Build Mission Critical Software Systems? Practice 1. Use of Key TOOLS for SQA Automation and Metrics 2. Taking Someone s Code [Good, Bad, Great, ] and Improve it 3. Unit Testing Code as You Go, Debugging Skills 4. Integration and Test 5. Acceptance Testing and Delivery 6. Holding Effective Walk-throughs and Inspections 7. Scaffold Assignments to Produce Improved Application Using SQA Process (Specification, Design, Implementation, Compliance) Sam Siewert 2

Reading This Week SQA Text, Chapter 2 as Planned Boehm on Guidelines for Software V&V of Requirements and Design Specifications Skim SWEBOK, Chapters 1 & 2 [Also on Canvas] Are These Guidelines Consistent (E.g. Boehm and SWEBOK) and Do they fit Lewis SQA Overview? Think About Lifecycle and SQA Role in it Sam Siewert 3

4 Dimensions of SW Quality 1. Specification (What) What will be built 2. Design (How) How it will be Built 3. Development (How) Software Construction 4. Conformance Was the right thing built (validation) and does it work (verification) Which Interrogatives are Left Out? Who? Stakeholders End Users, Management (Marketing, Finance, Sales, Project, Functional), Customer, etc. Where? Organization (Distributed Team?) Why? Marketing Study (MRD -> SRD), Product Research, Customer Request When? Schedules Enemy of Quality? Time to Market (Relevance of a product, need for it) Estimation with Defined Process? Sam Siewert 4

Requirements Baseline Validated Requirements (Specification) and form Baseline Plan of Record (for Design and Development Team) Perform Validation to Prior to Design and Code Construction Long Before Test Re-validate during Design and Testing, Again in Acceptance Test Most Costly Error is Shipping Invalid Software Sam Siewert http://csse.usc.edu/csse/techrpts/1979/usccse79-501/usccse79-501.pdf 5

Modern V model Careful Distinction of When V&V is Designed and When it is Used Missing flow? Yes No reason for Architecture not to cross validate with I&T Sam Siewert www.ndia.org/divisions/divisions/systemsengineering/documents 6

Waterfall Model Specification is First Phase of Waterfall Model Validation of Requirements Validation of Requirements Can be Done as Late as Testing, but Why Not Start Earlier? See Barry Boehm Guidelines and Cost Estimation of Requirements Errors Highest Cost Error Found in Testing Phase E.g. Missing Feature Inconsistency Requirements (Analysis, Specification, Validation) Design Construction Testing Maintenance Sam Siewert 7

Evolutionary or Spiral Model Phases - Radial Distance and Area Represents Effort (Time / Cost) Plan to Re-visit Phases Goal is to Control Cost/Effort and Impact of Mistakes Design (High Level, Detailed, Validation) Detailed, Validated Specification (Requirements, Design, Validation Tests) Specification (Analysis, Requirements, Validation) Detailed Design Project HLD Finalize Code Modules and Unit Tests (Code inspections) Finalize Design Define Services And interfaces Concept Code (walk-through) I & T Readiness Software Construction (Interfaces, Objects/Modules, Algorithms, Coding) Refine specification and re-validate Project Proposal (Concept Validation) Write/review Reference Project Unit Testing System Integration Test Evolutionary Prototype System Demonstration (Acceptance) Compliance (Testing: Unit, Integrated, Regression, Acceptance) All Modules Complete & Unit Tested Sam Siewert 8

Requirements Validation - Boehm Complete? Review Customer sign off Consistent? Source Traceability Where is Requirement met in Design? Where is it Tested? Feasible? Proof-of-Concept Needed? Risk, Impact, Cost Testable? E.g. Requires Fault Injection Sam Siewert 9

Overall SQA Process IEEE Computer SWEBOK version 3 Organizations for SQA - http://www.sei.cmu.edu/ Process and Validation of Process - http://whatis.cmmiinstitute.com/ Process Must Be Defined, Repeatable, and Improved Over Time What Does SWEBOK say about Requirements Specification? What Does Lewis SQA book say about Validation (see pages 15-16)? Semantic issue of Designing Validation Tests vs. Executing or Using Validation Tests to Perform Validation of Requirements, Design, Code SQA Design should be Concurrent with SWE Design We ll take a closer look at this in the V-model for concurrent SQA/SWE Do Both Agree with Boehm? Sam Siewert 10

Test Specification -> Execution Conducting a Test? Not Really Specify Test Plan Design Test(s) Implement Test Drivers and Scripts Test the Test(s) Execute or Run Tests Unit Test (Developer) Nightly Build & Smoke Test Regression Test Stress Test Negative Testing http://bibliolore.org/2013/09/03/zappa-and-classical-music/ http://uploadvr.com/samsung-provides-20-gear-vrs-for-a-virtual-reality-programming-class-in-southern-california/ code has Sam Siewert 11 https://www.cartoonstock.com

SWEBOK Definition and Comments The Software Requirements knowledge area (KA) is concerned with the elicitation, analysis, specification, and validation of software requirements as well as the management of requirements during the whole life cycle of the software product. software projects are critically vulnerable when the requirements-related activities are poorly performed. requirements express the needs and constraints placed on a software product that contribute to the solution of some real-world problem. Sam Siewert 12

Scaffold Assignment Strategy for LO s Use Working Example? [E.g. Secure messaging, File RAID, Image Processing] Assignment #1 Familiarity by Walk-through of Reference (Example) Walkthrough and Debug Skills (Compared to Inspection) Assignment #2 - Specify Secure SMS (Text) Messaging System? Other? Leverage Reference Example, or Adapt PGP Open Source, others? Requirements Validation (Review) Requirements Traceability HLD High Level Design Assignment #3 - Design Secure SMS Detailed Design Design Inspection (V&V) Assignment #4 - Construct Secure SMS Code Units, Code Inspection, Unit Test Development Assignment #5 - Test Secure SMS (Unit, Negative, Integrated, Regression) Unit Test (V&V) Fault Injection / Negative Testing (E.g. Cryptanalysis) Assignment #6 - Deliver Full Lifecycle Example with Acceptance Test to User/Customer Integrate (Integrated V&V), Bug Fix, Regression Test, Deliver Sam Siewert 13