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

Size: px
Start display at page:

Download "Software Testing Strategies. Brian Nielsen. Center of Embedded Software Systems Aalborg University, Denmark CSS"

Transcription

1 Software Testing Strategies Brian Nielsen Center of Embedded Software Systems Aalborg University, Denmark CSS

2 Test strategies Overview of testing types Test levels Unit Integration Top-down, buttom up, sandwich, System Acceptance Embedded Systems test environments Gradual refinement towards real system Test Plans When is what to be tested by whom how thoroughly???

3 Types of Testing system Level integration unit robustness performance white box black box Accessibility usability reliability functional behaviour Aspect

4 Types of Testing system Level integration unit robustness performance white box black box Accessibility usability reliability functional behaviour Aspect

5 Quality-Characteristics (ISO-9126) Functionality Suitability, accuracy, security, compliance, interoperability Reliability maturity, fault tolerance, recoverability Usability understandability, learnability, operability Efficiency time behaviour, resource utilization Maintainability Analysability, changeability, stability, testability Portability Adaptability, intallability, conformance, replaceability

6 Quality-Characteristics (ISO-9126) Functionality functional testing Suitability, accuracy, security, compliance, interoperability Reliability reliability testing maturity, fault tolerance, recoverability Usability usability testing understandability, learnability, operability Efficiency performance testing time behaviour, resource utilization Maintainability maintainability testing?? Analysability, changeability, stability, testability Portability portability testing? Adaptability, intallability, conformance, replaceability

7 requirements V - Model acceptance test spec acceptance test specification system test spec system test architecture spec integration test spec integration test detailed design module test spec module test implementation code unit test spec unit-test

8 Unit-testing Goal: Ensure that module functions correctly according to module spec Module interfaces are tested for proper information flow. Local data are examined to ensure that integrity is maintained. Boundary conditions are tested. Basis path testing should be used. All return values All error handling paths should be tested. Drivers and/or stubs need to be developed to test incomplete software. Mostly white-box techniques.

9 river: a code fragment that nvokes the U-ut Simulate Supplies input data Invokes Unit Collects and compares results ~xunit testing frame work Function call Method invocation Message passing Shared variables test driver Unit under test Unit test E Component Hierarchy F A B C D C-function Abstract Data Type Object Process / thread G test stub test stub Stub: a code fragment that simulates a missing unit Simulate Pre-programmed return values Simplified impl.

10 Integration Testing Goal: Systematic construction of program structure and testing for interfacing errors Loss of data/information across interfaces Side-effects (shared data-structures) Accumulation of errors (imprecision) Incremental Consider required cost and thoroughness Mostly blackbox, supplemented with whitebox tests to ensure coverage

11 Big-bang integration. Test all components in isolation. Integrate all in one step Component Hierarchy A B C D Integration Order Test B Test A Test E E F G - Stubs and drivers needed! - Difficult to localize cause of errors - Difficult to distinguish interface faults Test C Test F Test A,B,C,D E,F,G Test D Test G

12 Buttom-Up integration. Test lower levels first (utility routines). Implement driver (easy) to invoke module. Use tested modules as stubs Component Hierarchy A B C D Integration Order E F G Test E Test F Test B,E,F Test C Test A,B,C,D E,F,G +No stubs needed! -Mundane low-level utilities tested first, but most important top level modules tested late Critical errors found late Main design problems are at higherlevels Timing determined by high-level modules Test G Test D,G

13 Top-Down integration Component Hierarchy. Test higher levels first (controlling modules) A. Implement stubs to deliver responses. Use tested modules as drivers B C D Integration Order E F G Test A Test A,B,C,D Test A,B,C,D E,F,G +No drivers needed! -Many stubs may be needeed -Stubs may be problematic to write Must provide values as expected by tester May require frequent alteration

14 Sandwich integration. Combination of B-up and T-Down. Divide system into upper, middle (target), and lower levels. B-up in low-levels. T-Down in upper levels Integration Order E Component Hierarchy A B C D F G Test E Test F Test B,E,F + combines B-up and T-Dn + Integration possible early -Individual components not tested thoroughly before integration, especially middle level Test G Test D,G Test A,B,C,D E,F,G Test

15 Testability = how easy can a program be tested operability - it operates cleanly observability the results are easy to see distinct output is generated for each input incorrect output is easily identified controllability processing can be controlled tests can be automated & reproduced decomposability - software modules can be tested independently simplicity - no complex architecture and logic stability - few changes are requested during testing understandability - program is easy to understand

16 Verification & Validation

17 Verification & Validation Verification :

18 Verification & Validation Verification : Software correctly implements a specific function

19 Verification & Validation Verification : Software correctly implements a specific function building the product right (Boehm81) concerns development process intermediate products e.g. checking the testability of the specification

