Software Test and Analysis in a Nutshell 資 科 系 林 偉 川

Size: px
Start display at page:

Download "Software Test and Analysis in a Nutshell 資 科 系 林 偉 川"

Transcription

1 Software Test and Analysis in a Nutshell 資 科 系 林 偉 川 1 2 1

2 Course OUTLINE Software testing and analysis: process, principles and techniques, Michal Young, 2007 Midterm 30% Final exam 30% Attend the class 10% 30% Home Work but not everytime 3 Learning objectives View the big picture'' of software quality in the context of a software development project and organization: Introduce the range of software verification and validation (V&V) activities Software testing is one element of a broader topic that is often referred to as verification and validation (V&V). Verification are we building the product correctly? Refers to the set of activities that ensure that software correctly implements a specific function. 4 2

3 Learning objectives Validation are we building the correct product? Refers to the set of activities that ensure that the software that has been built is traceable to customer requirements Provide a rationale for selecting and combining V&V within a software development process. 5 Engineering processes Sophisticated tools to amplify developing capabilities but can not remove human error Engineering disciplines pair with design and construction activities that check intermediate and final products to identify and remove the defects Software engineering is no exception: construction of high quality software requires complementary pairing of design and verification activities 6 3

4 Verification and design activities Verification and design activities take various forms suited to highly repetitive construction of non-critical items for mass markets suited to highly customized or highly critical products. Appropriate verification activities depend on engineering discipline construction process final product quality requirements 7 Peculiarities of software Verification grows more difficult with the complexity and variety of the product Software has some characteristics that make V&V particularly difficult: Many different quality requirements Evolving (and deteriorating) structure Inherent non-linearity (software development is non-linearity) Uneven distribution of faults Example If an elevator can safely carry a load of 1000 kg, it can also safely carry any smaller load; If a procedure correctly sorts a set of 256 elements, it may fail on a set of 255 or 53 or 12 elements, as well as on 257 or

5 Impact of new technologies Cost of SW verification exceeds half the overall cost of SW development and maintenance Advanced development technologies can reduce the frequency of some classes of errors but do not eliminate errors New development approaches can introduce new kinds of faults and difficult to reveal and remove Examples With distributed software, the phenomenon of deadlock or race conditions V.S. sequential programs New problems due to the use of polymorphism, dynamic binding and private state in object-oriented software. 9 Variety of approaches There are no fixed recipes for attacking the problem of verifying a SW product Test designers are challenging choose and schedule the right blend of techniques to reach the required level of quality within cost constraints design a specific solution that suits the problem, the requirements, the development environment 10 5

6 Five Basic Questions for the Quality Manager Computer company to add new online shopping functions to the company Web to allow customers to purchase individual configured products (EC Web) 1. When do verification and validation start? When are they complete? 2. What particular techniques should be applied during development to obtain acceptable quality at acceptable cost? 11 Five Basic Questions for the Quality Manager 3. How can we assess the readiness of a product for release? 4. How can we control the quality of successive releases? 5. How can the development process itself be improved over the course of the current and future projects to improve products and make verification more cost effective? 12 6

7 1: When do V&V start? When to complete? Test is not a (late) phase of software development Execution of tests is a small part of the verification and validation process to maintain SW quality V&V start as soon as we decide to build a software product, or even before IT manager to do feasibility study, he should consider not only functionality and development cost, but also the quality and their impact on the overall cost V&V last far beyond the product delivery as long as the software is in use, to cope with evolution and adaptations to new conditions 13 Early start: from feasibility study At this stage, quality related activities include risk analysis measures needed to assess and control quality at each stage of development assessment of the impact of new features and quality requirements contribution of quality control activities to development cost and schedule Add the sales function to the company s website will increase the criticality of system availability and introduce new security issues (SSL, backdoor) 14 7

