Java course - IAG0040. Unit testing & Agile Software Development
|
|
|
- Melvyn Robinson
- 10 years ago
- Views:
Transcription
1 Java course - IAG0040 Unit testing & Agile Software Development 2011
2 Unit tests How to be confident that your code works? Why wait for somebody else to test your code? How to provide up-to-date examples on using your API? How to help yourself see your design better and therefore improve it? The answer: write Unit Tests!!! Unit tests are executable test cases for your modules (units), expressed in code Unit tests are executed automatically to ensure that your code still works after changing it (regression testing) Slide 2
3 Benefits of unit tests Unit testing isolates each module and shows that it is correct. It provides a strict written contract that the code must satisfy Facilitates change unit tests provide regression testing, make refactoring safer Simplifies integration integration testing is easier, if parts are already proven to work correctly Documentation unit tests show how to use the API Separation of interface from implementation unit tests result in loosely coupled code Slide 3
4 A simple example public class Concatenator { // this is a method under test public String concat(string a, String b) { return a + b; } } // this is a simple test case public static void main(string[] args) { Concatenator c = new Concatenator(); assert abc123.equals( c.concat( abc, 123 )) : concat() failed! ; } Slide 4
5 JUnit JUnit is the first and most popular unit and regression testing framework for Java Is a 3rd-party jar file Obtainable from Included and interfaced in IDEA, Eclipse, etc JUnit 3 older but still very popular JUnit 4 takes advantage of Java 5 features Slide 5
6 JUnit (cont) JUnit 3 must extend the junit.framework.testcase class TestCase provides a lot of assertxxx() methods setup() method is run before each test teardown() method is run after each test JUnit 4 no extending is needed annotate test methods (from org.junit) assertxxx() methods may be statically imported import static annotations replace setup() and teardown() Slide 6
7 JUnit 3 example public class Concatenator { // this is a method under test public String concat(string a, String b) { return a + b; } } public class ConcatenatorTest extends TestCase{ // this is a simple test case public void testconcat() { Concatenator c = new Concatenator(); assertequals( concat() failed!, abc123, c.concat( abc, 123 )); } } Slide 7
8 JUnit 4 example public class Concatenator { // this is a method under test public String concat(string a, String b) { return a + b; } } public class ConcatenatorTest { // this is a simple test public void testconcat() { Concatenator c = new Concatenator(); assertequals( concat() failed!, abc123, c.concat( abc, 123 )); } } Slide 8
9 JUnit (cont) Naming convention Create at least one test class for each class, test classes usually have the Test suffix (e.g. DogTest) Generally, create one test method per method under test public void doghasaname()) Put tests into the the test directory (same package as the class under test, then you can access package local methods from tests) JUnit runs all tests, defined in public void testxxx methods in classes extending TestCase, or annotated (no 'test' prefix please) Slide 9
10 Mock objects in tests Unit tests must isolate the unit under test (avoid dependencies) If an object under test uses other objects, they must be mocked A mock object has the same interface as the real object, but different implementation (in many cases, it does nothing) Real objects being mocked should have their own separate unit tests Possible implementations: Overriding: class MockDog extends Dog {... } Anonymous classes: new Dog() {... } Dynamic proxies: Proxy.newProxyInstance(... ) (see javadoc of java.lang.reflect.proxy) Frameworks: mockito, easymock, mockobjects, jmock, etc Slide 10
11 Unit test tasks Write unit tests for these your classes using JUnit 4 (see previous lectures' slides if you don't have them): Fibonacci, Factorial DuplicateRemoverImpl WordFrequencyCalculatorImpl ShapeAggregatorImpl Use the above mentioned naming/coding convention You no longer need main() methods in these classes which demonstrate that the code works these were actually a sort of unit tests, too Slide 11
12 Agile Software Development Is a relatively new and more efficient software development methodology (process) Minimizes risks by splitting projects into small iterations that look like separate projects Each iteration includes all tasks to release an increment in functionality planning requirements analysis design & coding & testing documentation Slide 12
13 Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Slide 13
14 So what is Agile? Way of creating software in lighter, faster, and people-centric way Adaptable, not predictable Working software is the primary measure of success and is delivered frequently Agile software development requires strict discipline Project team sits together (face-to-face communication) programmers and customers at minimum testers, designers, technical writers, managers Changes in requirements are welcomed, not being afraid of Slide 14
15 Agile methodologies There are many (some existed before the Agile Manifesto) Scrum, Crystal Clear, Lean Software Development, XP (Extreme Programming), etc Bad (but often used) alternatives: Cowboy coding no well-defined process Waterfall most predictive, steps through requirements capture, analysis, design, coding, testing in a strict sequence (see fake conference site) Slide 15
16 Agile/XP project cycle Kick-off meeting Iterations: Iteration planning meeting (a few hours) Daily stand-up meetings (max 15 min) Designing, coding, testing, communicating Fixed deadline ends (or customer decides to finish the project) Slide 16
17 User stories and iterations User stories are written on small paper chunks They are are added/removed/prioritized during iteration planning meetings Each user story is estimated in abstract units Team's velocity is calculated after each iteration Next iteration plan must be the same number of units completed during the previous iteration After a few iterations, velocity stabilizes Slide 17
18 TDD (Test Driven Development) TDD is one of the main practices of XP (Extreme Programming) TDD = TFD + refactoring TFD (Test First Development) means Write tests before the real (functional) code Write real code only to satisfy failing tests Eliminate duplication Refactoring means redesigning the code without changing or braking existing functionality always ensure that you have the simplest design possible for the functionality built to date Slide 18
19 TDD benefits Code is written in small steps You design your API before writing code, which results in better and loosely coupled object model You get 100% unit test coverage After each test-code iteration you get a working code, you can virtually stop anytime You don't waste time designing beforehand; initial designs cannot predict everything You can change anything anytime (because requirements always change) Overengineering is eliminated Slide 19
20 Pair Programming Pair Programming means there are two programmers sitting and working together Pairs help stay on track with TDD Pairing helps to learn from each other Instant (extreme) code review Two people produce better ideas than any of them could alone Ping-pong allows to turn development into a game Implement failing test, write a new test, pass keyboard Slide 20
21 Continuous integration Regular automated builds of the software (e.g. after each commit) the whole program is recompiled automated (unit) tests are run documentation is generated software is packaged and therefore ready to run Provides short feedback to developers Helps to find integration problems and failed tests early The latest builds are always runnable and testable by e.g. customers Hudson is one of the tools used for this purpose see Slide 21
22 Hands-on: TDD Bowling Rules/Requirements of 10-pin bowling: A game of 10 frames (2 shots per frame) Total score = sum of scores of all frames Spare all 10 pins are hit with two shots (frame) Frame score += next shot (bonus) Strike all 10 pins are hit with one shot Frame score += two next shots (bonus) If last frame hits all pins, extra shot is awarded Perfect game = 12 strikes = 300 points Slide 22
Introduction to Agile Software Development Process. Software Development Life Cycles
Introduction to Agile Software Development Process Presenter: Soontarin W. (Senior Software Process Specialist) Date: 24 November 2010 AGENDA Software Development Life Cycles Waterfall Model Iterative
Extreme Programming, an agile software development process
Extreme Programming, an agile software development process Paul Jackson School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled
XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories
XP & Scrum Beatrice Åkerblom [email protected] extreme Programming XP Roles XP Roles, cont!d! Customer ~ Writes User Stories and specifies Functional Tests ~ Sets priorities, explains stories ~ May or
Extreme Programming, an agile software development process
Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled
RUP. Development Process. Iterative Process (spiral) Waterfall Development Process. Agile Development Process. Well-known development processes
Well-known development processes Development Process RUP (Rational Unified Process) (Capability Maturity Model Integration) Agile / XP (extreme Programming) Waterfall Development Process Iterative Process
Agile processes. Extreme Programming, an agile software development process
Agile processes Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development
Test Driven Development
Test Driven Development Introduction Test Driven development (TDD) is a fairly recent (post 2000) design approach that originated from the Extreme Programming / Agile Methodologies design communities.
Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem
Agile processes Extreme Programming, an agile software development process Perdita Stevens School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development
JUnit. Introduction to Unit Testing in Java
JUnit Introduction to Unit Testing in Java Testing, 1 2 3 4, Testing What Does a Unit Test Test? The term unit predates the O-O era. Unit natural abstraction unit of an O-O system: class or its instantiated
Topics 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
Approach of Unit testing with the help of JUnit
Approach of Unit testing with the help of JUnit Satish Mishra [email protected] About me! Satish Mishra! Master of Electronics Science from India! Worked as Software Engineer,Project Manager,Quality
Upping the game. Improving your software development process
Upping the game Improving your software development process John Ferguson Smart Principle Consultant Wakaleo Consulting Email: [email protected] Web: http://www.wakaleo.com Twitter: wakaleo Presentation
Test-Driven Development
Test-Driven Development An Introduction Mattias Ståhlberg [email protected] Debugging sucks. Testing rocks. Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4.
Unit Testing. and. JUnit
Unit Testing and JUnit Problem area Code components must be tested! Confirms that your code works Components must be tested t in isolation A functional test can tell you that a bug exists in the implementation
Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development
Ingegneria del Software Corso di Laurea in Informatica per il Management Agile software development Davide Rossi Dipartimento di Informatica Università di Bologna The problem Efficiency: too much effort
Test Driven Development Part III: Continuous Integration Venkat Subramaniam [email protected] http://www.agiledeveloper.com/download.
Test Driven Development Part III: Continuous Integration Venkat Subramaniam [email protected] http://www.agiledeveloper.com/download.aspx Abstract In this final part of the three part series on
Software Development Methodologies
Software Development Methodologies Jonathan Hoyle Eastman Kodak Thursday, June 2, 2005 Overview Predictive Methodologies Waterfall Other Predictive Methodologies Agile Methodologies Extreme Programming
Agile Testing. What Students Learn
Agile Testing Transition sound traditional test practices into an Agile development environment. By using a step-by-step approach, this course documents how to transition from traditional test practices
Agile Development with C#
Agile Development with C# Paweł Jarosz, [email protected] Cracow University of Technology, Poland Jyvaskyla University of Applied Sciences, February 2009 Paweł Jarosz who am I? M.Sc. of Applied Physics
Introduction. Motivational Principles. An Introduction to extreme Programming. Jonathan I. Maletic, Ph.D.
An Introduction to extreme Programming Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University Introduction Extreme Programming (XP) is a (very) lightweight incremental software
Agile Testing and Extreme Programming
Agile Testing and Extreme Programming [email protected] www.pettichord.com March 2003 Copyright 2003 Bret Pettichord. All rights reserved. The Agile Alliance Values We have come to value: Individuals
Unit Testing JUnit and Clover
1 Unit Testing JUnit and Clover Software Component Technology Agenda for Today 2 1. Testing 2. Main Concepts 3. Unit Testing JUnit 4. Test Evaluation Clover 5. Reference Software Testing 3 Goal: find many
Testing 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 [email protected] [email protected] Professor in
XP and TDD. Extreme Programming and Test Driven Development. Bertrand Meyer, Manuel Oriol Andreas Leitner. Chair of Software Engineering ETH Zurich
XP and TDD Extreme Programming and Test Driven Development Bertrand Meyer, Manuel Oriol Andreas Leitner ETH Zurich October 27, 2006 Outline Development Processes Overview Extreme Programming Test Driven
Agile Project Management By Mark C. Layton
Agile Project Management By Mark C. Layton Agile project management focuses on continuous improvement, scope flexibility, team input, and delivering essential quality products. Agile project management
AGILE BUSINESS INTELLIGENCE
AGILE BUSINESS INTELLIGENCE OR HOW TO GIVE MANAGEMENT WHAT THEY NEED WHEN THEY NEED IT Evan Leybourn Author Directing the Agile Organisation Melbourne, Australia [email protected] INTRODUCTION
Agile and lean methods for managing application development process
Agile and lean methods for managing application development process Hannu Markkanen 24.01.2013 1 Application development lifecycle model To support the planning and management of activities required in
JDemo - Lightweight Exploratory Developer Testing
JDemo Lightweight Exploratory Developer Testing Ilja Preuß [email protected] disy Informationssysteme GmbH, Karlsruhe, Germany Agile 2008 Motivation Introduction to JDemo Demonstration Experiences Demos
Quality Assurance Software Development Processes
Quality Assurance Software Development Processes Part II - Lecture 3 1 The University of Auckland New Zealand 254 12/09/ /2012 The FBI Virtual Case File 254 12/09/ /2012 Database application developed
How To Be Successful At An Agile Software Engineering
"Agile Software Engineering" Overview for external offering of ASE ABAP Juergen Heymann, CPO Software Engineering There are many ingredients for successful software projects Experienced Developers Domain
Agile Software Development
Agile Software Development Use case for Agile Software Development Methodology in an Oil and Gas Exploration environment. White Paper Introduction No matter what business you are in, there are critical
Agile 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
Agile Development Overview
Presented by Jennifer Bleen, PMP Project Services Practice of Cardinal Solutions Group, Inc. Contact: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others
This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:
AGILE HANDBOOK OVERVIEW WHAT IS THIS? This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people: Someone who is looking for a quick overview on
Agile Scrum Workshop
Agile Scrum Workshop What is agile and scrum? Agile meaning: Able to move quickly and easily. Scrum meaning: a Rugby play Agile Scrum: It is an iterative and incremental agile software development framework
Agile In a Nutshell. Note - all images removed to fit 2MB limit Actual presentation has much more content. Jonathan Rasmusson
Agile In a Nutshell Note - all images removed to fit 2MB limit Actual presentation has much more content Jonathan Rasmusson What we re going to cover How agile works What to expect What agile is Agile
Agile Testing (October 2011) Page 1. Learning Objectives for Agile Testing
Agile Testing (October 2011) Page 1 Learning Objectives for Agile Testing "Certification is the by-product; Learning is the product." Agile Testing should: Compare and contrast agile testing with traditional
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
Unit Testing and JUnit
Unit Testing and JUnit Testing Objectives Tests intended to find errors Errors should be found quickly Good test cases have high p for finding a yet undiscovered error Successful tests cause program failure,
Effective unit testing with JUnit
Effective unit testing with JUnit written by Eric M. Burke [email protected] Copyright 2000, Eric M. Burke and All rights reserved last revised 12 Oct 2000 extreme Testing 1 What is extreme Programming
Agile Software Development
Agile Software Development Application in the Medical Device Industry Kelly Weyrauch Medtronic, Inc. (29 April 2008) Introduction Purpose Provide an introduction to Agile Software Development as it applies
EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT
EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT Cruceru Anca Romanian- American University, Faculty of Management- Marketing, 1B Expozitiei Blvd, Bucharest, [email protected], 0723508894
Software Development Life Cycle Models - Process Models. Week 2, Session 1
Software Development Life Cycle Models - Process Models Week 2, Session 1 PROCESS MODELS Many life cycle models have been proposed } Traditional Models (plan-driven) } Classical waterfall model } Iterative
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process
Contents. 3 Agile Modelling 31 3.1 Introduction 31 3.2 Modelling Misconceptions 31
Contents 1 Introduction 1 1.1 WhyThisBook? 1 1.2 A Bit of History 1 1.3 What Is Agile Software Development? 2 1.4 WhyBe Agile? 3 1.5 What This Book Is About? 3 1.6 Implementation Languages 3 1.7 The Structure
Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming
Génie Logiciel et Gestion de Projets Software Processes Focus on Extreme Programming 1 Roadmap Process, Method, Methodology?? What is a software process? Software Process Models Methodologies: RUP Focus
Software Development Process
Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software
Unit-testing with JML
Métodos Formais em Engenharia de Software Unit-testing with JML José Carlos Bacelar Almeida Departamento de Informática Universidade do Minho MI/MEI 2008/2009 1 Talk Outline Unit Testing - software testing
www.testing-solutions.com TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes
www. TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes What is Agile Development? There are various opinions on what defines agile development, but most would
SEEM4570 System Design and Implementation Lecture 10 Software Development Process
SEEM4570 System Design and Implementation Lecture 10 Software Development Process Software Development A software development process: A structure imposed on the development of a software product Also
Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal [email protected]
Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal [email protected] Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC
extreme Programming An Overview
extreme Programming An Overview Methoden und Werkzeuge der Softwareproduktion WS 1999/2000 Author Thomas Dudziak 1 INTRODUCTION... 4 WHAT IS EXTREME PROGRAMMING?... 4 OUTLINE... 4 BASIC CONCEPTS... 5 THE
Agile Software Development
E Learning Volume 5 Number 1 2008 www.wwwords.co.uk/elea Agile Software Development SOLY MATHEW BIJU University of Wollongong in Dubai, United Arab Emirates ABSTRACT Many software development firms are
Outline. Agile Methods. Converse of Conway s Law. The Silver Bullet Fantasy (Brooks, 1986)
Agile Methods Barry Boehm, CS 510 Lecture Fall 2001 ([email protected]) (http://sunset.usc.edu) Outline Silver bullets and lead bullets Information technology trends The dwindling lead-bullet niche
Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012
Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012 voordracht georganiseerd door Discussiegroep Software Testing met de steun van Ingenieurshuis, Antwerpen Scrum and Testing... The end
The Agile Movement An introduction to agile software development
The Agile Movement An introduction to agile software development 1 The Agile Movement An introduction to agile software development Russell Sherwood @russellsherwood & David Sale @saley89 Agenda Who are
Unit Testing & JUnit
Unit Testing & JUnit Lecture Outline Communicating your Classes Introduction to JUnit4 Selecting test cases UML Class Diagrams Rectangle height : int width : int resize(double,double) getarea(): int getperimeter():int
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, [email protected] 2 Faculty
Testing 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?.................................
Agile.NET Development Test-driven Development using NUnit
Agile.NET Development Test-driven Development using NUnit Jason Gorman Test-driven Development Drive the design and construction of your code on unit test at a time Write a test that the system currently
Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007
Agile and Secure Can We Be Both? Chicago OWASP June 20 th, 2007 The Agile Practitioner s Dilemma Agile Forces: Be more responsive to business concerns Increase the frequency of stable releases Decrease
Agile Development for Application Security Managers
Agile Development for Application Security Managers www.quotium.com When examining the agile development methodology many organizations are uncertain whether it is possible to introduce application security
Agile Beyond The Team 1
Agile Beyond The Team 1 Dilbert Agile 2 What Does Your Organization Value? Projects over Teams? Do new teams spools up for new projects? On-Time/On-Budget Delivery over Zero Maintenance Products Deliver
SECC Agile Foundation Certificate Examination Handbook
Versions 2.0 Version Date Remarks 1.0 12/4/2012 Initial version 2.0 3/8/2008 REVISION HISTORY Updated knowledge areas Added questions examples Updated suggested readings section Page 2 of 15 Version 2.0
How to manage agile development? Rose Pruyne Jack Reed
How to manage agile development? Rose Pruyne Jack Reed What will we cover? Introductions Overview and principles User story exercise Retrospective exercise Getting started Q&A About me: Jack Reed Geospatial
DATA DONE RIGHT. Applying Agile and XP Concepts. #DataDoneRight
DATA DONE RIGHT Applying Agile and XP Concepts to Enterprise Data Integration #DataDoneRight ABOUT THE SPEAKERS JOE FRAZIER 12 years data integration experience Designer/Architect for enterprise standards
AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT
AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT Shivangi Shandilya, Surekha Sangwan, Ritu Yadav Dept. of Computer Science Engineering Dronacharya College Of Engineering, Gurgaon Abstract- Looking at the software
LEAN AGILE POCKET GUIDE
SATORI CONSULTING LEAN AGILE POCKET GUIDE Software Product Development Methodology Reference Guide PURPOSE This pocket guide serves as a reference to a family of lean agile software development methodologies
Extreme Programming: Strengths and Weaknesses
The International Arab Conference on Information Technology (ACIT 2013) Extreme Programming: Strengths and Weaknesses Ahmad dalalah Prep. Year Deanship University of Hail, SA [email protected] Abstract:
Software Engineering I (02161)
Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2015 Last Week State machines Layered Architecture: GUI Layered Architecture: Persistency
The Agile Manifesto is based on 12 principles:
The Agile Manifesto is based on 12 principles: Customer satisfaction by rapid delivery of a useful product solution Welcome changing requirements, even late in development Working products are delivered
Testing in an Agile Environment
Testing in an Agile Environment Marie Walsh [email protected] http://www.linkedin.com/in/mariewalsh In this presentation, Marie will share her experiences working in agile teams across multiple projects
Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. [email protected] www.coveros.
Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. [email protected] www.coveros.com 1 About Coveros Coveros helps organizations accelerate the delivery
Agile So6ware Development
h(p://home.hit.no/~hansha/?page=so6ware_development Agile So6ware Development S. Adams. Dilbert. Available: h(p://dilbert.com Hans- Pe(er Halvorsen, M.Sc. 1 Agile? I ll go up and find out what they need
Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited
Continuous Integration: Improving Software Quality and Reducing Risk Preetam Palwe Aftek Limited One more title Do you love bugs? Or Are you in love with QC members? [Courtesy: Smita N] Agenda Motivation
Test Driven Development in Python
Test Driven Development in Python Kevin Dahlhausen [email protected] My (pythonic) Background learned of python in 96 < Vim Editor Fast-Light Toolkit python wrappers PyGallery one of the early
Extreme 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
Mastering the Iteration: An Agile White Paper
Rally Software Development Corporation Whitepaper Mastering the Iteration: An Agile White Paper Dean Leffingwell Abstract: The heartbeat of Agile development is the iteration the ability of the team to
The traditional project management uses conventional methods in software project management process.
Volume 5, Issue 1, January 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Analysis of
SOFTWARE PROCESS MODELS
SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation
Waterfall to Agile. DFI Case Study By Nick Van, PMP
Waterfall to Agile DFI Case Study By Nick Van, PMP DFI Case Study Waterfall Agile DFI and Waterfall Choosing Agile Managing Change Lessons Learned, Sprints Summary Q and A Waterfall Waterfall Waterfall
Tools for Integration Testing
Tools for Integration Testing What is integration ing? Unit ing is ing modules individually A software module is a self-contained element of a system Then modules need to be put together to construct the
Agile with XP and Scrum
Agile with XP and Scrum Amit Goel National Agile Software Workshop @ Indore Agile India Conference Agile Software Community of India Disclaimer and Credits Most of material in this presentation has been
Introduction to Agile Scrum
Introduction to Agile Scrum by Julia M. Lobur Penn State Harrisburg CMPSC 487W Fall 2015 Introduction to Scrum Learning Goals Relationship of Scrum to other Agile methods Scrum Framework Scrum Roles Scrum
Agile and Secure: OWASP AppSec Seattle Oct 2006. The OWASP Foundation http://www.owasp.org/
Agile and Secure: Can We Be Both? OWASP AppSec Seattle Oct 2006 Dan Cornell, OWASP San Antonio Leader Principal, Denim Group Ltd. [email protected] (210) 572-4400 Copyright 2006 - The OWASP Foundation
Agile 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
Intro to scientific programming (with Python) Pietro Berkes, Brandeis University
Intro to scientific programming (with Python) Pietro Berkes, Brandeis University Next 4 lessons: Outline Scientific programming: best practices Classical learning (Hoepfield network) Probabilistic learning
Agile and Secure: Can We Be Both?
Agile and Secure: Can We Be Both? OWASP AppSec Seattle Oct 2006 Keith Landrus Director of Technology Denim Group Ltd. [email protected] (210) 572-4400 Copyright 2006 - The OWASP Foundation Permission
Introduction 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)
The style is: a statement or question followed by four options. In each case only one option is correct.
AGILE FOUNDATION CERTIFICATE SAMPLE FOUNDATION QUESTIONS WITH ANSWERS This document is a set of sample questions, in the style of the Agile Foundation Certificate Examination, which is a 60 question, 1
A Capability Maturity Model (CMM)
Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability
Life-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice
Life-Cycle Model Software Life-Cycle Models Xiaojun Qi It specifies the various phases/workflows of the software process, such as the requirements, analysis (specification), design, implementation, and
www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Created by Stephen Barkar - www.stephenbarkar.se
1 www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Purpose with the material 2 This material describes the basics of Agile and Lean and the similarities and differences between
Development Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD
Development Techniques CSE301 University of Sunderland Harry R. Erwin, PhD Sources Boehm, 1981, Software Engineering Economics, Prentice- Hall. Stephens and Rosenberg, 2003, Extreme Programming Refactored:
Tonight s Speaker. Life of a Tester at Microsoft Urvashi Tyagi Software Test Manager, Microsoft
Tonight s Speaker Life of a Tester at Microsoft Urvashi Tyagi Software Test Manager, Microsoft You will learn about what a software tester does at Microsoft, how the role interfaces with program managers
