Towards a Taxonomy of Unit Tests

Gaelli, Markus; Lanza, Michele; Nierstrasz, Oscar (September 2005). Towards a Taxonomy of Unit Tests. In: 13th International European Smalltalk Conference (ESUG 2005). Brüssel, Belgien. 13.-20.08.2005.

[img] Text
download;jsessionid=52450046CCA2F787B29699C787A12EBA.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (275kB) | Request a copy

Not all unit tests are alike. Some tests are simple one-liners, while others contain a battery of assertions. Certain tests focus on a single method, while others test interactions between methods. There are even tests that do not contain assertions at all. This can make it difficult for a developer to understand which methods are tested by which tests, to what degree they are tested, and what to take into account while refactoring. We have manually analyzed the test base of a large existing object-oriented system in order to derive a first taxonomy of unit tests. We have then developed some simple tools to semi-automatically categorize tests according to this taxonomy, and applied it to two case studies. Beside explaining our taxonomy, we report on our initial results using it, namely that a majority of unit tests focus on single methods and that our lightweight automatic categorization could already classify more than 50% of these single method commands.

Item Type:

Conference or Workshop Item (Paper)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) [discontinued]

UniBE Contributor:

Gälli, Markus, Lanza, Michele, Nierstrasz, Oscar

Subjects:

000 Computer science, knowledge & systems
500 Science > 510 Mathematics

Language:

English

Submitter:

Manuela Bamert

Date Deposited:

30 Oct 2017 10:23

Last Modified:

02 Mar 2023 23:29

BORIS DOI:

10.7892/boris.104521

URI:

https://boris.unibe.ch/id/eprint/104521

Actions (login required)

Edit item Edit item
Provide Feedback