Test-Driven Development. SC12 Educator s Session November 13, 2012
|
|
- Arleen Welch
- 7 years ago
- Views:
Transcription
1 Test-Driven Development Educator s Session November 13, 2012
2 Outline Software Quality Overview of Testing Automated Testing Tools Test-Driven Development Educator's Session 2
3 SOFTWARE QUALITY Educator's Session 3
4 Multiple Definitions Software Quality Developer s View vs. User s View Developers = Users = Educator's Session 4
5 Definitions Software must do the right things Perform the right functions Often referred to as Software must do things right Perform intended functions without problems Often referred to as Educator's Session 5
6 Failure Quality Definitions: Defects Fault Error Educator's Session 6
7 Quality Definitions: Defects Educator's Session 7
8 Customers/Users Quality Focus Developers Educator's Session 8
9 Defect Prevention QA Activities: Types Defect Reduction Defect Containment Educator's Session 9
10 Pre-release QA Activities: Timing Defect Prevention & Reduction Remove as many defects as possible before release Post-release Repair failures Reduces defects Significantly more expensive than pre-release Bad PR Contain defects Minimize impact Expensive, so limited in application Educator's Session 10
11 Defect Prevention: Introduction Reduce the chance of fault injection Approach depends on source There may be specific tools or technologies that can also help Important to establish the correct root-cause Educator's Session 11
12 Defect Prevention: Education and Training People are most important factor in quality and success Education and Training can improve the quality of the work done by practitioners Elimination of misconceptions will reduce the probability of defect injection Educator's Session 12
13 Defect Prevention: Education and Training Product and Domain Specific Knowledge Software Development Expertise Knowledge about tools, methods, techniques Development Process Knowledge Educator's Session 13
14 Defect Prevention: Formal Methods Help eliminate error sources and verify the absence of faults Formal Methods Formal Specification Formal Verification Educator's Session 14
15 Formal Methods: Axiomatic Approach Code Conditions Describing Program State Before Execution Axiom 1 Axiom 2 Axiom 3 Program Meaning Conditions Describing Program State After Execution Biggest obstacle to use of formal methods: Educator's Session 15
16 Defect Prevention: Other Techniques Use of additional software development methodologies (besides Formal Methods) Prevent extra functionality Reduce complexity Better management Concrete process definition Enforcement of standards Use of specific tools Enforce coding standards Educator's Session 16
17 QA Activities: Defect Prevention Educator's Session 17
18 Defect Reduction: Introduction Unrealistic to expect Defect Prevention step to stop all defects Different approaches Educator's Session 18
19 Defect Reduction: Testing Execution of software and checking results Locates failures Isolate and fix the fault(s) that led to the failure When to test Need some executable Unit tests of components through acceptance test of entire system Can also use prototypes Educator's Session 19
20 Defect Reduction: What to Test Functional (black box) Structural (white box) Educator's Session 20
21 Defect Reduction: When to Stop Testing Can use coverage criteria Assumption: Reliability goals Educator's Session 21
22 Defect Reduction: Observations Many other techniques available In-field measurement and repair not normally considered part of QA Important to determine risky components Educator's Session 22
23 QA Activities: Defect Reduction Educator's Session 23
24 Defect Containment: Introduction Important for systems where the impact of failures is substantial Not all faults can be eliminated (cost, time) Educator's Session 24
25 Defect Containment: Fault Tolerance Different from manufacturing Approaches Does not focus on identifying and removing the faults that cause the failures Educator's Session 25
26 Safety-critical systems: Defect Containment: Safety Assurance Address even low probability failures Safety Assurance techniques Educator's Session 26
27 QA Activities: Defect Containment Educator's Session 27
28 INTRODUCTION TO TESTING Educator's Session 28
29 Types of Testing Educator's Session 29
30 Unit Testing What? Who? What is the focus? What type of testing techniques do we use? Educator's Session 30
31 Component Testing What? Who? What type of testing techniques do we use? COTS and CBSD Educator's Session 31
32 Integration Testing What? Who? What is the focus? What type of testing techniques do we use? Merged with System Testing? Educator's Session 32
33 System Testing What? Who? What is the focus? What type of testing techniques do we use? Embedded systems? Educator's Session 33
34 Acceptance Testing What? Who? What is the focus? What type of testing techniques do we use? Educator's Session 34
35 Functional vs. Structural Educator's Session 35
36 Individual elements Functional vs. Structural Interactions of elements Inputs and outputs functional Educator's Session 36
37 Black Box (Functional) Testing: Overview Educator's Session 37
38 Planning Black Box (Functional) Testing: Process Execution Analysis Educator's Session 38
39 White Box (Structural) Testing: Overview Educator's Session 39
40 Stopping Criteria: Coverage-Based Ensures some item has been covered Assumes that Approaches Educator's Session 40
41 Define the model Coverage Based Testing: Process Check the model elements Define the coverage criteria Derive the test cases Educator's Session 41
42 Test Activities Test Planning Test Execution Analysis and Follow-up Educator's Session 42
43 High level goal: Test Planning Make the following decisions Have to account for personnel Educator's Session 43
44 What is needed? Test Planning: Test Case Creation How are they generated? Educator's Session 44
45 What is a test suite? Test Planning: Test Suite Preparation How are they created? Expensive should be maintained for future use Educator's Session 45
46 Test Planning: Preparation of Procedure Ordering of test cases One test case should leave the system ready to execute the next Assignment of personnel Educator's Session 46
47 Major steps: Test Execution: Overview Prevent failed test cases from halting execution Environment Educator's Session 47
48 Specific Approaches to Testing Control Flow Testing Partition-based Testing Usage-based Testing Data-flow Testing Educator's Session 48
49 Systematic Testing Drawbacks to ad hoc testing One way to structure is to build a checklist Educator's Session 49
50 Control Flow Testing: Overview Model of the software is a graph first A B C D E Use F G last Educator's Session 50
51 Control Flow Testing: Model Construction Educator's Session 51
52 Control Flow Testing: Model Construction Can also be done with black box testing Elements Educator's Session 52
53 Control Flow Testing: Path Selection Educator's Session 53
54 Control Flow Testing: Path Selection Educator's Session 54
55 Control Flow Testing: Model Construction L1: input(a,b,c) L2: d b*b 4*a*c L3: If (d>0) then L4: r 2 L5: else_if (d=0) L6: r 1 L7: else_if (d<0) L8: r 0 L9: output (r) Educator's Session 55
56 Control Flow Testing: Creating Test Cases If each decision is based on an independent variable, then just choose appropriate values Can use the idea of equivalence classes If decisions are not independent, some branches may be eliminated as infeasible Some decisions may be based on processing between decisions nodes may be hard to develop test cases Educator's Session 56
57 Loops Loops complicate the CFT idea. Why? Parts of a loop: Educator's Session 57
58 Loops While (C) do {B} For (I; C; U) do {B} Educator's Session 58
59 Loop Testing: Difficulties When loops are nested, number of paths quickly grows unmanageable Complete path coverage not possible, have to be selective Where do most problems occur? What types of test cases do we need and why? Educator's Session 59
60 Loop Testing: Difficulties Concatenation/Nesting of loops How can we reduce number of test cases? Educator's Session 60
61 Specific Approaches to Testing Control Flow Testing Partition-based Testing Usage-based Testing Data-flow Testing Educator's Session 61
62 Partition Based Testing Benefits Increased coverage Reduced overlap Examples: Solve for root of ax 2 + bx + c = 0 Thermostat Educator's Session 62
63 Partition Testing: Theory A set S contains a list of unique elements Partition of S creates subsets G 1, G 2, G n such that Sets are mutually exclusive Sets are collectively exhaustive G 1..G n are equivalence classes if created based on some definition of equality Properties Symmetric Transitive Reflexive Educator's Session 63
64 AUTOMATED TESTING TOOLS Educator's Session 64
65 Automated Testing Frameworks Enable set of tests to be executed repeatedly Family of tools junit cunit (xunit) Demo Educator's Session 65
66 cunit Framework to create and execute tests Assertions CU_ASSERT CU_ASSERT_TRUE CU_ASSERT_FALSE CU_ASSERT_EQUAL CU_ASSERT_NOT_EQUAL Educator's Session 66
67 cunit: Test Registry Repository of test suites and tests Using the test registry Create Clean up Adding tests Create a test suite Add tests to the test suite Educator's Session 67
68 Can run: All tests Individual suites Individual tests cunit: Running Tests Modes Automated non-automated / XML output Basic non-automated / stdout output Console interactive console under user control Educator's Session 68
69 TEST-DRIVEN DEVELOPMENT Educator's Session 69
70 Test-Driven Development: Introduction & Background Basic idea: Part of the agile software development approach Pair programming Educator's Session 70
71 Test-Driven Development: Overview Focus on unit tests Often require Can be automated or manual Can be performed by developers or testers Educator's Session 71
72 Test-Driven Development: Motivation Programming practice that instructs developers to: Test-Driven Development Educator's Session 72
73 Test-Driven Development: Definition From the Agile Alliance Test-driven development (TDD) is the craft of producing automated tests for production code, and using that process to drive design and programming. For every tiny bit of functionality in the production code, you first develop a test that specifies and validates what the code will do. You then produce exactly as much code as will enable that test to pass. Then you refactor (simplify and clarify) both the production code and the test code. Educator's Session 73
74 Test-Driven Development: Additional Thoughts Refactoring Not a software development methodology Provides automated test Educator's Session 74
75 Test-Driven Development: Process Educator's Session 75
76 Test-Driven Development: Example Story Educator's Session 76
77 Test-Driven Development: Automated Testing TDD assumes the presence of an automated testing framework Test Harnesses xunit Lets users write tests to initialize, execute, and make assertions about code being tested Tests can serve as documentation Educator's Session 77
78 Test-Driven Development: Evaluation Performed in Industry and Academia Industrial studies 4 studies in small companies Measured defect density Results Programmers using TDD produced code that passed 18% - 50% more tests TDD programmers spent less time debugging TDD decreased productivity but they wrote more test cases Educator's Session 78
79 Test-Driven Development: Challenges to Adoption Educator's Session 79
80 Test-Driven Development: Example Design a system to perform financial transactions with money that may be in different currencies For example If the exchange rate from Swiss Francs to US Dollars is 2 to 1, then we can calculate 5 USD + 10 CHF = 10 USD 5 USD + 10 CHF = 20 CHF Educator's Session 80
81 References Slides adapted from materials in: Roger Pressman. Software Engineering: A Practitioner s Approach. 7th edition. Jeff Tian. Software Quality Engineering: Testing, Quality Assurance and Quantifiable Improvement. Jansen, D. and Saiedian, H. Test-Driven Development: Concepts, Taxonomy, and Future Direction. Computer. Sept p Erdogmus, H., Morisio, M., and Torchiano, M. On the Effectiveness of the Test-First Approach to Programming. IEEE Transactions on Software Engineering. 31(5): March Example taken from Kenneth Anderson, Univ. of Colorado, Boulder Educator's Session 81
82 Materials Updated slides and handouts available on the web Educator's Session 82
83 HANDS-ON TIME Educator's Session 83
Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective
Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective Iteration Advantages: bringing testing into the development life
More informationIntroduction to Computers and Programming. Testing
Introduction to Computers and Programming Prof. I. K. Lundqvist Lecture 13 April 16 2004 Testing Goals of Testing Classification Test Coverage Test Technique Blackbox vs Whitebox Real bugs and software
More informationSoftware Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement
Software Quality Engineering Slide (Ch.12) 1 Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement Jeff Tian, tian@engr.smu.edu www.engr.smu.edu/ tian/sqebook Chapter 12.
More informationChapter 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 informationLearning and Coaching Agile Methods. Görel Hedin Computer Science Lund University, Sweden
Learning and Coaching Agile Methods Görel Hedin Computer Science Lund University, Sweden Background Two undergraduate courses at Lund University XP course (mandatory, 2nd year, around 100 students) Coaching
More informationDesign of Acceptance Test Process through Comparative Analysis of the Test Automation Technique
, pp.170-174 http://dx.doi.org/10.14257/astl.2015. Design of Acceptance Test Process through Comparative Analysis of the Test Technique Jung-Ah Shim 1, Hyun-Jung Kwon 2,Hyun-ju Jung 3 and Moon-Sung Hwang
More informationFail early, fail often, succeed sooner!
Fail early, fail often, succeed sooner! Contents Beyond testing Testing levels Testing techniques TDD = fail early Automate testing = fail often Tools for testing Acceptance tests Quality Erja Nikunen
More informationRealizing Continuous Performance Management
Your logo here Realizing Continuous Performance Management Steven Haines Quest Software Java Domain Expert February 14, 2008 Agenda State of the Market Cost of Mistakes Test-Driven Development Continuous
More informationSoftware 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 informationSoftware 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 informationTesting Introduction. IEEE Definitions
Testing Introduction IEEE Definitions Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the
More informationAn 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 informationAdvanced Test-Driven Development
Corporate Technology Advanced Test-Driven Development Software Engineering 2007 Hamburg, Germany Peter Zimmerer Principal Engineer Siemens AG, CT SE 1 Corporate Technology Corporate Research and Technologies
More informationSoftware 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 informationCo-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 informationUnit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects
TORRY HARRIS BUSINESS SOLUTIONS Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects Ganapathi Nanjappa 4/28/2010 2010 Torry Harris Business Solutions. All rights reserved Page
More informationA Survey of Evidence for Test Driven Development in Academia
A of Evidence for Test Driven Development in Academia Chetan Desai, David Janzen, Kyle Savage Computer Science California Polytechnic State University San Luis Obispo, California USA {cdesai, djanzen}@calpoly.edu
More informationIntroduction to extreme Programming (XP)
Introduction to extreme Programming (XP) Extreme Programming (XP) Kent Beck C3 Project Chrysler Comprehensive Compensation system. XP Values: Communication Courage Feedback Simplicity Established the Twelve
More informationSoftware Continuous Integration & Delivery
November 2013 Daitan White Paper Software Continuous Integration & Delivery INCREASING YOUR SOFTWARE DEVELOPMENT PROCESS AGILITY Highly Reliable Software Development Services http://www.daitangroup.com
More informationAgile Software Development Methodologies and Its Quality Assurance
Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed
More informationIntroduction 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 informationWeb Application Regression Testing: A Session Based Test Case Prioritization Approach
Web Application Regression Testing: A Session Based Test Case Prioritization Approach Mojtaba Raeisi Nejad Dobuneh 1, Dayang Norhayati Abang Jawawi 2, Mohammad V. Malakooti 3 Faculty and Head of Department
More informationTeCReVis: A Tool for Test Coverage and Test Redundancy Visualization
TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization Negar Koochakzadeh Vahid Garousi Software Quality Engineering Research Group University of Calgary, Canada Acknowledging funding and
More informationUnit Testing with zunit
IBM Software Group Rational Developer for System z Unit Testing with zunit Jon Sayles / IBM - jsayles@us.ibm.com IBM Corporation IBM Trademarks and Copyrights Copyright IBM Corporation 2013, 2014. All
More informationTesthouse Training Portfolio
Testhouse Training Portfolio TABLE OF CONTENTS Table of Contents... 1 HP LoadRunner 4 Days... 2 ALM Quality Center 11-2 Days... 7 HP QTP Training Course 2 Days... 10 QTP/ALM Intensive Training Course 4
More informationSoftware 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 informationProduct Development Best Practices
Product Development Best Practices An Agile, User-centric Software Development Lifecycle Marc Nadeau, Senior Director, QA, Blackboard Thursday, July 12, 2007 Agenda Introduction to the Blackboard SDLC
More informationSoftware 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 informationAgile Testing Overview
Copyright (c) 2008, Quality Tree Software, Inc. 1 Agile Myths, Busted Contrary to popular myth, Agile methods are not sloppy, ad hoc, do-whatever-feelsgood processes. Quite the contrary. As Mary Poppendieck
More informationNova 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 informationTwo case studies of Open Source Software Development: Apache and Mozilla
1 Two case studies of Open Source Software Development: Apache and Mozilla Audris Mockus, Roy Fielding, and James D Herbsleb Presented by Jingyue Li 2 Outline Research questions Research methods Data collection
More informationAgile Testing and Extreme Programming
Agile Testing and Extreme Programming bret@pettichord.com www.pettichord.com March 2003 Copyright 2003 Bret Pettichord. All rights reserved. The Agile Alliance Values We have come to value: Individuals
More informationICAgile Learning Roadmap Agile Testing Track
International Consortium for Agile ICAgile Learning Roadmap Agile Testing Track Learning Objectives Licensing Information The work in this document was facilitated by the International Consortium for Agile
More informationSoftware Testing Strategies and Techniques
Software Testing Strategies and Techniques Sheetal Thakare 1, Savita Chavan 2, Prof. P. M. Chawan 3 1,2 MTech, Computer Engineering VJTI, Mumbai 3 Associate Professor, Computer Technology Department, VJTI,
More informationComparing 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 informationAn Introduction to Agile Engineering Practices
An Introduction to Agile Engineering Practices Kane Mar Danube Technologies, Inc 1 The New New Product Development Game - Takeuchi and Nonaka 2 photo: http://www.flickr.com/photos/nicmcphee/ 3 4 From:
More informationOutline. 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 informationAgile Software Development and Service Science
Agile Software Development and Service Science How to develop IT-enabled Services in an Interdisciplinary Environment Andreas Meier Institute of Applied Information Technology (InIT) Zurich University
More informationSecrets to Automation Success. A White Paper by Paul Merrill, Consultant and Trainer at Beaufort Fairmont, LLC
5 Secrets to Automation Success A White Paper by Paul Merrill, Consultant and Trainer at Beaufort Fairmont, LLC 5 Secrets to Automated Testing Success 2 Secret #1 Practice Exceptional Leadership If you
More informationTesting in Agile methodologies easier or more difficult?
Testing in Agile methodologies easier or more difficult? Lucjan Stapp Warsaw University of Technology Stowarzyszenie Jakości Systemów Informatycznych L.Stapp@mini.pw.edu.pl L.Stapp@sjsi.org Professor in
More informationAgile Software Engineering Practice to Improve Project Success
Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at
More informationExtreme Programming. Sergey Konovalov and Stefan Misslinger. May 23, 2006
Extreme Programming Sergey Konovalov and Stefan Misslinger May 23, 2006 1 Contents 1 Introduction 3 2 Why do we need XP? 3 3 Economics of Software Development 4 4 Extreme Programming Values 4 5 Extreme
More informationRapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1
Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of
More informationINTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal
INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal Research Article ISSN 2277 9140 ABSTRACT Analysis and tabular comparison
More informationTest Management and Techniques
These slides are distributed under the Creative Commons License. In brief summary, you may make and distribute copies of these slides so long as you give the original author credit and, if you alter, transform
More informationReal Time Embedded Software Development Using Agile Technology An Experience Report
Real Time Embedded Software Development Using Agile Technology An Experience Report Vincent Rivas Joseph N Frisina BAE SYSTEMS Information and Electronic Systems Integration Inc CNIR Agile Development
More informationImproved 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 informationModern practices 2.3.2015 02.03.2015 TIE-21100/21106 1
Modern practices 2.3.2015 1 Today s lecture Learn what some modern SW engineering topics are about A peek to some research topic of our department 2 3 4 5 6 How the lectures continue? 02.03 Modern practices
More informationIntroduction to C Unit Testing (CUnit) Brian Nielsen Arne Skou
Introduction to C Unit Testing (CUnit) Brian Nielsen Arne Skou {bnielsen ask}@cs.auc.dk Unit Testing Code that isn t tested doesn t work Code that isn t regression tested suffers from code rot (breaks
More informationSoftware Quality Testing Course Material
Prepared by Vipul Jain Software Quality Testing Course Material Course content is designed and will be taught in such a manner in order to make a person job ready in around 10-12 weeks. Classroom sessions
More informationWe (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and
We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and software design and development. We will be presenting a
More informationIntroduction 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 informationTOP 3 STRATEGIES TO REDUCE RISK IN AUTOMOTIVE/IN-VEHICLE SOFTWARE DEVELOPMENT
TOP 3 STRATEGIES TO REDUCE RISK IN AUTOMOTIVE/IN-VEHICLE SOFTWARE DEVELOPMENT Go beyond error detection to ensure safety and security TABLE OF CONTENTS The Three Biggest Challenges...4 Ensure compliance
More informationSoftware Architecture Improvement through Test-Driven Development
Software Architecture Improvement through Test-Driven Development David S. Janzen University of Kansas Electrical Engineering and Computer Science Lawrence, Kansas USA djanzen@ku.edu 1. PROBLEM & MOTIVATION
More informationAgile Software Development and Service Science
DOI V Agile Software Development and Service Science How to develop IT-enabled Services in an Interdisciplinary Environment Andreas Meier, Jenny C. Ivarsson Abstract This paper shows the necessary steps,
More informationSchools of Software Testing
Schools of Software Testing bret@pettichord.com www.pettichord.com March 2007 Copyright 2003-2007 Bret Pettichord. Permission to reproduce granted with attribution. 2 What is a School? Defined by Intellectual
More informationEvaluating the Efficacy of Test-Driven Development: Industrial Case Studies
Evaluating the Efficacy of Test-Driven Development: Industrial Case Studies Thirumalesh Bhat Center for Software Excellence One Microsoft Way Redmond, WA 98052 thirub@microsoft.com ABSTRACT This paper
More informationSoftware Testing. Quality & Testing. Software Testing
Software Testing Software Testing Error: mistake made by the programmer/developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures
More informationAn Introduction to text-based test automation and the TextTest tool
An Introduction to text-based test automation and the TextTest tool Contentions 1. That there are circumstances where xunit-style testing isn t the best choice. 2. That the text-based approach is an obvious
More informationIdentification and Analysis of Combined Quality Assurance Approaches
Master Thesis Software Engineering Thesis no: MSE-2010:33 November 2010 Identification and Analysis of Combined Quality Assurance Approaches Vi Tran Ngoc Nha School of Computing Blekinge Institute of Technology
More informationBasic Trends of Modern Software Development
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering
More informationAn Overview of Quality Assurance Practices in Agile Methodologies
T-76.650 SEMINAR IN SOFTWARE ENGINEERING, SPRING 2004 1 An Overview of Quality Assurance Practices in Agile Methodologies Olli P. Timperi Abstract The focus of literature and debates of agile methodologies
More informationRegression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization
Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization KanwalpreetKaur #, Satwinder Singh * #Research Scholar, Dept of Computer Science and
More informationDeep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries
Deep Agile Blending Scrum and Extreme Programming Jeff Sutherland Ron Jeffries Separation of XP and Scrum Methods * Largely Historical * XP chose to write more down * XP programmer focus * Successful Scrum
More informationEvaluating the Efficacy of Test-Driven Development: Industrial Case Studies
Evaluating the Efficacy of Test-Driven Development: Industrial Case Studies Thirumalesh Bhat Center for Software Excellence One Microsoft Way Redmond, WA 98052 thirub@microsoft.com Nachiappan Nagappan
More informationTest-Driven Development of IEEE 1451 Transducer Services and Application
60 Telfor Journal, Vol. 4, No. 1, 2012. Test-Driven Development of IEEE 1451 Transducer Services and Application Dušan Marković, Uroš Pešović, Željko Jovanović, and Siniša Ranđić 1 Abstract IEEE 1451 standard
More informationSoftware 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 informationAn Initial Investigation of Test Driven Development in Industry
An Initial Investigation of Test Driven Development in Industry Boby George Department of Computer Science North Carolina State University Raleigh, NC 2795-7534 (+1) 919 01 2922 bobygeorge@ncsu.edu Laurie
More informationAn Analysis on Objectives, Importance and Types of Software Testing
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 9, September 2013,
More informationSoftware developers are known for adopting new technologies and practices on the
feature s o f t w ar e m e t r ic s Does Test-Driven Development Really Improve Software Design Quality? David S. Janzen, California Polytechnic State University, San Luis Obispo Hossein Saiedian, University
More informationMetrics 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 informationThe Changing Role of Software Tester
The Changing Role of Software Tester Anna Royzman ari16a@gmail.com Abstract In 2008 my company reorganized into product units and adopted Agile process methodology. As a result, my QA manager position
More informationRandom Testing: The Best Coverage Technique - An Empirical Proof
, pp. 115-122 http://dx.doi.org/10.14257/ijseia.2015.9.12.10 Random Testing: The Best Coverage Technique - An Empirical Proof K Koteswara Rao 1 and Prof GSVP Raju 2 1 Asst prof, (PhD) @JNTUK, CSE Department,
More informationAgile Software Development compliant to Safety Standards?
DB AG/Christian Bedeschinski www.thalesgroup.com/germany Agile Software Development compliant to Safety Standards? Christian Scholz Thales Transportation Systems 2 / Content Motivation Agile Software Development
More informationThe Software Process. The Unified Process (Cont.) The Unified Process (Cont.)
The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling
More informationTesting Rails. by Josh Steiner. thoughtbot
Testing Rails by Josh Steiner thoughtbot Testing Rails Josh Steiner April 10, 2015 Contents thoughtbot Books iii Contact us................................ iii Introduction 1 Why test?.................................
More informationKarunya 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 informationUsing Agile with Large, Geographically Dispersed Development Teams
Using Agile with Large, Geographically Dispersed Development Teams Ade Miller Development Manager, patterns & practices group (Development Lead, Visual Studio Tools for Office) Microsoft Corporation 2010
More informationSoftware 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 informationTest-Driven Development
Test-Driven Development An Introduction Mattias Ståhlberg mattias.stahlberg@enea.com Debugging sucks. Testing rocks. Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4.
More informationLatest Research and Development on Software Testing Techniques and Tools
General Article International Journal of Current Engineering and Technology E-ISSN 2277 4106, P-ISSN 2347-5161 2014 INPRESSCO, All Rights Reserved Available at http://inpressco.com/category/ijcet Rasneet
More informationCS 451 Software Engineering Winter 2009
CS 451 Software Engineering Winter 2009 Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Testing Process Testing Testing only reveals the presence of defects Does not identify
More informationNational University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. Testing Guidelines for Student Projects
National University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. DEPARTMENT OF COMPUTER SCIENCE, TECHNICAL REPORT SERIES Testing Guidelines for Student Projects Stephen Brown and Rosemary Monahan
More informationContents. 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 informationHow 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 informationTopics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods
Topics covered Chapter 3 Agile Software Development Agile methods Plan-driven and agile Extreme programming Agile project management Scaling agile methods 1 2 Need for rapid software Rapid software Changing
More informationLife-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 informationStandard 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 informationCSE 4415 / SWE 5415 Software Testing 2 Fall 2004 Olin Engineering Building, Room 128 Credits: 3.00
CSE 4415 / SWE 5415 Software Testing 2 Fall 2004 Olin Engineering Building, Room 128 Credits: 3.00 SOFTWARE TESTING 2. (Catalog description) Explores structural (glass box) methods for testing software.
More informationIntroduction to Agile Software Development
Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)
More informationFundamentals 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 informationVirtual 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 informationSOFTWARE TESTING TRAINING COURSES CONTENTS
SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software
More informationAgile So)ware Development
Software Engineering Agile So)ware Development 1 Rapid software development Rapid development and delivery is now often the most important requirement for software systems Businesses operate in a fast
More informationScalable Web Programming. CS193S - Jan Jannink - 1/12/10
Scalable Web Programming CS193S - Jan Jannink - 1/12/10 Administrative Stuff Computer Forum Career Fair: Wed. 13, 11AM-4PM (Just in case you hadn t seen the tent go up) Any problems with MySQL setup? Review:
More informationA Lightweight Semi-automated Acceptance Test-Driven Development Approach for Web Applications
A Lightweight Semi-automated Acceptance Test-Driven Development Approach for s Diego Clerissi, Maurizio Leotta, Gianna Reggio, Filippo Ricca Abstract: Applying Acceptance Test Driven Development (ATDD)
More informationComprehensive Static Analysis Using Polyspace Products. A Solution to Today s Embedded Software Verification Challenges WHITE PAPER
Comprehensive Static Analysis Using Polyspace Products A Solution to Today s Embedded Software Verification Challenges WHITE PAPER Introduction Verification of embedded software is a difficult task, made
More informationTen Practices of High Performance Teams
Ten Practices of High Performance Teams Noopur Davis Davis Systems Better Software Conference and Expo Las Vegas, NV DAVIS 1 2009 Outline Background Ten practices of high-performance teams 1. Self-directed
More informationTesting. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies. CHAPTER AUTHORS Michael Atmadja Zhang Shuai Richard
A Fresh Graduate s Guide to Software Development Tools and Technologies Chapter 3 Testing CHAPTER AUTHORS Michael Atmadja Zhang Shuai Richard PREVIOUS CONTRIBUTORS : Ang Jin Juan Gabriel; Chen Shenglong
More informationThe Effect of XP Testing on External Quality and Performance
What Makes Testing Work: Nine Case Studies of Software Development Teams Christopher D Thomson* Business School University of Hull Hull, UK c.thomson@hull.ac.uk Mike Holcombe, Anthony J H Simons Department
More information