Measuring and Assessing Software Quality

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

Software Quality. Lecture 4 CISC 323. Winter 2006

Software Quality Management

Software Quality Management

International Standard ISO/IEC 9126

Software Quality Assurance

Model-Based Design Maturity: Benchmarking the Automotive Industry Vinod Reddy Manager, Consulting Services

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

CSE 435 Software Engineering. Sept 14, 2015

INTEGRATING ISO 9000 METHODOLOGIES WITH PROJECT QUALITY MANAGEMENT

Software Quality Management

Testing throughout the software life cycle. Software Testing: INF3121 / INF4121

Software Quality Management

Chapter 6. Software Quality Management & Estimation

Requirements Gathering using Object- Oriented Models

GAIA. GAIA Software Product Assurance Requirements for Subcontractors. Name and Function Date Signature 15/09/05 15/09/05 15/09/05 15/09/05 15/09/05

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

Quality Management. Managing the quality of the design process and final


PRES The Effects of Software Process Maturity on Software Development Effort

Associate Professor, FCA, Manav Rachna International University, Faridabad, Haryana, India

Developed by: Steven Jacobs, Eck Doerry

KNOWLEDGE AREA: SOFTWARE QUALITY

Independent Verification and Validation (IV&V)

Work Plan and IV&V Methodology

Software Quality. A Definition of Quality. Definition of Software Quality. Definition of Implicit Requirements

Software Metrics. Kristian Sandahl

Software Metrics & Software Metrology. Alain Abran. Chapter 10 Analysis of Quality Models and Measures in ISO 9126

the Advanced Research Project on Software Metrics by the Ministry of Economy, Trade and Industry, Japan (METI)

Design Quality. Indu Lakshman

Developing Software Quality Plans a Ten Step Process. Phil Robinson Lonsdale Systems. Software Quality Plans. We all agree that you need one

SE420 Software Quality Assurance

Lecture 6: Non-Functional Requirements (NFRs)

Introduction to Software Engineering

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

ISO/IEC TR Software engineering Product quality Part 3: Internal metrics. Génie du logiciel Qualité des produits Partie 3: Métrologie interne

Requirements Analysis and Design Definition. Chapter Study Group Learning Materials

Software Quality Management

Quality Standards in Open Source Lifecycle

Subject : Computer Science. Paper : Software Quality Management. Module : Quality Management Activities Module No: CS/SQM/15

VVTest: An Environment for Test Information Management to support verification and validation processes

VVTest: An Environment for Test Information Management to support verification and validation processes

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

Software Quality Engineering Courses Offered by The Westfall Team

PART THREE: Work Plan and IV&V Methodology (RFP 5.3.3)

Software Quality S O F T W A R E T E S T I N G. By: MSMZ

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

Software Quality Engineering Courses Offered by The Westfall Team

SE351 Roadmap. SE351a: Software Project & Process Management. W3.2: Software Development Lifecycles

For the PMP Exam using PMBOK. PMI, PMP, PMBOK Guide are registered trade marks of Project Management Institute, Inc.

Dependable Technologies For Critical Systems. Software Verification. 22 nd May Technologies Ltd 2011 Critical Software

CENTRE (Common Enterprise Resource)

Chapter 26. Quality Management

T Software Testing and Quality Assurance Test Planning

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

Project Quality Management. For the PMP Exam using PMBOK

SOFTWARE QUALITY ASSURANCE (SQA) Chapter 1

9. Verification, Validation, Testing

Course 3. Software Quality Assurance & Software Quality Models. S. Motogna - Software Quality

Verification of Quality Requirement Method Based on the SQuaRE System Quality Model

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

The Explicit Relationship Between CMMI and Project Risks

Desk Audit of. Based on Federal Transit Administration (FTA) Quality Assurance and Quality Control Guidelines FTA-IT

10 metrics for improving the level of management. Pekka Forselius, Senior Advisor, FiSMA ry Risto Nevalainen, Senior Advisor, FiSMA ry

V&V and QA throughout the M&S Life Cycle

A Measurement Approach Integrating ISO 15939, CMMI and the ISBSG

Design for Six Sigma in the Software Lifecycle -- Did We Lose the Fox?

Feature Articles: Software Development Technologies

Software Engineering. What is Software Engineering? What does SE do? CS / COE 1530

B.H. Far

QuEST Forum. TL 9000 Quality Management System. Requirements Handbook

Testability of Dynamic

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

Building quality into the software from the. Keeping and. the software. software life cycle

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

CS SOFTWARE ENGINEERING QUESTION BANK

Automated System Validation By: Daniel P. Olivier & Curtis M. Egan

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

Surviving the Top Ten Challenges of Software Testing

An Overview of Software Process

Software engineering Product quality Part 3: Internal metrics

Software Quality Factors

PEARSON. Addison Wesley

Quality. And Software Product Management. Autumn 2017 CSM14104 Software Product Management 1

14595: Model Based Engineering for Embedded Test Software Requirements Development

New Opportunities for System Architecture Measurement

The Quality Quotient Insightful Strategies for Quality IT Project Releases. October 24, 2015

IEC and ISO A cross reference guide

Chapter 24 - Quality Management. Chapter 24 Quality management

CMMI SM Model Measurement and Analysis

Correlation matrices between ISO 9001:2008 and ISO 9001:2015

Safety Concept Description Language (SCDL) ISO Safety Concept, Design & Verification