20 Verification & Validation Verification : Software correctly implements a specific function building the product right (Boehm81) concerns development process intermediate products e.g. checking the testability of the specification Validation :

21 Verification & Validation Verification : Software correctly implements a specific function building the product right (Boehm81) concerns development process intermediate products e.g. checking the testability of the specification Validation : Tracable to user requirements

22 Verification & Validation Verification : Software correctly implements a specific function building the product right (Boehm81) concerns development process intermediate products e.g. checking the testability of the specification Validation : Tracable to user requirements building the right product (Boehm81) whether final product meets requirements and needs

23 System Test (Pfleger) Unit & integration: code implements design correctly System testing: system does what customers expect Constructed software tested against established requirements during requirements analysis Validation criteria satisfied? Are all user-visible functional, behavioral, performance requirements satisfied? tegrated odules System functional requirements Function test Requirements For other Quality aspects Non-functional test Customer Requirements Specification Acceptance test User Environment Installation/ Production test System In use functioning system Performance Stress / load Reliability, recoverability Security verified system accepted, validated system

24 Acceptance Test (Pfleger) By customers, User s understanding of requirements Customer writes, conducts, and evaluates acceptance tests Functional Acceptance Test (FAT) Production Acceptance Test (PAT) Techniques Benchmark tests Pilot tests ~ experimental, limited edition Alpha test: in-house, controlled environment, developer supervised Beta test: live test at customer sites, unsupervised Parallel test: run concurrently with old system

25 System test 2*CRTG (4 channels) 2 * 200 k

26 Test Equipment Complete Type Approval Test System (3 M )

27 Generic Embedded System Embedded system User interface Specific interface Power supply System environment Application Software Digital I/O A/D+ D/A OS Plant I/O-drivers Processing Unit Actuators Sensors Interfaces to other systems

28 Multiple V-model Model Prototype(s) Development Iteration(s) Final Product design design design test test test build build build Different objects, objectives, techniques in different stages Complexity of ES: functional decomposition and stepwise integration, but tight coordination (e.g independent development of HW and SW) Cost: Detect and correct errors earlier => Test earlier

29 Embedded System Test Environments Gradual replacement of simulated components by real-ones Test-Level Feed-backsimulation One-waysimulation Rapid-prototype Embedded-SW Simulated Experimental Simulated Platform (OS/CPU) - - Experimental Rest of Embedded System - - Experimental Plant - Simulated SW/U SW/I (1) Experimental Host Simulated Simulated SW/U SW/I (1) Target Emulator Simulated Simulated SW/HW/I Target Target Experimental Simulated System Integration Target Target Prototype Simulated Environmental Target Target Real Simulated Pre-Production Target Target Real Real

30 Techniques Simulation of (FSM-) model model test, single-stepping / animation simulation: one-way feed-back Rapid prototyping Objectives validate requirements proof-of-concept support design design optimization Simulation Stage Signal Generation One-way simulation Simulation model Embedded System Feed-back simulation Plant Simulation model Embedded System Rapid Prototype Simulation model Signal monitoring Plant Embedded System

31 Prototyping / Development 1. SW/U, SW/I (1): Software unit and software integration on host Objectives: verify functionality/behavior Techniques: host-compilation/execution 2. SW/U, SW/I (2): Software unit and software integration on emulator/target Objectives: verify correct execution on target processor Techniques: processor-emulator or cross-compile/download 3. HW+SW/I: Hardware Software/Integration Objectives: Verify execution on target processor and cooperation with surrounding HW Techniques: Experimental HW (evaluation-board), HW-in-the-loop 4. System Integration Objectives: Verify correctness of complete embedded system Techniques: Prototype HW (PCB), HW-in-the-loop 5. Environmental Test Objectives: Check conformance to environmental requirements (eg. EMI/EMC) Techniques: EMI/EMC measurements, vibration, shock, humidityemulation

32 Pre-Production acceptance Objectives: final proof of correctness demonstrate conformity to regulations etc create demo / test-samples for customers prepare production and maintenance facilities Requires test-bench hardware Techniques real-life test (real test data) field test customer tests

33 Post-Development Objectives: check quality of produced articles test production facilities product instance test first-article-inspection product-maintenance tests Techniques:

34 Test-environments Realism Actual environment behavior Target system SW completeness Test ease controllability observability speed Simulation stage Prototype stage Pre-product stage Postdevelopment stage Time Gradual refinement towards deployed system Different aspects tested

35 Master Test Plan Functionality Connectivity Reliability Recoverability Performance Suitability Relative Importance (%) Unit Test SW integration test HW/SW integration System test Acceptance + ++ Field test aspect predominant + aspect is relevant (empty) aspect insignificant What to be tested, when, and how thoroughly

