Extreme Programming: Automated Testing and Refactoring

Slides:



Advertisements
Similar presentations
Support.ebsco.com EBSCOadmin Reports & Statistics Tutorial.
Advertisements

6 Copyright © 2005, Oracle. All rights reserved. Building Applications with Oracle JDeveloper 10g.
Unit Testing Australian Development Centre Brisbane, Australia.
Jump into Release 1 Pepper. Goals for End of Class Project delivery Diagrams (new class & firm state, use, context, sequence) Agile cycles with SCRUM.
NAUG NAUG Knowledge Evening – th February 2007.
Homework 1 Hints. Homework Tips (General) Go through and do the ENTIRE homework in the same time period – You will use all of the material from chap 1.
Sergio Ferreira MoreData I16 Thursday, October 12, :30 a.m. – 11:30 a.m. Platform: Informix How to call Informix 4gl code from J2EE.
E-commerce Project Erik Zeitler Erik Zeitler2 Lab 2  Will be anounced and scheduled later  We will deploy Java Server Pages on a Tomcat server.
JUnit. What is unit testing? A unit is the smallest testable part of an application. A unit test automatically verifies the correctness of the unit. There.
Development of a Web Based B&B Reservation System Elizabeth Gates 22July04.
Developing the NSDL User Portal Dean Krafft, Cornell University
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
JUnit testing and Spring How to benefit from Spring support for jUnit during development.
IS 426: Information Systems Construction in Modern Society Downloading and exploring oracle development environments.
CIS 764 Kansas State University
Why use Group Policy? GROUP POLICIES ON SBS: WHY BOTHER? -Save yourself a lot of time - need to install a printer on 20-some computers? - adding a file.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
11 Games and Content Session 4.1. Session Overview  Show how games are made up of program code and content  Find out about the content management system.
By Daniel Siassi.  XHTML  For Structure  CSS  For Stylization of Structure  SQL Database  Store Customer, Calendar, and Order Data  PHP  Server-side.
MAVEN-BLUEMARTINI Yannick Robin. What is maven-bluemartini?  maven-bluemartini is Maven archetypes for Blue Martini projects  Open source project on.
Systems Software & Operating systems
Software Testing. Definition To test a program is to try to make it fail.
J2EE Part 2: Enterprise JavaBeans CSCI 4300 Images and code samples from jGuru EJB tutorial,
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
1 Lecture 19 Configuration Management Software Engineering.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
EXtreme Programming: An Introduction Presentation by: Jon Banta.
(Chapter 10 continued) Our examples feature MySQL as the database engine. It's open source and free. It's fully featured. And it's platform independent.
GCSE Computing#BristolMet Session Objectives# 20 MUST describe a database and discuss the legal implications of storing personal information SHOULD explain.
J2EE Overview Web Programming CSCI J2EE multi-tier architecture Servlet: Java class loaded into Web server JSP page: enhanced HTML page that is.
Jalisa Eady Definitions Mr. Gabbard Pd
Database Management Systems.  Database management system (DBMS)  Store large collections of data  Organize the data  Becomes a data storage system.
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
Construction Planning and Prerequisite
5 The Shell, the IOCS, and the File System. © 2005 Pearson Addison-Wesley. All rights reserved Figure 5.1 The components of a modern operating system.
Computer Systems Week 14: Memory Management Amanda Oddie.
Aleph Version Maintenance. Version Maintenance Requirements for Aleph Stability Control Minimum changes for user Systematic patch application.
CSCI 1033 Computer Hardware Course Overview. Go to enter TA in the “Enter Promotion Code” box on the bottom right corner.
EFinanceFactory Andriy Kurhanevych, development group manager.
Agile Methods Presentation By: Jason Abbett. Definition A process to rapidly develop software Many kinds of agile methods but few are practiced.
By Srinivas Mahakud Java Persistence API JPA. Review Topics: Introduction what is the JPA? What is the JPA contains of? Why developers should Create the.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
Pavlov’s Dogs Mike Abegg Alex Towell Chris Ballenger Tom Scarborough.
CIS-NG CASREP Information System Next Generation Shawn Baugh Amy Ramirez Amy Lee Alex Sanin Sam Avanessians.
Applications Software. Is a software used to carry out a particular task e.g. a game or word processor.
1 © Agitar Software, 2007 Automated Unit Testing with AgitarOne Presented by Eamon McCormick Senior Solutions Consultant, Agitar Software Inc. Presented.
Software Testing Kobla Setriakor Nyomi Faculty Intern (Programming II)
Chapter Objectives In this chapter, you will learn:
r call for instant help.
Web Routing Designing an Interface
Self-service enrollment for Windows desktops
elp.
Test Driven Development 1 November Agenda  What is TDD ?  Steps to start  Refactoring  TDD terminology  Benefits  JUnit  Mocktio  Continuous.
Planning User stories are written.
Fix yahoo mail error code 4 Call Toll-free Number
Alexander Kanavin Lappeenranta University of Technology
Source Code Management
What do you need to know about XP?
J2EE Application Development
Ant.
NOTE TO INSTRUCTOR: Enter your Session ID on this slide
Network Layer The network layer is responsible for the source-to-destination delivery of a packet, possibly across multiple networks (links). Whereas the.
Chapter 7 –Implementation Issues
Refactoring.
Introduction to Computer Systems
Mail Merge.
Enterprise Java Beans.
QuickBooks Error H202 - Fix QuickBooks issues
Samir Behara, Senior Developer, EBSCO
Presentation transcript:

Extreme Programming: Automated Testing and Refactoring CSCI 4300

WAR project development setup addressBook.war contains the entire deploy directory Drop the war file into the JBOSS deploy directory!

Adding Automated Testing

Integrating testing into build.xml <target name=“test” depends=“compile”> <junit printsummary=“true”> <test name=“BeanTest.allTests” /> <classpath path=“./test” /> </junit> </target> <target name=“deploy” depends=“test”>

Refactoring with XP Problem: in a large project, touching a piece of code carries a 50% chance of breaking it Subtle errors might go unnoticed for some time Coward Solution: If it ain’t broke, don’t fix it XP Solution: Refactor at will, but use automated testing.

AddressBook Example Version 1: uses a session bean, which forgets addresses between sessions Version 2: uses an EJB that holds open a persistent database connection Version 3: uses an EJB with container-managed persistence --All these versions should use the same interface and automated unit tests!

XP Incremental development Start with a “user story” describing usage Build a simple working version, then increment Automated testing protects you from entering subtle bugs

Designing the AddressBean test Store a name and email, then fetch the email Fetch a nonexistent entry Test number of entries

The last word “Testing is for bunglers. Properly constructed devices work properly.” --E.E. “Doc” Smith, Skylark Three (1930)