Learning objectives. Test and Analysis Activities within a Software Process. Software Qualities and Process. The Quality Process

Similar documents
Software Maintenance

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

Software Security: Integrating Secure Software Engineering in Graduate Computer Science Curriculum

Modeling user preferences and norms in context-aware systems

Summary BEACON Project IST-FP

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

M55205-Mastering Microsoft Project 2016

Use the Syllabus to tick off the things you know, and highlight the areas you are less clear on. Use BBC Bitesize Lessons, revision activities and

Simulation in Maritime Education and Training

Operational Knowledge Management: a way to manage competence

RETURNING TEACHER REQUIRED TRAINING MODULE YE TRANSCRIPT

La Grange Park Public Library District Strategic Plan of Service FY 2014/ /16. Our Vision: Enriching Lives

Institutionen för datavetenskap. Hardware test equipment utilization measurement

The Evolution of Random Phenomena

ESTABLISHING A TRAINING ACADEMY. Betsy Redfern MWH Americas, Inc. 380 Interlocken Crescent, Suite 200 Broomfield, CO

Rule-based Expert Systems

School Physical Activity Policy Assessment (S-PAPA)

Implementing a tool to Support KAOS-Beta Process Model Using EPF

RtI: Changing the Role of the IAT

What is a Mental Model?

MATH 205: Mathematics for K 8 Teachers: Number and Operations Western Kentucky University Spring 2017

Certified Six Sigma - Black Belt VS-1104

Using Virtual Manipulatives to Support Teaching and Learning Mathematics

Changing User Attitudes to Reduce Spreadsheet Risk

TEACHING IN THE TECH-LAB USING THE SOFTWARE FACTORY METHOD *

CREATING SHARABLE LEARNING OBJECTS FROM EXISTING DIGITAL COURSE CONTENT

Generating Test Cases From Use Cases

Human Factors Engineering Design and Evaluation Checklist

Delaware Performance Appraisal System Building greater skills and knowledge for educators

The Role of Architecture in a Scaled Agile Organization - A Case Study in the Insurance Industry

Document number: 2013/ Programs Committee 6/2014 (July) Agenda Item 42.0 Bachelor of Engineering with Honours in Software Engineering

Get with the Channel Partner Program

Ericsson Wallet Platform (EWP) 3.0 Training Programs. Catalog of Course Descriptions

OFFICE OF ENROLLMENT MANAGEMENT. Annual Report

Promoting the Social Emotional Competence of Young Children. Facilitator s Guide. Administration for Children & Families

USER ADAPTATION IN E-LEARNING ENVIRONMENTS

Introduction to Information System

Conceptual Framework: Presentation

Major Milestones, Team Activities, and Individual Deliverables

Position Statements. Index of Association Position Statements

Software Development Plan

KENTUCKY FRAMEWORK FOR TEACHING

Protocol for using the Classroom Walkthrough Observation Instrument

THEORY OF PLANNED BEHAVIOR MODEL IN ELECTRONIC LEARNING: A PILOT STUDY

The IDN Variant Issues Project: A Study of Issues Related to the Delegation of IDN Variant TLDs. 20 April 2011

Unit 3. Design Activity. Overview. Purpose. Profile

BA 130 Introduction to International Business

Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

OCR for Arabic using SIFT Descriptors With Online Failure Prediction

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING

LEGO MINDSTORMS Education EV3 Coding Activities

OPTIMIZATINON OF TRAINING SETS FOR HEBBIAN-LEARNING- BASED CLASSIFIERS

The Impact of Test Case Prioritization on Test Coverage versus Defects Found

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

Execution Plan for Software Engineering Education in Taiwan

Towards sustainability audits in Finnish schools Development of criteria for social and cultural sustainability

WHAT DOES IT REALLY MEAN TO PAY ATTENTION?

FY16 UW-Parkside Institutional IT Plan Report

Case study Norway case 1

Computers on Wheels!!

elearning OVERVIEW GFA Consulting Group GmbH 1

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

School Leadership Rubrics

Nearing Completion of Prototype 1: Discovery

Expert Reference Series of White Papers. Mastering Problem Management

Strategy and Design of ICT Services

DegreeWorks Training Guide

others have examples for how feedback mechanisms at the CBO level have been established?

ACCOMMODATIONS MANUAL. How to Select, Administer, and Evaluate Use of Accommodations for Instruction and Assessment of Students with Disabilities