36 Risk Based Test Strategy Make best possible use of resources by identifying and prioritizing quality aspects and subsystems Higher risk more testing No risk no testing Risk = chance of failure damage Use frequency Chance of error being present Complexity New tools/techniques Inexperienced developers Cost of repair Loss of market share Legal claim

37 Relative importance subsystems Risk Matrix (per test level) Relative importance Subsystem A Subsystem B Subsystem C Subsystem D Total system (%) Functionality Performance Reliability Suitability Relative importance of quality characteristic ++ aspect predominant + aspect is relevant (empty) aspect insignificant Select appropriate testing techniques and effort per sub system

38 Who Should Test?

39 Who Should Test? Developer Understands the system But, will test gently And, is driven by deadlines

40 Who Should Test? Developer Understands the system But, will test gently And, is driven by deadlines

41 Who Should Test? Developer Understands the system But, will test gently And, is driven by deadlines Independent tester Must learn system But, will attempt to break it And, is driven by quality

42 Who Should Test? Developer Understands the system But, will test gently And, is driven by deadlines Independent tester Must learn system But, will attempt to break it And, is driven by quality

43 Lessons Testing starts when project starts Have a development approach How to develop (waterfall, cyclic, etc) : roles and activities Clear expectations between testers and developers Clarity about phases and tasks Easier planning Test execution takes 3 steps Test, fix, re-test Let the programmers find bugs 80 % of bugs can be found by programmers (but they don t) Every morning discuss the issues found Testers create test report at end of the day Next morning discuss which issues have to be solved Programmer and tester fix issue together

44 Life Cycle : Testing as a Process

45 Life Cycle : Testing as a Process Testing as phase of development process vs.

46 Life Cycle : Testing as a Process Testing as phase of development process vs. Testing as a process itself with its own phases in parallel with development process

47 Life Cycle : Testing as a Process Testing as phase of development process vs. Testing as a process itself with its own phases in parallel with development process planning & control preparation test generation test execution completion

48 Life Cycle : Testing as a Process Testing as phase of development process vs. Testing as a process itself with its own phases in parallel with development process requirements specification implementation planning & control preparation test generation test execution completion quality repo

49 Life Cycle : Testing as a Process T L I O L : Life-cycle for testing O : Organization Testing as phase of development process vs. Testing as a process itself with its own phases in parallel with development process I : Infrastructure and tools T : Techniques requirements specification implementation planning & control preparation test generation test execution completion quality repo

50 END

Software testing. Objectives

Software testing. Objectives Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating

More information

Software Testing Interview Questions

Software Testing Interview Questions Software Testing Interview Questions 1. What s the Software Testing? A set of activities conducted with the intent of finding errors in software. 2.What is Acceptance Testing? Testing conducted to enable

More information

Basic Testing Concepts and Terminology

Basic Testing Concepts and Terminology T-76.5613 Software Testing and Quality Assurance Lecture 2, 13.9.2006 Basic Testing Concepts and Terminology Juha Itkonen SoberIT Contents Realities and principles of Testing terminology and basic concepts

More information

Chapter 11: Integrationand System Testing

