testdriven.com Wrangling quality out of chaos

Archive for October, 2007

Measuring Integrated Progress on Agile Software Development Projects

10.30.2007 · Posted in Links

Earned Value Management (EVM) is a well known project management technique which measures the integration of technical performance, cost and schedule against planned performance within a given project. The result is a simple set of metrics providing early warnings of performance issues, allowing for timely and appropriate adjustments. In addition, EVM improves the definition of project scope, and provides valuable metrics for communicating progress to stakeholders. The information generated helps to keep the project team focused on making progress. AgileEVM is a light-weight, and easy to use adaptation of the traditional EVM techniques which provides the benefits of traditional EVM in Agile projects.

Free Session: In-the-Brain of Hani Suleiman on Enterprise Java Testing

10.30.2007 · Posted in Events

[img align=left]http://www.skillsmatter.com/images/misc/hani-suleiman.jpg[/img]
Enterprise software is usually very difficult to test, and many of us are faced with the harsh realities of a demanding business that either does not value testing or does not prioritise it.

In this free talk, Bileblog author and CTO of Formicary, Hani Suleiman, will cover a pragmatic approach towards enterprise testing. Hani will show how you as a developer can add testing seamlessly into your existing processes, without placing unrealisitic expecations that are counter-intuitive to enterprise developers (such as TDD). He will wrap-up by highlighting a few typical enterprise scenarios and what approaches can be used to test them.

Register here: skillsmatter.com/hani-suleiman-enterprise-java-testing

Session Details

What: Hani Suleiman on Enterprise Java Testing

When: November 13th, 18:30-20:00 (and beers afterwards)

Where: Skills Matter, 1 Sekforde Street, Clerkenwell, London EC1R 0BE

How: Attendance is free for registered participants. Please register at skillsmatter.com/hani-suleiman-enterprise-java-testing

Free Session: In-the-Brain of Steve Freeman & Mike Hill on Fit – October 22nd

10.25.2007 · Posted in Events

Join Steve Freeman and Mike Hill for this free In-the-Brain session on Example Driven Development with Fit on October 22nd at Skills Matter. Steve is a pioneer of Agile Software Development in the UK, he has built applications for banks, ISPs, financial data providers, and specialist software companies. Mike is an Agile coach and software developer who has been developing software applications since 1993. He has been practicing Example-Driven Development for several years, and has a deep understanding of how to use FIT effectively.

During this session both Steve & Mike will share their experiences of using Example-Driven Development on multiple projects. Delegates of this session will learn key refactoring techniques that will allow them to maintain good style for their project’s suite of examples.

Register here:
Registration Free Session on FIT – October 22nd – 18:30-20:00

Talk: Example Driven Development with Fit

Steve Freeman
Mike Hill

Date: Monday, 22nd October 2007

As usual, we’ll go for a drink after the session!

Skills Matter
1 Sekforde Street
London EC1R 0BE

Registration Free Session on FIT – October 22nd – 18:30-20:00

Interview: Squish for Java GUI Testing

10.25.2007 · Posted in Articles

"My Java Swing application has a lot of graphical nterfaces, so it’s impossible to validate all of them by hand. Squish ermits to increase the test coverage without increasing the duration of the validation.", said Vincent Laigle from SAGEM.

We had the pleasure to interview Vincent Laigle, the Validation Team Leader of SAGEM, who use froglogic’s Squish for their automated GUI testing effort of a Java Swing application. We talked about their test automation process and why they chose Squish over HP’s (formerly Mercury) Quick Test Pro.

Froglogic: Can you briefly describe the software you are testing with Squish?

SAGEM: It is a Java program which runs on an embedded Linux platform. It’s best described as a kind of mail software wich is plugged on a radio network.

Froglogic: How did you learn about Squish and when did you start using it?

SAGEM: I learned about it from Aptus. I asked them to search for a Java GUI test tool similar to Quick Test Pro but which runs also on Linux. After a successful evaluation of Squish we started to use it in June 2007.

Froglogic: What are the main reasons you decided to use Squish for your automated GUI tests? What are Squish’s main advantages over the competition?