Every curriculum policy starts from this policy and expands the detail in relation to the specific requirements of each policy s field.

Moderator: Gary Weckman Ohio University USA

Experience Corps. Mentor Toolkit

SSIS SEL Edition Overview Fall 2017

A Pipelined Approach for Iterative Software Process Model

PROCESS USE CASES: USE CASES IDENTIFICATION

Field Experience Management 2011 Training Guides

Education the telstra BLuEPRint

California Professional Standards for Education Leaders (CPSELs)

Project Management for Rapid e-learning Development Jennifer De Vries Blue Streak Learning

Hawai i Pacific University Sees Stellar Response Rates for Course Evaluations

Statewide Strategic Plan for e-learning in California s Child Welfare Training System

University Library Collection Development and Management Policy

EDIT 576 DL1 (2 credits) Mobile Learning and Applications Fall Semester 2014 August 25 October 12, 2014 Fully Online Course

Program Assessment and Alignment

SPECIALIST PERFORMANCE AND EVALUATION SYSTEM

What Is a Chief Diversity Officer? By. Dr. Damon A. Williams & Dr. Katrina C. Wade-Golden

Computer Software Evaluation Form

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

STANISLAUS COUNTY CIVIL GRAND JURY CASE #08-04 LA GRANGE ELEMENTARY SCHOOL DISTRICT

Visit us at:

Standards and Criteria for Demonstrating Excellence in BACCALAUREATE/GRADUATE DEGREE PROGRAMS

THESIS GUIDE FORMAL INSTRUCTION GUIDE FOR MASTER S THESIS WRITING SCHOOL OF BUSINESS

Leveraging MOOCs to bring entrepreneurship and innovation to everyone on campus

The University of Wisconsin Library System

Designing Autonomous Robot Systems - Evaluation of the R3-COP Decision Support System Approach

Towards a Collaboration Framework for Selection of ICT Tools

Self Study Report Computer Science

content First Introductory book to cover CAPM First to differentiate expected and required returns First to discuss the intrinsic value of stocks

Transcription:

