«

»

Measuring and Improving Design Patterns Testability

by Benoit Baudry, Yves Le Traon, Gerson Sunyé, Jean-Marc Jézéquel
Abstract:
This paper addresses not only the question of testability measurement of OO designs but also focuses on its practicability. While detecting testability weaknesses (called testability anti-patterns) of an OO design is a crucial task, one cannot expect from a non-specialist to make the right improvements, without guidance or automation. To overcome this limitation, this paper investigates solutions integrated to the 00 process. We focus on the design patterns as coherent subsets in the architecture, and we explain how their use can provide a way for limiting the severity of testability weaknesses, and of confining their effects to the classes involved in the pattern. Indeed, design patterns appear both as a usual refinement instrument, and a cause of complex interactions into a class diagram – and more specifically of testability anti-patterns. To reach our objective of integrating the testability improvement to the design process, we propose first a testability grid to make the relation between each pattern and the severity of the testability anti-patterns, and we present our solution, based on a definition of patterns at metalevel, to automate the instantiation of patterns constrained by testability criteria.
Reference:
Measuring and Improving Design Patterns Testability (Benoit Baudry, Yves Le Traon, Gerson Sunyé, Jean-Marc Jézéquel), In Proceedings of the Metrics Symposium, 2003.
Bibtex Entry:
@inproceedings{Baudry03a,
	Abstract = {This paper addresses not only the question of testability measurement
	of OO designs but also focuses on its practicability. While detecting
	testability weaknesses (called testability anti-patterns) of an OO
	design is a crucial task, one cannot expect from a non-specialist
	to make the right improvements, without guidance or automation. To
	overcome this limitation, this paper investigates solutions integrated
	to the 00 process. We focus on the design patterns as coherent subsets
	in the architecture, and we explain how their use can provide a way
	for limiting the severity of testability weaknesses, and of confining
	their effects to the classes involved in the pattern. Indeed, design
	patterns appear both as a usual refinement instrument, and a cause
	of complex interactions into a class diagram - and more specifically
	of testability anti-patterns. To reach our objective of integrating
	the testability improvement to the design process, we propose first
	a testability grid to make the relation between each pattern and
	the severity of the testability anti-patterns, and we present our
	solution, based on a definition of patterns at metalevel, to automate
	the instantiation of patterns constrained by testability criteria.},
	Address = {Sydney, Australia},
	keywords = {test, OOP, metrics},
	Author = {Baudry, Benoit and {Le~Traon}, Yves and Suny{'e}, Gerson and J{'e}z{'e}quel, Jean-Marc},
	Booktitle = {Proceedings of the Metrics Symposium},
	Month = {September},
	Title = {Measuring and Improving Design Patterns Testability},
	url = {http://www.irisa.fr/triskell/publis/2003/Baudry03a.pdf},
	x-abbrv = {METRICS},
	X-International-Audience = {yes},
	X-Proceedings = {yes},
	X-Language = {EN},
	Year = {2003},}