Skip to main content

2016 | Buch

Softwaretests mit Python

verfasst von: Johannes Hubertz

Verlag: Springer Berlin Heidelberg

Buchreihe : Xpert.press

insite
SUCHEN

Über dieses Buch

Der Autor erläutert, wie Qualität Vertrauen in die Schutzmaßnahmen schafft: Neu entwickelte Software kann durch Test-Driven Development kontinuierlich auf die Einhaltung der Anforderungen überprüft werden, diese sind dank explizit formulierter Tests stets nachvollziehbar. Software zuverlässig zu machen, ist das Ziel von Softwaretests. Qualitätssicherung kann durch Testen mit verschiedenen Werkzeugen, die durch Python bereitgestellt werden, bei der Software-Entwicklung Risiken vermeiden. Nur gut getestete Software kann verlässlich die ständig vorhandene Anforderung nach Vertraulichkeit, Verfügbarkeit und Datenintegrität sicherstellen.

Inhaltsverzeichnis

Frontmatter
1. Einleitung
Zusammenfassung
Eine kurze Übersicht sei als Anfang erlaubt, um einen roten Faden und schnelle Orientierung im Buch zu geben.
Johannes Hubertz
2. Doctest
Zusammenfassung
In diesem Kapitel wird die Testmethode doctest beschrieben. Für die Anregungen zu den Beispielen möchte ich mich bei Doug Hellmann [Hel15] für sein Blog „Python-Module of the Week“ bedanken.
Johannes Hubertz
3. Unittests machen Freude
Zusammenfassung
Tests sollen schnell und effizient ablaufen. Effizient, um nicht mehr als die notwendigen Ressourcen zu verbrauchen. Schnell, um möglichst oft aufgerufen zu werden. Dies ist eine sehr sinnvolle Anforderung, damit die Entwickler die Tests nutzen. Müssen sie auf die Ergebnisse warten, führt das zu deutlich geringerer Akzeptanz.
Johannes Hubertz
4. Nose
Zusammenfassung
Als effektives Werkzeug zur Unterstützung mit Unittests wurde nosetests bereits dargestellt, jedoch bringt es wesentlich mehr Features mit, als bisher gezeigt werden konnten. Insbesondere kann es beliebig um Funktionalität erweitert werden, da es in Python geschrieben ist und über eine raffiniert gestaltete Plugin Architektur verfügt. Sowohl auf der Kommandozeile als auch in einer Konfigurationsdatei kann eingestellt werden, was beim Aufruf geschehen soll.
Johannes Hubertz
5. pytest
Zusammenfassung
Unittests waren stets etwas mühsam zu schreiben, daher wurde pytest mit dem neuen Feature test discovery entwickelt. Daraus wurde 2005 Nose geforkt, es unterstützte Plugins und entwickelte sich rasant, ab etwa 2007 mit dem Feature easy to install. Mit ähnlichen Eigenschaften ist pytest zwischen 2009 und 2011 ungefähr gleich weit entwickelt, seit 2008 unterstützt es Plugins, die Fixtures sind besser parametrierbar und beide haben ein gutes Plugin-Ökosystem.
Johannes Hubertz
6. tox
Zusammenfassung
Als universelles Hilfsmittel, um andere Hilfsmittel wie pep8, pyflakes und Tests mit verschiedenen Python-Versionen wiederholbar ablaufen zu lassen, hat sich tox [HKao15] bestens bewährt. Es wird mit Kommandozeilenoptionen und einer Datei tox.ini gesteuert.
Johannes Hubertz
7. GUI Tests
Zusammenfassung
Für Python sind mehrere Bibliotheken für die Programmierung graphischer Benutzerschnittstellen (GUI, graphical user interface) verfügbar. Nicht alle davon bringen Testwerkzeuge mit, bei PyQt ist mit QtTest passendes Werkzeug dabei. Die Beschränkung auf diese Bibliothek sei erlaubt, im Prinzip ist die Vorgehensweise auch bei anderen GUIs stets die Gleiche.
Johannes Hubertz
8. Großes Python-Kino
Zusammenfassung
Einige weit verbreitete und große Projekte, wie zum Beispiel SaltStack oder OpenStack, sind als Quelltext stets mit vielen Testfällen kombiniert. Doch diese mal eben ablaufen zu lassen, scheitert meist an einigen Voraussetzungen. Grundsätzlich sollte für derartige Studien ein Virtualenv für die jeweilig erforderliche Python-Version genutzt werden.
Johannes Hubertz
Backmatter
Metadaten
Titel
Softwaretests mit Python
verfasst von
Johannes Hubertz
Copyright-Jahr
2016
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-662-48603-0
Print ISBN
978-3-662-48602-3
DOI
https://doi.org/10.1007/978-3-662-48603-0