Testbarkeit als Code-Metrik

Eine gute Testabdeckung als Basis für hohe Softwarequalität ist mittlerweile wohl als Konsens in der Softwareentwicklung anzusehen. Doch was die Qualität der Tests selbst und die dafür notwendige Strukturierung des Programmcodes anbelangt, trifft man im Projektalltag oftmals noch auf Unwissenheit, Unverständnis oder Unsicherheit. Dazu gibt es jedoch mittlerweile gute Quellen im Netz, beispielweise Top 10 things which make your code hard to test oder How to Think About the “new” Operator with Respect to Unit Testing.

Hier setzt auch der Testability Explorer an: Er versucht, die Testbarkeit von Sourcecode zu analysieren und als Metrik bereitzustellen, um so beispielsweise die schrittweise Optimierung bestehenden Codes zu unterstützen oder das Bewusstsein für schlecht testbaren Code zu schaffen. Derzeit analysiert er den Quellcode im Hinblick auf die folgenden Aspekte:

  • Non-Mockable Total Recursive Cyclomatic Complexity – Die Menge an Code, die nicht per Mocks ersetzt und so gut getestet werden kann.
  • Global Mutable State – Die Anzahl der global zugreifbaren und somit veränderbaren Felder.
  • Law of Demeter – Den Grad der Kopplung zwischen Objekten.

Damit bietet sich der Testability Explorer für viele Projekte beispielsweise im Rahmen des CI-Prozesses an.

Short URL for this post: http://wp.me/p4nxik-ad
This entry was posted in Build, config and deploy, Java and Quality and tagged , , , . Bookmark the permalink.