Continuous integration improving software quality and reducing risk

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Duvall, Paul M. (VerfasserIn), Matyas, Steve 1979- (VerfasserIn), Glover, Andrew 1976- (VerfasserIn)
Format: Buch
Sprache:English
Veröffentlicht: Upper Saddle River, NJ [u.a.] Addison-Wesley 2007
Schriftenreihe:Addison-Wesley signature series
Schlagworte:
Online-Zugang:Table of contents only
Inhaltsverzeichnis
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!

MARC

LEADER 00000nam a2200000zc 4500
001 BV023174419
003 DE-604
005 20190801
007 t|
008 080220s2007 xxuad|| |||| 00||| eng d
010 |a 2007012001 
015 |a GBA683538  |2 dnb 
020 |a 9780321336385  |9 978-0-321-33638-5 
020 |a 0321336380  |c pbk. : alk. paper  |9 0-321-33638-0 
035 |a (OCoLC)122423674 
035 |a (DE-599)BVBBV023174419 
040 |a DE-604  |b ger  |e aacr 
041 0 |a eng 
044 |a xxu  |c US 
049 |a DE-861  |a DE-739  |a DE-11  |a DE-863  |a DE-523  |a DE-573 
050 0 |a QA76.76.Q35 
082 0 |a 005 
084 |a ST 233  |0 (DE-625)143620:  |2 rvk 
100 1 |a Duvall, Paul M.  |e Verfasser  |4 aut 
245 1 0 |a Continuous integration  |b improving software quality and reducing risk  |c Paul M. Duvall with Steve Matyas and Andrew Glover 
264 1 |a Upper Saddle River, NJ [u.a.]  |b Addison-Wesley  |c 2007 
300 |a XXXIII, 283 S.  |b Ill., graph. Darst. 
336 |b txt  |2 rdacontent 
337 |b n  |2 rdamedia 
338 |b nc  |2 rdacarrier 
490 0 |a Addison-Wesley signature series 
500 |a "A Martin Fowler signature book" 
650 4 |a Logiciels - Essais 
650 4 |a Logiciels - Fiabilité 
650 4 |a Logiciels - Qualité - Contrôle 
650 4 |a Computer software  |x Quality control 
650 4 |a Computer software  |x Testing 
650 4 |a Computer software  |x Reliability 
650 0 7 |a Softwareentwicklung  |0 (DE-588)4116522-6  |2 gnd  |9 rswk-swf 
650 0 7 |a Qualitätssicherung  |0 (DE-588)4126457-5  |2 gnd  |9 rswk-swf 
689 0 0 |a Softwareentwicklung  |0 (DE-588)4116522-6  |D s 
689 0 1 |a Qualitätssicherung  |0 (DE-588)4126457-5  |D s 
689 0 |5 DE-604 
700 1 |a Matyas, Steve  |d 1979-  |e Verfasser  |0 (DE-588)136614752  |4 aut 
700 1 |a Glover, Andrew  |d 1976-  |e Verfasser  |0 (DE-588)136614817  |4 aut 
856 4 |u http://www.loc.gov/catdir/toc/ecip0714/2007012001.html  |3 Table of contents only 
856 4 2 |m HBZ Datenaustausch  |q application/pdf  |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016361048&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA  |3 Inhaltsverzeichnis 
943 1 |a oai:aleph.bib-bvb.de:BVB01-016361048 

Datensatz im Suchindex

