Software Testing Articles: Load Testing, Unit Testing, Functional Testing, Performance Testing, Agile Testing, DevOps
This article provides a detailed description on how use Pex and Moles to generate unit tests for a project having external dependency(WCF Proxy) using Visual Studio 2010 SP1. The Pex tool, which automatically generates test suites with high code coverage, will be used to generate unit tests. Moles allows to replace any .NET method with a delegate. They will be generated to isolate the external dependency (WCF proxy) and behavior will be redefined using delegates.
In those days where software tests are integrated in continuous integration cycles, it is a necessity that they run in a minimized amount of time. This article explains how through controlled memory usage, increased parallelism, transactional factory invocation, pragmatically judicious test refactoring and a few miscellaneous extras, it was possible to reduce the time needed to run the tests of a ruby on rails application in continuous-integration environments by a factor of ten.
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.
A recent Methods & Tools poll asked the following question: “How many weeks of training on software testing have you completed in your professional life?”
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.
eXtreme programming is an Agile software development methodologies. It involves extremely short incremental release cycles, early and frequent testing, heavy use of design refactoring, and pair programming. This article proposes a process model called “ordered incremental testing” where guidance on test order is provided. Testing is conducted iteratively with very short iteration cycles as a single class is developed. Although early and frequent testing is very important, there is little guidance about specifics of the testing process.