Basiswissen Testautomatisierung (eBook)
389 Seiten
dpunkt (Verlag)
978-3-96088-788-1 (ISBN)
Testautomatisierung ist ein mächtiges Werkzeug, um Tests wiederholbar zu machen und effizienter zu gestalten. Dieses Buch erklärt, wie Testautomatisierung mit Fokus auf den funktionalen Systemtest konzipiert und in bestehende Projekte und die Organisation eingegliedert wird. Dabei werden sowohl fachliche als auch technische Konzepte vorgestellt. Beispiele aus verschiedenen Einsatzgebieten (z.B. Webapplikationen, Data-Warehouse-Systeme) und Projektarten (z.B. Scrum, V-Modell) erläutern die methodischen Grundlagen. Auch auf Werkzeuge sowie Qualitätsgewinne und Einsparpotenziale durch Testautomatisierung wird eingegangen.
Aus dem Inhalt:
- Testprozess und Entwicklungsvorgehen
- Testfallspezifikation und -durchführung
- Konzeption eines Automatisierungsframeworks
- Einsatzgebiete nach System-, Test- und Projektart
- Testdurchführungswerkzeuge
- Integration in die Organisation
Im Anhang finden sich Beispiele zur Erstellung von daten- und schlüsselwortgetriebenen Testfällen sowie beispielhaft ein Kriterienkatalog zur Auswahl eines Testwerkzeugs aus der Praxis.
Manfred Baumgartner, Vice President Quality Assurance bei Nagarro GmbH, Wien, ist seit über 30 Jahren im Bereich Softwaretest und Qualitätssicherung als Berater, Coach und Manager tätig. Seine umfangreichen Erfahrungen bringt er in viele Präsentationen auf Konferenzen im gesamten deutschsprachigen Raum sowie in Artikeln und Büchern zum Thema Softwaretest ein. Stefan Gwihs ist begeisterter Softwareentwickler, Softwaretester und Testautomatisierer für die Nagarro GmbH, Wien. Aktuell beschäftigt er sich vor allem mit Themen im Bereich mobiler Testautomatisierung und agiler Softwareentwicklung. Richard Seidl ist Berater und Coach für agile Methoden und Softwaretest. Er hat in seiner beruflichen Laufbahn schon viel Software gesehen und getestet: gute und schlechte, große und kleine, alte und neue, Schokolade und Grütze. Mit seiner Erfahrung unterstützt er Unternehmen dabei, ihre Entwicklungs- und Testprozesse zu verbessern und so zu gestalten, dass Software effektiver realisiert wird, höhere Qualität hat und die Teams Spaß an der Entwicklung haben. Thomas Steirer ist als Automatisierungsexperte, Berater und Trainer für die Nagarro GmbH, Wien, tätig und leitet die globale Practice für Test Automation. Er ist Autor von Fachartikeln, Speaker auf Konferenzen und Architekt von A2A, dem Nagarro 'Advanced Automation Approach'. Marc-Florian Wendland ist seit über 10 Jahren Senior Researcher am Fraunhofer Institut FOKUS in Berlin im Bereich Qualitätssicherung softwareintensiver Systeme. Seine Expertise liegt vor allem in der Testautomatisierung und stützt sich auf die Erfahrungen aus zahlreichen nationalen und internationalen Forschungs- und Industrieprojekten. Darüber hinaus ist er in verschiedene Standardisierungsaktivitäten im Bereich des Softwaretests involviert.
Manfred Baumgartner, Vice President Quality Assurance bei Nagarro GmbH, Wien, ist seit über 30 Jahren im Bereich Softwaretest und Qualitätssicherung als Berater, Coach und Manager tätig. Seine umfangreichen Erfahrungen bringt er in viele Präsentationen auf Konferenzen im gesamten deutschsprachigen Raum sowie in Artikeln und Büchern zum Thema Softwaretest ein. Stefan Gwihs ist begeisterter Softwareentwickler, Softwaretester und Testautomatisierer für die Nagarro GmbH, Wien. Aktuell beschäftigt er sich vor allem mit Themen im Bereich mobiler Testautomatisierung und agiler Softwareentwicklung. Richard Seidl ist Berater und Coach für agile Methoden und Softwaretest. Er hat in seiner beruflichen Laufbahn schon viel Software gesehen und getestet: gute und schlechte, große und kleine, alte und neue, Schokolade und Grütze. Mit seiner Erfahrung unterstützt er Unternehmen dabei, ihre Entwicklungs- und Testprozesse zu verbessern und so zu gestalten, dass Software effektiver realisiert wird, höhere Qualität hat und die Teams Spaß an der Entwicklung haben. Thomas Steirer ist als Automatisierungsexperte, Berater und Trainer für die Nagarro GmbH, Wien, tätig und leitet die globale Practice für Test Automation. Er ist Autor von Fachartikeln, Speaker auf Konferenzen und Architekt von A2A, dem Nagarro "Advanced Automation Approach". Marc-Florian Wendland ist seit über 10 Jahren Senior Researcher am Fraunhofer Institut FOKUS in Berlin im Bereich Qualitätssicherung softwareintensiver Systeme. Seine Expertise liegt vor allem in der Testautomatisierung und stützt sich auf die Erfahrungen aus zahlreichen nationalen und internationalen Forschungs- und Industrieprojekten. Darüber hinaus ist er in verschiedene Standardisierungsaktivitäten im Bereich des Softwaretests involviert.
1Einführung in die Testautomatisierung und ihre Ziele
Die Softwareentwicklung als Ganzes erlebt eine Entwicklung hin zu einer industriellen Disziplin. Die zunehmende Digitalisierung der Geschäftsprozesse sowie die vermehrte Verbreitung von Standardprodukten und -services sind wesentliche Treiber für den Einsatz von immer effizienteren und effektiveren Methoden im Softwaretest, also auch in der Testautomatisierung. Die rasante Expansion mobiler Applikationen und die sich stetig ändernde Vielfalt der Endgeräte prägen diese Entwicklung ebenfalls nachhaltig.
1.1Einleitung
Ein wesentliches Merkmal der fortschreitenden Industrialisierung seit dem Ende des 18. Jahrhunderts ist die Mechanisierung energie- oder zeitaufwendiger manueller Tätigkeiten in fast allen Produktionsprozessen. Was vor mehr als 200 Jahren mit mechanischen Webstühlen und Dampfmaschinen in den Textilfabriken Englands begann, ist heute das höchste Ziel und gelebte Praxis in allen produzierenden Unternehmen: die kontinuierliche Steigerung und Optimierung der Produktivität. Ziel ist es stets, mit möglichst geringem Mitteleinsatz das gewünschte Ergebnis in Quantität, Qualität und Zeit zu erreichen. Der Einsatz von Ressourcen bezieht sich sowohl auf den Einsatz menschlicher Arbeitskraft als auch auf den Einsatz von Maschinen, Arbeitsmitteln und anderen (Energie-)Ressourcen.
Im Bestreben, immer besser zu werden und im globalen Konkurrenzdruck zu bestehen, gibt es keinen Industriebetrieb, der sich nicht laufend mit Optimierungen im Produktionsprozess beschäftigen muss. Vorbild und bestes Beispiel dafür ist die Automobilindustrie, die zu den Themen Prozesssteuerung, Produktionsgestaltung und -messung sowie Qualitätsmanagement immer wieder neue Ideen und Ansätze – auch für andere Industriezweige – hervorgebracht hat und auch weiter hervorbringt. Ein Blick in die Produktions- und Fertigungshallen eines Automobilherstellers beeindruckt durch die Präzision des Zusammenspiels zwischen Mensch und Maschine sowie den reibungslosen, hochautomatisierten Fabrikationsablauf. Ein ähnliches Bild zeigt sich mittlerweile in vielen anderen Produktionsprozessen.
Softwareentwicklung und Softwaretest auf dem Weg zur industriellen Produktionsreife
Eine nicht unbedingt rühmliche Ausnahme stellt jedoch die Industrie der Softwareentwicklung dar. Trotz vieler Verbesserungen und Bemühungen der letzten Jahre und Jahrzehnte ist diese von der Professionalität der Fertigungsprozesse anderer Branchen immer noch weit entfernt. Dies ist insofern verwunderlich, wenn nicht sogar bedenklich, als Software jene Technologie ist, die in den letzten Jahrzehnten wohl die größte Auswirkung auf gesellschaftliche, wirtschaftliche und technische Veränderungen hatte. Vielleicht liegt es daran, dass die Softwareindustrie noch eine junge Disziplin ist und somit auch nicht die Reife anderer erreichen konnte. Vielleicht liegt es auch am immateriellen Charakter von Softwaresystemen mit all der technologischen Vielfalt, die es generell schwierig macht, Standards zu definieren und konsequent umzusetzen. Oder vielleicht liegt es daran, dass viele die Softwareentwicklung immer noch mehr im Zusammenhang mit künstlerischer Kreativität sehen als mit einer Ingenieurdisziplin.
Auch in den internationalen Standards hat sich die Softwareentwicklung erst als industrieller Zweig etablieren müssen. So findet sich z. B. in der Revision 4 der International Standard Industrial Classification of All Economic Activities (ISIC), veröffentlicht im August 2008, die neue Sektion J »Information and Communication«, während in der Vorgängerversion des Standards die Softwareentwicklungsleistungen noch auf unterster Ebene einer Sektion »Real estate, renting and business activities« versteckt waren [ISIC 08; NACE 08].
Softwareentwicklung als industrielle Einzelfertigung
Das Argument der jungen Disziplin wird jedoch jedes Jahr schwächer. Dennoch wird Softwareentwicklung immer noch gerne als eher künstlerische als ingenieurmäßige Tätigkeit gesehen und wäre demnach anders zu bewerten als die identische Reproduktion zigtausender Türbeschläge. Aber auch wenn Softwareentwicklung nicht den Prozessen einer Massenfertigung unterliegt, so ist diese heutzutage dennoch als industrielle Einzelfertigung zu definieren.
Was bedeutet aber »industriell« in diesem Zusammenhang? Ein industrieller Prozess ist durch mehrere Merkmale gekennzeichnet, insbesondere durch die breite Anwendung von Standards und Normen, den intensiven Einsatz von Mechanisierung und den Umstand, dass es meist um die Bewältigung von großen Mengen und Massen geht. Entlang dieser Merkmale wird auch die Wandlung der Softwareentwicklung von der Kunst hin zu einer professionellen Disziplin deutlich.
1.1.1Standards und Normen
Seit den Anfängen der Softwareentwicklung gab es eine ganze Reihe von Ansätzen auf der Suche nach dem idealen Entwicklungsprozess. Viele dieser Ansätze waren für ihre Zeit und Rahmenbedingungen zweckmäßig und »State of the Art«. Die rasante Entwicklung der technischen Innovationen, die exponentielle Zunahme fachlicher und anwendungsbezogener Komplexitäten und die ständig wachsenden wirtschaftlichen Herausforderungen bedingen eine laufende Anpassung der bei der Softwareentwicklung eingesetzten Verfahren, Sprachen und Vorgehensmodelle: Wasserfall, V-Modell, iterative und agile Softwareentwicklung; ISO 9001:2008, ISO 15504 (SPICE), CMMI, ITIL; unstrukturierte, strukturierte, objektorientierte Programmierung, ISO/IEC/IEEE 29119 Software Testing – und das Ende der Fahnenstange ist noch lange nicht erreicht. Auch die Disziplin des Softwaretestens im engeren Sinne hat sich vor allem in den letzten Jahren stark verändert. Seit der Gründung des International Software Testing Qualifications Board (ISTQB®) im November 2002 und der damit initiierten, standardisierten Ausbildung zum Certified Tester in den verschiedenen Modulen und Ausbildungsstufen hat sich ein neues Berufs- und Rollenbild des Softwaretesters entwickelt und international etabliert [URL: ISTQB]. Das ISTQB® Ausbildungsprogramm wurde und wird laufend erweitert und aktualisiert und umfasst mit Stand 2020 folgendes Portfolio:
Abb. 1–1
ISTQB®-Produktportfolio (Stand 2020)
Dennoch steckt die Disziplin des Softwaretestens im Vergleich zu anderen Ingenieurdisziplinen und ihrer meist Jahrhunderte oder Jahrtausende alten Tradition und Entwicklung noch in den Kinderschuhen. Dies betrifft nicht nur die inhaltliche Ausgestaltung oder etwa die Durchdringung in Lehre und Praxis.
Einer der Hauptgründe, warum Softwareprojekte trotz vieler Erfahrungen, die sich in Standards manifestieren, immer noch in großem Stil – nachvollziehbar oder nicht – in den Misserfolg schlittern, ist die Tatsache, dass alle bekannten »Best Practices« der Softwareentwicklung weitgehend unverbindlich sind. Wer heute ein Softwareprodukt bestellt, kann sich nicht a priori auf einen überprüfbaren Fertigungsstandard verlassen.
Es ist nicht nur so, dass grundsätzlich jedes Unternehmen selbst entscheidet, ob es bestimmte Produkt- und Entwicklungsstandards anwendet oder nicht, sondern es ist vielerorts auch eine geduldete Praxis, dass diese Unverbindlichkeit auch innerhalb des Unternehmens fortgeführt wird: Jedes Projekt ist ja anders. Das »not invented here«-Syndrom ist und bleibt ein ständiger Begleiter von Softwareentwicklungsprojekten [Katz & Allen 1982].
Noch fehlen in der Testautomatisierung vielfach Normen und Standards.
Auch im Bereich der Testautomatisierung unterliegen technische Konzepte eher selten allgemeinen Normen. Vielmehr bestimmen die Hersteller kommerzieller Werkzeuge oder Open-Source-Communitys den aktuellen Stand der Technik. Diesen beiden Parteien geht es jedoch weniger um die Schaffung eines allgemein gültigen Standards als vielmehr um die Generierung eines Wettbewerbsvorteils am Markt oder die Umsetzung kollektiver Ideen. Denn durch Standards werden Werkzeuge grundsätzlich austauschbar – und welches Unternehmen möchte schon gerne seine Marktposition durch die Schaffung eines Standards schwächen? Eine Ausnahme stellt hier die Testing and Test Control Notation (TTCN-3) des European Telecommunication Standards Institute (ETSI) dar [URL: ETSI]. Die Anwendung dieses Standards ist in der Praxis jedoch im Wesentlichen auf sehr spezifische Einsatzgebiete beschränkt, zum Beispiel in den Telekommunikations- und Automotive-Sektoren.
Für ein Unternehmen, das eine Testautomatisierung einführt, bedeutet dies in der Regel eine enge Bindung an einen Werkzeughersteller. Auch in Zukunft wird es nicht möglich sein, eine umfassende, automatisierte Testsuite einfach von einem Werkzeug auf ein anderes zu übertragen, da sich gemeinhin sowohl die technologischen Konzepte als auch die Automatisierungsansätze stark unterscheiden. Dies gilt auch für die Investitionen in die Ausbildung des...
Erscheint lt. Verlag | 30.1.2021 |
---|---|
Reihe/Serie | Basiswissen | Basiswissen |
Verlagsort | Heidelberg |
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik |
Schlagworte | Automatisierung • Certified Tester • ISTQB® • Qualitätsmanagement • Softwareentwicklung • Softwarequalitätssicherung • Softwaretest • Systemtest • Testen • Testkonzeption • Testmanagement • Testprozesse • Testumgebungen • Testverfahren • Testwerkzeuge |
ISBN-10 | 3-96088-788-4 / 3960887884 |
ISBN-13 | 978-3-96088-788-1 / 9783960887881 |
Haben Sie eine Frage zum Produkt? |
Größe: 5,4 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software 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 eine kostenlose App.
Geräteliste und zusätzliche Hinweise
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.
aus dem Bereich