_version_ 1819666523564802048
adam_text Contents Foreword by Martin Fowler xiii Foreword by Paul Julius xv Preface xix About the Authors xxxi About the Contributors xxxiii Part I A Background on CI: Principles and Practices 1 Chapter 1 Getting Started 3 Build Software at Every Change 4 Developer 6 Version Control Repository 7 CI Server 8 Build Script 10 Feedback Mechanism 10 Integration Build Machine 12 Features of CI 12 Source Code Compilation 12 Database Integration 14 Testing 15 Inspection 17 Deployment 18 Documentation and Feedback 20 Summary 20 Questions 20 Chapter 2 Introducing Continuous Integration 23 A Day in the Life of CI 25 What Is the Value of CI? 29 Reduce Risks 29 Reduce Repetitive Processes 30 Generate Deployable Software 31 vii viii Contents Enable Better Project Visibility 31 Establish Greater Product Confidence 32 What Prevents Teams from Using CI? 32 How Do I Get to Continuous Integration? 33 When and How Should a Project Implement CI? 35 The Evolution of Integration 36 How Does CI Complement Other Development Practices? 37 How Long Does CI Take to Set Up? 38 CI and You 39 Commit Code Frequently 39 Don t Commit Broken Code 41 Fix Broken Builds Immediately 41 Write Automated Developer Tests 41 All Tests and Inspections Must Pass 42 Run Private Builds 42 Avoid Getting Broken Code 43 Summary 44 Questions 44 Chapter 3 Reducing Risks Using CI 47 Risk: Lack of Deployable Software 49 Scenario: It Works on My Machine 50 Scenario: Synching with the Database 50 Scenario: The Missing Click 52 Risk: Late Discovery of Defects 53 Scenario: Regression Testing 53 Scenario: Test Coverage 54 Risk: Lack of Project Visibility 55 Scenario: Did You Get the Memo? 56 Scenario: Inability to Visualize Software 56 Risk: Low-Quality Software 57 Scenario: Coding Standard Adherence 58 Scenario: Architectural Adherence 59 Scenario: Duplicate Code 60 Summary 62 Questions 62 Chapter 4 Building Software at Every Change 65 Automate Builds 67 Perform Single Command Builds 69 Separate Build Scripts from Your IDE 73 Centralize Software Assets 74 Create a Consistent Directory Structure 75 Fail Builds Fast 76 Contents ix Build for Any Environment 77 Build Types and Mechanisms 78 Build Types 78 Build Mechanisms 80 Triggering Builds 81 Use a Dedicated Integration Build Machine 81 Use a CI Server 85 Run Manual Integration Builds 86 Run Fast Builds 87 Gather Build Metrics 88 Analyze Build Metrics 89 Choose and Implement Improvements 89 Stage Builds 92 Reevaluate 96 How Will This Work for You? 96 Summary 101 Questions 102 Part II Creating a Full-Featured CI System 105 Chapter 5 Continuous Database Integration 107 Automate Database Integration 110 Creating Your Database 112 Manipulating Your Database 115 Creating a Build Database Orchestration Script 116 Use a Local Database Sandbox 117 Use a Version Control Repository to Share Database Assets 119 Continuous Database Integration 121 Give Developers the Capability to Modify the Database 123 The Team Focuses Together on Fixing Broken Builds 124 Make the DBA Part of the Development Team 124 Database Integration and the Integrate Button 125 Testing 125 Inspection 125 Deployment 126 Feedback and Documentation 126 Summary 126 Questions 128 Chapter 6 Continuous Testing 129 Automate Unit Tests 132 Automate Component Tests 134 x Contents Automate System Tests 136 Automate Functional Tests 137 Categorize Developer Tests 138 Run Faster Tests First 141 Unit Tests 141 Component Tests 141 System Tests 143 Write Tests for Defects 143 Make Component Tests Repeatable 148 Limit Test Cases to One Assert 156 Summary 158 Questions 159 Chapter 7 Continuous Inspection 161 What Is the Difference between Inspection and Testing? 164 How Often Should You Run Inspectors? 165 Code Metrics: A History 166 Reduce Code Complexity 167 Perform Design Reviews Continuously 170 Maintain Organizational Standards with Code Audits 173 Reduce Duplicate Code 176 Using PMD-CPD 177 Using Simian 178 Assess Code Coverage 180 Evaluate Code Quality Continuously 182 Coverage Frequency 183 Coverage and Performance 184 Summary 185 Questions 186 Chapter 8 Continuous Deployment 189 Release Working Software Any Time, Any Place 191 Label a Repository s Assets 191 Produce a Clean Environment 194 Label Each Build 195 Run All Tests 196 Create Build Feedback Reports 196 Possess Capability to Roll Back Release 199 Summary 199 Questions 200 Chapter 9 Continuous Feedback 203 All the Right Stuff 205 The Right Information 205 Contents xi The Right People 207 The Right Time 208 The Right Way 209 Use Continuous Feedback Mechanisms 209 E-mail 210 SMS (Text Messages) 212 Ambient Orb and X10 Devices 214 Windows Taskbar 217 Sounds 218 Wide-Screen Monitors 220 Summary 222 Questions 222 Epilogue The Future of CI 223 Appendix A CI Resources 227 Continuous Integration Web Sites/Articles 227 CI Tools/Product Resources 229 Build Scripting Resources 232 Version Control Resources 233 Database Resources 234 Testing Resources 236 Automated Inspection Resources 239 Deployment Resources 241 Feedback Resources 241 Documentation Resources 243 Appendix B Evaluating CI Tools 245 Considerations When Evaluating Tools 247 Functionality 248 Compatibility with Your Environment 253 Reliability 254 Longevity 254 Usability 255 Automated Build Tools 255 Build Scheduler Tools 263 Conclusion 272 Bibliography 273 Index 275
any_adam_object 1
author Duvall, Paul M.
Matyas, Steve 1979-
Glover, Andrew 1976-
author_GND (DE-588)136614752
(DE-588)136614817
author_facet Duvall, Paul M.
Matyas, Steve 1979-
Glover, Andrew 1976-
author_role aut
aut
aut
author_sort Duvall, Paul M.
author_variant p m d pm pmd
s m sm
a g ag
building Verbundindex
bvnumber BV023174419
callnumber-first Q - Science
callnumber-label QA76
callnumber-raw QA76.76.Q35
callnumber-search QA76.76.Q35
callnumber-sort QA 276.76 Q35
callnumber-subject QA - Mathematics
classification_rvk ST 233
ctrlnum (OCoLC)122423674
(DE-599)BVBBV023174419
dewey-full 005
dewey-hundreds 000 - Computer science, information, general works
dewey-ones 005 - Computer programming, programs, data, security
dewey-raw 005
dewey-search 005
dewey-sort 15
dewey-tens 000 - Computer science, information, general works
discipline Informatik
format Book
fullrecord <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02213nam a2200541zc 4500</leader><controlfield tag="001">BV023174419</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20190801 </controlfield><controlfield tag="007">t|</controlfield><controlfield tag="008">080220s2007 xxuad|| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2007012001</subfield></datafield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">GBA683538</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780321336385</subfield><subfield code="9">978-0-321-33638-5</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0321336380</subfield><subfield code="c">pbk. : alk. paper</subfield><subfield code="9">0-321-33638-0</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)122423674</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV023174419</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-861</subfield><subfield code="a">DE-739</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-863</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-573</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.76.Q35</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 233</subfield><subfield code="0">(DE-625)143620:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Duvall, Paul M.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Continuous integration</subfield><subfield code="b">improving software quality and reducing risk</subfield><subfield code="c">Paul M. Duvall with Steve Matyas and Andrew Glover</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Upper Saddle River, NJ [u.a.]</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">2007</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXXIII, 283 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Addison-Wesley signature series</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">"A Martin Fowler signature book"</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Logiciels - Essais</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Logiciels - Fiabilité</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Logiciels - Qualité - Contrôle</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer software</subfield><subfield code="x">Quality control</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer software</subfield><subfield code="x">Testing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer software</subfield><subfield code="x">Reliability</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Qualitätssicherung</subfield><subfield code="0">(DE-588)4126457-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Qualitätssicherung</subfield><subfield code="0">(DE-588)4126457-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Matyas, Steve</subfield><subfield code="d">1979-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)136614752</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Glover, Andrew</subfield><subfield code="d">1976-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)136614817</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2=" "><subfield code="u">http://www.loc.gov/catdir/toc/ecip0714/2007012001.html</subfield><subfield code="3">Table of contents only</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&amp;doc_library=BVB01&amp;local_base=BVB01&amp;doc_number=016361048&amp;sequence=000002&amp;line_number=0001&amp;func_code=DB_RECORDS&amp;service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016361048</subfield></datafield></record></collection>
id DE-604.BV023174419
illustrated Illustrated
indexdate 2024-12-23T20:56:48Z
institution BVB
isbn 9780321336385
0321336380
language English
lccn 2007012001
oai_aleph_id oai:aleph.bib-bvb.de:BVB01-016361048
oclc_num 122423674
open_access_boolean
owner DE-861
DE-739
DE-11
DE-863
DE-BY-FWS
DE-523
DE-573
owner_facet DE-861
DE-739
DE-11
DE-863
DE-BY-FWS
DE-523
DE-573
physical XXXIII, 283 S. Ill., graph. Darst.
publishDate 2007
publishDateSearch 2007
publishDateSort 2007
publisher Addison-Wesley
record_format marc
series2 Addison-Wesley signature series
spellingShingle Duvall, Paul M.
Matyas, Steve 1979-
Glover, Andrew 1976-
Continuous integration improving software quality and reducing risk
Logiciels - Essais
Logiciels - Fiabilité
Logiciels - Qualité - Contrôle
Computer software Quality control
Computer software Testing
Computer software Reliability
Softwareentwicklung (DE-588)4116522-6 gnd
Qualitätssicherung (DE-588)4126457-5 gnd
subject_GND (DE-588)4116522-6
(DE-588)4126457-5
title Continuous integration improving software quality and reducing risk
title_auth Continuous integration improving software quality and reducing risk
title_exact_search Continuous integration improving software quality and reducing risk
title_full Continuous integration improving software quality and reducing risk Paul M. Duvall with Steve Matyas and Andrew Glover
title_fullStr Continuous integration improving software quality and reducing risk Paul M. Duvall with Steve Matyas and Andrew Glover
title_full_unstemmed Continuous integration improving software quality and reducing risk Paul M. Duvall with Steve Matyas and Andrew Glover
title_short Continuous integration
title_sort continuous integration improving software quality and reducing risk
title_sub improving software quality and reducing risk
topic Logiciels - Essais
Logiciels - Fiabilité
Logiciels - Qualité - Contrôle
Computer software Quality control
Computer software Testing
Computer software Reliability
Softwareentwicklung (DE-588)4116522-6 gnd
Qualitätssicherung (DE-588)4126457-5 gnd
topic_facet Logiciels - Essais
Logiciels - Fiabilité
Logiciels - Qualité - Contrôle
Computer software Quality control
Computer software Testing
Computer software Reliability
Softwareentwicklung
Qualitätssicherung
url http://www.loc.gov/catdir/toc/ecip0714/2007012001.html
http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016361048&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA
work_keys_str_mv AT duvallpaulm continuousintegrationimprovingsoftwarequalityandreducingrisk
AT matyassteve continuousintegrationimprovingsoftwarequalityandreducingrisk
AT gloverandrew continuousintegrationimprovingsoftwarequalityandreducingrisk