Sharing Our Passion for Technology
& continuous learning
  • default icon

    Acceptance Testing presentation at Iowa Code Camp

    I had the opportunity to present at the eleventh Iowa Code Camp on June 8, 2013.  The title of my presentation was “Easy Acceptance Testing.” The purpose of the presentation was to discuss an acceptance testing framework that Source Allies, Inc. developed for a partner while working on a large...
  • default icon

    Beanoh.NET: Spend Less Time Verifying Spring.NET contexts

    I Love Dependency Injection But .... I've burned myself so many times with dependency injection in the past. It make me nervous when I see a complex software product comprised of multiple projects and dozens of libraries without any comprehensive test that double checks the wiring. As our wiring grows...
  • default icon

    Automated Testing Strategy for Legacy Systems

    Once you catch the automated testing itch you want to write test for everything. But should we use the same strategy for every piece of software? The conclusion that I’ve come to is no. While I’m completely committed to the practice of TDD and aggressive test coverage, I’ve found that...
  • default icon

    Testing Spring Wiring

    Overview Spring is an essential part of my technology stack. I can’t imagine providing quality software that doesn’t leverage an IoC container. However, decoupling components requires some amount of configuration. Whether this is accomplished through annotations or XML, it’s fairly easy to mess up. Fixing these missing or incorrect configurations...
  • default icon

    Mock Me With Fewer Words

    With Mockito 1.8.3 or higher you can significantly reduce your test code setup. Here is the code before. public class MockitoTest { private EmailFactory emailFactory; private Notifier notifier; private Emailer emailer; private Email email; @Before public void setUp(){ notifier = new Notifier(); emailFactory = mock(EmailFactory.class); emailer = mock(Emailer.class); email =...
  • default icon

    Selenium IDE - Part II

    In Part I we covered Setting Up Recording Tests Playing Back Tests Saving Test Cases Resuming Recording Saving Test Suites All examples will use the sample site https://sites.google.com/site/example4selenium/. Store Value There are two ways to store values. First, you can define custom variables Second you can use the drop-down 'storeText'...
  • default icon

    Selenium IDE - Part I

    Selenium IDE is a free Firefox plugin that leverages javascript to record automated test scripts. In this first tutorial we will install Selenium IDE and create a basic test script. The next tutorial will cover more advanced topics. I primarily use Selenium IDE in three areas: Defect - I ask...
  • default icon

    Transactions Our Invisible Allies

    Transactions are an essential component in enterprise software development. When your application works properly you rarely think about transactions. However, when things go wrong debugging transactions can be quite challenging. Instead of being reactive we need to proactively test our transactions. When I first got into the software industry I...
  • default icon

    Would you start mocking me?

    One of the primary principles of unit testing is to test a small piece of functionality in isolation. In order to achieve this, mock objects are often necessary. Historically using mocks could be quite painful. After using several mock frameworks, my favorite by far is Mockito. Tutorial In this tutorial...
  • default icon

    Developing a multithreaded test harness

    You can’t ignore the fact that web servers are multithreaded. We can hide as much as we want, but sooner or later you’ll find yourself in the situation where your application works fine during development and testing; but once it hits production you start hearing about “funny” things happening. While...