SOFTWARE PRODUCT QUALITY SOFTWARE ENGINEERING SOFTWARE QUALITY SOFTWARE QUALITIES - PRODUCT AND PROCESS SOFTWARE QUALITY - QUALITY COMPONENTS

Size: px
Start display at page:

Download "SOFTWARE PRODUCT QUALITY SOFTWARE ENGINEERING SOFTWARE QUALITY SOFTWARE QUALITIES - PRODUCT AND PROCESS SOFTWARE QUALITY - QUALITY COMPONENTS"

Transcription

1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - Good software properties SOFTWARE ENGINEERING SOFTWARE QUALITY Today we talk about quality - but what is quality? Suitable Fulfills requirements Customer is satisfied Other attributes than price Superiority, excellence Has required and expected features It seems difficult to find a perfect single definition. SOFTWARE QUALITY - QUALITY COMPONENTS Objective quality component: properties that can be measured or approximated objectively Subjective quality component: customer satisfaction ( What does the product feel like? ) Other: features which can not be (even subjectively) evaluated at the time. This is related with future events which can not be predicted - unexpected circumstances, changes, etc. SOFTWARE QUALITIES - PRODUCT AND PROCESS Product quality - the quality of the software product (including user and technical documentation). Process quality - the quality of the software engineering process used to produce the product. Users are (understandably) primarily interested in the product qualities. The process qualities are used to achieve the product ones. SOFTWARE PROPERTIES - EXTERNAL AND INTERNAL External properties are the ones that are visible to the users. Internal properties are the ones the ones that are visible to the software developers. Users are (understandably) primarily interested in the external properties. The internal properties are used to achieve the external ones. Correctness A couple of years back in the Christmas issue of ITviikkomagazine professor Jukka Paakki from Helsinki University wished for at least one error-free program. 1

2 A delayed Christmas gift More error-free programs program Hello; writeln( 1+1=2 ); #include <stdio.h> main() { printf ("1+1=2\n"); } program Hello3; writeln( 1+2=3 ); More error-free programs Correct or incorrect? program Hello4; writeln( 1+3=4 ); program Hello; writeln( 1+1=3 ); The problem of correctness is in that it does not depend on the program alone but also on the expectations on the program. So, how can we say if any of the previously seen programs was correct or incorrect? How to identify correct programs? Sometimes this seems easy. But how to define correctness so that we could use the definition to identify correct programs? (and do it correctly:) Mathematical proofs Using logic or mathematics, prove that the program has some properties. You can use a (hopefully correct) program to assist you in making the proofs. Problem: These mathematical properties may appear to be even more complex than the programs themselves. 2

3 Correctness A program is functionally correct if it behaves according to the functional specifications. The functional specifications may not always be available. The functional specification may be very informal. The functional specifications may contain ambiguities. Sometimes it is evident what is expected - is it fair to compare the software with general expectations or its own help? Do we assume that the specifications are correct? Reliability A program is reliable, if the user can rely on the software. For reliability, the statistical approach could be used: What is the probability that the software fails with a given task? The program may be reliable in a user s point of view even if it is not correct. Robustness A program is robust, if it behaves reasonably (?) well even in unexpected circumstances - i.e. it tolerates unexpected difficulties. Dealing with errors? E.g. program input is often different from what is expected. The program may be reliable in a user s point of view even if it is not correct. A crucial property in some applications. Performance Performance = efficiency. Efficiency: memory management, disk management, CPU usage,... Asymptotic behaviour: what happens when inputs grow larger? Transaction processing systems: - Throughput = how many transactions can be processed in a given time slice (average or min) - Response time = the time (max or average) needed to process a transaction. User friendliness A software system is user friendly if the users find it easy to use. A subjective quality. Incorrect, inefficient, and unreliable systems are not very user friendly. A non-robust system may be user friendly. Verifiability A software system is verifiable, if its properties can be verified easily. The software properties can be verified using testing or formal analysis. 3

