Softwaretests mit Python (eBook)

eBook Download: PDF
2016 | 1. Auflage
IX, 254 Seiten
Springer Vieweg (Verlag)
978-3-662-48603-0 (ISBN)

Lese- und Medienproben

Softwaretests mit Python -  Johannes Hubertz
Systemvoraussetzungen
42,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
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. 

Johannes Hubertz, geboren 1954 in Köln, studierte in Aachen Elektrotechnik. Danach arbeitete er bei einem großen europäischen Computerhersteller zunächst in der Hardwarereparatur, ab 1984 in der Softwareentwicklung mit Assembler, PLM und C an Sonderprodukten im Kundenauftrag. Ab 1996 verlagerte sich der Schwerpunkt auf den Betrieb von Kundenservern am Internet, stets im Zusammenhang mit Hochverfügbarkeit, Internetsicherheit, Anwendung der Kryptographie, Firewalls und VPNs. Seit 2005 ist er selbständig im Internet und Kundennetzen in Sachen Informationssicherheit und Datenschutz unterwegs. Seit 2007 ist er von Python begeistert, besonders vom gut lesbaren Quellcode unter dem Leitsatz: Readability counts. Softwaretests dienen der Zuverlässigkeit von Produkten, Python stellt gut handhabbare Werkzeuge dazu bereit. Für ihn schließt sich damit der Kreis zum Thema Informationssicherheit: Nur gut getestete Software kann verlässlich die ständig vorhandene Anforderung nach Vertraulichkeit, Verfügbarkeit und Datenintegrität sicherstellen, Qualität schafft Vertrauen in die Schutzmaßnahmen.

Johannes Hubertz, geboren 1954 in Köln, studierte in Aachen Elektrotechnik. Danach arbeitete er bei einem großen europäischen Computerhersteller zunächst in der Hardwarereparatur, ab 1984 in der Softwareentwicklung mit Assembler, PLM und C an Sonderprodukten im Kundenauftrag. Ab 1996 verlagerte sich der Schwerpunkt auf den Betrieb von Kundenservern am Internet, stets im Zusammenhang mit Hochverfügbarkeit, Internetsicherheit, Anwendung der Kryptographie, Firewalls und VPNs. Seit 2005 ist er selbständig im Internet und Kundennetzen in Sachen Informationssicherheit und Datenschutz unterwegs. Seit 2007 ist er von Python begeistert, besonders vom gut lesbaren Quellcode unter dem Leitsatz: Readability counts. Softwaretests dienen der Zuverlässigkeit von Produkten, Python stellt gut handhabbare Werkzeuge dazu bereit. Für ihn schließt sich damit der Kreis zum Thema Informationssicherheit: Nur gut getestete Software kann verlässlich die ständig vorhandene Anforderung nach Vertraulichkeit, Verfügbarkeit und Datenintegrität sicherstellen, Qualität schafft Vertrauen in die Schutzmaßnahmen.

