February 2009
Automation for the people: Deployment-automation patterns, Part 1
Java deployments are often messy, error-prone, and manual, leading to delays in making software available to users. In Part 1 of a two-part article in the
Automation for the people series, automation expert and Stelligent CEO Paul Duvall identifies a collection of key patterns for developing a reliable, repeatable, and consistent deployment process capable of generating one-click deployments for Java applications.
October 2008
Automation for the people: Parallel development for mere mortals
Although many development teams use version-control systems to manage
code changes, they can struggle when developers code off the same code
base, in parallel. In this
Automation for the people
installment, automation expert Paul Duvall shows how to effectively
tag, branch, and merge source code using the open source, freely
available Subversion version-control system.
July 2008
Automation for the people: Continual refactoring
The goal of refactoring is to improve the overall design of the code;
making it easier to read and more easily maintained. Deciding what
code to refactor is often based upon the code's smell, or a hint that
something has gone wrong somewhere in your code. In the latest
installment of Automation for the people, Stelligent CTO, Paul Duvall
explains how to use static analysis tools to identify code smells to
refactor, with examples showing how to improve odiferous code.
June 2008
Automation for the people: Pushbutton documentation
For
developers, creating documentation for any software project can be a
tedious and lengthy task. But imagine if the documentation could be
produced at the click of a button. In the latest installment of Automation for the people, Stelligent CTO, Paul Duvall,
illustrates how you can automate the generation of Unified Modeling
Language (UML) diagrams, build figures, entity-relationship diagrams,
and even user documention using various open source tools.
May 2008
Automation for the people: Hands-off load testing
Load testing most often occurs just before applications are deployed,
when optimally, the testing should be done long before the last step in
application development. In the eleventh installment of his "Automation for the people" series, Stelligent CTO, Paul Duvall explore techniques for creating automated tests using JMeter,
running the tests as part of an automated build, and scheduling the tests to run
automatically every day.
March 2008
Automation for the people: Continuous Integration anti-patterns, Part 2
Anti-patterns delay or prevent the benefits you can experience with Continuous Integration. In the tenth installment" of his Automation for the people" series, and in the second installment of a two-part article, Stelligent CTO, Paul Duvall presents best practices when setting up a CI environment and how to avoid, what he calls, the CI anti-patterns.
December 2007
Automation for the people: Continuous Integration anti-patterns
In the ninth installment of his "Automation for the people" series, Stelligent CTO, Paul Duvall, shows you how to make the most from the practice of Continuous Integration by learning what not to do.
November 2007
Automation for the people: Build Java projects with Raven
In the eighth installment of his "Automation for the people" series, Stelligent CTO, Paul Duvall,
demonstrates how Raven,
a build platform built on top of Ruby, leverages the power of a
full-featured programming language with the simplicity of a
build-centric Domain Specific Language.
July 2007
Automation for the people: Asserting architectural soundness
In the seventh installment of his
"Automation for the people" series, Stelligent CTO,
Paul Duvall,
demonstrates how you can discover architectural deviations by writing
tests using JUnit, JDepend, and Ant to discover problems proactively
instead of long after the fact.
May 2007
In pursuit of code quality: Beware the tight couple!
Explains how to recognize a tightly coupled system and then
disentangle it using the Dependency Inversion Principle.
April 2007
In pursuit of code quality: Programmatic testing with Selenium and TestNG
Demonstrates how to run Selenium tests programmatically, using TestNG as the test driver.
March 2007
Automation for the people: Continuous testing
Provides an overview of various automated developer tests along with
examples that you can add to your build process and run continually
using a Continuous Integration system.
February 2007
In pursuit of code quality: Automate GUI testing with TestNG-Abbot
Walks you through the hardest part of GUI testing with TestNG-Abbot,
which is understanding how a user scenario will play out.
January 2007
In pursuit of code quality: Defensive programming with AOP
Demonstrates a multifaceted approach to dealing with the less
predictable defects in your code by combining aspect-oriented
programming (AOP), design by contract, and an easy-to-use generic
validation framework called OVal.
Automation for the people: Improving code with Eclipse plugins
Provides examples of installing, configuring, and using static
analysis plugins in Eclipse so that problems can be prevented early in
the development life cycle.
December 2006
In pursuit of code quality: Discover XMLUnit
Introduces XMLUnit, a JUnit extension framework that meets all of your XML validation needs.
November 2006
In pursuit of code quality: Performance testing with JUnitPerf
Makes the case for performance testing as part of the development cycle and shows you two easy ways to do it
Automation for the people: Continuous feedback
Evaluates various feedback mechanisms that one can incorporate into CI
systems and explains why without feedback mediums, like email or RSS,
builds in a broken state have the tendency to stay broken.
October 2006
In pursuit of code quality: Use Test Categorization for Agile Builds
Demonstrates how to automatically sort and run these categories at
varying frequencies within a Continuous Integration strategy.
Automation for the people: Remove the smell from your build scripts
Describes how to improve a number of common build practices that
prevent teams from creating consistent, repeatable, and maintainable
builds.
September 2006
In pursuit of code quality: Repeatable system tests
Demonstrates how incorporating Cargo into your testing routine will lighten the
load of crafting repeatable tests that verify Web applications.
August 2006
In pursuit of code quality: JUnit 4 vs. TestNG
The eighth article, in IBM developerWork's series “In Pursuit of Code Quality”, by Stelligent President Andrew Glover, compares JUnit 4 with the features of TestNG considers what's unique about each framework and reveals three high-level testing features you'll still only find in TestNG.
July 2006
In pursuit of code quality: Testing Struts legacy apps
The seventh article, in IBM developerWork's series “In Pursuit of Code Quality”, by Stelligent President Andrew Glover, focuses on using JUnit's StrutsTestCase framework, with DbUnit, to facilitate the challenges of testing Struts Action classes.
June 2006
In pursuit of code quality: Tame the chatterbox
The sixth article in IBM developerWorks’ series “In Pursuit of Code Quality,” by Stelligent President Andrew Glover, explores three important ways to measure code complexity, based on method
May 2006
In pursuit of code quality: Refactoring with code metrics
The fifth article in IBM developerWorks’ series “In Pursuit of Code Quality,” explores how to use complexity metrics and the Extract Method pattern for targeted refactoring.
April 2006
In pursuit of code quality: Code quality for software architects
The fourth article in IBM developerWorks’ series “In Pursuit of Code Quality,” explores how to use coupling metrics to support your system's architecture.
March 2006
In pursuit of code quality: Monitoring Cyclomatic Complexity
The third article in IBM developerWorks' series “In Pursuit of Code Quality” explores Cyclomatic Complexity and how one can obtain this interesting metric and then what to do with the data.
February 2006
In pursuit of code quality: Resolve to get FIT
The second article in IBM developerWorks’ series “In Pursuit of Code Quality,” explores how the Framework for Integrated Tests (FIT) facilitates communication between the business clients who write requirements and the developers who implement them.