4 Maintainability A software system is maintainable, if it is easy to maintain. Corrective maintenance - removing errors (repairability) Adaptive maintenance - adapting the software to new or changing environments (evolvability). Perfective maintenance - improving other software qualities (evolvability). Evolvability A software system is evolvable, if it is easy to add new functions or change old ones. Adding new functions or changing the old ones usually eats up some of the evolvability - after the change the software is usually less evolvable. Reusability A software system is reusable, if it can be used to produce another software system. Reusability is rare in practice. In addition to the program code, also other parts of the software product, such as designs and documentation, can be reusable. Portability A software system is portable, if it can be run (or it can be made to run) in different environments. Portability across different hardware architectures. Portability across different operating systems. Portability across different hardware configurations. Understandability How easy is it to understand the system s structure and how it works? Some tasks are more complex: it is easier to understand an ordinary text editor than an operating system. There is internal and external understandability. Interoperability is the ability to co-operate with other systems. Exchange of data using data files. Exchange of data using some kind of a clipboard. Exchange of data using network. Standard interfaces Open system - open interfaces 4

5 Productivity The efficiency of the software production process (internal). Huge differences between teams and individuals (starting from the fact that some teams or individuals may not be able to complete some tasks at all). In producing new software one individual can easily be 2-4 times more productive than another. In maintaining old software one individual can in extreme cases be (or even more) times more productive than another. Timeliness The ability to deliver a product in time. Does not happen too often. Result: Alpha versions, Beta versions, Early pre-prototype test versions,... Which is better: to deliver a defective product in time or to deliver a better product late? (Ok, this depends on the situation.) Visibility The software development process is visible, if it is easy to see what has been done and what has happened. If all know what the state of the process is, it is easier to know when to do what. When personnel changes (and in long projects it does), visibility is very valuable. QUALITY COMPONENTS Correctness Reliability Robustness Performance User Friendliness Verifiability Maintainability Reusability Portability Understandability Interoperability Productivity Timeliness Visibility SOFTWARE METRICS ASSUMPTIONS FOR PREDICTOR METRICS Measurements which relate to a software system, process, or related documentation Examples: - size of a product in lines of code - number of reported faults - time required to produce a system component Control metrics measure the process Predictor metrics are measurements of a product attribute which can be used to predict an associated product quality. We can accurately measure some property of the software. A relationship exists between what we can measure and what we would like to know about the product s behavioural attributes. This relationship is understood, has been validated, and can be expressed in terms of a formula or a model. (This last assumption is often ignored.) 5

6 SIZE AND COUNT RELATED METRICS Number of Lines Of Code (LOC) Number of classes Number of comment lines Number of interfaces Number of modules Number of statements Number of variables There s so many things you can count! MORE SIMPLE METRICS Comment density: number of comment lines / number of all lines Fan-in: number of other classes(module,etc.) using this class (module,etc.) Fan-out: number of classes(module,etc.) such that this class (module,etc.) uses them. COHESION RELATED METRICS Cohesion means how well parts of some unit say class belong together. For instance, it is possible to check if methods use the same variables. If they do, they seem to have something in common. A number of cohesion-related metrics exists. COMPLEXITY METRICS McCabes cyclomatic complexity: If G is the control flowgraph of program P, and G has e edges (arcs) and n nodes, then Cyclomatic number V(G) = e - n + 2. Intuitively the metrics measures the different ways the program execution can flow. Halstead metrics based on the number of operators and operands. 6

Software Metrics. Lines of Code

Software Metrics. Lines of Code Software Metrics Naveed Arshad Lines of Code The total number of lines of executable code in the software program or module being measured But lines of code could mean anything e.g. count only executable

More information

Basic Concepts of Reliability

Basic Concepts of Reliability Basic Concepts of Reliability Reliability is a broad concept. It is applied whenever we expect something to behave in a certain way. Reliability is one of the metrics that are used to measure quality.

More information

Qualities of software and its development

Qualities of software and its development 1 / 17 Qualities of software and its development Miaoqing Huang University of Arkansas Spring 2010 Representative qualities 2 / 17 Correctness Robustness Performance Usability Maintainability Portability

More information

Measuring Complexity

Measuring Complexity Measuring Complexity outline why should we measure the complexity of a software system? what might we want to measure? complexity of the source code within a code module between code modules complexity

More information

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering?

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering? Q2a. What are the key challenges being faced by software engineering? Ans 2a. The key challenges facing software engineering are: 1. Coping with legacy systems, coping with increasing diversity and coping

More information

Information Systems. Software Engineering. MCQ - Part 2

Information Systems. Software Engineering. MCQ - Part 2 Information Systems & Software Engineering MCQ - Part 2 Information Systems & Software Engineering MCQ - Part 2 Changes made to the system to reduce the future system failure chances is called Preventive