SAGEM: Squish has several great features. Here is a list of the most important ones for us:

– It works well with Java applications using Swing/AWT (Editor’s note: Squish for Java also supports testing Java SWT and Eclipse RCP applications)

– The ability to modify and customize Squish’s object name generator to influence which objects’ properties to use for generating object names when recording scripts

– Built-in support for data-driven testing and data tables

– Support of easy-to-learn programming languages for test scripts (JavaScript, Python, Perl, Tcl)

Froglogic: Are you satisfied with froglogic’s technical support service?

SAGEM: Yes. The team at froglogic is very responsive and helpful!

Froglogic: What have been your biggest challenges in creating your automated GUI tests?

SAGEM: The software is sold on a kind of palm device with a touch screen. So there is no keyboard but a lot of graphical interfaces and elements.

Our customer often changes his opinion on the presentation of the interfaces. So I have to create test scripts wich can be easely adjusted in the future without the need to redo them for each change in the user interface.

Squish is very good for that: To abstract the test data from the test scripts, I use a lot of data tables. This combined with a few sed and awk scripts allows me to easily adjust the scripts to UI changes (for example to adjust properties in the object names) without the need to re-record the script.

This is something which is not possible with other GUI test tools like HP’s Quick Test Pro!

Froglogic: How many tests cases do you have approximately by now?

SAGEM: By now I have approximately 300 test cases with a total of about 9000 lines of script code and about 3200 lines of data tables. I’ve automated tests for approximately 30% of my application’s functionality so far.

Froglogic: Where do you see the main benefit of automated testing?

SAGEM: My application has a lot of graphical interfaces, so it’s impossible to validate all of them by hand. Squish (or automated tests in general) permit to increase the test coverage without increasing the duration of the validation process.

Froglogic: Is there anything else you’d like to add?

SAGEM: Squish for Java is a very good product, which is very customizable and adaptable. I had big problems with Quick Test Pro because the objects in my applications changing a lot. Quick Test Pro doesn’t permit to modify the object name repositories and generation in a good and automated way. Also it is not possible to easily edit the scripts outside their IDE.

As a result, with Quick Test Pro I had to re-record my scripts over and over again. Squish, on the other hand, permits me to use grep/sed/awk to modify my scripts and object map. Having a flexible tool like Squish saves a lot of time!

Froglogic: Thank you for your time!

T2: trace-based random testing tool for Java

10.24.2007 · Posted in Links

T2 is a fully automatic, trace-based random testing tool, featuring in-code specifications and reflexive testing.

T2 checks for internal errors, run time exceptions, method specifications, and class invariant. Unlike other testing tools, T2 reads specifications written in plain java! They are placed in the class we want to specify. Though not as fancy as Z or JML, in-code specifications are declarative, formal, and powerful. Maintenance effort is also minimum.

Unlike other testing tools T2 does not check individual methods in isolation. Nor does it generate Junit test scripts, though we could add this feature. T2 actually performs the test directly or on the fly. So it responds faster, perhaps even giving the feel that it is interactive. Internally it generates tests in the form of traces (sequences) of method calls; each will be checked. This has the effect that methods are basically checking each other. This is called reflexive testing. The benefit is that it still works well even if the specifications provided are very partial, whereas other testing tools typically rely complete specifications.

It is a unit testing tool; with classes as the units. Violating traces are reported, and can be saved, and reloaded for re-testing or regression.

(Still in prototype stage)

Continuous incremental bloat?

10.24.2007 · Posted in Blogosphere

Amr Elssamadisy ponders over pipelined Continuous Integration: "One of the well-known practices of Agile development is Continuous Integration, which entails team members integrating their code regularly into the baseline and running all unit and system tests. In most teams a CI server is used to do this quickly and automatically when code is checked into the baseline. This usually works well in the beginning of a project, but sometimes, when the team and/or code-base get large, the CI server starts to slow down. The cycle between builds grows and the feedback degrades — a build may take an hour or more to respond with a pass/fail, and by that time several people may have checked in their code into an already broken build." (Is Pipelined Continous Integration a Good Idea?)

Nikita Ivanov also wonders about the Dark side of diligent unit testing.Peter Maas blogs on how to do TDD with Grails.

