Collaboration Among Software Components

Size: px
Start display at page:

Download "Collaboration Among Software Components"

Transcription

1 Collaboration Among Software Components Dick Hamlet Department of Computer Science Portland State University Portland, OR

2 Summary of the Talk Questions What can unit testing do in principle? For what kind of code does unit testing work? Background Unit testing here and there Software components are nice units Component-based software development (CBSD) Subdomain testing tools to synthesize CB systems Results Pitfalls of component testing in CBSD Design rules in aid of component testing A new development/testing scheme

3 Summary of the Talk Questions What can unit testing do in principle? For what kind of code does unit testing work? Background Unit testing here and there Software components are nice units Component-based software development (CBSD) Subdomain testing tools to synthesize CB systems Results Pitfalls of component testing in CBSD Design rules in aid of component testing A new development/testing scheme

4 Summary of the Talk Questions What can unit testing do in principle? For what kind of code does unit testing work? Background Unit testing here and there Software components are nice units Component-based software development (CBSD) Subdomain testing tools to synthesize CB systems Results Pitfalls of component testing in CBSD Design rules in aid of component testing A new development/testing scheme

5 Summary of the Talk Questions What can unit testing do in principle? For what kind of code does unit testing work? Background Unit testing here and there Software components are nice units Component-based software development (CBSD) Subdomain testing tools to synthesize CB systems Results Pitfalls of component testing in CBSD Design rules in aid of component testing A new development/testing scheme

6 Summary of the Talk Questions What can unit testing do in principle? For what kind of code does unit testing work? Background Unit testing here and there Software components are nice units Component-based software development (CBSD) Subdomain testing tools to synthesize CB systems Results Pitfalls of component testing in CBSD Design rules in aid of component testing A new development/testing scheme

7 A haphazard activity directed at finding failures Unit Testing Today

8 Unit Testing Today A haphazard activity directed at finding failures Some of its problems: Units seldom have good specifications Coverage metrics are weak surrogates Developers make lousy testers (too close to code) Independent testers are lousy (don t understand code) Stubs are impossible to devise

9 Unit Testing Today A haphazard activity directed at finding failures Some of its problems: Units seldom have good specifications Coverage metrics are weak surrogates Developers make lousy testers (too close to code) Independent testers are lousy (don t understand code) Stubs are impossible to devise Results are discarded because Not quantitative No connection with subsequent development Useless even for regression testing

10 Unit Testing Today A haphazard activity directed at finding failures Some of its problems: Units seldom have good specifications Coverage metrics are weak surrogates Developers make lousy testers (too close to code) Independent testers are lousy (don t understand code) Stubs are impossible to devise Results are discarded because Not quantitative No connection with subsequent development Useless even for regression testing But everyone hopes it will help...

11 What Do the Other Engineers Do? Designing a Vacuum System from Components