More information

Darshan Institute of Engineering & Technology Unit : 9

Darshan Institute of Engineering & Technology Unit : 9 1) Explain software testing strategy for conventional software architecture. Draw the spiral diagram showing testing strategies with phases of software development. Software Testing: Once source code has

More information

Software Quality. Chapter What is Quality?

Software Quality. Chapter What is Quality? Chapter 1 Software Quality 1.1 What is Quality? The purpose of software quality analysis, or software quality engineering, is to produce acceptable products at acceptable cost, where cost includes calendar

More information

Roll No. :. Invigilator's Signature :.. CS/MCA/SEM-4/MCA-401/ SOFTWARE ENGINEERING & TQM. Time Allotted : 3 Hours Full Marks : 70

Roll No. :. Invigilator's Signature :.. CS/MCA/SEM-4/MCA-401/ SOFTWARE ENGINEERING & TQM. Time Allotted : 3 Hours Full Marks : 70 Name : Roll No. :. Invigilator's Signature :.. CS/MCA/SEM-4/MCA-401/2012 2012 SOFTWARE ENGINEERING & TQM Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates

More information

Quality Assurance = Testing? SOFTWARE QUALITY ASSURANCE. Meaning of Quality. How would you define software quality? Common Measures.

Quality Assurance = Testing? SOFTWARE QUALITY ASSURANCE. Meaning of Quality. How would you define software quality? Common Measures. Quality Assurance = Testing? SOFTWARE QUALITY ASSURANCE William W. McMillan Meaning of Quality Error-free How define an error? Client is happy (we get paid!). User is happy (we are loved!). Stable (we

More information

Write perfect C code to solve the three problems below.

Write perfect C code to solve the three problems below. Fall 2017 CSCI 4963/6963 Week 12 David Goldschmidt goldschmidt@gmail.com Office: Amos Eaton 115 Office hours: Mon/Thu 1:00-1:50PM; Wed 1:00-2:50PM Write perfect C code to solve the three problems below.

More information

Aerospace Software Engineering

Aerospace Software Engineering 16.35 Aerospace Software Engineering Verification & Validation Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Would You...... trust a completely-automated nuclear power plant?... trust a completely-automated

More information

Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation

Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation Yan Shi SE 2730 Lecture Notes Verification and Validation Verification: Are

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information

TESTING. Overview Slide 6.2. Testing (contd) Slide 6.4. Testing Slide 6.3. Quality issues Non-execution-based testing

TESTING. Overview Slide 6.2. Testing (contd) Slide 6.4. Testing Slide 6.3. Quality issues Non-execution-based testing Slide 6.1 Overview Slide 6.2 Quality issues Non-execution-based testing TESTING Execution-based testing What should be tested? Testing versus correctness proofs Who should perform execution-based testing?

More information

Introduction to Architecture. Introduction to Architecture 1

Introduction to Architecture. Introduction to Architecture 1 Introduction to Architecture Introduction to Architecture 1 Content What is architecture? Motivation for architecture Non-functional requirements Introduction to Architecture 2 What is architecture? The

More information

TESTING SOFTWARE QUALITY CHARACTERISTICS

TESTING SOFTWARE QUALITY CHARACTERISTICS TESTING SOFTWARE QUALITY CHARACTERISTICS Zigmars Gailans TAPOST 2017 Agenda Introduction Quality Functionality Usability Accessibility https://kahoot.it Kahoot app 2 3 What is Quality? The standard of

More information

Automated Testing Frameworks: Test Automation with CodedUI

Automated Testing Frameworks: Test Automation with CodedUI Automated Testing Frameworks: Test Automation with CodedUI CodedUI Introduction CodeUI is one of the important new features in Visual Studio 2010 s Premium and Ultimate versions. It helps users to create

More information

Design and Information Hiding

Design and Information Hiding Design and Information Hiding 15-214: Foundations of Software Engineering Jonathan Aldrich Related Reading: D. L. Parnas. On the Criteria To Be Used in Decomposing Systems into Modules. CACM 15(12):1053-1058,

More information

Software Quality Assurance. David Janzen

Software Quality Assurance. David Janzen Software Quality Assurance David Janzen What is quality? Crosby: Conformance to requirements Issues: who establishes requirements? implicit requirements Juran: Fitness for intended use Issues: Who defines

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 6.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 6 Slide 6.2 TESTING 1 Overview Slide 6.3 Quality issues

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 6.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 6 Slide 6.2 TESTING Overview Slide 6.3 Quality issues

More information

Chapter 10. Testing and Quality Assurance

Chapter 10. Testing and Quality Assurance Chapter 10 Testing and Quality Assurance Different styles of doing code review Human Reviewer Code Inspection with continuous integration infrastructure Pinger s testing set up Testing Related topics 1.

More information

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University and OO OO and OO SE 3S03 - Tutorial 12 Department of Computer Science McMaster University Complexity Lorenz CK Week of Apr 04, 2016 Acknowledgments: The material of these slides is based on [1] (chapter

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, no. 4, September-October 2002 Requirements Engineering Donald G. Firesmith, Firesmith

More information

Datacenter Care HEWLETT PACKARD ENTERPRISE. Key drivers of an exceptional NPS score

Datacenter Care HEWLETT PACKARD ENTERPRISE. Key drivers of an exceptional NPS score Datacenter Care The things I love about Datacenter Care is the a la carte nature of the offering. The contract is really flexible and the services delivered correspond exactly to what we bought. The contract

More information

Software Testing. Software Testing

Software Testing. Software Testing Software Testing Software Testing Error: mistake made by the programmer/ developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures

More information

Part 5. Verification and Validation

Part 5. Verification and Validation Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this

More information

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process Verification and Validation Assuring that a software system meets a user s needs Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 19,20 Slide 1

More information

Topic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia

Topic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia Topic: Software Verification, Validation and Testing Software Engineering Faculty of Computing Universiti Teknologi Malaysia 2016 Software Engineering 2 Recap on SDLC Phases & Artefacts Domain Analysis

More information

Comparing Software Abstractions Baby Steps. Michael Hansen Lab Lunch Talk 2011

Comparing Software Abstractions Baby Steps. Michael Hansen Lab Lunch Talk 2011 Comparing Software Abstractions Baby Steps Michael Hansen Lab Lunch Talk 2011 Comparing Abstractions Need objective comparison method Libraries (OpenGL vs. Direct3D) Language constructs ( -expressions,

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

Software Testing. Lecturer: Sebastian Coope Ashton Building, Room G.18

Software Testing. Lecturer: Sebastian Coope Ashton Building, Room G.18 Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Software Testing 1 Defect Testing Defect testing involves

More information

Product Quality Engineering. RIT Software Engineering

Product Quality Engineering. RIT Software Engineering Product Quality Engineering Q vs q Quality includes many more attributes than just absence of defects Features Performance Availability Safety Security Reusability Extensibility Modifiability Portability

More information

THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT. Software Engineering 2

THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT. Software Engineering 2 General Comments THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT Software Engineering 2 The pass rate was 40% representing the lowest mark

More information

Software Metrics. Kristian Sandahl

Software Metrics. Kristian Sandahl Software Metrics Kristian Sandahl 2 Maintenance Requirements Validate Requirements, Verify Specification Acceptance Test (Release testing) System Design (Architecture, High-level Design) Verify System

More information

Analysis of Various Software Metrics Used To Detect Bad Smells

Analysis of Various Software Metrics Used To Detect Bad Smells The International Journal Of Engineering And Science (IJES) Volume 5 Issue 6 Pages PP -14-20 2016 ISSN (e): 2319 1813 ISSN (p): 2319 1805 Analysis of Various Software Metrics Used To Detect Bad Smells

More information

Chapter 9 Quality and Change Management

Chapter 9 Quality and Change Management MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics

More information

slicing An example of slicing Consider the following example:

slicing An example of slicing Consider the following example: slicing The concept of slicing was introduced over two decades ago. With an initial program behavior (a variable associated with a particular statement), slicing reduces the program to a minimal form which

More information

Pearson Education 2007 Chapter 9 (RASD 3/e)

Pearson Education 2007 Chapter 9 (RASD 3/e) MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics

More information

INTRODUCTION TO SOFTWARE ENGINEERING

INTRODUCTION TO SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING Introduction to Software Testing d_sinnig@cs.concordia.ca Department for Computer Science and Software Engineering What is software testing? Software testing consists

More information

Verification and Validation. Verification and validation

Verification and Validation. Verification and validation Verification and Validation Verification and validation Verification and Validation (V&V) is a whole life-cycle process. V&V has two objectives: Discovery of defects, Assessment of whether or not the system

More information

Basics of Software Testing-I UNIT I Software Testing. Software is used in many applications of the real world. Some of the examples are

Basics of Software Testing-I UNIT I Software Testing. Software is used in many applications of the real world. Some of the examples are SOFTWARE TESTING Basics of Software Testing-I In this chapter, we discuss the following topics: 1. Introduction to Software Testing 2. Understanding Error, Fault and Failure 3. Software Quality Attributes

More information

Taxonomy Dimensions of Complexity Metrics

Taxonomy Dimensions of Complexity Metrics 96 Int'l Conf. Software Eng. Research and Practice SERP'15 Taxonomy Dimensions of Complexity Metrics Bouchaib Falah 1, Kenneth Magel 2 1 Al Akhawayn University, Ifrane, Morocco, 2 North Dakota State University,

More information

Software Engineering Principles

Software Engineering Principles 1 / 19 Software Engineering Principles Miaoqing Huang University of Arkansas Spring 2010 2 / 19 Outline 1 2 3 Compiler Construction 3 / 19 Outline 1 2 3 Compiler Construction Principles, Methodologies,

More information

SOFTWARE DEFECT PREDICTION USING IMPROVED SUPPORT VECTOR MACHINE CLASSIFIER

SOFTWARE DEFECT PREDICTION USING IMPROVED SUPPORT VECTOR MACHINE CLASSIFIER International Journal of Mechanical Engineering and Technology (IJMET) Volume 7, Issue 5, September October 2016, pp.417 421, Article ID: IJMET_07_05_041 Available online at http://www.iaeme.com/ijmet/issues.asp?jtype=ijmet&vtype=7&itype=5

More information

Software complexity Methodologies Comparisons. Paper Reference Number: 6 Name of the Presenter: masoud rafighi

Software complexity Methodologies Comparisons. Paper Reference Number: 6 Name of the Presenter: masoud rafighi 1 Software complexity Methodologies Comparisons Masoud Rafighi 1, Nasser Modiri 2 1 Taali, Qom, Iran; 2 Zanjan Azad University, Zanjan, Iran; Paper Reference Number: 6 Name of the Presenter: masoud rafighi

More information

Comparison Study of Software Testing Methods and Levels- A Review

Comparison Study of Software Testing Methods and Levels- A Review Comparison Study of Software Testing Methods and Levels- A Review Deepti Kapila Grover M.Tech, Dept. of Computer Science, Assistant professor in LCET, Katani Kalan, India ABSTRACT: Software is an activity

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK TWO MARKS UNIT I SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering

More information

Measuring internal product attributes: structure. Basel Dudin

Measuring internal product attributes: structure. Basel Dudin Measuring internal product attributes: structure Basel Dudin dudinbk@mcmaster.ca outline Representing Structure and Complexity Control Flow Graphs (CFG): Representation of Structure Examples of CFG Cyclomatic

More information

Cleanroom Software Engineering

Cleanroom Software Engineering Cleanroom Software Engineering Abstract There are circumstances where quality is paramount, and any kind of error cannot be tolerated. When these circumstances arise, special measures need to be taken

More information

Software Testing. 1. Testing is the process of demonstrating that errors are not present.

Software Testing. 1. Testing is the process of demonstrating that errors are not present. What is Testing? Software Testing Many people understand many definitions of testing :. Testing is the process of demonstrating that errors are not present.. The purpose of testing is to show that a program

More information

DISTRIBUTED COMPUTING

DISTRIBUTED COMPUTING DISTRIBUTED COMPUTING By Sunita Mahajan & Seema Shah Presented By Prof. S.J. Soni, Asst. Professor, CE Dept., SPCE, Visnagar CHAPTER-1 BASIC DISTRIBUTED SYSTEM CONCEPTS What is a distributed system? Tanenbaum

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

Lecture 20: SW Testing Presented by: Mohammad El-Ramly, PhD

Lecture 20: SW Testing Presented by: Mohammad El-Ramly, PhD Cairo University Faculty of Computers and Information CS251 Software Engineering Lecture 20: SW Testing Presented by: Mohammad El-Ramly, PhD http://www.acadox.com/join/75udwt Outline Definition of Software

More information

Specifying and Prototyping

Specifying and Prototyping Contents Specifying and Prototyping M. EVREN KIYMAÇ 2008639030 What is Specifying? Gathering Specifications Specifying Approach & Waterfall Model What is Prototyping? Uses of Prototypes Prototyping Process

More information

Evolutionary Decision Trees and Software Metrics for Module Defects Identification

Evolutionary Decision Trees and Software Metrics for Module Defects Identification World Academy of Science, Engineering and Technology 38 008 Evolutionary Decision Trees and Software Metrics for Module Defects Identification Monica Chiş Abstract Software metric is a measure of some

More information

Weibull Reliability Analyses

Weibull Reliability Analyses Visual-XSel Software-Guide for Weibull The Weibull analysis shows the failure frequencies or the unreliability of parts and components in the Weibull-net and interprets them. Basics and more details can

More information

Future-ready IT Systems with Performance Prediction using Analytical Models

Future-ready IT Systems with Performance Prediction using Analytical Models Future-ready IT Systems with Performance Prediction using Analytical Models Madhu Tanikella Infosys Abstract Large and complex distributed software systems can impact overall software cost and risk for

More information

introduction to Programming in C Department of Computer Science and Engineering Lecture No. #40 Recursion Linear Recursion

introduction to Programming in C Department of Computer Science and Engineering Lecture No. #40 Recursion Linear Recursion introduction to Programming in C Department of Computer Science and Engineering Lecture No. #40 Recursion Linear Recursion Today s video will talk about an important concept in computer science which is

More information

Object-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach.

Object-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach. Slide 14.1 CHAPTER 14 Slide 14.2 Object-Oriented and Classical Software Engineering DESIGN Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 14.3 Overview (contd) Slide 14.4 and abstraction

More information

Ingegneria del Software II academic year: Course Web-site: [www.di.univaq.it/ingegneria2/]

Ingegneria del Software II academic year: Course Web-site: [www.di.univaq.it/ingegneria2/] Course: Ingegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/] Verification and Validation Lecturer: Henry Muccini and Vittorio Cortellessa Computer Science

More information

Anale. Seria Informatică. Vol. XVI fasc Annals. Computer Science Series. 16 th Tome 1 st Fasc. 2018

Anale. Seria Informatică. Vol. XVI fasc Annals. Computer Science Series. 16 th Tome 1 st Fasc. 2018 Anale. Seria Informatică. Vol. XVI fasc. Annals. Computer Science Series. th Tome st Fasc. PERFORMANCE EVALUATION OF IMPROVED COGNITIVE COMPLEXITY METRIC AND OTHER CODE BASED COMPLEXITY METRICS Esther

More information

W.C.Uduwela. Dept. of Mathematics & Computer Science

W.C.Uduwela. Dept. of Mathematics & Computer Science Software Testing W.C.Uduwela Dept. of Mathematics & Computer Science The image cann ot be displayed. Your compu ter may not have enough memory to open the image, or the image may have been cor rup ted.

More information

Department of Electrical & Computer Engineering, University of Calgary. B.H. Far

Department of Electrical & Computer Engineering, University of Calgary. B.H. Far SENG 421: Software Metrics Software Test Metrics (Chapter 10) Department of Electrical & Computer Engineering, University of Calgary B.H. Far (far@ucalgary.ca) http://www.enel.ucalgary.ca/people/far/lectures/seng421/10/

More information

Software Development and Usability Testing

Software Development and Usability Testing Software Development and Usability Testing Shneiderman, Chapter 4 Preece et al, Ch 9, 11-15 Krug, Rocket Surgery Made Easy Rubin, Handbook of Usability Testing Norman Neilsen Group www HCI in Software

More information

Software Metrics and Design Principles. What is Design?

Software Metrics and Design Principles. What is Design? Software Metrics and Design Principles Chapters 5,8 What is Design? Design is the process of creating a plan or blueprint to follow during actual construction Design is a problem-solving activity that

More information

Medical practice: diagnostics, treatment and surgery in supercomputing centers

Medical practice: diagnostics, treatment and surgery in supercomputing centers International Advanced Research Workshop on High Performance Computing from Clouds and Big Data to Exascale and Beyond Medical practice: diagnostics, treatment and surgery in supercomputing centers Prof.

More information

Semantic Web Systems Ontology Matching. Jacques Fleuriot School of Informatics

Semantic Web Systems Ontology Matching. Jacques Fleuriot School of Informatics Semantic Web Systems Ontology Matching Jacques Fleuriot School of Informatics In the previous lecture l Ontological Engineering There s no such thing as the correct way to model a domain. Ontology development

More information

Automated Test Data Design

Automated Test Data Design Automating the Automation Automated Test Data Design How organizations can add Precision and Speed up their testing tasks A CONFORMIQ WHITEPAPER By Kimmo Nupponen 1 Abstract: Experimental evidence and

More information

Technical Metrics for OO Systems

Technical Metrics for OO Systems Technical Metrics for OO Systems 1 Last time: Metrics Non-technical: about process Technical: about product Size, complexity (cyclomatic, function points) How to use metrics Prioritize work Measure programmer

More information

Object-Oriented and Classical Software Engineering THE TOOLS OF THE TRADE 9/22/2017. CHAPTER 5 Slide 5.2. Stephen R. Schach. Overview Slide 5.

Object-Oriented and Classical Software Engineering THE TOOLS OF THE TRADE 9/22/2017. CHAPTER 5 Slide 5.2. Stephen R. Schach. Overview Slide 5. Slide 5.1 CHAPTER 5 Slide 5.2 Object-Oriented and Classical Software Engineering THE TOOLS OF THE TRADE Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 5.3 Overview (contd) Slide

More information

Verification and Validation

Verification and Validation Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Verification and Validation 1 Verification and Validation

More information

Will Silicon Proof Stay the Only Way to Verify Analog Circuits?

Will Silicon Proof Stay the Only Way to Verify Analog Circuits? Will Silicon Proof Stay the Only Way to Verify Analog Circuits? Pierre Dautriche Jean-Paul Morin Advanced CMOS and analog. Embedded analog Embedded RF 0.5 um 0.18um 65nm 28nm FDSOI 0.25um 0.13um 45nm 1997

More information

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT PART A (2 MARKS) UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering is a discipline in which theories, methods and tools are applied to develop professional

More information

Software Testing part II (white box) Lecturer: Giuseppe Santucci

Software Testing part II (white box) Lecturer: Giuseppe Santucci Software Testing part II (white box) Lecturer: Giuseppe Santucci 4. White box testing White-box (or Glass-box) testing: general characteristics Statement coverage Decision coverage Condition coverage Decision

More information

The requirements engineering process

The requirements engineering process 3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process

More information

Applying Machine Learning to Real Problems: Why is it Difficult? How Research Can Help?

Applying Machine Learning to Real Problems: Why is it Difficult? How Research Can Help? Applying Machine Learning to Real Problems: Why is it Difficult? How Research Can Help? Olivier Bousquet, Google, Zürich, obousquet@google.com June 4th, 2007 Outline 1 Introduction 2 Features 3 Minimax

More information

BECOME A LOAD TESTING ROCK STAR

BECOME A LOAD TESTING ROCK STAR 3 EASY STEPS TO BECOME A LOAD TESTING ROCK STAR Replicate real life conditions to improve application quality Telerik An Introduction Software load testing is generally understood to consist of exercising

More information

WHY TEST SOFTWARE?...

WHY TEST SOFTWARE?... 2 At a glance 1 PREFACE... 3 2 AT A GLANCE... 5 3 TABLE OF CONTENTS... 9 4 INTRODUCTION... 17 5 WHY TEST SOFTWARE?... 19 5.1 WHY TEST SOFTWARE?... 19 5.2 LIMITATIONS OF TESTING... 20 5.3 ALTERNATIVE TO

More information

The Power of Unit Testing and it s impact on your business. Ashish Kumar Vice President, Engineering

The Power of Unit Testing and it s impact on your business. Ashish Kumar Vice President, Engineering The Power of Unit Testing and it s impact on your business Ashish Kumar Vice President, Engineering Agitar Software, 2006 1 The Power of Unit Testing Why Unit Test? The Practical Reality Where do we go

More information

Lesson 4: Bug Reporting and STLC

Lesson 4: Bug Reporting and STLC Lesson 4: Bug Reporting and STLC Website https://letslearnqa.wordpress.com Home Work, Class Notes 2 Activity for Every Class: Status Call Please come few minutes early. Sit with with another one or two

More information

Object-Oriented Design גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון

Object-Oriented Design גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון Object-Oriented Design גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 Why Start with Design? Object-oriented thinking begins with objectoriented design It is the easiest way to see the problems of

More information

Tutorial 1 Answers. Question 1

Tutorial 1 Answers. Question 1 Tutorial 1 Answers Question 1 Complexity Software in it what is has to do, is often essentially complex. We can think of software which is accidentally complex such as a large scale e-commerce system (simple

More information

A short introduction to. designing user-friendly interfaces

A short introduction to. designing user-friendly interfaces A short introduction to designing user-friendly interfaces Usability is often ignored until it becomes a problem Introduction This booklet is about Usability and User Experience design. It is aimed at

More information

Two-dimensional Totalistic Code 52

Two-dimensional Totalistic Code 52 Two-dimensional Totalistic Code 52 Todd Rowland Senior Research Associate, Wolfram Research, Inc. 100 Trade Center Drive, Champaign, IL The totalistic two-dimensional cellular automaton code 52 is capable

More information

The most powerful on-page SEO tools in 2016

The most powerful on-page SEO tools in 2016 The most powerful on-page SEO tools in 2016 Frankly speaking, a lot of sources are claiming confidently that SEO is gaining its significance day after day. The point is that it is very hard to disagree

More information

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6403 SOFTWARE ENGINEERING II year/ IV sem CSE (Regulation 2013) UNIT 1- SOFTWARE PROCESS AND PROJECT

More information

CS221: Algorithms and Data Structures. Asymptotic Analysis. Alan J. Hu (Borrowing slides from Steve Wolfman)

CS221: Algorithms and Data Structures. Asymptotic Analysis. Alan J. Hu (Borrowing slides from Steve Wolfman) CS221: Algorithms and Data Structures Asymptotic Analysis Alan J. Hu (Borrowing slides from Steve Wolfman) 1 Learning Goals By the end of this unit, you will be able to Define which program operations

More information

A Model of Large Software Development

A Model of Large Software Development A Model of Large Software Development L.A Belady and M.M Lehman 1976 IBM OS/360 Seminal empirical study paper in software evolution What was it like in 1976? computers were huge computers were slow no

More information

Testing for the Unexpected

Testing for the Unexpected Erlang Solutions Ltd. Testing for the Unexpected Ulf Wiger, CTO Erlang Solutions Ltd QCon, London 2011 1999-2011 Erlang Solutions Ltd. About me Spent 4 years in Alaska working on Military Command & Control

More information

SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT

SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT Question: Difference between Verification and Validation? Answer: Verification ensures the product is designed to deliver all functionality to the customer;

More information

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd)

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) An incorrect code fragment for determining if three integers are equal, together with two test cases Flowchart has over 10

More information

Non Functional Product Requirements (illeties)

Non Functional Product Requirements (illeties) Non Functional Product Requirements (illeties) MANAGEMENT SUMMARY This whitepaper list several Non functional, Illeties or Quality Requirements Non Functional Product Requirements (illeties) ImQuSo White

More information

Agenda. The worst algorithm in the history of humanity. Asymptotic notations: Big-O, Big-Omega, Theta. An iterative solution

Agenda. The worst algorithm in the history of humanity. Asymptotic notations: Big-O, Big-Omega, Theta. An iterative solution Agenda The worst algorithm in the history of humanity 1 Asymptotic notations: Big-O, Big-Omega, Theta An iterative solution A better iterative solution The repeated squaring trick Fibonacci sequence 2

More information

1: Introduction to Object (1)

1: Introduction to Object (1) 1: Introduction to Object (1) 김동원 2003.01.20 Overview (1) The progress of abstraction Smalltalk Class & Object Interface The hidden implementation Reusing the implementation Inheritance: Reusing the interface

More information

The Microsoft Large Mailbox Vision

The Microsoft Large Mailbox Vision WHITE PAPER The Microsoft Large Mailbox Vision Giving users large mailboxes without breaking your budget Introduction Giving your users the ability to store more email has many advantages. Large mailboxes

More information

More advanced CPUs. August 4, Howard Huang 1

More advanced CPUs. August 4, Howard Huang 1 More advanced CPUs In the last two weeks we presented the design of a basic processor. The datapath performs operations on register and memory data. A control unit translates program instructions into

More information

So, You Want to Test Your Compiler?

So, You Want to Test Your Compiler? So, You Want to Test Your Compiler? Theodore S. Norvell Electrical and Computer Engineering Memorial University October 19, 2005 Abstract We illustrate a simple method of system testing by applying it

More information