Chapter 11: Integrationand System Testing Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 11: Integrationand System Testing Integration Testing Strategy The entire system is viewed as a collection of subsystems (sets

More information

Chapter 11: Integration- and System Testing

Chapter 11: Integration- and System Testing Chapter 11: Integration- and System Testing Chapter 14: Testing (2/2) Object-Oriented Software Construction Armin B. Cremers, Sascha Alda & Tobias Rho (based on Bruegge & Dutoit) Software Lifecycle Activities...and

More information

Software Engineering I: Software Technology WS 2008/09. Integration Testing and System Testing

Software Engineering I: Software Technology WS 2008/09. Integration Testing and System Testing Software Engineering I: Software Technology WS 2008/09 Integration Testing and System Testing Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Overview Integration testing

More information

Testing Introduction. IEEE Definitions

Testing Introduction. IEEE Definitions Testing Introduction IEEE Definitions Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the

More information

Chapter 11, Testing, Part 2: Integration and System Testing

Chapter 11, Testing, Part 2: Integration and System Testing Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 11, Testing, Part 2: Integration and System Testing Overview Integration testing Big bang Bottom up Top down Sandwich System testing

More information

Karunya University Dept. of Information Technology

Karunya University Dept. of Information Technology PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

More information

R214 SPECIFIC REQUIREMENTS: INFORMATION TECHNOLOGY TESTING LABORATORY ACCREDITATION PROGRAM

R214 SPECIFIC REQUIREMENTS: INFORMATION TECHNOLOGY TESTING LABORATORY ACCREDITATION PROGRAM The American Association for Laboratory Accreditation Document Revised: R214: Specific Requirements: Information Technology Testing Laboratory Accreditation July 13, 2010 Program Page 1 of 26 R214 SPECIFIC

More information

The Role of Information Technology Studies in Software Product Quality Improvement

The Role of Information Technology Studies in Software Product Quality Improvement The Role of Information Technology Studies in Software Product Quality Improvement RUDITE CEVERE, Dr.sc.comp., Professor Faculty of Information Technologies SANDRA SPROGE, Dr.sc.ing., Head of Department

More information

Process Models and Metrics

Process Models and Metrics Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers

More information

Levels of Software Testing. Functional Testing

Levels of Software Testing. Functional Testing Levels of Software Testing There are different levels during the process of Testing. In this chapter a brief description is provided about these levels. Levels of testing include the different methodologies

More information

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur Module 10 Coding and Testing Lesson 26 Debugging, Integration and System Testing Specific Instructional Objectives At the end of this lesson the student would be able to: Explain why debugging is needed.

More information

Establishing Great Software Development Process(es) for Your Organization. By Dale Mayes DMayes@HomePortEngineering.com

Establishing Great Software Development Process(es) for Your Organization. By Dale Mayes DMayes@HomePortEngineering.com Establishing Great Software Development Process(es) for Your Organization By Dale Mayes DMayes@HomePortEngineering.com Class: ETP-410 Embedded Systems Conference San Francisco 2005 Abstract: There are

More information

CS 451 Software Engineering Winter 2009

CS 451 Software Engineering Winter 2009 CS 451 Software Engineering Winter 2009 Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Testing Process Testing Testing only reveals the presence of defects Does not identify

More information

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

Software Engineering. How does software fail? Terminology CS / COE 1530

Software Engineering. How does software fail? Terminology CS / COE 1530 Software Engineering CS / COE 1530 Testing How does software fail? Wrong requirement: not what the customer wants Missing requirement Requirement impossible to implement Faulty design Faulty code Improperly

More information

APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION

APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION 1 APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION Validation: Are we building the right product? Does program meet expectations of user? Verification: Are we building the product right?

More information

Test Specification. Introduction

Test Specification. Introduction Test Specification Introduction Goals and Objectives GameForge is a graphical tool used to aid in the design and creation of video games. A user with little or no experience with Microsoft DirectX and/or

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,

More information

Software Engineering Compiled By: Roshani Ghimire Page 1

Software Engineering Compiled By: Roshani Ghimire Page 1 Unit 7: Metric for Process and Product 7.1 Software Measurement Measurement is the process by which numbers or symbols are assigned to the attributes of entities in the real world in such a way as to define

More information

Prof. Paolo Nesi. Lab: DISIT, Sistemi Distribuiti e Tecnologie Internet

Prof. Paolo Nesi. Lab: DISIT, Sistemi Distribuiti e Tecnologie Internet 1 Sistemi Distribuiti Corso di Laurea in Ingegneria Prof. Paolo Nesi PARTI: 3 Ciclo di Vita, management, assessment Department of Systems and Informatics University of Florence Via S. Marta 3, 50139, Firenze,

More information

Mike Peters Senior Test Consultant/Delivery Manager mike.peters@logicacmg.com. LogicaCMG 2006. All rights reserved

Mike Peters Senior Test Consultant/Delivery Manager mike.peters@logicacmg.com. LogicaCMG 2006. All rights reserved LogicaCMG & Testing: TestFrame & RRBT Mike Peters Senior Test Consultant/Delivery Manager mike.peters@logicacmg.com LogicaCMG 2006. All rights reserved About LogicaCMG > 40,000 employees worldwide 41 countries

More information

An Introduction to. Metrics. used during. Software Development

An Introduction to. Metrics. used during. Software Development An Introduction to Metrics used during Software Development Life Cycle www.softwaretestinggenius.com Page 1 of 10 Define the Metric Objectives You can t control what you can t measure. This is a quote

More information

應 用 測 試 於 軟 體 發 展 生 命 週 期. Testing In The Software Development Life Cycle

應 用 測 試 於 軟 體 發 展 生 命 週 期. Testing In The Software Development Life Cycle The Second Management Innovation and Practices Conference, Tamsui, Taiwan, April 2001,Volume 2, pp59-68 應 用 測 試 於 軟 體 發 展 生 命 週 期 Testing In The Software Development Life Cycle 蔡 博 元 莊 立 文 真 理 大 學 資 訊

More information

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing

More information

Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Testing Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To discuss the distinctions between validation testing and defect t testing To describe the

More information

SOFTWARE-IMPLEMENTED SAFETY LOGIC Angela E. Summers, Ph.D., P.E., President, SIS-TECH Solutions, LP

SOFTWARE-IMPLEMENTED SAFETY LOGIC Angela E. Summers, Ph.D., P.E., President, SIS-TECH Solutions, LP SOFTWARE-IMPLEMENTED SAFETY LOGIC Angela E. Summers, Ph.D., P.E., President, SIS-TECH Solutions, LP Software-Implemented Safety Logic, Loss Prevention Symposium, American Institute of Chemical Engineers,

More information

Selecting Sensors for Safety Instrumented Systems per IEC 61511 (ISA 84.00.01 2004)

Selecting Sensors for Safety Instrumented Systems per IEC 61511 (ISA 84.00.01 2004) Selecting Sensors for Safety Instrumented Systems per IEC 61511 (ISA 84.00.01 2004) Dale Perry Worldwide Pressure Marketing Manager Emerson Process Management Rosemount Division Chanhassen, MN 55317 USA

More information

Lecture 8 About Quality and Quality Management Systems

Lecture 8 About Quality and Quality Management Systems Lecture 8 About Quality and Quality Management Systems Kari Systä 10.03.2014 10.03.2014 TIE-21100/21106; K.Systä 1 Content of today s lecture Two weeks ago we discussed about testing and inspections, that

More information

Chapter 17 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For

More information

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.) The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling

More information

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan YOUR SUCCESS IS OUR FOCUS Whitepaper Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan 2009 Hexaware Technologies. All rights reserved. Table of Contents 1. Introduction 2. Subject Clarity 3. Agile

More information

Multi-view Architecting

Multi-view Architecting by Gerrit Muller, JürgenMüller, Jan Gerben Wijnstra College, Philips Research e-mail: gaudisite@gmail.com www.gaudisite.nl Buskerud University Abstract The development of large SW-intensive products needs

More information

International Software & Systems Engineering. Standards. Jim Moore The MITRE Corporation Chair, US TAG to ISO/IEC JTC1/SC7 James.W.Moore@ieee.

International Software & Systems Engineering. Standards. Jim Moore The MITRE Corporation Chair, US TAG to ISO/IEC JTC1/SC7 James.W.Moore@ieee. This presentation represents the opinion of the author and does not present positions of The MITRE Corporation or of the U.S. Department of Defense. Prepared for the 4th Annual PSM Users Group Conference

More information

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction Software Testing Rajat Kumar Bal Introduction In India itself, Software industry growth has been phenomenal. IT field has enormously grown in the past 50 years. IT industry in India is expected to touch

More information

Software Process Training

Software Process Training Dr. Ernest Wallmüller Wolfgang Höh Rule 17 Verification and Validation Qualität & Informatik www.itq.ch Copyright Qualität & Informatik 2005 It is recoded that anything has started with an error... There

More information

Introduction to Software Engineering. 8. Software Quality

Introduction to Software Engineering. 8. Software Quality Introduction to Software Engineering 8. Software Quality Roadmap > What is quality? > Quality Attributes > Quality Assurance: Planning and Reviewing > Quality System and Standards 2 Sources > Software

More information

IT3205: Fundamentals of Software Engineering (Compulsory)

IT3205: Fundamentals of Software Engineering (Compulsory) INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design

More information

Improved Software Testing Using McCabe IQ Coverage Analysis

Improved Software Testing Using McCabe IQ Coverage Analysis White Paper Table of Contents Introduction...1 What is Coverage Analysis?...2 The McCabe IQ Approach to Coverage Analysis...3 The Importance of Coverage Analysis...4 Where Coverage Analysis Fits into your

More information

Standard for Software Component Testing

Standard for Software Component Testing Standard for Software Component Testing Working Draft 3.4 Date: 27 April 2001 produced by the British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST) Copyright Notice This document

More information

International Journal of Advance Research in Computer Science and Management Studies

International Journal of Advance Research in Computer Science and Management Studies Volume 2, Issue 12, December 2014 ISSN: 2321 7782 (Online) International Journal of Advance Research in Computer Science and Management Studies Research Article / Survey Paper / Case Study Available online

More information

The SPES Methodology Modeling- and Analysis Techniques

The SPES Methodology Modeling- and Analysis Techniques The SPES Methodology Modeling- and Analysis Techniques Dr. Wolfgang Böhm Technische Universität München boehmw@in.tum.de Agenda SPES_XT Project Overview Some Basic Notions The SPES Methodology SPES_XT

More information

Virtual Platforms Addressing challenges in telecom product development

Virtual Platforms Addressing challenges in telecom product development white paper Virtual Platforms Addressing challenges in telecom product development This page is intentionally left blank. EXECUTIVE SUMMARY Telecom Equipment Manufacturers (TEMs) are currently facing numerous

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Analysis, Design and Implementation Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Programs to Application Systems Products Software Development:

More information

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur Module 10 Coding and Testing Lesson 23 Code Review Specific Instructional Objectives At the end of this lesson the student would be able to: Identify the necessity of coding standards. Differentiate between

More information

Introduction to Automated Testing

Introduction to Automated Testing Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

SOFTWARE ENGINEERING INTERVIEW QUESTIONS SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering

More information

E-vote 2011 Version: 1.0 Testing and Approval Date: 26/10/2009. E-vote 2011. SSA-U Appendix 5 Testing and Approval Project: E-vote 2011

E-vote 2011 Version: 1.0 Testing and Approval Date: 26/10/2009. E-vote 2011. SSA-U Appendix 5 Testing and Approval Project: E-vote 2011 E-vote 2011 SSA-U Appendix 5 Testing and Approval Project: E-vote 2011 Change log Version Date Author Description/changes 0.1 26.10.09 First version Page 1 CONTENT 1. INTRODUCTION 3 2. TESTING PROCESS

More information

Acceptance Criteria. Software Engineering Group 6. 0/3/2012: Acceptance Criteria, v2.0 March 2012 - Second Deliverable

Acceptance Criteria. Software Engineering Group 6. 0/3/2012: Acceptance Criteria, v2.0 March 2012 - Second Deliverable Acceptance Criteria Software Engineering Group 6 0/3/2012: Acceptance Criteria, v2.0 March 2012 - Second Deliverable 1 Contents: Page no: Introduction...3 Test Environment...4 Acceptance Tests...5 Types

More information

Introduction to Embedded Systems. Software Update Problem

Introduction to Embedded Systems. Software Update Problem Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis logistics minor Today s topics: more software development issues 1 CS 5780 Software Update Problem Lab machines work let us know if they don t

More information

A Case Study of the Systems Engineering Process in Healthcare Informatics Quality Improvement. Systems Engineering. Ali M. Hodroj

A Case Study of the Systems Engineering Process in Healthcare Informatics Quality Improvement. Systems Engineering. Ali M. Hodroj A Case Study of the Systems Engineering Process in Healthcare Informatics Quality Improvement By Ali M. Hodroj Project Report submitted to the Faculty of the Maseeh School of Engineering and Computer Science

More information

Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance?

Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance? Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance? Jussi Ronkainen, Pekka Abrahamsson VTT Technical Research Centre of Finland P.O. Box 1100 FIN-90570 Oulu, Finland

More information

Example Software Development Process.

Example Software Development Process. Example Software Development Process. The example software development process is shown in Figure A. The boxes represent the software development process kernels. The Software Unit Testing, Software Component

More information

SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY

SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY Mrs. Manisha L. Waghmode Assistant Professor Bharati Vidyapeeth Deemed University, Institute of Management and Rural Development Administration, Sangli Dr.

More information

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci Software Engineering Software Development Process Models Lecturer: Giuseppe Santucci Summary Modeling the Software Process Generic Software Process Models Waterfall model Process Iteration Incremental

More information

Basic Unix/Linux 1. Software Testing Interview Prep

Basic Unix/Linux 1. Software Testing Interview Prep Basic Unix/Linux 1 Programming Fundamentals and Concepts 2 1. What is the difference between web application and client server application? Client server application is designed typically to work in a

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