Scott announced that Version 4.1 of TypeMock.NET is now available. (Announcement)

Did you know soapUI has plugins?

Matthew Bass wishes flexmock and unit_record would play nice.

Ben Fulton posts some notes from a "really good session by Gerard Meszaros" on Test Patterns at SD Best Practices 2007 (xUnit Test Patterns and Smells)

Mark Levison knows that working at a Distance is hard, and lists the tools he uses to shorten distances in outsourced Agile teams.

Patterns of Agile Practice Adoption is available as a free download from InfoQ (after registration).

Stelligent will be celebrating Testoween on tuesday, October 30th, from 5:50PM to 7PM in Reston, Virginia. "I often run into teams who attempted to jump skull first into TDD and eventually threw their bones up in frustration when either schedules became scary or they ran into scenarios too frightening to test. Are there areas where test-driven development gives you the spooks? We’re terribly excited to announce that on Tuesday, October 30th, we will be hosting a roundtable discussion on TDD at our lair in Reston, Virginia. Get into the spirit of Halloween by treating us with your horror stories on the trickiest problems when implementing TDD. We’ll be talking about what spells work and what spirits don’t, while mingling over a cauldron of fine wine (courtesy of Savoy-Lee), cheese, and other potions. We’ll also be raffling off a screamingly appropriate iPod shuffle. Registration required, seats limited." (Share your TDD horror stories)

What is Agile Development? An Interview with Venkat Subramaniam.

"An interesting part of the discussion in the After Agile, What Next? session involved the question of omitting certain agile practices when they are impractical or unsupported in a given organization or under a given set of circumstances. The consensus was that people who fully understand how and why agile practices add value and how they interoperate to bolster each other’s strengths and cancel out each other’s weaknesses, and who have actually worked on projects that were ‘fully agile,’ are equipped to find alternatives to compensate for the removal of one or more particular agile practices. Unfortunately, many people who have never fully applied agile practices mistakenly believe they understand how to pick and choose individual practices without losing any of the effectiveness of the agile approach. This sort of thing is often behind the comments we sometimes hear about agile experiments that ‘failed.’" (Dave Nicolette on Agile software development)

Tad Anderson voices his concerns about the Agile buzzword: "You either know how to do the tasks in the process right, or you don’t. Just doing them is not good enough. So this agile attitude of ‘Since process activities don’t work, let’s get rid of them’ does not do anything for the team that didn’t know how to accomplish the tasks right in the first place. It just displaces their lack of skills to different task. I have seen tons overly bloated software out of agile teams because most teams use agile as an excuse to go right to code." (Agile Development != Low Ceremony && The Movement Needs to Die)

And there’s always more on Religion driven industry

Luc Legardeur and Xebia propose a tentative model for Agile Maturity, based on Governance, Technical excellence, Specifications, Simplicity, Collaboration and Leanness (Simple Agility Maturity model, in French).

In August, VersionOne published their second annual survey of Agile Development: "VersionOne, in association with the Agile Project Leadership Network, are pleased to present the results from the second annual "State of Agile Development" survey. The survey has become one of the largest in the Agile Development market; receiving almost seventeen hundred (1,700) responses with a truly global reach of respondents from seventy-one (71) countries." (2nd Annual State of Agile Development Survey)

GUIdancer: automated GUI tests without any programming

10.24.2007 · Posted in Links

GUIdancer is a test tool for creating automated GUI tests. It supports applications written in Java (Swing, SWT, RCP) and HTML. No programming is required to create reusable, robust tests. GUIdancer is well suited to agile processes, because test specification can begin before the application under test is ready, and continues alongside development.
Modular test creation and object-oriented component recognition mean that tests are easy to maintain.
GUIdancer runs as a standalone application or as an Eclipse plugin. Tests are multi-lingual, platform-independent and can test different data, components and implementations.


Qt GUI Testing Tool Squish Supports Trolltech’s Qt Jambi Framework

10.24.2007 · Posted in News

