Sharing Our Passion For Technology
& continuous learning
  • Where Automation Lives

    This is part of our Quality Assurance (QA) Community of Practice’s testing collection. The goals of this collection are to spark ideas for teams without dedicated testers, to have open discussions about testing, and to share information on testing topics that we’re passionate about. Today we will be focusing on...
  • Node Reference - Integration Tests

    Prerequisites This article builds on the prior article: Node Reference - Validation. Add Integration or Smoke Tests So far, our testing strategy has consisted of only Unit Testing, testing each module in isolation. While this type of testing covers most business logic, it does leave some gaps. It does not...
  • Node Reference - Validation

    Prerequisites This article builds on the prior article: Node Reference - Put. Add model validation We now have a service that allows us to create product records but does not provide any mechanism for ensuring those products contain all the required data we need in the correct format. For this,...
  • Node Reference - Unit Testing

    Prerequisites This article builds on the prior article: Introduction. Unit Testing We plan on using Test Driven Development so we need to set up some sort of unit testing framework. For this task we’re turning to Jasmine. Mocha/Chai/Sinon and Jest are also popular options. They are all similar but the...
  • How To Unit Test C# Event Handler Attachment

    I recently wanted to unit test a method that assigned a delegate to an event handler. I derived a way to use Reflection for asserting that the delegate was attached. This article explains my solution. Note: If you are looking for information on C# events and delegates, I recommend you...
  • Test Driven Groovy: StubFor

    After years of being immersed in Java development, I must admit that I got spoiled by its strong and mature ecosystem. Hence, whenever I want to pick up a new technology or programming language the following must be there: Support by my favorite IDE (Eclipse or IntelliJ IDEA) Mature building...
  • Updated TDD Mantra

    If you have ever practiced test driven development (TDD), then you are probably familiar with the TDD mantra – red, green, refactor. I’m a big proponent of TDD, but I think the TDD mantra is missing a fourth step. In his book that introduced me to TDD, Test Driven Development:...
  • 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...
  • 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...
  • 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...
  • 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...
  • 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 =...
  • 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'...
  • 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...
  • 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...
  • 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...
  • 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...
  • Sonar - Code Quality Analysis Tool

    What is Sonar? Sonar is a web based code quality analysis tool for Maven based Java projects. It covers a wide area of code quality check points which include: Architecture & Design, Complexity, Duplications, Coding Rules, Potential Bugs, Unit Test etc. Sonar has a rich set of features like what...