Skip to main content
main-content
Top

2016 | Book

Softwaretests mit Python

Author: Johannes Hubertz

Publisher: Springer Berlin Heidelberg

Book Series: Xpert.press

share
SHARE
insite
SEARCH

About this book

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.

Table of Contents

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
Metadata
Title
Softwaretests mit Python
Author
Johannes Hubertz
Copyright Year
2016
Publisher
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

Premium Partner