Software Testing Articles, Blog Posts, Books, Podcasts and Quotes
There are solutions which provide the ability to automatically run your tests as you code. This tutorial shows how to use a Ruby gem, called watchr to monitor your code and automatically run the appropriate tests whenever you save your work. This is how you can automated Test-Driven Development (TDD) on your PHP code. The watchr gem is an executable program written in Ruby, and it wraps around features found in an operating system’s file system to provide the ability to watch for changes made to a specific file or folder. The tutorial provides a step by step approach on how to use it and integrate it in your PHP coding activities.
You might want to begin by choosing the tool you want to use when you want to introduce ATDD to a project or client. In this article, Markus Gaertner says that this doesn’t work and shares his advice on how to overcome the biggest mistakes from the beginning when you get started with ATDD. He recommends to start with an example. Working together, the team identifies a case that would derive the greatest benefit from being automated. You should define the right approach first, the right people second, the right format third. The format we choose will limit the choice of the tool, but the tool itself should be our last consideration. Instead of thinking about the tool, we should work for clarity in how we write down our examples. All the successful teams he has worked with on ATDD shared one thing: they started with one approach, and they reflected on it regularly. During those retrospectives, they came up with necessary improvements if the approach stopped working for them. If you keep this practice in mind, you can essentially start with any approach.
This blog post explains how to perform unit testing of MySQL stored procedures. A stored routine is a set of SQL statements that can be stored in the server. Once this has been done, clients don’t need to keep reissuing the individual statements but can refer to the stored routine instead. To perform unit testing on stored procedures, you can use utMySQL, an open source unit test framework for MySQL stored procedures. This post provides a step by step process on how to create the test code in utMySQL which is also a stored procedure, run it and verify the results.
This blog post by Stuart Gunter shares some best practices to perform unit testing on Spring MVC views. The concept follows a BDD style to write unit tests that leverages the MVC pattern in much the same way as the real application, but exploits the power of standard unit testing practices like mocking, assertions and verification. This is achieved with the open source software testing tool TestNG and using the infrastructure provided by Spring through its integration testing features in order to execute the unit test. The post shows the code, also available on GitHub, used to do this. It also explains the design decisions that supports this approach.
This is a series of three posts by Nick Olson about the topic of unit testing your code your when you are writing a javascript client application with a .NET backend. The first post is an introduction that defines the context and presents the tools that will be used. The second post provides the code to test the javascript using KnockoutJS and Qunit. The third post explains how see the javascript unit tests results when you are inside Visual Studio. This is achieved using a browser automation tool walled Watin and a data-driven unit test in C#.
PL/SQL is an Oracle’s procedural extension to SQL that allow to code the stored procedures in Oracle database. In this blog post, Nick Giles explains how he uses DbUnit to perform unit testing tor the stored procedures in Oracle. DbUnit is a JUnit extension (also usable with Ant) targeted at database-driven projects that, among other things, puts your database into a known state between test runs. In his solution Initial data and the expected output state of the tables containing the aggregated values are specified separately in two simple XML files. These are then referenced in a test method in a Java class along with the command to run the pre-calculation stored procedure. It worked so well that he could adopt a Test-Driven Development approach for his project.
In this short article, Mahfoud Amiour introduces the PURIFF acronym as a reminder to all the software testing to be conducted during the Scrum sprint. In PURIFF, P stands for performance testing, U covers unit testing, R deals with non-regression tests, I represents integration testing, F is for functional tests and the last F covers non-functional tests. A Scrum team can use it as a checklist to determine which categories of tests are relevant in the given context.