Requirements are elicited from users and represented either informally by means of proper glossaries or formally (e.g., by means of goal-oriented

Requirements are elicited from users and represented either informally by means of proper glossaries or formally (e.g., by means of goal-oriented A Comphrehensive Approach to Data Warehouse Testing Matteo Golfarelli & Stefano Rizzi DEIS University of Bologna Agenda: 1. DW testing specificities 2. The methodological framework 3. What & How should

More information

IEC 61508 Functional Safety Assessment. Project: K-TEK Corporation AT100, AT100S, AT200 Magnetostrictive Level Transmitter.

IEC 61508 Functional Safety Assessment. Project: K-TEK Corporation AT100, AT100S, AT200 Magnetostrictive Level Transmitter. 61508 SIL 3 CAPABLE IEC 61508 Functional Safety Assessment Project: K-TEK Corporation AT100, AT100S, AT200 Magnetostrictive Level Transmitter Customer: K-TEK Corporation Prairieville, LA USA Contract No.:

More information

http://www.test-institute.org International Software Test Institute

http://www.test-institute.org International Software Test Institute THE ONLY BOOK CAN SIMPLY LEARN SOFTWARE TESTING! Page 1 Contents ABOUT THE AUTHOR... 3 1. Introduction To Software Testing... 4 2. What is Software Quality Assurance?... 7 3. What Is Software Testing?...

More information

Certified Software Quality Engineer (CSQE) Body of Knowledge

Certified Software Quality Engineer (CSQE) Body of Knowledge Certified Software Quality Engineer (CSQE) Body of Knowledge The topics in this Body of Knowledge include additional detail in the form of subtext explanations and the cognitive level at which the questions

More information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

More information

The document you download is the copyright of ISO, and may not be stored, reproduced, transferred or resold by any means, except as follows.

The document you download is the copyright of ISO, and may not be stored, reproduced, transferred or resold by any means, except as follows. Licence Agreement You are about to download material which is subject to strict copyright conditions. Please read these terms and conditions carefully. By accepting them, you are entering into a binding

More information

Software Engineering. Software Engineering. Software Costs

Software Engineering. Software Engineering. Software Costs Software Engineering Software Engineering is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable performance 4) with correct operation. Ian

More information

Software Module Test for an Electronic Steering Lock

Software Module Test for an Electronic Steering Lock Software Module Test for an Electronic Steering Lock Wolfgang Beer, Dr. Peter Jüttner, Daniel Simonis (external subcontractor), Siemens VDO Automotive AG Siemensstr. 12 93055 Regensburg, Germany Tel.:

More information

Software Certification and Software Certificate Management Systems

Software Certification and Software Certificate Management Systems Software Certification and Software Certificate Management Systems (Position Paper) Ewen Denney and Bernd Fischer USRA/RIACS, NASA Ames Research Center, Moffett Field, CA 94035, USA {edenney,fisch}@email.arc.nasa.gov

More information

Environment Modeling for Automated Testing of Cloud Applications

Environment Modeling for Automated Testing of Cloud Applications Environment Modeling for Automated Testing of Cloud Applications Linghao Zhang, Tao Xie, Nikolai Tillmann, Peli de Halleux, Xiaoxing Ma, Jian Lv {lzhang25, txie}@ncsu.edu, {nikolait, jhalleux}@microsoft.com,

More information

Quality Management. Lecture 12 Software quality management

Quality Management. Lecture 12 Software quality management Quality Management Lecture 12 Software quality management doc.dr.sc. Marko Jurčević prof.dr.sc. Roman Malarić University of Zagreb Faculty of Electrical Engineering and Computing Department of Fundamentals

More information

Testing and Inspecting to Ensure High Quality

Testing and Inspecting to Ensure High Quality Testing and Inspecting to Ensure High Quality Basic definitions A failure is an unacceptable behaviour exhibited by a system The frequency of failures measures the reliability An important design objective

More information

Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References

Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References Outline Computer Science 331 Introduction to Testing of Programs Mike Jacobson Department of Computer Science University of Calgary Lecture #3-4 1 Denitions 2 3 4 Implementation and Evaluation 5 Debugging

More information

ISO and Industry Standards for User Centred Design

ISO and Industry Standards for User Centred Design ISO and Industry Standards for User Centred Design Nigel Bevan October 2000 www.usability.serco.com/trump nbevan@usability.serco.com Serco Usability Services, UK 2000 Serco Ltd. Reproduction permitted

More information

Key Factors for Developing a Successful E-commerce Website

Key Factors for Developing a Successful E-commerce Website IBIMA Publishing Communications of the IBIMA http://www.ibimapublishing.com/journals/cibima/cibima.html Vol. 2010 (2010), Article ID 763461, 9 pages Key Factors for Developing a Successful E-commerce Website

More information

Software Life Cycle Processes

Software Life Cycle Processes Software Life Cycle Processes Objective: Establish a work plan to coordinate effectively a set of tasks. Improves software quality. Allows us to manage projects more easily. Status of projects is more

More information

Introduction and Overview

Introduction and Overview Introduction and Overview Definitions. The general design process. A context for design: the waterfall model; reviews and documents. Some size factors. Quality and productivity factors. Material from:

More information

ELECTROTECHNIQUE IEC INTERNATIONALE 61508-3 INTERNATIONAL ELECTROTECHNICAL

ELECTROTECHNIQUE IEC INTERNATIONALE 61508-3 INTERNATIONAL ELECTROTECHNICAL 61508-3 ª IEC: 1997 1 Version 12.0 05/12/97 COMMISSION CEI ELECTROTECHNIQUE IEC INTERNATIONALE 61508-3 INTERNATIONAL ELECTROTECHNICAL COMMISSION Functional safety of electrical/electronic/ programmable

More information

Foundations for Systems Development

Foundations for Systems Development Foundations for Systems Development ASSIGNMENT 1 Read this assignment introduction. Then, read Chapter 1, The Systems Development Environment, on pages 2 25 in your textbook. What Is Systems Analysis and

More information

Software Engineering. Objectives. Designing, building and maintaining large software systems

Software Engineering. Objectives. Designing, building and maintaining large software systems Software Engineering Objectives Designing, building and maintaining large software systems To define software engineering and explain its importance To discuss the concepts of software products and software

More information

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process

More information

Automated Module Testing of Embedded Software Systems

Automated Module Testing of Embedded Software Systems Automated Module Testing of Embedded Software Systems Master s Thesis Fredrik Olsson Henrik Lundberg Supervisors Thomas Thelin, LTH Michael Rosenberg, EMP Nicklas Olofsson, EMP II Abstract When designing

More information

Testing of safety-critical software some principles

Testing of safety-critical software some principles 1(60) Testing of safety-critical software some principles Emerging Trends in Software Testing: autumn 2012 Matti Vuori, Tampere University of Technology 27.11.2012 Contents 1/4 Topics of this lecture 6

More information

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases Software Processes CSC 221 Introduction to Software Engineering software processes extract from Sommerville s chapter 3 slides Alan Dix Coherent sets of activities for specifying, designing, implementing

More information

CSTE Mock Test - Part III Questions Along with Answers

CSTE Mock Test - Part III Questions Along with Answers Note: This material is for Evaluators reference only. Caters to answers of CSTE Mock Test - Part III paper. 1. Independence is important in testing is mostly due to the fact that (Ans: C) a. Developers

More information

Presentation: 1.1 Introduction to Software Testing

Presentation: 1.1 Introduction to Software Testing Software Testing M1: Introduction to Software Testing 1.1 What is Software Testing? 1.2 Need for Software Testing 1.3 Testing Fundamentals M2: Introduction to Testing Techniques 2.1 Static Testing 2.2

More information

Operating Systems 4 th Class

Operating Systems 4 th Class Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science

More information

Software Engineering Reference Framework

Software Engineering Reference Framework Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of

More information

Software Engineering Question Bank

Software Engineering Question Bank Software Engineering Question Bank 1) What is Software Development Life Cycle? (SDLC) System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step

