Software Testing Articles, Blog Posts, Books, Podcasts and Quotes
In this blog post, Adrian Smith discusses 7 pitfalls of automating software testing. The seven sins are over indulging on propriety testing tools, too lazy to setup CI server to execute tests, loving the UI so much that all tests are executed through the UI, jealously creating tests and not collaborating, frustration with fragile tests that break intermittently, thinking automated tests will replace all manual testing, too much automated testing not matched to defined system quality.
This article presents a simple and efficient engine which produces mutations of source code written in C# with helps testing it. The novelty of this engine is that it produces mutations that do not contradict with the specifications of the program. The latter are described by a set of pre- and post-conditions and invariants. The engine comprises two parts, a static analysis and syntactic verification component and a mutation generation component. Preliminary experiments showed that the proposed engine is more efficient than a simple mutations generator in terms of producing only valid mutations according to the specifications posed, thus saving time and effort during testing activities.
This article presents a strategy for unit testing in Python, using a set of utility functions that converts to and from Roman numerals. The author discusses the benefits of a Test-Driven Development (TDD) approach and propose a detailed testing process for all the cases of the functions.
In this blog post, Jens Schauder shares some tips based on experience to improve the testing of database code. People seem to understand the need to test their code, but apparently this is not yet the case for the the database code, because database tests tend to be slow, interdependent and hard to maintain
A recent Methods & Tools poll asked the following question: “How many weeks of training on software testing have you completed in your professional life?”
This blog post give a detailed code on how to distribute Robot automated acceptance tests to several virtual box instances using Chef. Pavlo Baron explains how using Vagrant and VirtualBox as a poor’s man virtualization and wiring with Chef, you can run in parallel your acceptance testing suite in a distributed environment.
Why so few organizations maintain unit tests for their in-house applications? This article discusses the two assertions that unit testing saves money by discovering bugs earlier and that it reduces the number of bug in the application. Despites the provocative title, the article provides some evidence that unit testing can play a critical role to help delivering applications. Its goal is to challenge the premise that writing unit tests is always a wise practice in all contexts. The conclusion is that you can not rely on a general acceptance of the myth that unit testing is a universal panacea, but you need to focus unit testing on aspects of development where it is most effective and be prepared to actively justify its use.