Hamburg, Germany – 2007-10-23– froglogic GmbH today announced that Squish, a leading, cross-platform automated GUI testing tool for Qt applications now officially supports Trolltech’s Qt Jambi framework.Qt Jambi is a cross-platform, rich client application development framework for Java. It includes a comprehensive class library and integrated development tools for high-end rich client application development. To organizations developing high performance, cross-platform desktop applications with the Java programming language, Qt Jambi increases development efficiency, adds freedom and flexibility to Java development, and provides the assurances of a solid, mature framework.

Squish for Qt is a specialized GUI testing framework allowing to create and run automated GUI tests against Qt and Qtopia applications. Squish is being successfully used in QA departments across the world to increase quality while saving cost and time.

With the adoption of Squish supporting automated testing of Qt Jambi-based GUI applications, Java engineers can not only create professional Qt-based GUI applications in the Java programming language but can also take advantage of a proven GUI testing framework to ensure and enhance the quality of their applications.

"Making Qt available for Java developers is an exciting move from Trolltech as it makes Qt available to a large, new market", said Koos Vriezen, Java team lead at froglogic. "By making Squish support the Qt Jambi framework we ensure that customers can benefit from a single solution to automate testing for both their Java and C++ development."

"We are really excited to see our partner froglogic supporting our new Qt Jambi technology. The combined value of both of our technologies makes Qt Jambi even more attractive for professional software development", said Naren Karattup, Qt Product Director at Trolltech.

For more information about Squish please visit
http://www.froglogic.com or contact squish@froglogic.com.

For more information about Qt or Qt Jambi, please visit
http://www.trolltech.com or contact info@trolltech.com.

About froglogic:

froglogic GmbH is a software company based in Hamburg, Germany. Their flagship product is Squish, the market-leading automated testing tool for GUI applications based on Qt, Java AWT/Swing and SWT/RCP, Mac OS X Carbon/Cocoa and for HTML/Ajax-based web applications running in different web browsers. froglogic also offers services in the areas QA/automated testing and Qt C++ programming and consulting. More about froglogic at http://www.froglogic.com.

About Trolltech:

Trolltech creates application development platforms for desktop and mobile device innovation. Trolltech’s software increases the appeal of our customers’ desktop applications and devices while reducing their risks and software development costs. Trolltech’s technologies accelerate the evolution of software by unleashing the creative power of the developer.

Trolltech software is the foundation for thousands of leading products worldwide, many from Global 2000 companies. Trolltech is a second-generation open source company, with a dual licensing business model that supports open source values and methodology in a profitable, sustainable business. The company is listed on the Oslo Stock Exchange under the ticker symbol TROLL. For more information about Trolltech, please visit http://www.trolltech.com.

DbFit 0.91 released: Update scripting and type cleaners

10.24.2007 · Posted in Advisories

DbFit is a free extension library for FIT/FitNesse testing framework. It allows developers to manipulate database objects in a relational style, making it much easier to manage and test database objects than with xUnit-style tests.Release 0.91 (22-Oct-2007) brings:

– support for type normalisers in Java, which can transform content coming out of the database. That provides workarounds for JDBC driver inconsistencies and finally brings proper support for Oracle Timestamp, CLOB and REF cursor support in Java.
– New fixture table: Update. This type of table can be used to quickly script data updates. See acceptance tests for examples.
– support for BINARY and VARBINARY types for SQL Server 2005. These map to byte arrays. A utility formatter is also in the release, that allows you to specify byte arrays in hex format (0xABCD…). See the data types page in SQLServer acceptance tests for more information.
– User guide finally updated with all the developments in the last few months.

