The 3C Approach for Agile Quality Assurance Andre Janus, Reiner Dumke, Andreas Schmietendorf, Jens Jager c 2012 IEEE Report : 103522034 張弘暐.

Slides:



Advertisements
Similar presentations
Stephen Vance - CM and the Principles of Agile Software Development
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Alternate Software Development Methodologies
Agile development By Sam Chamberlain. First a bit of history..
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
CS 325: Software Engineering April 7, 2015 Software Configuration Management Task Scheduling & Prioritization Reporting Project Progress Configuration.
Chapter 6: Design of Expert Systems
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Advanced Topics in Software Engineering ATSE 2009 Topics, participants and results Gordana Rakic, Zoran Budimac.
Agile Methods, Aspects and Virtual Model Driven Engineering David Parsons Massey University Auckland, New Zealand.
© Company Confidentialwww.itcinfotech.com Business Case for Test Automation S.Janardhanan Chief Technology Officer ITC Infotech India Limited Business.
Formality, Agility, Security, and Evolution in Software Development Cody Ronning 2/16/2015.
SOFTWARE QUALITY ASSURANCE Asst. Prof. Dr. Selim BAYRAKLI Maltepe University Faculty of Engineering SE 410.
By: Taylor Helsper.  Introduction  Test Driven Development  JUnit  Testing Private Methods  TDD Example  Conclusion.
OHT 4.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Introduction to Continuous Integration Mike Roberts.
By: Taylor Helsper.  Introduction  Test Driven Development  JUnit  TDD Example  Conclusion.
Tsvetelina Kovacheva, Quality Manager Musala Soft June 19, 2007 Implementing Models and Standards for Software Development Benefits and Risks.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Test Organization and Management
Agile Software Development Chapter 3 – Lecture 1 Adrián Susinos.
Lecture Notes - Copyright © S. C. Kothari, All rights reserved.1 Summary Lecture CPRE 416-Software Evolution and Maintenance-Lecture 6.
Android App Design 1. Outline Motivation Introduction Development Environment Implementation Process Conclusion References 2.
EMI INFSO-RI Metrics review Claudio (SA1), Lars, Duarte, Eamonn and Maria (SA2)
1 TRex Paul Baker 1, Dominic Evans 1, Jens Grabowski 2, Helmut Neukirchen 2, Benjamin Zeiss 2 The Refactoring and Metrics Tool for TTCN-3 Test Specifications.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
Integrating Usability Engineering and Agile Software Development: A Literature Review 陳振炎教授 楊哲豪
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Applying Clone.
Continuous Processes By Kelvin Zhu CSCI577B Spring 2013.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
Designing Complex Software Systems: Introduction CS 6961 – Lecture 0 Nathan Dykman.
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
Status and first objectives 14/06/2012Jean-Christophe Garnier1.
Automated Acceptance Testing and Continuous Delivery Larry Apke Agile Expert
An Agile Method for E-Service Composition Author : Pouya Fatehi, Seyyed Mohsen Hashemi Department of Computer Software, Science and Research Branch, Islamic.
Agile Test-based Modeling 資工 聶順成. Outline  Introduction : Modeling meets Programming  Agile Modeling: Using Models in Agile Projects  Model-based.
November 2011CSC7302: Testing & MetricsHangMan-Refactoring.1 HangMan PBL - Refactoring Use your updated (best) version of Hangman (with a dictionary of.
1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.
University of Southern California Center for Systems and Software Engineering Software Metrics and Measurements Supannika Koolmanojwong CS577 1.
Software Waterfall Life Cycle
1© Nokia Siemens Networks Presentation / Author / Date For internal use T Better Code Faster - Next Generation Java Continuous Integration Environment.
1 1 Case Example of Applying BridgePoint to OO Development Training Shohei KUKI Ricoh Company, LTD.
SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad
Agile Practices Benchmarking Case Study ABC Company Logo by Company name – ABC.
Refactoring as a Lifeline : Lessons Learned from Refactoring Amr Noaman Abdel-Hamid Software Engineering Competence Center ( SECC ) IT Indeustry Development.
Making the System Operational Implementation & Deployment
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Automatic code inspection.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
INFSO-RI JRA2 Test Management Tools Eva Takacs (4D SOFT) ETICS 2 Final Review Brussels - 11 May 2010.
Objective ICT : Internet of Services, Software & Virtualisation FLOSSEvo some preliminary ideas.
1. ENTERPRISE AGILE TRANSFORMATION AT THE US POSTAL SERVICE MAY 24, Agile Business Solutions.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Software Maintenance1 Software Maintenance.
Software Engineering Process - II 7.1 Unit 7: Quality Management Software Engineering Process - II.
What is EA? Program Pembudayaan EA & ISP KKM 2014 Ministry of Health 18 December 2014 Consulting.
IT in business. In today’s highly competitive economic environment having the right IT in business is a critical element of success. All businesses deal.
Essential Needs of Software Test Automation
Agile Metrics that Matter
Generating Automated Tests from Behavior Models
Software Verification and Validation
CS 325: Software Engineering
CAE-SCRUB for Incorporating Static Analysis into Peer Reviews
Some Important Techniques For Regression Testing That You Must Know.
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
CS5103 Software Engineering
Software Requirement and Specification
Helping you make your code better
Presentation transcript:

The 3C Approach for Agile Quality Assurance Andre Janus, Reiner Dumke, Andreas Schmietendorf, Jens Jager c 2012 IEEE Report : 張弘暐

Outline Goal Project Context Traditional and Agile Measurement & Metrics Continous Integration Continous Measurement Continous Improvement Conclusion

Goal looking for: Agile Quality Assurance Metrics-based Embedded in Agile Process Solution: 3C-Approach Agile Practice: Continous Integration( 持續整合 ) Enhanced with Continous Measurement( 持續測量 ) Enhanced with Continous Improvement( 持續改善 )

Introduce This paper introduces the 3C Approach, which is an extension to the Agile Practice. Continuous Integration: It adds Continuous Measurement and Continuous Improvement as subsequent Activities to CI and establishes Metric-based Quality-Gates for an Agile Quality Assurance.

Project Context The project‘s Process is based on eXtreme Programming (XP) It was developed and proven in an Agile Maintenance and Evolution project for the Automotive Industry at T-Systems International – a large German ICT company.

Traditional Measurement Aspects and Metrics Traditional Metrics from LOC( 程式碼行數 ) to the CK-Metrics are well-known For the measurement of traditional metrics and derived metrics there are a lot of Open Source tools available. In this project we used Findbugs for detecting potential programming mistakes, Checkstyle for finding violations of Coding Standards and PMD as a hybrid-version of the tools mentioned before.

Agile Measurement Aspects and Metrics With Agility came some new Metrics and Measurement Approaches, which are very useful in the Context of Agile Software Development. Main focus of Agile Development like Testing and Continuous Integration and try to quantify the projects progress in that context. Look at the number of Tests, the Test-Coverage( 測試覆蓋率 ) and number of Broken Builds.

Agile Metrics Test-Coverage( 測試覆蓋率 ) C0-Line-Coverage C1-Branch-Coverage testCoverage = codeCoveredByTests / completeCode with 0 ≤ testCoverage ≤ 1

Agile Metrics Test Growth Ratio( 測試成長率 ) testGrowthRatio = ΔsourceCode / Δ#Tests with (usually) ΔsourceCode ≥0 Δ#tests ≥ 0

Continuous Integration (CI) Continuous Integration (CI) was naturally used just to integrate new Source Code to the Code Base Continuous Integration is usually done by Continuous Integration Engines Regularly check the Version Control System (VCS: 版本控制系統 ) For new Source Code, which a Developer may have committed after implementation in his Integrated Development Environment (IDE)

Continuous Integration (CI)

Continuous Measurement After the execution and successfull passing of the tests it is a common practice to get some more information out of the Source Code by adding various measurement tools in the tool chain. In the Java Eco-System there are many Tools like Findbugs, PMD and Checkstyle – which are the ones used in the project at T-Systems - that can be integrated into an Continuous Integration like CruiseControl.

In our project the tool Cobertura is used for test coverage. With the number of tests and the LOC the Test-Growth-Ratio is calculated.

Continuous Improvement The Quality Manager plans necessary Refactorings or changes to the Coding Standards or the Coding Style Guide. This way the Quality Manager assumes the role of another Quality Gate as he can engage, if the results from the reports require it. Besides the manual analysis the Quality Manager can define new thresholds for certain metrics or add new metrics to be measured.

CONCLUSION Agile Software Development and especially the Agile Practice CI offers new opportunities for traditional Software Measurement - instead of making it obsolete. It provides a measurement infrastructure for the Continuous Measurement which measures both traditional and Agile metrics.

CONCLUSION Using this 3C Approach the observed project could significantly improve its internal Software Quality and establish “in-process” Quality Gates to assure the Quality also for future development.