Martin Fowler discusses the problem of non-deterministic tests – tests that sometimes pass and sometimes fail. Non-deterministic tests can completely destroy the value of an automated regression suite. This article outlines how to deal with them and presents treatments for the common causes for non-determinism: lack of isolation, asynchronous behavior, remote services, time, and resource leaks.
Software Testing Articles: Load Testing, Unit Testing, Functional Testing
This blog post covers the required implementation to get started with writing Acceptance Tests in a real Java project with JBehave.
The socket-based approach is flexible and very useful for security and performance testing of WCF services. This article shows you how to test a WCF service using a network socket based approach.
Broad assertion cuts out too large a chunk of output and side effects for bit-to-bit comparison, which makes it harmful due to the resulting brittleness. The assertion fails if any small detail changes, regardless of whether that change is relevant to the interests of this particular test. In this article, based on chapter 4 of Unit Testing in Java, author Lasse Koskela explains how to refactor the tests that suffer from broad assertion.
This article provides 3 tips to create readable unit tests.
This article covers several ways in which automated tests can help identify usability problems and limitations in Web-based applications, where fixing them makes the software more usable and/or accessible.
This part of Microsoft’s patterns and practices material discusses the key concepts of load testing and allow you to learn how to load-test a Web application.