Vorwort 6
Inhalt 7
1 Einleitung 11
1.1 Die Softwarekrise 13
1.2 Motivation für Softwaretests 15
1.2.1 Vor- und Nachteile 16
1.2.2 Varianten in der Namensgebung für Tests 17
1.2.3 Methodik: Wie kommen die Tests zustande? 19
1.2.4 Mathematik 20
1.3 Python 23
1.3.1 Schreibstil 24
1.3.2 Verzeichnisstruktur 26
1.3.3 Versionierung 27
1.3.4 Versionskontrollsysteme 28
1.3.5 Klinisch reine Umgebung 29
1.3.6 Dokumentation 30
1.3.7 Projektschnellstart 35
1.4 Interview: Dr. Mike Müller 36
2 Doctest 41
2.1 Definition: Docstring 41
2.2 Einfaches Beispiel 42
2.3 Der Interpreter 43
2.4 Eine Python-Datei 44
2.5 Dokumentierte Python-Datei 47
2.6 Tricks und Kniffe 52
2.6.1 Leerzeichen verbessern die Lesbarkeit 52
2.6.2 Variable Ergebnisse 53
2.6.3 Eine leere Zeile 54
2.6.4 Ausnahmebehandlung 56
2.6.5 Ausnahmebehandlung mit Details 58
2.6.6 Direkter Aufruf 59
2.6.7 Einen Test auslassen 61
2.7 Automatische Dokumentation 61
2.8 Interview: Dr. Stefan Schwarzer 62
3 Unittests machen Freude 67
3.1 Begriffe 68
3.1.1 Testfall 68
3.1.2 Testvorrichtung, test fixture 69
3.1.3 Testgruppe 70
3.1.4 Teststarter 70
3.1.5 Teststarter im Python-Modul 71
3.2 unittest Modul auf der Kommandozeile 72
3.2.1 Optionale Argumente 72
3.2.2 unittest in der Kommandozeile 73
3.2.3 Ablaufvereinfachung mit nosetests 73
3.2.4 Akzeptanz erwünscht 75
3.2.5 Fallunterscheidung 77
3.2.6 Ausnahmebehandlung 79
3.2.7 Vergleichsmöglichkeiten im Testfall 83
3.2.8 Assertions 83
3.2.9 Tests auslassen 85
3.3 Erweiterungen 87
3.3.1 Fixtures 87
3.3.2 Testabdeckung 88
3.3.3 Testabdeckung als HTML-Ausgabe 90
3.4 Vortäuschen falscher Tatsachen 92
3.4.1 Mock als Dekorator 92
3.4.2 Mock im Zusammenhang mit Kontextmanagern 92
3.4.3 Mock und die Nutzung im Testfall 94
3.4.4 Lern- und Spielwiese 95
3.5 Fingerübung I: Testgetriebene Entwicklung 96
3.5.1 Erster Testcode 97
3.5.2 Gültige Eingaben 99
3.5.3 Ungültige Eingaben 102
3.5.4 Tests erfolgreich? 105
3.5.5 Vollständige Testabdeckung? 107
3.6 Interview: Christian Theune 108
4 Nose 111
4.1 Hilfestellung 111
4.2 Konfiguration 112
4.3 Plugins 113
4.3.1 Plugin Beispiel: Test-Laufzeiten ermitteln 113
4.3.2 Plugin Integration in nosetests 122
4.3.3 Nur ein getestetes Plugin ist ein gutes Plugin 124
4.4 Interview: Stefan Hagen 125
5 pytest 127
5.1 Hilfestellung 127
5.2 Konfiguration 130
5.2.1 Markierungen 131
5.2.2 Testvorrichtungen 138
5.3 Testbeispiele 142
5.3.1 Aussagekräftige Fehlermeldungen 144
5.3.2 Ausnahmebehandlung 146
5.3.3 py.test mit unittests 150
5.4 Plugins 151
5.4.1 Plugin Beispiel: Bericht als csv-Datei erzeugen 152
5.4.2 Plugin Integration in py.test 156
5.4.3 Nur ein getestetes Plugin ist ein gutes Plugin 158
5.4.4 Die Benutzung des neuen Plugins 166
5.5 Fingerübung II: sign(x), csign(z) 169
5.5.1 Teilung vor der Erweiterung 170
5.5.2 Signum für komplexe Zahlen 171
5.5.3 Der erste Testfall 173
5.5.4 Ungültige Eingabewerte 174
5.5.5 Doctests mit py.test 176
5.6 Interview: Holger Krekel 178
6 tox 180
6.1 Einstellungen 180
6.2 Ein Beispiel 181
6.3 Ein Testlauf 183
6.4 Interview: Bastian Ballmann 188
7 GUI Tests 191
7.1 PyQt4 191
7.1.1 Beispiel GUI 191
7.1.2 GUI Ansicht 194
7.1.3 GUI Test 194
7.1.4 Testabdeckung 195
7.2 Django: Testgetriebene Webentwicklung 196
7.2.1 Unittests und Funktionale Tests 197
7.2.2 Django Start 200
7.2.3 Django Entwicklungsserver 202
7.2.4 Eine Kurzgeschichte 204
7.2.5 Django Unittests 207
7.2.6 Unittest für eine View 211
7.2.7 View aus der Vorlage 214
7.2.8 Wo bleiben die Daten? 221
7.2.9 ORM und Persistenz 222
7.3 Interview: Guido Günther 229
8 Großes Python-Kino 231
8.1 SaltStack 231
8.1.1 Quellen und Unittests 232
8.1.2 Integrationstests 234
8.1.3 Dokumentation 236
8.2 OpenStack 236
8.2.1 Dokumentation, der Schlüssel zur Wolke 237
8.2.2 Keystone Tests 239
8.3 Interview: Julien Danjou 241
Anhang 245
Abbildungsverzeichnis 245
Literaturhinweise 255
Stichwortverzeichnis 257

Erscheint lt. Verlag 9.2.2016
Reihe/Serie Xpert.press
Zusatzinfo IX, 254 S. 150 Abb.
Verlagsort Berlin
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Betriebssysteme / Server
Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Informatik Software Entwicklung Qualität / Testen
Schlagworte doctest • nosetests • pytest • tox • UnitTest
ISBN-10 3-662-48603-2 / 3662486032
ISBN-13 978-3-662-48603-0 / 9783662486030
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 2,4 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Monitor, control, and visualize your Kubernetes and cloud platforms …

von Rob Chapman; Peter Holmes

eBook Download (2024)
Packt Publishing Limited (Verlag)
35,99
A testing guide for the 2020s

von Matthew Heusser; Michael Larsen

eBook Download (2023)
Packt Publishing Limited (Verlag)
35,99