8 Early start: from feasibility study Feasibility study that ignored quality could lead to major unanticipated costs and delays which very possible to project failure Feasibility study involves some tentative architectural design such as a division of SW structure corresponding to a division of responsibility between a human interface design team and groups responsible for core business software ( business logic ) and supporting infrastructure, and a rough build plan breaking the project into a series of incremental deliveries 15 Early start: from feasibility study Company design team divides the system into a presentation layer, back-end logic, and infrastructure A clean interface between the presentation layer and back-end logic allows a corresponding division between usability testing and verification of correct function Considering quality constraints during early breakdown into subsystems allows for a better allocation of quality requirements and facilities both detailed design and testing 16 8

9 Early start: from feasibility study The initial breakdown of properties given in the feasibility study will be detailed during later design and may result in cross-quality requirements among subsystems ( to guarantee a given security level ), the infrastructure design team may require verification of the absence of some specific security hole (buffer over flow) in other parts of the system (BS779,ISO 9001) Acceptance test of the first release will be based on feedback from selected retail stores and the second release will include full acceptance test and reliability measures 17 Early start: from feasibility study Even when the project is completed, the SW will continue to evolve and adapt to new conditions or requirements V & V activities continue through each small or large change to the system 18 9

10 Long lasting: beyond maintenance Maintenance activities include analysis of changes and extensions generation of new test suites for the added functionalities re-executions of tests to check for non regression of software functionalities after changes and extensions fault tracking and analysis 19 Long lasting: beyond maintenance Making changes to software which is in a known state can, and often does, pose a serious threat to that known state. Every developer knows that even the smallest change can make software useless if the implications of the change were not properly understood or if the change was insufficiently tested during and after implementation

11 Long lasting: beyond maintenance Changes to software are generally unavoidable. Eventually the need arises to amend software, either to correct defects or to modify functionality, and those changes may be required at short notice. It is under these circumstances that the investment in automated regression testing tools can begin to pay back big time. 21 Long lasting: beyond maintenance Without automated regression testing tools the emphasis remains on manual testing to re-affirm the 'known' state of software after changes. This may tie up a large number of expensive resources or simply prevent changes from being delivered successfully at short notice. Under such circumstances pressures can lead to the shipping of software which has not been sufficiently re-tested after changes, sometimes with dire consequences

12 Long lasting: beyond maintenance To remain competitive, software developers must be able to implement changes to software quickly and reliably. To support rapid change, testing must be both thorough and quick, leaving little option but to automate the testing process. 23 Long lasting: beyond maintenance Successful integration of automated regression testing tools into the development process offers greater levels of confidence that changes introduced into software at short notice will not go without testing nor will they cause unexpected consequences when the software is later shipped to users. Automated testing enables thorough testing of software to be conducted both quickly and repeatedly. No longer are expensive resources tied up for long periods of time to repeat tedious manual tests

13 2: What techniques should be applied? No single analysis or test technique can serve all purposes. The primary reasons for combining techniques are: Effectiveness for different classes of faults example: conventional testing and testing for race conditions Applicability at different points in a project example: inspection for early requirements validation Differences in purpose example: statistical testing to measure reliability Tradeoffs in cost and assurance example: expensive technique for key properties 25 What techniques should be applied? Feasibility study is the first step of a complex development process that should lead to delivery of a satisfactory product through design, verification, and validation activities Verification is the process toward the construction of product that satisfies the requirements by checking the quality of intermediate artifacts as well as the ultimate product Validation checks the correspondence of the intermediate artifacts and the final product to users expectation 26 13

14 What techniques should be applied? The choice of the set of test and analysis techniques depend on quality, cost, scheduling, and resource constraints in development of a particular product Business logic subsystem is used a prototype for validating requirement spec. The developer should based on company checklists to identify deviations from design rules for ensuring maintainability, scalability, and correspondence between design and code 27 What techniques should be applied? Requirement specs. are written in a structured, semiformal format that are not amenable to automated check, but like other SW artifact and can be inspected by developer The company has made a checklist based on their rules for structuring spec. document and on experience with problems in requirements from past system and asking the inspector to confirm each specified property is stated in a form that can be effectively test 28 14