Latest release is available for download from [url=https://sourceforge.net/project/showfiles.php?group_id=191053&package_id=224326&release_id=548778]SourceForge[/url]. For more information on DbFit, see gojko.net/fitnesse/dbfit.

BREDEX GmbH announces release for GUIdancer 2.0 as winter 2007

10.24.2007 · Posted in Java

Bredex GmbH has announced that version 2.0 of GUIdancer, the automated GUI test tool, will be released towards the end of this year. The tool has been extended to cover RCP, SWT and HTML applications as well as Swing. Tests for these toolkits are created without programming, scripts or code. Specification of flexible, reusable tests can begin before the application is ready and can keep up with frequent iterations – making GUIdancer particularly well-suited to test-driven-development and agile processes. GUIdancer is expanding. Now in its second year on the market, the upcoming release of the Eclipse-based tool supports testing on Java (Swing, SWT, RCP) and HTML applications. The new release, scheduled for December 2007 is a cost-effective way of testing GUI applications.

“Our recent experiences at the Eclipse Summit really reinforced the value of GUIdancer in modern development processes” explained Hans-J. Brede, Managing Director. “Specifically, GUIdancer offers a unique advantage in agile processes because tests are easy to specify yet do not require the application under test to be ready. Test creation begins early and continues alongside development”.

Tests with GUIdancer can be created early and reused extensively. Project experience has shown that maintenance efforts are minimum, even after changes in the GUI of an application. Based on a “building-block” approach, tests are conceptually easy to create, but powerful in action. No details must be “hard-coded” in tests – GUIdancer has a “one test fits all” approach whereby a single specification can be used to test an application with different data, languages, components and even implementations with different toolkits.

Hans-J. Brede stressed the importance of early and continuous testing: “We are of the opinion that test-driven-development is also possible for GUI tests. There is everything to be gained by testing early and often, and GUIdancer is the only tool for the job”.
For an example flash-demo showing how one test can be reused, visit:
http://www.bredex.de/en/guidancer/downloads.html and select the “one test fits all” demo.


Since 1987, BREDEX GmbH has been providing high quality information technology services in the areas of consultancy, analysis and design, software development and training. Based in Braunschweig, the company has a history of long term customer satisfaction and a focus on forward thinking, developing individual solutions that bring future standards to current project needs. BREDEX sells GUIdancer, which is a powerful and cost effective automatic test tool for java applications.

For more information: www.bredexsw.com.

This press release can be downloaded from: http://www.bredex.de/en/guidancer/downloads.html

Using your “senses” to Iteration Planning in TargetProcess v.2.6

10.24.2007 · Posted in Tools

October 17, 2007 – TargetProcess, Inc. provider of the web based tool that helps companies succeed with agile software development, announced a significant update to its agile life cycle solution. Brand new iteration planning concept and great usability improvements power agile teams with better project planning and tracking options. TargetProcess v.2.6 increases productivity via inline editing in lists, improved customizability, superior visualizations and simpler navigation.Among the major improvements of TargetProcess v.2.6 are:

* New Iteration Planning visualizes business value and effort parameters of user stories, so you can literary “feel” iteration planning process.

* Inline Editing in Lists allow people to change information in Excel-like style.

* Visual Source Safe Integration extracts data from commit messages and automatically changes task state, adds time and comments.

“We were targeting better user experience in the latest release. TargetProcess posses a powerful functionality that will address the needs of agile teams of all sizes. We took time to polish things and enhance the user interface by making it cleaner and easier to navigate. New iteration planning concept is just great, we are very excited about it! It visualizes the most important parameters of user stories and bugs such as effort and priority, thus providing real enjoyment during iteration planning sessions. You really feel user story effort and business value when making a decision about the assignment to iteration” commented Michael Dubakov, founder and CEO of TargetProcess, Inc.

“Inline editing in lists is an outstanding productivity feature. Double click on a row, change required info and simply hit Enter. No page reloads, no waiting! TargetProcess in many aspects is getting closer to usual desktop applications, which is far from reality in most of the web based apps out there. We are continuing to improve TargetProcess usability to make it as easy to use as possible. Simplicity In Mind – that is our goal” says Michael.

The other improvements include features such as: new and more detailed charts, customizable inner lists, customizable dashboards and new dashboard components, new reports.

For more details about new functionality in TargetProcess v.2.6 go to: http://www.targetprocess.com/tp26whatsnew.asp.

Additional information and online demo version available at: http://www.targetprocess.com

JetBrains Releases the Magnificent Seven – IntelliJ IDEA 7.0

10.24.2007 · Posted in Advisories

IntelliJ IDEA 7.0 delivers unparalleled support for many in-demand tools and technologies of today. The latest version also brings upgraded performance, more advanced usability, and greater user experience.

IntelliJ IDEA 7.0 provides:
– full-blown Spring and Hibernate support
– Web services
– Maven and ClearCase integration
– Ruby & Groovy support
– impressive performance improvements
– and many more productivity features

Check out the Magnificent Seven here.

InCisif Software released InCisif.net 2.0

10.24.2007 · Posted in Advisories

InCisif.net is an automation tool designed to implement client-side functional testing of web applications under Internet Explorer 6 or 7, using languages such as C#, VB.Net or IronPython.

Tests can be developed within Microsoft’s Visual Studio 2005, 2008 or Express Editions.

New features in the 2.0 release include:

– Integration with Visual Studio environment
– New Api members using anonymous method or Lamda Expression
– Visual Studio 2008 test framework support

To learn more and download an evaluation copy, go to InCisif.net.

Becoming Agile in an Imperfect World

10.24.2007 · Posted in Links

Agile principles have been a breath of fresh air to many development teams stuck in the middle of a rigid, process-driven environment. Unfortunately, it’s not so easy to bring Agile into an existing organization with established people and practices. Becoming Agile shows you practical techniques and strategies to move from your existing process to an Agile process without starting from scratch.

Many books discuss Agile from a theoretical or academic perspective. Becoming Agile takes a different approach and focuses on explaining Agile from a ground-level point-of-view. Author Greg Smith, a certified ScrumMaster with dozens of Agile projects under his belt, presents Agile principles in the context of a case study that flows throughout the book.

Becoming Agile focuses on the importance of adapting Agile principles to the realities of your environment. While Agile purists have often discouraged a "partial-Agile" approach, the reality is that in many shops a "purist" approach simply isn’t a viable option. Over the last few years, Agile authorities have begun to discover that the best deployments of Agile are often customized to the specific situation of a given company.

As well, Becoming Agile addresses the cultural realities of deploying Agile and how to deal with the needs of executives, managers, and the development team during migration. The author discusses employee motivation and establishing incentives that reward support of Agile techniques.

Becoming Agile will show you how to create a custom Agile process that supports the realities of your environment. The process will minimize risk as you transition to Agile iteratively, allowing time for your culture and processes to acclimate to Agile principles.

Author: Greg Smith
Expected publication date: Manning, April 2008
400 pages
(Early Access Program available)

The Art of Unit Testing (with examples in .Net)

10.24.2007 · Posted in Links

Most developers recognize the value of unit testing — the independent testing of individual chunks, units, of code by the developer while an application is being written. Unit testing leads to easier maintenance, troubleshooting, refactoring, and integration testing of the application. To facilitate unit testing, the developer uses unit-testing frameworks such as NUnit along with various helper frameworks for more advanced testing of interaction between objects — often called "Mock Object frameworks."

Because there are few clear and defined ways on how to write unit tests well, many shops try to implement unit tests on their code, realizing too late that the tests hinder the coding cycle more than they help. This book will help you avoid mistakes when writing unit tests, and show you how to do it right — from the beginning steps to the most advanced techniques.

The Art of Unit Testing guides the reader on the journey from beginner to master in the subtle art of unit testing. Based on expert author Roy Osherove’s real-world development experiences, this book shows developers how to make sure the code that they write actually works as expected, and how to make these verifications as automated as possible. Not only that, the book shows techniques that help to make sure that the tests are maintainable, readable, and test the right thing over time, avoiding the "throw-away tests" phenomenon that plagues many shops that try to write unit tests without clear guidelines. In this way it helps you make your development process — and your business — more agile.

The Art of Unit Testing starts out with the basics of how to write unit tests, what makes a good unit test, and how to avoid the pitfalls you may encounter when you try to write unit tests. You’ll learn to build tests that are readable, accurate, and maintainable. Along the way, you’ll pick up a set of best practices and how-tos for key subjects, from using test frameworks to using Mock Objects to writing tests that run against a database.

The author establishes five rules for good unit tests built upon the three major principles that any good test be maintainable, trustworthy, and readable. You’ll find clear sections presenting established best practices to ensure that your tests will adhere to these principles. The book also provides clear guidance on what to test and where to start testing when you’re going into a legacy code project.

Unlike other books on this topic, this book trades theory for real-world examples. It’s designed so that you, a working developer, can start writing better unit tests now.

Author: Roy Osherove
Expected publication date: Manning, April 2008
400 pages
(Early Access Program available)

OpenUP: lean, iterative and incremental unified process

10.24.2007 · Posted in Links

OpenUP is a lean Unified Process that applies iterative and incremental approaches within a structured lifecycle. OpenUP embraces a pragmatic, agile philosophy that focuses on the collaborative nature of software development. It is a tools-agnostic, low-ceremony process that can be extended to address a broad variety of project types.

Author: Per Kroll
Published: IBM developerWorks, September 15, 2007


Continuous Integration: Improving Software Quality and Reducing Risk

10.24.2007 · Posted in Links

Continuous Integration: Improving Software Quality and Reducing RiskFor any software developer who has spent days in "integration hell," cobbling together myriad software components, Continuous Integration: Improving Software Quality and Reducing Risk illustrates how to transform integration from a necessary evil into an everyday part of the development process. The key, as the authors show, is to integrate regularly and often using continuous integration (CI) practices and techniques.

The authors first examine the concept of CI and its practices from the ground up and then move on to explore other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback. Through more than forty CI-related practices using application examples in different languages, readers learn that CI leads to more rapid software development, produces deployable software at every step in the development lifecycle, and reduces the time between defect introduction and detection, saving time and lowering costs. With successful implementation of CI, developers reduce risks and repetitive manual processes, and teams receive better project visibility.

The book covers

* How to make integration a "non-event" on your software development projects
* How to reduce the amount of repetitive processes you perform when building your software
* Practices and techniques for using CI effectively with your teams
* Reducing the risks of late defect discovery, low-quality software, lack of visibility, and lack of deployable software
* Assessments of different CI servers and related tools on the market

Authors: Paul Duvall, Steve Matyas, Andrew Glover
Published: Addison-Wesley, June 29, 2007
336 pages
Companion web site

Tags: ,

Patterns of Agile Practice Adoption

10.24.2007 · Posted in Links

Patterns of Agile Practice AdoptionAs more and more people move towards adoption of Agile practices, they are looking for guidance and advice on how to adopt Agile successfully. Unfortunately many of the questions they have such as: "Where do I start?", "What specific practices should I adopt?", "How can I adopt incrementally?" and "Where can I expect pitfalls?" are not adequately addressed.

This book answers these questions by guiding the reader in crafting their own adoption strategy focused on their business values and environment. This strategy is then directly tied to patterns of agile practice adoption that describe how many teams have successfully (and unsuccessfully) adopted practices like test-first development, simple design, and others.

Author: Amr Elssamadisy
Published: Lulu.com, June 28, 2007
188 pages


Test Driven Development with Visual Studio for Database Professionals

10.24.2007 · Posted in Links

For many years now, developers have had the upper hand when it comes to Test-Driven Development. No matter the language, there was a handy toolset to use – NUnit, JUnit, and xUnits for Perl, Python, Ruby, Delphi, and many others. But when it came time to implement the logic in the database, the options were few. Many people turned to developing their own unit testing solution – if they did unit tests at all.

Author: Cory Foy
Published: InfoQ, October 18, 2007

MockMe: service layer mock for Java mobile applications

10.24.2007 · Posted in Links

MockMe is a simple tool to test Java mobile application’s client code without waiting for the service layer to become available. In complex applications this means not having to wait for data to become available for processing.

MockMe is essentially a configurable servlet based on properties files, which searches for XML files from a local directory according to a parameter passed in with a data access request. It then emulates the future server to facilitate testing. Once you have defined the XML and configured MockMe, both parts can work in parallel.

BeanCooker: mock values generator for Java Beans

10.24.2007 · Posted in Links

BeanCooker is a tool to automatically set mock values to all properties of any java bean.

The simplest usage will put "fooBar" in Strings, 12345 in integers, 123.123 in floats … and the most advanced usage will pull values from a csv file.

– very easy to use, good default settings.
– no external dependency, just JRE 5
– designed to be open and expansible (for example, you can configure it from Spring easily)