Future Enhancements to the U.S. Federal Aviation

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

On Some Quality Issues of Component Selection in CBSD

Requirements Engineering

An Overview of Software Reliability

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

VHDL Introduction. EL 310 Erkay Savaş Sabancı University

Transcription:

Measuring and Assessing Software Quality Issues, Challenges and Practical Approaches Kostas Kontogiannis Associate Professor, NTUA kkontog@softlab.ntua.gr

The Software Life Cycle Maintenance Requirements Specifications Analysis System Architecture System Design Implementation Testing Operation Use Case Models Expressed in terms of Structured by Realized by Implemented by Verified by Evolved by class... class... class... class... Application Domain Objects Subsystems / Components Solution Domain Objects Source Code Test Cases Analysis Models Project Management Processes, Project Implementation Processes, Organizational Support Processes 2

The Software Systems Landscape Different types of systems have different types of quality assessment challenges: Safety and Mission-Critical Systems (Level A E) Power plant monitoring & control, Navigation, guidance & control, Communications, Emergency handling systems Non mission-critical Systems Executive Support Systems, Management Information Systems, Office Automation Systems, Transaction Processing Systems Vertical vs. Horizontal software scope Custom made, specific industry vs. generic framework 3

Software Quality ISO 9126 External and Internal Quality Functionality Reliability Usability Efficiency Maintainability Portability Suitability, Accuracy, Interoperability, Security, Functionality, Compliance Maturity, Fault tolerance, Recoverability, Compliance Understandability, Lernability, Operability, Attractiveness, Compliance Time behavior, Resource Utilization, Compliance Analyzability, Changeability, Stability, Testability, Compliance Adaptability, Installability, Coexistence, Replaceability, Compliance Quality in Use Effectiveness Productivity Safety Satisfaction 4

The Four Variables The main four variables of a project Development cost, Time, Quality, Scope Only three of these variables can be (more or less) freely adjusted Development cost, time and quality are bad control variables The number of developers can only be incrementally increased Deadlines are often predetermined externally Low quality upsets customers and developers Scope is the only real control variable 5

Software System Stakeholders Usability, End-user programmability, Ease of adoption, Customizability, Extensibility, Security, Safety, Performance, Installability, Documentation Process fitness for use, Price, Competitive positioning and strategic advantage in industry, Process improvement, Cost reduction Users Maintainability, Reliability, Testability, Robustness, Modularity, Cost, Reqs. Compliance, Feature provision, Time to market, Vertical vs. Horizontal markets Vendors Acquirers Regulatory Agencies Standards and Guidleiines, Independent Verification and Validation, Safety, Security, Compliance 6

Software Quality: The Vendor s Perspective Software quality is assured with techniques applied at the: Process Level: Unified Processes Capability Maturity Model Integrated (CMMI) ISO 9126 / ISO 14598 / Square Independent Verification and Validation IV & V Product / System Level: External System Properties Analysis Internal System Properties Analysis Security Assurance Compliance Reliability 7

Software Quality: The Vendor s Perspective Software quality evaluation Product level guidelines External Systems Properties Analysis Functional adequacy Volatility Accuracy and Precision Interface standards compliance Internal System Properties Analysis (pure Metrics) Traceability Defects per KLOC or Defects per Function Point Average Cyclomatic Complexity per Module Information Flow Time and effort to repair and maintain Change-Impact analysis 8

Software Quality: The Regulatory Perspective Analysis Aspects and Levels of Severity (DO-178B) Safety (ISO 26262) Economy (SOX) Security (ISO 27001) Environment related (ISO 14001) 9

Software Quality: The Regulatory Perspective Evaluation Techniques Functional or black box testing Inspection of development documentation guided by checklists Unit testing with test coverage criteria Analysis of fault tolerance construct in the software design and code Reliability growth modelling User interface and documentation inspection Verification of the conformity to interface standards Performing usage experiments with real users Execution time measurement Benchmark testing Analysis of the design to determine the algorithmic complexity 10

Evaluation Methods Software Quality: The Acquirer s Perspective Software Engineering Issues Review of user and technical product documentation Evaluation based on supplier courses and training Assessment of software engineering process Review of operating history with supplier Operating history requirements Operating history review Review of supplier capability, support, and quality system Review of operating history with customers Prototyping 11

Software Quality: The Acquirer s Perspective Other Evaluation Methods Analysis of software architecture design (maintainability) Fault tree analysis of software (safety, reliability) Statistical random usage based testing of software product (reliability) Dynamic analysis of code to check syntax and semantics for correctness (reliability) Hazards analysis of software design (safety, reliability) Review of software requirements specification (functionality) Code inspection (functionality) Black-box testing of software (functionality) Benchmark testing (efficiency) Analysis of requirements traceability (maintainability) Simulated faults at the interfaces between components (robustness). 12

Software Quality: The User s Perspective Source IHS and ISO 14598 13

Summary Software quality is an engineering characteristic of the system and its assessment should follow a prescribed process The software system type determines the assessment methodology Vertical and custom made applications require careful analysis of suitability, while frameworks and general purpose solutions require careful analysis of customizability Internal product attributes are more difficult to be examined by acquirer or end-user, as opposed to external attributes or quality in use attributes 14

Measuring and Assessing Software Quality Issues, Challenges and Practical Approaches Kostas Kontogiannis Associate Professor, NTUA kkontog@softlab.ntua.gr