15 What techniques should be applied? Component interface specs. are inspected by small groups that include a representative of the provider and consumer sides of the interface mostly off-line with exchange of notes through a discussion service Test stub is additional code needed to execute a unit or a subsystem in isolation Test oracles check the results of executing the code and signal discrepancies between actual and expected outputs 29 Unit Test Environment Module to be tested Driver interface local data structures boundary conditions independent paths error-handling paths Stub Stub results Test Cases Note: Redraw from [Pressman 2004] 30 15

16 What techniques should be applied? Test case are based primarily on interface spec. if less than 90% of all statements are executed by functional tests, this is taken as an indication that either the interface specs are incomplete (missing coverage), or else additional implementation complexity hides behind the interface Integration and system test of the some subsystem are modeled as finite state machines, so the quality teams create test suits that exercise program path corresponding to each state transition in the models 31 State machine models These model the behaviour of the system in response to external and internal events They show the system s responses to stimuli so are often used for modelling real-time systems State machine models show system states as nodes and events as arcs between these nodes. When an event occurs, the system moves from one state to another Harel s Statecharts are an integral part of the UML A stimulus can trigger a transition from one state to another state 32 16

17 Microwave oven operation Select the power level(full or Half) Input the cook time Press start button and the food is cooked for the given time Rounded rectangle represents the system states Labeled arrow represents stimuli which force the system to change state 33 Microwave oven state description State Waiting Half power Full power Set time Disabled Enabled Operation Description The oven is waiting for input. The display shows the current time. The oven power is set to 300 watts. The display shows alf power. The oven power is set to 600 watts. The display shows ull power. The cooking time is set to the user s input value. The display shows the cooking time selected and is updated as the time is set. Oven operation is disabled for safety. Interior oven light is on. Display shows Not ready. Oven operation is enabled. Interior oven light is off. Display shows Ready to cook. Oven in operation. Interior oven light is on. Display shows the timer countdown. On completion of cooking, the buzzer is sounded for 5 seconds. Oven light is on. Display shows Cooking complete?w hile buzzer is sounding

18 Microwave oven stimuli Stimulus Half power Full power Timer Number Door open Door closed Start Cancel Description The user has pressed the half power button The user has pressed the full power button The user has pressed one of the timer buttons The user has pressed a numeric key The oven door switch is not closed The oven door switch is closed The user has pressed the start button The user has pressed the cancel button 35 Full power Microwave oven model Full power do: set power = 600 Half power Waiting do: display time Half power Full power Half power do: set power = 300 Timer Timer Set time do: get number exit: set time Door open Door closed Door closed Number Start Enabled do: display 'Ready' Operation do: operate oven Door open Cancel Detail Waiting do: display time Disabled do: display 'Waiting' 36 18

19 State machine table for microwave oven Stimulus State Statecharts Allow the decomposition of a model into sub-models A brief description of the actions is included following the do in each state Can be complemented by tables describing the states and the stimuli For large system model, a super-state which encapsulates a number of separate states is used for structuring the states structure 38 19

20 Microwave oven operation Checking do: check status Operation OK Cook do: run generator Time Turntable fault Emitter fault Timeout Alarm do: display event Done do: buzzer on for 5 secs. back Disabled Door open Waiting Cancel 39 What techniques should be applied? The human factors team produces look-and-feel guidelines for the Web purchasing system, which together with a interface design rules can be checked during inspection and test (ergonomics, no web barrier [blind, hearing ]) The human factors team also produces and executes a usability testing plan 40 20

21 What techniques should be applied? To construct a coherent plan that can be monitored schedule progress against the plan, the company records faults found during each activity, using this as an indicator of potential trouble spots If the number of faults found in a component during design inspections is high, additional dynamic test time will be planned for that component 41 Staging Analysis and Test techniques 42 21