Learning objectives Test and Analysis Activities within a Software Process Understand the role of quality is the development process Build an overall picture of the quality process Identify the main characteristics of a quality process visibility anticipation of activities feedback (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 1 (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 2 Software Qualities and Process Qualities cannot be added after development Quality results from a set of inter-dependent activities Analysis and testing are crucial but far from sufficient. Testing is not a phase, but a lifestyle Testing and analysis activities occur from early in requirements engineering through delivery and subsequent evolution. Quality depends on every part of the software process An essential feature of software processes is that software test and analysis is thoroughly integrated and not an afterthought The Quality Process Quality process: set of activities and responsibilities focused primarily on ensuring adequate dependability concerned with project schedule or with product usability The quality process provides a framework for selecting and arranging activities considering interactions and trade-offs with other important goals. (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 3 (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 4

Interactions and tradeoffs example high dependability vs. time to market Mass market products: better to achieve a reasonably high degree of dependability on a tight schedule than to achieve ultra-high dependability on a much longer schedule Critical medical devices: better to achieve ultra-high dependability on a much longer schedule than a reasonably high degree of dependability on a tight schedule Properties of the Quality Process Completeness: Appropriate activities are planned to detect each important class of faults. Timeliness: Faults are detected at a point of high leverage (as early as possible) Cost-effectiveness: Activities are chosen depending on cost and effectiveness cost must be considered over the whole development cycle and product life the dominant factor is usually the cost of repeating an activity through many change cycles. (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 5 (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 6 Planning and Monitoring The quality process Balances several activities across the whole development process Selects and arranges them to be as cost-effective as possible Improves early visibility Quality goals can be achieved only through careful planning Planning is integral to the quality process Process Visibility A process is visible to the extent that one can answer the question How does our progress compare to our plan? Example: Are we on schedule? How far ahead or behind? The quality process has not achieved adequate visibility if one cannot gain strong confidence in the quality of the software system before it reaches final testing quality activities are usually placed as early as possible design test cases at the earliest opportunity (not ``just in time'') uses analysis techniques on software artifacts produced before actual code. motivates the use of proxy measures Ex: the number of faults in design or code is not a true measure of reliability, but we may count faults discovered in design inspections as an early indicator of potential quality problems (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 7 (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 8

A&T Strategy Identifies company- or project-wide standards that must be satisfied procedures required, e.g., for obtaining quality certificates techniques and tools that must be used documents that must be produced A&T Plan A comprehensive description of the quality process that includes: objectives and scope of A&T activities documents and other items that must be available items to be tested features to be tested and not to be tested analysis and test activities staff involved in A&T constraints pass and fail criteria schedule deliverables hardware and software requirements risks and contingencies (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 9 (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 10 Quality Goals Process qualities (visibility,...) Product qualities internal qualities (maintainability,...) external qualities usefulness qualities: usability, performance, security, portability, interoperability dependability correctness, reliability, safety, robustness Dependability Qualities Correctness: A program is correct if it is consistent with its specification seldom practical for non-trivial systems Reliability: likelihood of correct function for some ``unit'' of behavior relative to a specification and usage profile statistical approximation to correctness (100% reliable = correct) Safety: preventing hazards Robustness acceptable (degraded) behavior under extreme conditions (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 11 (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 12

Example of Dependability Qualities Relation among Dependability Qualites 11 12 1 10 2 9 3 Correctness, reliability: 8 4 7 6 5 let traffic pass according to correct pattern and central scheduling reliable but not correct: failures occur rarely Reliable Robust robust but not safe: catastrophic failures can occur Robustness, safety: Provide degraded function when possible; never signal conflicting greens. Blinking red / blinking yellow is better than no lights; no lights is better than conflicting greens correct but not safe or robust: the specification is inadequate Correct Safe safe but not correct: annoying failures can occur (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 13 (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 14 analysis includes Analysis manual inspection techniques automated analyses can be applied at any development stage particularly well suited at the early stages of specifications an design Inspection can be applied to essentially any document requirements statements architectural and detailed design documents test plans and test cases program source code may also have secondary benefits spreading good practices instilling shared standards of quality. takes a considerable amount of time re-inspecting a changed component can be expensive used primarily where other techniques are inapplicable where other techniques do not provide sufficient coverage (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 15 (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 16

Automatic Static Analysis More limited in applicability can be applied to some formal representations of requirements models not to natural language documents are selected when available substituting machine cycles for human effort makes them particularly cost-effective. Testing Executed late in development Start as early as possible Early test generation has several advantages Tests generated independently from code, when the specifications are fresh in the mind of analysts The generation of test cases may highlight inconsistencies and incompleteness of the corresponding specifications tests may be used as compendium of the specifications by the programmers (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 17 (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 18 Improving the Process Long lasting errors are common It is important to structure the process for Identifying the most critical persistent faults tracking them to frequent errors adjusting the development and quality processes to eliminate errors Feedback mechanisms are the main ingredient of the quality process for identifying and removing errors Organizational factors Different teams for development and quality? separate development and quality teams is common in large organizations indistinguishable roles is postulated by some methodologies (extreme programming) Different roles for development and quality? test designer is a specific role in many organizations mobility of people and roles by rotating engineers over development and testing tasks among different projects is a possible option (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 19 (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 20

Example of Allocation of Responsibilities Allocating tasks and responsibilites is a complex job: we can allocate Unit testing to the development team (requires detailed knowledge of the code) but the quality team may control the results (structural coverage) Integration, system and acceptance testing to the quality team but the development team may produce scaffolding and oracles Inspection and walk-through to mixed teams Regression testing to quality and maintenance teams Process improvement related activities to external specialists interacting with all teams Allocation of Responsibilities and rewarding mechanisms: case A allocation of responsibilities Development team responsible development m easured with LOC per person month Quality team responsible for quality possible effect Development team tries to maximize productivity, without considering quality Quality team will not have enough resources for bad quality products result product of bad quality and overall project failure (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 21 (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 22 Allocation of Responsibilities and rewarding mechanisms: case B allocation of responsibilities Development team responsible for both development and quality control possible effect the problem of case A is solved but the team may delay testing for development without leaving enough resources for testing result delivery of a not fully tested product and overall project failure Summary Test and Analysis are complex activties that must be sutiably planned and monitored A good quality process obeys some basic principles: visibility early activities feedback aims at reducing occurrences of faults assessing the product dependability before delivery improving the process (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 23 (c) 2007 Mauro Pezzè & Michal Young Ch 4, slide 24