Software Testing Articles, Blog Posts, Books, Podcasts and Quotes
Marcus Martina explains in this blog post how to integrate FitNesse tests into the Jenkins continuous integration system. FitNesse is an open source testing framework that aims to implement integration testing in a collaborative way. It is easy to integrate FitNesse tests automatically with Maven and Jenkins. The post provides the code necessary to do this integration. It also identifies the different Maven plugins that are necessary to achieve this goal and recommends to trigger the execution of the integration tests in an individual build step.
This extract from the book “Pragmatic Unit Testing in Java with JUnit” written by Andy Hunt and Dave Thomas provides an introduction to the usage of mock objects during Java unit tests. They define the usage of mocks in unit testing as the unit similar to the use of lighting doubles in the movies: A mock object is simply a debug replacement for a real-world object.
In this blog post, Dror Helper presents a short “getting started” procedure to do Behavior Drive Development (BDD) with SubSpec. SubSpec allows developers to write declarative tests operating in C# at all layers of abstraction consisting of highly composable, small primitive concepts. SubSpec is based on the xUnit testing framework and can easily be integrated into existing testing environments. The blog post shows how to write its first behavior test and how to run all the assertions in one test.
In this blog post, Martin Sikora shares his experience of performing Python unit tests on the Google App Engine (GAE). You can test such application locally in terminal, locally on GAE test server or on a real GAE production server hosted on Google infrastructure. To achieve this objective, he used nose, a tool that extends Python’s unittest to make testing easier, with NoseGAE, a nose plugin that makes it easier to write functional and unit tests for Google App Engine applications. The blog post provides the code to run the tests on a GAE server.
Best practices for unit testing are that you should only write for each test a single assertion. In this article intends, Jonathan Allen tries to demonstrate that unit tests with multiple assertions are both necessary and beneficial.
In this blog post, Mark Prichard presents a solution on how to use Jenkins to give a “QA dashboard” view of a native Android application build. His goals were to show metrics for the results of unit test and code coverage in an Android build context on the Jenkins continuous integration system.
In this blog post, Jonathan Kohl discusses the similarities between software testing and game playing. He defines a game as a “situation involving cooperation and conflict with different different actors with different motivations and goals”. He sees software testing as an individual pursuit within a larger software development game and with two styles: scripted testing and exploratory testing..