22 3: How can we assess the readiness of a product? Analysis and Test during development aim at revealing faults The truth is that we cannot reveal are remove all faults Analysis and Test cannot last indefinitely: we want to know if products meet the quality requirements We must specify the required level of dependability and determine when that level has been attained 43 Different measures of dependability Availability measures the quality of service (QoS) in terms of running versus down time Mean time between failures (MTBF) measures the quality of the service in terms of time between failures the length of time intervals during which the service is available Reliability indicates the fraction of all attempted operations that complete successfully (availability) 44 22

23 Different measures of dependability Both reliability and availability are important for company s web presentation. The availability goal is set at an average of no more than 30 mins. of down time per month. A reliability goal of less than 1 failure per 1000 user sessions, with a rule to set that certain critical failures must be rare 30 one-minute failures in the course of a day would be much worse than a single 30 minutes failure, MTBF is specified as at least one week 45 Different measures of dependability From the experience of many previous projects, the company is fruitful to begin measuring reliability. For some application domain, the company has gathered a large amount of historical usage data from which to define an operational profile that are used to generate large, statistically valid sets of randomly generated tests Unfortunally, in many cases such an operational profile is not available 46 23

24 Example of different dependability measures Web sales application: 50 interactions terminating with a credit card charge. The software always operates flawlessly up to the point that a credit card is to be charged, but on half the attempts it charges the wrong amount. What is the reliability of the system? If we count the fraction of individual interactions that are correctly carried out, only one operation in 100 fail: The system is 99% reliable. If we count entire sessions, only 50% reliable, since half the sessions result in an improper credit card charge 47 Assessing dependability Randomly generated tests following an operational profile Alpha test: tests performed by users in a controlled environment, observed by the development organization Beta test: tests performed by real users in their own environment, performing actual tasks without interference or close monitoring 48 24

25 Assessing dependability Company should plan a small alpha test, followed by a longer beta test period in which the SW is made available only in retail outlets To accelerate reliability measurement after subsequent revisions of the system, the beta version will be captured many properties of a usage profile How can we ensure the quality of successive releases? Software test and analysis does not stop at the first release. Software products operate for many years, and undergo many changes: They adapt to environment changes They evolve to serve new and changing user requirements. Ongoing Quality tasks after delivery include: test and analysis of new and modified code re-execution of system tests extensive record-keeping 50 25

26 How can we ensure the quality of successive releases? Company should maintain a DB for tracking problems. This DB serves a dual purpose of tracking and prioritizing actual, known program faults and their resolution and managing communication with users who file problem reports Even at initial release, the DB usually includes some known faults, because market pressure seldom allow correcting all known faults before product release Some problem reported by users are misunderstandings and feature requests, and many distinct reports turn out to be duplicated which are consolidated 51 How can we ensure the quality of successive releases? The company supports recording, classification, and automatic re-execution of test cases. Company designates major revisions, involving several developers, as point release, and small revisions as patch level releases. A major point release is likely to repeat a period of beta testing Patch level releases are urgent for some customers. Test and analysis for patch level revisions is abbreviated, and automation is particular important for obtaining a reasonable level of assurance with very fast turnaround 52 26

27 How can we ensure the quality of successive releases? Each point release must undergo complete regression testing before release, but patch level revisions may be released with a subset of regression tests that run unattended overnight When fixing one fault maybe introduce a new fault or re-introduce faults that have occurred in the past How can the development process itself be improved? The same defects are encountered in project after project finishing Quality improvement program tracks and classifies faults to identify the human errors that cause weakness in test and analysis that allow errors to remain undetected Quality improvement group members are drawn from developers and quality specialists on several projects to produce recommendations that may include modifications to development, test practices, technology support, and management practices 54 27

28 Fault analysis and process improvement 1. Define the data to be collected and implements procedures for collecting them 2. Analyze collected data to identify important fault classes 3. Analyze selected fault classes to identify weaknesses in development and quality measures 4. Adjust the quality and development process 55 Quality assurance process Process improvement program provides an opportunity to better integrate fault data collection with other practice, including the normal procedure for assigning, tracking, and reviewing development work assignments Quality process improvement is the initial data collection is integrated in the same bug tracking system, which is integrated with the revision and configuration control system by company s developers 56 28

