Most developers think that the most beneficial part of using test-driven development (TDD) are the tests. But, when done right, TDD improves the overall design of your code. This installment in the Evolutionary architecture and emergent design series walks through an extended example showing how design can emerge from the concerns that float up from testing. Testing is only a side effect of TDD; the important part is how it changes your code for the better.
Software Testing Articles: Load Testing, Unit Testing, Functional Testing
The article “Writing Testable Code” presents practices to write more testable code with many examples in java, going a step further than just TDD.
After the results of a previous poll focused on functional testing automation, I wondered if there was still a great divide between the worlds of development and functional testing. So I did this follow-up question to check who was performing the functional testing.
This paper does two things. First, it attempts to demolish a bad model, the quite popular “V model”. In the process, it hopes to banish the phrases “unit testing” and “integration testing” from our vocabularies. Second, it describes a better model. The primary purpose is not to claim to have the right model, but to describe important requirements for test models. Those requirements are summarized at the end of the paper.
This article overviews the importance of, and strategies for, regression testing relational databases. If your organization considers data to be a corporate asset and/or you’re implementing mission-critical functionality within your databases, shouldn’t you have a database testing strategy in place?
This article “XP Testing Without XP: Taking Advantage of Agile Testing Practices” describes how to use techniques from extreme programming for teams that have not implemented XP
Cobertura is an open source tool that measures test coverage by instrumenting a code base and watching which lines of code are and are not executed as the test suite runs.