More information

Hardware in the Loop (HIL) Testing VU 2.0, 182.117, WS 2008/09

Hardware in the Loop (HIL) Testing VU 2.0, 182.117, WS 2008/09 Testen von Embedded Systems Hardware in the Loop (HIL) Testing VU 2.0, 182.117, WS 2008/09 Raimund dkirner Testing Embedded Software Testing the whole system including the physical environment is not possible

More information

White Papers: Unit Testing. www.dcmtech.com. Unit Testing

White Papers: Unit Testing. www.dcmtech.com. Unit Testing Unit Testing Table of Contents TESTING, VERIFICATION AND VALIDATION...1 UNIT TESTING PROCEDURES...3 C1 100% COVERAGE...3 QUERY GENERATION...4 TESTING, VERIFICATION and VALIDATION Black Box Testing White

More information

How To Improve Software Quality

How To Improve Software Quality Software Qualities Quality Assurance Maintainer Go Documentation Readable Ce Go Design Functionality Ease of use Ease of learning User Reliability Correctness Efficiency Low Cost Portability Increased

More information

Know or Go Practical Quest for Reliable Software

Know or Go Practical Quest for Reliable Software Know or Go Practical Quest for Reliable Software Dr.-Ing. Jörg Barrho Dr.-Ing. Ulrich Wünsche AVACS Project meeting 25.09.2014 2014 Rolls-Royce Power Systems AG The information in this document is the

More information

Software Testing. Quality & Testing. Software Testing

Software Testing. Quality & 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

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 abb@cs.stir.ac.uk Spring 2014 (elicitation)

More information

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. February 2013 1 Executive Summary Adnet is pleased to provide this white paper, describing our approach to performing

More information

Hardware safety integrity Guideline

Hardware safety integrity Guideline Hardware safety integrity Comments on this report are gratefully received by Johan Hedberg at SP Swedish National Testing and Research Institute mailto:johan.hedberg@sp.se Quoting of this report is allowed

More information

Information Systems Analysis and Design CSC340. XXIV. Other Phases

Information Systems Analysis and Design CSC340. XXIV. Other Phases XXIV. Other Phases Implementation Phase Testing and Installation Phase Post-Installation Tasks Course Summary 2004 John Mylopoulos Other Phases -- 1 The Software Lifecycle Revisited Survey project scope

More information

Standard Glossary of Terms Used in Software Testing. Version 3.01

Standard Glossary of Terms Used in Software Testing. Version 3.01 Standard Glossary of Terms Used in Software Testing Version 3.01 Terms Used in the Advanced Level - Technical Test Analyst Syllabus International Software Testing Qualifications Board Copyright International

More information

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2). 0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems

More information