29 Quality assurance process Data from several projects over time are aggregated and classified to identify classes of faults that are important because they occur frequently and may cause particular severe failures, or costly to repair These faults are analyzed to understand how they are initially introduced and why they escape detection The improvement steps recommended by quality improvement group may include specific analysis or testing steps for earlier fault detection, may also include design rules and modifications to development and even to management practice 57 An example of recommend for process improvement 1. Faults that affect security were given highest priority 2. During Analysis and Test, the identification of several buffer overflow problems that may affect security 3. Faults were due to bad programming practice and were revealed late due to lack of analysis 4. Action plan: Modify programming discipline and environment and add specific entries to inspection checklists An important part of each recommended practice is an recommendation for measuring the impact of the change 58 29

30 Summary The quality process has three different goals: Improving a software product assessing the quality of the software product improving the quality process We need to combine several Analysis and Test techniques through the software process Analysis and Test depend on organization and application domain. Cost-effectiveness depends on the extent to which techniques can be re-applied as the product evolves. Planning and monitoring are essential to evaluate and refine the quality process

in a Nutshell (c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1

in a Nutshell (c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1 Software Test and Analysis in a Nutshell (c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1 Learning objectives View the big picture'' of software quality in the context of a software development project

More information

Software Test and Analysis in a Nutshell

Software Test and Analysis in a Nutshell Chapter 1 Software Test and Analysis in a Nutshell Before considering individual aspects and techniques of software analysis and testing, it is useful to view the big picture of software quality in the

More information

Software Engineering. System Modeling

Software Engineering. System Modeling Software Engineering System Modeling 1 System modeling System modeling is the process of developing abstract models of a system, with each model presenting a different view or perspective of that system.

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

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

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

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 Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Software Testing Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Testing can only reveal the presence of errors and not the

More information

System Modeling / Class Diagra Diagr m a Week 6

System Modeling / Class Diagra Diagr m a Week 6 System Modeling / Class Diagram Week 6 System modeling Agenda (Lecture) Agenda (Lab) Create CRC cards for your group project Create a system level (analysis level) class diagram (Lab Assignment #6) for

More information

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

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering System Models Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain why the context of a system should be modeled as part of the RE process To describe

More information

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by

More information

SA Tool Kit release life cycle

SA Tool Kit release life cycle Release management Release management process is a software engineering process intended to oversee the development, testing, deployment and support of software releases. A release is usually a named collection

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

Requirements engineering

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

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

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

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

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

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

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

Software Process for QA

Software Process for QA Software Process for QA Basic approaches & alternatives CIS 610, W98 / M Young 1/7/98 1 This introduction and overview is intended to provide some basic background on software process (sometimes called

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

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5. No. 8, November-December 2006 Requirements Engineering Tasks Donald Firesmith,

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

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

Chapter 8 Software Testing

Chapter 8 Software Testing Chapter 8 Software Testing Summary 1 Topics covered Development testing Test-driven development Release testing User testing 2 Program testing Testing is intended to show that a program does what it is

More information

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

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

Plan-based Software Development

Plan-based Software Development Plan-based Software Development 2004-2005 Marco Scotto (Marco.Scotto@unibz.it) Development Models Introduction The Waterfall Development Model The V-Shaped Software Development Model The Incremental Software

More information

ISTQB Certified Tester. Foundation Level. Sample Exam 1

ISTQB Certified Tester. Foundation Level. Sample Exam 1 ISTQB Certified Tester Foundation Level Version 2015 American Copyright Notice This document may be copied in its entirety, or extracts made, if the source is acknowledged. #1 When test cases are designed

More information

System Requirement Specifications (SRS)

System Requirement Specifications (SRS) (SRS) Assignment 1 Sample Solution 1 Table of Contents 1 Table of Contents... 1 2 Problem Statement... 2 3 Overview... 2 3.1 Background... 2 3.2 Overall Description... 2 4 Investigation & Analysis Methodology...

More information

How To Model Software Development Life Cycle Models

How To Model Software Development Life Cycle Models Various Software Development Life Cycle Models Sahil Jindal, Puneet Gulati, Praveen Rohilla Dronacharya College of Engineering, India Abstract:An SDLC model is a conceptual framework describing different

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

Best Practices, Process

Best Practices, Process Best Practices, Process Nathaniel Osgood MIT 15.879 May 16, 2012 Recall: Process Suggestions Use discovery of bugs & oversights to find opportunities to improve Q & A and broader modeling process Use peer

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

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

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

Align IT Operations with Business Priorities SOLUTION WHITE PAPER

Align IT Operations with Business Priorities SOLUTION WHITE PAPER Align IT Operations with Business Priorities SOLUTION WHITE PAPER Table of Contents Executive summary............................................... 1 the Need for Aligning IT Operations with Business

More information

In this Lecture you will Learn: Implementation. Software Implementation Tools. Software Implementation Tools

In this Lecture you will Learn: Implementation. Software Implementation Tools. Software Implementation Tools In this Lecture you will Learn: Implementation Chapter 19 About tools used in software implementation How to draw component diagrams How to draw deployment diagrams The tasks involved in testing a system

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

D6.1: Service management tools implementation and maturity baseline assessment framework

D6.1: Service management tools implementation and maturity baseline assessment framework D6.1: Service management tools implementation and maturity baseline assessment framework Deliverable Document ID Status Version Author(s) Due FedSM- D6.1 Final 1.1 Tomasz Szepieniec, All M10 (31 June 2013)

More information

Guideline for stresstest Page 1 of 6. Stress test

Guideline for stresstest Page 1 of 6. Stress test Guideline for stresstest Page 1 of 6 Stress test Objective: Show unacceptable problems with high parallel load. Crash, wrong processing, slow processing. Test Procedure: Run test cases with maximum number

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

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

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

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

FSW QA Testing Levels Definitions

FSW QA Testing Levels Definitions FSW QA Testing Levels Definitions 1. Overview This document is used to help determine the amount and quality of testing (or its scope) that is planned for or has been performed on a project. This analysis

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

Metrics in Software Test Planning and Test Design Processes

Metrics in Software Test Planning and Test Design Processes Master Thesis Software Engineering Thesis no: MSE-2007:02 January 2007 Metrics in Software Test Planning and Test Design Processes Wasif Afzal School of Engineering Blekinge Institute of Technology Box

More information

IV. Software Lifecycles

IV. Software Lifecycles IV. Software Lifecycles Software processes and lifecycles Relative costs of lifecycle phases Examples of lifecycles and processes Process maturity scale Information system development lifecycle Lifecycle

More information

Software Engineering UNIT -1 OVERVIEW

Software Engineering UNIT -1 OVERVIEW UNIT -1 OVERVIEW The economies of ALL developed nations are dependent on software. More and more systems are software controlled. Software engineering is concerned with theories, methods and tools for

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

應 用 測 試 於 軟 體 發 展 生 命 週 期. 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

Best Practices for Improving the Quality and Speed of Your Agile Testing

Best Practices for Improving the Quality and Speed of Your Agile Testing A Conformiq White Paper Best Practices for Improving the Quality and Speed of Your Agile Testing Abstract With today s continually evolving digital business landscape, enterprises are increasingly turning

More information

Nova Software Quality Assurance Process

Nova Software Quality Assurance Process Nova Software Quality Assurance Process White Paper Atlantic International Building 15F No.2 Ke Yuan Yi Road, Shiqiaopu, Chongqing, P.R.C. 400039 Tel: 86-23- 68795169 Fax: 86-23- 68795169 Quality Assurance

More information

Introduction to the ITS Project Management Methodology

Introduction to the ITS Project Management Methodology Introduction to the ITS Project Management Methodology In September 1999 the Joint Legislative Committee on Performance Evaluation and Expenditure Review (PEER) produced a report entitled Major Computer

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

Network Monitoring. Chu-Sing Yang. Department of Electrical Engineering National Cheng Kung University

Network Monitoring. Chu-Sing Yang. Department of Electrical Engineering National Cheng Kung University Network Monitoring Chu-Sing Yang Department of Electrical Engineering National Cheng Kung University Outline Introduction Network monitoring architecture Performance monitoring Fault monitoring Accounting

More information

Software Production and Lifecycle Models

Software Production and Lifecycle Models Software Production and Lifecycle Models 1 Problem Definition Change Architectural Design Verification Personnel Basic Phases Potential Difficulties, Verification, and Testing Implementation and Integration

More information

<name of project> Software Project Management Plan

<name of project> Software Project Management Plan The document in this file is adapted from the IEEE standards for Software Project Management Plans, 1058-1998, which conforms to the requirements of ISO standard 12207 Software Life Cycle Processes. Tailor

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements

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 Process Models. Xin Feng

Software Process Models. Xin Feng Software Process Models Xin Feng Questions to Answer in Software Engineering? Questions to answer in software engineering What is the problem to be solved? Definition What are the characteristics of the

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

Test Plan Evaluation Model

Test Plan Evaluation Model Satisfice, Inc. http://www.satisfice.com James Bach, Principal james@satisfice.com Version 1.12 9/25/99 Test Plan Evaluation Model The answer to the question How good is this test plan? can only be given

More information

4 Testing General and Automated Controls

4 Testing General and Automated Controls 4 Testing General and Automated Controls Learning Objectives To understand the reasons for testing; To have an idea about Audit Planning and Testing; To discuss testing critical control points; To learn

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

UC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara http://www.cs.ucsb.

UC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara http://www.cs.ucsb. CS189A - Capstone Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ How Should We Build Software? Let s look at an example Assume we asked our IT folks if they can do the

More information

Best Practices Report

Best Practices Report Overview As an IT leader within your organization, you face new challenges every day from managing user requirements and operational needs to the burden of IT Compliance. Developing a strong IT general

More information

Request for Proposal for Application Development and Maintenance Services for XML Store platforms

Request for Proposal for Application Development and Maintenance Services for XML Store platforms Request for Proposal for Application Development and Maintenance s for ML Store platforms Annex 4: Application Development & Maintenance Requirements Description TABLE OF CONTENTS Page 1 1.0 s Overview...

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

zen Platform technical white paper

zen Platform technical white paper zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant

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

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

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

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

Comparing Agile Software Processes Based on the Software Development Project Requirements

Comparing Agile Software Processes Based on the Software Development Project Requirements CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical

More information

UNIFACE Component-based. Development Methodology UNIFACE V7.2. 151157206-00 Revision 0 Dec 2000 UMET

UNIFACE Component-based. Development Methodology UNIFACE V7.2. 151157206-00 Revision 0 Dec 2000 UMET UNIFACE Component-based Development Methodology UNIFACE V7.2 151157206-00 Revision 0 Dec 2000 UMET UNIFACE Component-based Development Methodology Revision 0 Restricted Rights Notice This document and

More information

Software Development Processes. Software Life-Cycle Models

Software Development Processes. Software Life-Cycle Models 1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 4/3/98 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning

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

Fundamentals of Measurements

Fundamentals of Measurements Objective Software Project Measurements Slide 1 Fundamentals of Measurements Educational Objective: To review the fundamentals of software measurement, to illustrate that measurement plays a central role

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

Procedure for Assessment of System and Software

Procedure for Assessment of System and Software Doc. No: STQC IT/ Assessment/ 01, Version 1.0 Procedure for Assessment of System and Software May, 2014 STQC - IT Services STQC Directorate, Department of Electronics and Information Technology, Ministry

More information

Overview. System Definition Webster s Dictionary. System Engineering Hierarchy. System Engineering. Computer-Based Systems [PRE2005]

Overview. System Definition Webster s Dictionary. System Engineering Hierarchy. System Engineering. Computer-Based Systems [PRE2005] IF2261 Software Engineering Engineering Program Studi Teknik Informatika STEI ITB Overview Before software can be engineered: the system it is part of must be understood, the overall objective of the system

More information

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

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when

More information

CREDENTIALS & CERTIFICATIONS 2015

CREDENTIALS & CERTIFICATIONS 2015 THE COMMUNITY FOR TECHNOLOGY LEADERS www.computer.org CREDENTIALS & CERTIFICATIONS 2015 KEYS TO PROFESSIONAL SUCCESS CONTENTS SWEBOK KNOWLEDGE AREA CERTIFICATES Software Requirements 3 Software Design

More information

Carnegie Mellon University Master of Science in Information Technology Software Engineering (MSIT-SE) MSIT Project (17-677) Approval Form

Carnegie Mellon University Master of Science in Information Technology Software Engineering (MSIT-SE) MSIT Project (17-677) Approval Form Carnegie Mellon University Master of Science in Information Technology Software Engineering (MSIT-SE) MSIT Project (17-677) Approval Form Student Name: Jane Doe Date: 9/19/2002 Project Title: Re-Engineer

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

Agile Projects 7. Agile Project Management 21

Agile Projects 7. Agile Project Management 21 Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management

More information

How To Test Automatically

How To Test Automatically Automated Model-Based Testing of Embedded Real-Time Systems Jan Peleska jp@tzi.de University of Bremen Bieleschweig Workshop 7 2006-05-05 Outline Technologie-Zentrum Informatik Objectives Basic concepts

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

Software Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia

Software Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia Software Development Lifecycle Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia About Me Currently manage a team of 10 Program Managers at Microsoft Research Asia Over

More information

Software quality engineering. Quality assurance. Testing

Software quality engineering. Quality assurance. Testing 4 Software Quality Engineering c Jeff Tian, to be published by John Wiley, 2005 Software quality engineering Quality assurance Testing Figure 1.1. engineering Scope and content hierarchy: Testing, quality

More information

MNLARS Project Audit Checklist

MNLARS Project Audit Checklist Audit Checklist The following provides a detailed checklist to assist the audit team in reviewing the health of a project. Relevance (at this time) How relevant is this attribute to this project or audit?

More information

Data Analysis Tools. Tools for Summarizing Data

Data Analysis Tools. Tools for Summarizing Data Data Analysis Tools This section of the notes is meant to introduce you to many of the tools that are provided by Excel under the Tools/Data Analysis menu item. If your computer does not have that tool

More information

The Role and Task of the System Architect

The Role and Task of the System Architect - Blah Blah V4aa Idea IO think, analyze listen, talk, walk around design, assist project leader brainstorm, with work breakdown, explain schedule, risks present, meet, teach, discuss travel to write, customer,

More information

COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF PUBLIC WELFARE, INSURANCE, AND AGING

COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF PUBLIC WELFARE, INSURANCE, AND AGING COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF PUBLIC WELFARE, INSURANCE, AND AGING INFORMATION TECHNOLOGY STANDARD Name Of Standard: Defect Management and Reporting Domain: Application Domain Date Issued:

More information

Reduce Medical Device Compliance Costs with Best Practices. mark.pitchford@ldra.com

Reduce Medical Device Compliance Costs with Best Practices. mark.pitchford@ldra.com Reduce Medical Device Compliance Costs with Best Practices mark.pitchford@ldra.com 1 Agenda Medical Software Certification How new is Critical Software Certification? What do we need to do? What Best Practises

More information

Frameworx 14.5 Implementation Conformance Certification Report

Frameworx 14.5 Implementation Conformance Certification Report Frameworx 14.5 Implementation Conformance Certification Report Verizon Verizon Enterprise Solutions (VES) Service Assurance & Billing October 2015 Version 1.0 1 Table of Contents List of Figures... 4 List

More information

Software Testing and Software Development Lifecycles

Software Testing and Software Development Lifecycles Software Testing and Software Development Lifecycles Executive Summary This paper outlines a number of commonly used software development lifecycle models, with particular emphasis on the testing activities

More information