Software Testing Articles, Blog Posts, Books, Podcasts and Quotes
Every month, 50% of the Google code base changes. This is a lot of code and a lot of people. In order to ensure that its code base stays healthy, Google uses a bug prediction algorithm. This blog post discusses how Google develop this machine-learning and statistical analysis tools that tries to guess whether a piece of code is potentially buggy or not, usually within some confidence range. Bug prediction is not an objective measure by any means, but it is used to place a warning in our code review system on specific files. Whenever a reviewer logs in to review that code, the warning will appear, which hopefully will encourage them to spend some more time reviewing the code or hand off the review to someone more experienced if need be.
SOA Web services are now supported by most of major software development companies and industry. To be reliable, these ones require to be developed with respect to a complete software development life cycle and, in particular, they need to be tested. Test purpose-based methods are black box testing techniques which take advantage of reducing the time required for test derivation in comparison with exhaustive methods.
One of the most common mistakes that teams made was treating specifications or related automation code as less important than production code. Examples of this are giving the automation tasks to less-capable developers and testers and not maintaining the automation layer with the same kind of effort applied to production code. Reference: “Specification by Example – How successful teams deliver the right software”, Gojko Adzic, Manning, 249 pages, IBSN 978-1617290084
Automated testing is an essential part of Continuous Integration. This article proposes detailed explanation and code on how to use Maven to drive automated acceptance tests performed with Selenium.
This blog post by Andrey Shevchenko provides an overview on how to write functional tests for Groovy using Geb and Spock technologies with a detailed example. Geb is a browser automation solution that brings together the power of WebDriver, the elegance of jQuery content selection, the robustness of Page Object modelling and the expressiveness of the Groovy language.
This tutorial explores the principles of parameterized unit testing with Microsoft Pex 2010. Microsoft Pex is a Visual Studio add-in for testing .NET Framework applications that automatically generates test suites with high code coverage. Right from the Visual Studio code editor, Pex finds interesting input-output values of your methods, which you can save as a small test suite with high code coverage.
In the context of Java unit testing, a sleeping snail is a test that’s sluggish and takes (relatively speaking) forever to run because it relies on Thread#sleep and arbitrarily long waits to allow threads to execute before performing assertions or continuing with the workflow under test. In this article, based on chapter 5 of Unit Testing in Java, author Lasse Koskela explains this code smell and the appropriate deodorant with an example