12 What Do the Other Engineers Do? Designing a Vacuum System from Components 1 Choose components from catalog ( Type CF flange, 304 stainless 50mm ID, 72.4mm bolt circle 8 M8 bolts Viton seal 10 8 Torr

13 What Do the Other Engineers Do? Designing a Vacuum System from Components 1 Choose components from catalog ( Type CF flange, 304 stainless 50mm ID, 72.4mm bolt circle 8 M8 bolts Viton seal 10 8 Torr 2 Sketch system using data 1

14 What Do the Other Engineers Do? Designing a Vacuum System from Components 1 Choose components from catalog ( Type CF flange, 304 stainless 50mm ID, 72.4mm bolt circle 8 M8 bolts Viton seal 10 8 Torr 2 Sketch system using data 1 3 Calculate and check system properties Volume (add component volumes) Pressure loss (combine flange losses) Required pump

15 What Do the Other Engineers Do? Designing a Vacuum System from Components 1 Choose components from catalog ( Type CF flange, 304 stainless 50mm ID, 72.4mm bolt circle 8 M8 bolts Viton seal 10 8 Torr 2 Sketch system using data 1 3 Calculate and check system properties Volume (add component volumes) Pressure loss (combine flange losses) Required pump 4 Repeat 1 3 if needed Oops! Need more volume, use 80mm ID Oops again! Pressure loss too high, use OFHC copper seal OK, system properties look good

16 What Do the Other Engineers Do? Designing a Vacuum System from Components 1 Choose components from catalog ( Type CF flange, 304 stainless 50mm ID, 72.4mm bolt circle 8 M8 bolts Viton seal 10 8 Torr 2 Sketch system using data 1 3 Calculate and check system properties Volume (add component volumes) Pressure loss (combine flange losses) Required pump 4 Repeat 1 3 if needed 5 Assemble system (no surprises!) Oops! Need more volume, use 80mm ID Oops again! Pressure loss too high, use OFHC copper seal OK, system properties look good

17 What Do the Other Engineers Do? Designing a Vacuum System from Components 1 Choose components from catalog ( Type CF flange, 304 stainless 50mm ID, 72.4mm bolt circle 8 M8 bolts Viton seal 10 8 Torr 2 Sketch system using data 1 3 Calculate and check system properties Volume (add component volumes) Pressure loss (combine flange losses) Required pump 4 Repeat 1 3 if needed 5 Assemble system (no surprises!) Would that it were so in software! Oops! Need more volume, use 80mm ID Oops again! Pressure loss too high, use OFHC copper seal OK, system properties look good

18 Software Components component input executable code state output

19 Software Components Executable code component Interface Black-box behavior Local state input executable code state output

20 Software Components Executable code component Interface Black-box behavior Local state input executable code state output Why components? Reuse is better, cheaper (?) Precise software units Sidestep programming-language and design issues

21 Component-based Software Development (CBSD) Components Specified, designed, implemented, tested in isolation Later to be used in systems without modification component catalog records data for later use

22 Component-based Software Development (CBSD) Components Specified, designed, implemented, tested in isolation Later to be used in systems without modification component catalog records data for later use Systems Assembled by matching components interfaces Combination scheme is the system architecture In principle, design is done from the component catalog Assembled system tested against its specification

23 Component-based Software Development (CBSD) Components Specified, designed, implemented, tested in isolation Later to be used in systems without modification component catalog records data for later use Systems Assembled by matching components interfaces Combination scheme is the system architecture In principle, design is done from the component catalog Assembled system tested against its specification Ideal context for studying unit vs. system testing

24 Subdomain Testing Tools Describe components and systems with configuration files Component description Executable code file (any source language) Subdomain decomposition of the domain System architecture Flowgraph of component connections

25 Subdomain Testing Tools Simplifying restrictions Floating-point values on each execution: 1 One input value (read STDIN) 2 One output value (write STDOUT) 3 One non-functional value (run time) reported (write STDERR) 4 One state value read/written (disk file)

26 Subdomain Testing Tools Simplifying restrictions Floating-point values on each execution: 1 One input value (read STDIN) 2 One output value (write STDOUT) 3 One non-functional value (run time) reported (write STDERR) 4 One state value read/written (disk file) Why so restricted? Simplify a complex situation to study it A small research group can implement powerful tools

27 A Component Description A sawtooth with three teeth modulated by an inverted parabola saw.ccf saw.bin

28 A Component Description A sawtooth with three teeth modulated by an inverted parabola saw.bin saw.ccf #!/usr/bin/perl -w # # executable saw.bin # # sawtooth with parabolic envelope $cycles = 3; #number of "teeth" $interval = 10.0; #[0,10) $env = 10.0; $X = <STDIN>; #read input $Y = $X*$env*$cycles/$interval; $Y -= int($env)*int($y/$env); #sawtooth $Y *= (($X-6)**2)/(36); #parabola print "$Y\n"; #write output print STDERR "1.0\n"; #constant run time saw.bin

29 Subdomain Component Testing component input executable code state output Output Input

30 Subdomain Component Testing component input executable code state output Output Input

31 Subdomain Component Testing component input executable code state output 10 8 Output Input

32 Subdomain Component Testing component input executable code state output Output Input

33 Two copies of the sawtooth in series system component component Predicting System Behavior input executable code state output input executable code state output

34 Two copies of the sawtooth in series input executable code component state system output Predicting System Behavior input executable code component state output system.pscf 1 2 S saw.ccf saw.ccf

35 Two copies of the sawtooth in series input executable code component state system output Predicting System Behavior input executable code component state output system.pscf 1 2 S saw.ccf saw.ccf 10 8 Output Input

36 Two copies of the sawtooth in series input executable code component state system output Predicting System Behavior input executable code component state output system.pscf 1 2 S saw.ccf saw.ccf Output Input

37 A Component with State On non-negative inputs 0..9, store count of longest sequence On negative inputs , return stored sequence counts (for 9..0) input executable code component state output

38 A Component with State On non-negative inputs 0..9, store count of longest sequence On negative inputs , return stored sequence counts (for 9..0) Example: input executable code component state output

39 A Component with State On non-negative inputs 0..9, store count of longest sequence On negative inputs , return stored sequence counts (for 9..0) input executable code component state Example: Implementation state: output

40 A Component with State On non-negative inputs 0..9, store count of longest sequence On negative inputs , return stored sequence counts (for 9..0) input executable code component state Example: Implementation state: output current digit current count

41 A Component with State On non-negative inputs 0..9, store count of longest sequence On negative inputs , return stored sequence counts (for 9..0) input executable code component state Example: Implementation state: output maximum zero sequence maximum one sequence

42 A Component with State On non-negative inputs 0..9, store count of longest sequence On negative inputs , return stored sequence counts (for 9..0) input executable code component state Example: Implementation state: output maximum five sequence

43 Component Output Behavior Random-length sequences of random test points: 4 3 Output Input Input State

44 Component Result-state Behavior Systematic coverage of (input state) pairs: Result state Input State Input

45 Summary of the Talk Questions What can unit testing do in principle? For what kind of code does unit testing work? Background Unit testing here and there Software components are nice units Component-based software development (CBSD) Subdomain testing tools to synthesize CB systems Results Pitfalls of component testing in CBSD Design rules in aid of component testing A new development/testing scheme

46 Approximation Errors Output Component measurement: Input subdomain r-m-s error [2.81, 2.92) 2.93 [2.92, 3.02) 2.97 [3.02, 3.12) 3.01 [3.12, 3.23) 3.05 [3.23, 3.33) 3.08 [3.33, 3.44) 1.95 [3.44, 3.54) 2.02

47 Approximation Errors Output Component measurement: Input subdomain r-m-s error [2.81, 2.92) 2.93 [2.92, 3.02) 2.97 [3.02, 3.12) 3.01 [3.12, 3.23) 3.05 [3.23, 3.33) 3.08 [3.33, 3.44) 1.95 [3.44, 3.54) 2.02 Output System prediction: Input subdomain r-m-s error [2.81, 2.92) 7.00 [2.92, 3.02) [3.02, 3.12) 7.30 [3.12, 3.23) 7.30 [3.23, 3.33) 6.97 [3.33, 3.44) 0.40 [3.44, 3.54) 1.19

48 Spurious-state Sampling How to test components/systems with state?

49 How to test components/systems with state? Spurious-state Sampling For i = 1,2,3,...,N: Externally set state S i from specification Choose input X i Execute on point (X i, S i ) Compare resulting state and output with specification

50 How to test components/systems with state? Spurious-state Sampling For i = 1,2,3,...,N: Externally set state S i from specification Choose input X i Execute on point (X i, S i ) Compare resulting state and output with specification

51 How to test components/systems with state? Spurious-state Sampling For i = 1,2,3,...,N: Externally set state S i from specification Choose input X i Execute on point (X i, S i ) Compare resulting state and output with specification Execute on input X 0 to initialize ( reset ) state to S 0 Check S 0 and output against specification For i = 1,2,3,...,N: Choose input X i Execute on input X i (state is S i 1 ) Compare result state S i and output with specification

52 State Sampling vs. Input Sequences Systematic state sampling Random input sequences Output 2 1 Output Input Input State Input Input State

53 State Sampling vs. Input Sequences Systematic state sampling Random input sequences Output 2 1 Output Input Input State Input Input State Sampling infeasible states: Wastes scarce testing time Distorts the real behavior Hides unexpected real states Worst case: specified states are infeasible

54 The Internal Profile Problem Each component distorts the profile it receives

55 The Internal Profile Problem Each component distorts the profile it receives For the two sawtooth components in series: 0.12 relative frequency uniform profile [9.6, 10.0) [9.2, 9.6) [8.8, 9.2) [8.3, 8.8) [7.9, 8.3) [7.5, 7.9) [7.1, 7.5) [6.7, 7.1) [6.2, 6.7) [5.8, 6.2) [5.4, 5.8) [5.0, 5.4) [4.6, 5.0) [4.2, 4.6) [3.8, 4.2) [3.3, 3.8) [2.9, 3.3) [2.5, 2.9) [2.1, 2.5) [1.7, 2.1) [1.2, 1.7) [0.8, 1.2) [0.4, 0.8) [0.0, 0.4) 0 subdomains of 2nd component in series

56 The Internal Profile Problem Each component distorts the profile it receives For the two sawtooth components in series: relative frequency 40% variation 7% variation subdomains of 2nd component in series [5,5.4) [5.31,5.36) The same thing happens within a subdomain

57 Design Rules Design Rule 1 Check calculated system profiles against component test profiles Derived Rule 1-1 Don t use a general-purpose component for a few specific values

58 Design Rules Design Rule 4 Group state values within as few components as possible don t create cross-product states Derived Rule 4-1 Group all modes (preferences) in a control component; test all combinations

59 A New Component-based Development Scheme 1 Develop and test components quantitative descriptions (or get quantitative descriptions from component catalog)

60 A New Component-based Development Scheme 1 Develop and test components quantitative descriptions (or get quantitative descriptions from component catalog) 2 Design system using component descriptions from 1

61 A New Component-based Development Scheme 1 Develop and test components quantitative descriptions (or get quantitative descriptions from component catalog) 2 Design system using component descriptions from 1 3 Synthesize system using CAD tools

62 A New Component-based Development Scheme 1 Develop and test components quantitative descriptions (or get quantitative descriptions from component catalog) 2 Design system using component descriptions from 1 3 Synthesize system using CAD tools 4 Compare internal profiles predicted in 3 with those used in 1

63 A New Component-based Development Scheme 1 Develop and test components quantitative descriptions (or get quantitative descriptions from component catalog) 2 Design system using component descriptions from 1 3 Synthesize system using CAD tools 4 Compare internal profiles predicted in 3 with those used in 1 5 Repeat 1 4 until profiles are similar

64 A New Component-based Development Scheme 1 Develop and test components quantitative descriptions (or get quantitative descriptions from component catalog) 2 Design system using component descriptions from 1 3 Synthesize system using CAD tools 4 Compare internal profiles predicted in 3 with those used in 1 5 Repeat 1 4 until profiles are similar 6 Verify system against specification using predictions of 3

65 A New Component-based Development Scheme 1 Develop and test components quantitative descriptions (or get quantitative descriptions from component catalog) 2 Design system using component descriptions from 1 3 Synthesize system using CAD tools 4 Compare internal profiles predicted in 3 with those used in 1 5 Repeat 1 4 until profiles are similar 6 Verify system against specification using predictions of 3 That s what the other engineers do...

66 A New Component-based Development Scheme 1 Develop and test components quantitative descriptions (or get quantitative descriptions from component catalog) 2 Design system using component descriptions from 1 3 Synthesize system using CAD tools 4 Compare internal profiles predicted in 3 with those used in 1 5 Repeat 1 4 until profiles are similar 6 Verify system against specification using predictions of 3 CAD Calculation 3 is much faster and easier than system testing

67 Summary of the Talk Questions What can unit testing do in principle? For what kind of code does unit testing work? Background Unit testing here and there Software components are nice units Component-based software development (CBSD) Subdomain testing tools to synthesize CB systems Results Pitfalls of component testing in CBSD Design rules in aid of component testing A new development/testing scheme

Tools and Experiments Supporting a Testing-based Theory of Component Composition

Tools and Experiments Supporting a Testing-based Theory of Component Composition Tools and Experiments Supporting a Testing-based Theory of Component Composition DICK HAMLET Portland State University PRE-PUBLICATION COPY Please do not cite or quote Development of software using off-the-shelf

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of

More information

specifications 15. Approaches to constructing The outline of this part:

specifications 15. Approaches to constructing The outline of this part: 15. Approaches to constructing specifications The outline of this part: The top-down approach The bottom-up approach The middle-out approach Comparison of the approaches 15.1 The top-down approach Two

More information

Software Testing. System, Acceptance and Regression Testing

Software Testing. System, Acceptance and Regression Testing Software Testing System, Acceptance and Regression Testing Objectives Distinguish system and acceptance testing o How and why they differ from each other and from unit and integration testing Understand

More information

Testing Metrics. Introduction

Testing Metrics. Introduction Introduction Why Measure? What to Measure? It is often said that if something cannot be measured, it cannot be managed or improved. There is immense value in measurement, but you should always make sure

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

Latest Trends in Testing. Ajay K Chhokra

Latest Trends in Testing. Ajay K Chhokra Latest Trends in Testing Ajay K Chhokra Introduction Software Testing is the last phase in software development lifecycle which has high impact on the quality of the final product delivered to the customer.

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

Test Automation Framework

Test Automation Framework Test Automation Framework Rajesh Popli Manager (Quality), Nagarro Software Pvt. Ltd., Gurgaon, INDIA rajesh.popli@nagarro.com ABSTRACT A framework is a hierarchical directory that encapsulates shared resources,

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

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

BERMAD Waterworks. Quick Active Check Valve. 700 Series. Model 740Q. Features and Benefits. Major Additional Features

BERMAD Waterworks. Quick Active Check Valve. 700 Series. Model 740Q. Features and Benefits. Major Additional Features Booster Pump Control Valve Quick Active Check Valve Isolates system from the effects of pump starts and stops for: Solitary single speed pumps Battery of single speed pumps (add & switch) Battery of variable

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

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 INTRODUCTION This course is designed to provide the students with the basic competencies required to identify requirements, document

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

Next-Generation Performance Testing with Service Virtualization and Application Performance Management

Next-Generation Performance Testing with Service Virtualization and Application Performance Management Next-Generation Performance Testing with Service Virtualization and Application Performance Management By Akshay Rao, Principal Consultant, CA Technologies Summary Current approaches for predicting with

More information

Baseline Code Analysis Using McCabe IQ

Baseline Code Analysis Using McCabe IQ White Paper Table of Contents What is Baseline Code Analysis?.....2 Importance of Baseline Code Analysis...2 The Objectives of Baseline Code Analysis...4 Best Practices for Baseline Code Analysis...4 Challenges

More information

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

Module 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur

Module 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur Module 1 Introduction to Software Engineering Lesson 2 Structured Programming Specific Instructional Objectives At the end of this lesson the student will be able to: Identify the important features of

More information

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, ivica.crnkovic@mdh.se 2 ABB Corporate Research,

More information

Component Based Development in Software Engineering

Component Based Development in Software Engineering Component Based Development in Software Engineering Amandeep Bakshi, Rupinder Singh Abstract--In today s world, Component Based development is an active research area for more than a decade in software

More information

Co-Presented by Mr. Bill Rinko-Gay and Dr. Constantin Stanca 9/28/2011

Co-Presented by Mr. Bill Rinko-Gay and Dr. Constantin Stanca 9/28/2011 QAI /QAAM 2011 Conference Proven Practices For Managing and Testing IT Projects Co-Presented by Mr. Bill Rinko-Gay and Dr. Constantin Stanca 9/28/2011 Format This presentation is a journey When Bill and

More information

Table of Contents INTRODUCTION... 3. Prerequisites... 3 Audience... 3 Report Metrics... 3

Table of Contents INTRODUCTION... 3. Prerequisites... 3 Audience... 3 Report Metrics... 3 Table of Contents INTRODUCTION... 3 Prerequisites... 3 Audience... 3 Report Metrics... 3 IS MY TEST CONFIGURATION (DURATION / ITERATIONS SETTING ) APPROPRIATE?... 4 Request / Response Status Summary...

More information

CSTE Mock Test - Part I - Questions Along with Answers

CSTE Mock Test - Part I - Questions Along with Answers Note: This material is for Evaluators reference only. Caters to answers of CSTE Mock Test - Part I paper. 1. A branch is (Ans: d) a. An unconditional transfer of control from any statement to any other

More information

Application of software product quality international standards through software development life cycle

Application of software product quality international standards through software development life cycle Central Page 284 of 296 Application of software product quality international standards through software development life cycle Mladen Hosni, Valentina Kirinić Faculty of Organization and Informatics University

More information

Diaphragm Seal with flush diaphragm and flange acc.to SMS. Completed with pressure gauge in stainless steel, liquid filled or pressure transmitter

Diaphragm Seal with flush diaphragm and flange acc.to SMS. Completed with pressure gauge in stainless steel, liquid filled or pressure transmitter Ed.15.01 Design Diaphragm Seal with flush diaphragm and flange acc.to SMS. Completed with pressure gauge in stainless steel, liquid filled or pressure transmitter Standard 4026/60H Pressure rate PN 40

More information

A Model for Component Based E-governance Software Systems

A Model for Component Based E-governance Software Systems A Model for Component Based E-governance Software Systems A.SHRABAN KUMAR 1, G.JAYARAO 2,B.SHANKAR NAYAK 3, KBKS. DURGA 4 A.ESWARA RAO 5 1,2,3,4 Associate Professor CSE, St.MARTIN S ENGINEERING COLLEGE,

More information

1. Introduction. Annex 7 Software Project Audit Process

1. Introduction. Annex 7 Software Project Audit Process Annex 7 Software Project Audit Process 1. Introduction 1.1 Purpose Purpose of this document is to describe the Software Project Audit Process which capable of capturing different different activities take

More information

QTP Open Source Test Automation Framework Introduction

QTP Open Source Test Automation Framework Introduction Version 1.0 April 2009 D ISCLAIMER Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice is preserved. Table of Contents

More information

Hazlet Township Public Schools

Hazlet Township Public Schools Hazlet Township Public Schools COURSE OF STUDY FOR Computer Construction II and Robotics June 2009 Nicholas Formica UNIT NUMBER AND TITLE: 1, Introduction and initial configuration BRIEF SUMMARY OF UNIT:

More information

Taking the First Steps in. Web Load Testing. Telerik

Taking the First Steps in. Web Load Testing. Telerik Taking the First Steps in Web Load Testing Telerik An Introduction Software load testing is generally understood to consist of exercising an application with multiple users to determine its behavior characteristics.

More information

Agilent 8510-13 Measuring Noninsertable Devices

Agilent 8510-13 Measuring Noninsertable Devices Agilent 8510-13 Measuring Noninsertable Devices Product Note A new technique for measuring components using the 8510C Network Analyzer Introduction The majority of devices used in real-world microwave

More information

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room

More information

Parametric Modeling: The New CAD Paradigm for Mechanical Designs Randy Shih

Parametric Modeling: The New CAD Paradigm for Mechanical Designs Randy Shih Parametric Modeling: The New CAD Paradigm for Mechanical Designs Randy Shih There is a new kid on the block in the arena of mechanical CAD technology, and that new kid has already formed a new paradigm

More information

High Efficiency Copper Finned Tube Boilers 750,000-2,000,000 BTU/HR

High Efficiency Copper Finned Tube Boilers 750,000-2,000,000 BTU/HR High Efficiency Copper Finned Tube Boilers 750,000-2,000,000 BTU/HR The heat transfer innovators. THE RELIANCE COPPER FINNED TUBE HYDRONIC BOILER FEATURES Copper Fin-Tube Heat Exchanger Up to 88% Thermal

More information

CS314: Course Summary

CS314: Course Summary CS314: Course Summary Prof. Robert B. France Dept. of Computer Science Colorado State University Robert B. France 1 1 Software Development Issues Explored - 1 Software engineering basics Why do we need

More information

SPL 2-00/-01 OPERATION INSTRUCTIONS

SPL 2-00/-01 OPERATION INSTRUCTIONS SPL 2-00/-01 OPERATION INSTRUCTIONS Powerline Ethernet Adapter 500 Mbps EN Read and keep Operation Instructions SPL 2-00/-01 Safety Notes Do NOT use this product near water, for example, in a wet basement

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

Recommendations for Performance Benchmarking

Recommendations for Performance Benchmarking Recommendations for Performance Benchmarking Shikhar Puri Abstract Performance benchmarking of applications is increasingly becoming essential before deployment. This paper covers recommendations and best

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

Introduction to Parallel Programming and MapReduce

Introduction to Parallel Programming and MapReduce Introduction to Parallel Programming and MapReduce Audience and Pre-Requisites This tutorial covers the basics of parallel programming and the MapReduce programming model. The pre-requisites are significant

More information

Autodesk Fusion 360: Assemblies. Overview

Autodesk Fusion 360: Assemblies. Overview Overview In this module you will learn how different components can be put together to create an assembly. We will use several tools in Fusion 360 to make sure that these assemblies are constrained appropriately

More information

Ensuring Reliability in Lean New Product Development. John J. Paschkewitz, P.E., CRE

Ensuring Reliability in Lean New Product Development. John J. Paschkewitz, P.E., CRE Ensuring Reliability in Lean New Product Development John J. Paschkewitz, P.E., CRE Overview Introduction and Definitions Part 1: Lean Product Development Lean vs. Traditional Product Development Key Elements

More information

KWIC Exercise. 6/18/2007 2007, Spencer Rugaber 1

KWIC Exercise. 6/18/2007 2007, Spencer Rugaber 1 KWIC Exercise On a subsequent slide, you will be given the description of a simple program for which you will be asked to devise two architectures. For the purposes of this exercise, you should imagine

More information

Software Engineering. An Introduction. Fakhar Lodhi

Software Engineering. An Introduction. Fakhar Lodhi Software Engineering An Introduction Fakhar Lodhi 1 Engineering The science concerned with putting scientific knowledge to practical use. Webster s Dictionary Physics versus Electrical Engineering 2 Software

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

A Review of an MVC Framework based Software Development

A Review of an MVC Framework based Software Development , pp. 213-220 http://dx.doi.org/10.14257/ijseia.2014.8.10.19 A Review of an MVC Framework based Software Development Ronnie D. Caytiles and Sunguk Lee * Department of Multimedia Engineering, Hannam University

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

Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1

Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1 Design with Reuse Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1 Objectives To explain the benefits of software reuse and some reuse

More information

The V-model. Validation and Verification. Inspections [24.3] Testing overview [8, 15.2] - system testing. How much V&V is enough?

The V-model. Validation and Verification. Inspections [24.3] Testing overview [8, 15.2] - system testing. How much V&V is enough? Validation and Verification Inspections [24.3] Testing overview [8, 15.2] - system testing Requirements Design The V-model V & V Plans Implementation Unit tests System tests Integration tests Operation,

More information

SPECIFICATION BY EXAMPLE. Gojko Adzic. How successful teams deliver the right software. MANNING Shelter Island

SPECIFICATION BY EXAMPLE. Gojko Adzic. How successful teams deliver the right software. MANNING Shelter Island SPECIFICATION BY EXAMPLE How successful teams deliver the right software Gojko Adzic MANNING Shelter Island Brief Contents 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Preface xiii Acknowledgments xxii

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

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT Mar 31, 2014 Japan Aerospace Exploration Agency This is an English translation of JERG-2-610. Whenever there is anything ambiguous in this document, the original

More information

Lab 2 : Basic File Server. Introduction

Lab 2 : Basic File Server. Introduction Lab 2 : Basic File Server Introduction In this lab, you will start your file system implementation by getting the following FUSE operations to work: CREATE/MKNOD, LOOKUP, and READDIR SETATTR, WRITE and

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

Functional Validation of SAP Implementation

Functional Validation of SAP Implementation Functional Validation of SAP Implementation Efficiently produce and maintain a SAP test repository thru modeling of business processes and business rules Geoffrey Potoczny/Smartesting Professional Services

More information

EE4367 Telecom. Switching & Transmission. Prof. Murat Torlak

EE4367 Telecom. Switching & Transmission. Prof. Murat Torlak Path Loss Radio Wave Propagation The wireless radio channel puts fundamental limitations to the performance of wireless communications systems Radio channels are extremely random, and are not easily analyzed

More information

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

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components

More information

Introduction of Virtualization Technology to Multi-Process Model Checking

Introduction of Virtualization Technology to Multi-Process Model Checking Introduction of Virtualization Technology to Multi-Process Model Checking Watcharin Leungwattanakit watcharin@is.s.u-tokyo.ac.jp Masami Hagiya hagiya@is.s.u-tokyo.ac.jp Mitsuharu Yamamoto Chiba University

More information

How To Understand Software Engineering

How To Understand Software Engineering PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs

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

Use service virtualization to remove testing bottlenecks

Use service virtualization to remove testing bottlenecks Use service virtualization to remove testing bottlenecks Discover integration faults early by pushing integration testing left in the software lifecycle Contents 1 Complex, interconnected applications

More information

Product Description Full Voltage Starting Electric Fire Pump Controllers FTA1000

Product Description Full Voltage Starting Electric Fire Pump Controllers FTA1000 Product Description Full Voltage Starting Electric Fire Pump Controllers FTA1000 Description Firetrol FTA1000 Full Voltage Fire Pump Controllers are intended for use with electric motor driven fi re pumps

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

Engineering Process Software Qualities Software Architectural Design

Engineering Process Software Qualities Software Architectural Design Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical

More information

Life-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice

Life-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice Life-Cycle Model Software Life-Cycle Models Xiaojun Qi It specifies the various phases/workflows of the software process, such as the requirements, analysis (specification), design, implementation, and

More information

The Practical Organization of Automated Software Testing

The Practical Organization of Automated Software Testing The Practical Organization of Automated Software Testing Author: Herbert M. Isenberg Ph.D. Quality Assurance Architect Oacis Healthcare Systems PO Box 3178 Sausalito, CA. 94966 Type: Experience Report

More information

RapidIO Network Management and Diagnostics

RapidIO Network Management and Diagnostics RapidIO Network Management and Diagnostics... Is now even easier! Release 1.1 Overview RapidIO Discovery and Diagnostic Basics Loopback Diagnostic Mode (NEW) Multiple Simultaneous Routing paths (New) Controlling

More information

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,

More information

Test-Driven Development. SC12 Educator s Session November 13, 2012

Test-Driven Development. SC12 Educator s Session November 13, 2012 Test-Driven Development Educator s Session November 13, 2012 Outline Software Quality Overview of Testing Automated Testing Tools Test-Driven Development Educator's Session 2 SOFTWARE QUALITY Educator's

More information

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

Benefits of Test Automation for Agile Testing

Benefits of Test Automation for Agile Testing Benefits of Test Automation for Agile Testing Manu GV 1, Namratha M 2, Pradeep 3 1 Technical Lead-Testing Calsoft Labs, Bangalore, India 2 Assistant Professor, BMSCE, Bangalore, India 3 Software Engineer,

More information

DDR subsystem: Enhancing System Reliability and Yield

DDR subsystem: Enhancing System Reliability and Yield DDR subsystem: Enhancing System Reliability and Yield Agenda Evolution of DDR SDRAM standards What is the variation problem? How DRAM standards tackle system variability What problems have been adequately

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

760 Veterans Circle, Warminster, PA 18974 215-956-1200. Technical Proposal. Submitted by: ACT/Technico 760 Veterans Circle Warminster, PA 18974.

760 Veterans Circle, Warminster, PA 18974 215-956-1200. Technical Proposal. Submitted by: ACT/Technico 760 Veterans Circle Warminster, PA 18974. 760 Veterans Circle, Warminster, PA 18974 215-956-1200 Technical Proposal Submitted by: ACT/Technico 760 Veterans Circle Warminster, PA 18974 for Conduction Cooled NAS Revision 4/3/07 CC/RAIDStor: Conduction

More information

EFFORT ESTIMATION IN QUOTATION PHASE OF COMPLEX PROJECTS DEVELOPMENT

EFFORT ESTIMATION IN QUOTATION PHASE OF COMPLEX PROJECTS DEVELOPMENT EFFORT ESTIMATION IN QUOTATION PHASE OF COMPLEX PROJECTS DEVELOPMENT Daniel TIUC 1,2, George DRAGHICI 1 1 Polytechnic University Timisoara, Integrated Engineering Research Center, george.draghici@upt.ro

More information

Intelligent and Automated Software Testing Methods Classification

Intelligent and Automated Software Testing Methods Classification Intelligent and Automated Software Testing Methods Classification Seyed Reza Shahamiri Department of Software Engineering Faculty of Computer Science and Information s University Teknologi Malaysia (UTM)

More information

Regression Clustering

Regression Clustering Chapter 449 Introduction This algorithm provides for clustering in the multiple regression setting in which you have a dependent variable Y and one or more independent variables, the X s. The algorithm

More information

SoMA. Automated testing system of camera algorithms. Sofica Ltd

SoMA. Automated testing system of camera algorithms. Sofica Ltd SoMA Automated testing system of camera algorithms Sofica Ltd February 2012 2 Table of Contents Automated Testing for Camera Algorithms 3 Camera Algorithms 3 Automated Test 4 Testing 6 API Testing 6 Functional

More information

CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT

CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT CONTENTS 5.1 Introduction 5.2 Component based software life cycle process model 5.2.1 Rapid Application Development Model 5.2.2 The Y

More information

Testing Low Power Designs with Power-Aware Test Manage Manufacturing Test Power Issues with DFTMAX and TetraMAX

Testing Low Power Designs with Power-Aware Test Manage Manufacturing Test Power Issues with DFTMAX and TetraMAX White Paper Testing Low Power Designs with Power-Aware Test Manage Manufacturing Test Power Issues with DFTMAX and TetraMAX April 2010 Cy Hay Product Manager, Synopsys Introduction The most important trend

More information

TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications

TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications TESSY Automated dynamic module/unit and integration testing of embedded applications CTE Classification Tree Editor for test case specifications Automated module/unit testing and debugging at its best

More information

SECTION 2.5: FINDING ZEROS OF POLYNOMIAL FUNCTIONS

SECTION 2.5: FINDING ZEROS OF POLYNOMIAL FUNCTIONS SECTION 2.5: FINDING ZEROS OF POLYNOMIAL FUNCTIONS Assume f ( x) is a nonconstant polynomial with real coefficients written in standard form. PART A: TECHNIQUES WE HAVE ALREADY SEEN Refer to: Notes 1.31

More information

How To Write Software

How To Write Software 1 Medical Device Software - Software Life Cycle Processes IEC 62304 2 Credits John F. Murray Software Compliance Expert U.S. Food and Drug Administration Marcie R. Williams Medical Device Fellow Ph.D.

More information

Application Performance Testing Basics

Application Performance Testing Basics Application Performance Testing Basics ABSTRACT Todays the web is playing a critical role in all the business domains such as entertainment, finance, healthcare etc. It is much important to ensure hassle-free

More information

Automatic vs. Manual Code Analysis

Automatic vs. Manual Code Analysis Automatic vs. Manual Code Analysis 2009-11-17 Ari Kesäniemi Senior Security Architect Nixu Oy ari.kesaniemi@nixu.com Copyright The Foundation Permission is granted to copy, distribute and/or modify this

More information

Configuration Management

Configuration Management 83 Chapter 6 Configuration Management Published as: Configuration Management in Component Based Product Populations, Rob van Ommering, 10th International Workshop on Software Configuration Management,

More information

A-145 LFO. 1. Introduction. doepfer System A - 100 LFO A-145

A-145 LFO. 1. Introduction. doepfer System A - 100 LFO A-145 doepfer System A - 100 FO A-145 1. Introduction A-145 FO Module A-145 (FO) is a low frequency oscillator, which produces cyclical control voltages in a very wide range of frequencies. Five waveforms are

More information

Testing Big data is one of the biggest

Testing Big data is one of the biggest Infosys Labs Briefings VOL 11 NO 1 2013 Big Data: Testing Approach to Overcome Quality Challenges By Mahesh Gudipati, Shanthi Rao, Naju D. Mohan and Naveen Kumar Gajja Validate data quality by employing

More information

Organizing Your Approach to a Data Analysis

Organizing Your Approach to a Data Analysis Biost/Stat 578 B: Data Analysis Emerson, September 29, 2003 Handout #1 Organizing Your Approach to a Data Analysis The general theme should be to maximize thinking about the data analysis and to minimize

More information

Latch Timing Parameters. Flip-flop Timing Parameters. Typical Clock System. Clocking Overhead

Latch Timing Parameters. Flip-flop Timing Parameters. Typical Clock System. Clocking Overhead Clock - key to synchronous systems Topic 7 Clocking Strategies in VLSI Systems Peter Cheung Department of Electrical & Electronic Engineering Imperial College London Clocks help the design of FSM where

More information

Process Intelligence: An Exciting New Frontier for Business Intelligence

Process Intelligence: An Exciting New Frontier for Business Intelligence February/2014 Process Intelligence: An Exciting New Frontier for Business Intelligence Claudia Imhoff, Ph.D. Sponsored by Altosoft, A Kofax Company Table of Contents Introduction... 1 Use Cases... 2 Business

More information

Network Security. Chapter 6 Random Number Generation

Network Security. Chapter 6 Random Number Generation Network Security Chapter 6 Random Number Generation 1 Tasks of Key Management (1)! Generation:! It is crucial to security, that keys are generated with a truly random or at least a pseudo-random generation

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

Stainless Linear Motion Rolling Guide series

Stainless Linear Motion Rolling Guide series products are avaiable from: MARYLAND METRICS phones: (410)358-3130 (800)638-1830 faxes: (410)358-3142 (800)872-9329 P.O.Box 261 Owings Mills, MD 21117 USA URL: http://mdmetric.com E-mail: sales@mdmetric.com

More information

What makes a good process?

What makes a good process? Rob Davis Everyone wants a good process. Our businesses would be more profitable if we had them. But do we know what a good process is? Would we recognized one if we saw it? And how do we ensure we can

More information

Software Project Audit Process

Software Project Audit Process Software Project Audit Process Version 1.2 Information and Communication Technology Agency of Sri Lanka July 2013 Copyright 2011 ICTA Software Project Audit Process-v-1.2 Revision History Date Version

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

Requirements engineering

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

More information

2.0 System Description

2.0 System Description 2.0 System Description The wireless alarm system consists of two or more alarm units within a specified range of one another. Each alarm unit employs a radio transceiver, allowing it to communicate with

More information