The Software Practitioner’s Digest: March-April 2012

This is the March-April 2012 issue of The Software Practitioner’s Digest, featuring an experimental format where the editor’s comments are presented in an introductory video and the highlighted publications are listed with their original abstracts.

In this issue:

Mutation-Driven Generation of Unit Tests and Oracles

Mutation-Driven Generation of Unit Tests and Oracles, IEEE Transactions on Software Engineering, March-April 2012.

To assess the quality of test suites, mutation analysis seeds artificial defects (mutations) into programs; a nondetected mutation indicates a weakness in the test suite. We present an automated approach to generate unit tests that detect these mutations for object-oriented classes. This has two advantages: First, the resulting test suite is optimized toward finding defects modeled by mutation operators rather than covering code. Second, the state change caused by mutations induces oracles that precisely detect the mutants. Evaluated on 10 open source libraries, our μtest prototype generates test suites that find significantly more seeded defects than the original manually written test suites.

Related reading

Easy Approach to Requirements Syntax (EARS)

Listen, Then Use EARS, IEEE Software, March-April 2012.

Applying the Easy Approach to Requirements Syntax (EARS) template can result in a simple, clear requirement. However, to be able to write a simple statement, you must first understand what you want the system to do, which might be difficult. The simplicity of the EARS templates prevents engineers from hiding behind ambiguous statements of what the system must do.

Related reading

Comparison of approaches to improve user interface design

A/B Testing, Usability Engineering, Radical Innovation: What Pays Best?, Jakob Nielsen’s Alertbox.

3 approaches to better design: each has its uses, but the costs, benefits, and risks differ dramatically.