Testen II. (Management, Tools) Software Engineering Projekt WS07/08. Fachgebiet Softwaretechnik und Systemgestaltung
|
|
- Victor Holst
- vor 8 Jahren
- Abrufe
Transkript
1 Fachgebiet Softwaretechnik und Systemgestaltung Schriftliche Ausarbeitung zum Referat vom Testen II (Management, Tools) von Daniela Rose
2 Inhaltsverzeichnis 1 Motivation Der grundlegende Testprozesses Planung Steuerung Analyse Design Realisierung Durchführung Auswertung Bericht Abschluss Testen im Softwareentwicklungsprozess Arten von Testwerkzeugen Werkzeuge für Management und Steuerung von Tests Werkzeuge zur Testspezifikation Werkzeuge für statische Tests Werkzeuge für nicht funktionale Tests Werkzeuge für dynamische Tests...10 Beispiel für einen Testroboter: QF-Test...10 Beispiel für einen Testtreiber: JUnit Testwerkzeuge - Nutzen, Risiken, Erfolgsfaktoren Testgetriebene Softwareentwicklung Zusammenfassung...19 Quellen /20
3 1 Motivation Im Laufe eines Softwareentwicklungsprojektes treten zahlreiche Fragen auf: Erfüllt die Software die neuen Anforderungen vollständig? Ist der Programmfehler tatsächlich behoben? Hat der behobene Fehler oder die neue Anforderung Auswirkungen auf die bestehende Software? Welche Qualität hat das neue Software-Release? Ist das neue Release qualitativ besser als das vorherige? Wer ist zu welchem Zeitpunkt wofür verantwortlich? Wann ist die Arbeit des Entwicklers bzw. Testers beendet? Sind die Tests ausreichend? Habe ich genug getestet? Mit Hilfe eines funktionierenden Testprozesses und durch den Einsatz von Werkzeugen lassen sich diese Fragen jederzeit schnell beantworten. Verantwortlichkeiten können beispielsweise genau zugeordnet werden und Entscheidungen darüber, ob die durchgeführten Tests ausreichend sind, können anhand festgelegter Kriterien überprüft werden. Automatisierte Tests, die regelmäßig zu festgelegten Zeiten ausgeführt werden, liefern zudem ein schnelles Feedback über mögliche Nebeneffekte von vorgenommenen Änderungen und machen die Qualität einer Software erst messbar. 2 Der grundlegende Testprozesses Der Testprozess ist eng verzahnt mit dem Prozess der Softwareentwicklung, aber er ist dennoch ein eigenständiger Prozess. Für jede einzelne Teststufe - Komponententest, Integrationstest, Systemtest und Abnahmetest - ist ein verfeinerter Ablaufplan notwendig, in dem der Testprozess in kleinere Arbeitsschritte unterteilt wird. Die Aktivitäten können sequentiell ablaufen. Sie können aber auch zeitlich überlappend oder teilweise sogar parallel ausgeführt werden. 2.1 Planung Die Planung der Tests soll so früh wie möglich zu Beginn des Softwareentwicklungsprojektes erfolgen. In einem Testkonzept werden die Aufgaben und Zielsetzungen des Tests, 3/20
4 sowie die benötigten Ressourcen festgelegt. Das Testkonzept beinhaltet sowohl eine Teststrategie als auch einen Testplan. In der Teststrategie werden die Testziele definiert und der Umfang und die Risiken der Tests ermittelt. Anhand der Risikoeinschätzung (Wie hoch ist die Wahrscheinlichkeit, dass die Fehlerwirkung auftritt? Wie schwer sind die Auswirkungen, wenn die Fehlerwirkung tatsächlich eintritt?) erfolgt die Priorisierung der Tests: Kritische Systemteile müssen zuerst und intensiver getestet werden und erhalten daher eine höhere Priorität, bei weniger kritischen Systemteilen reichen auch weniger umfangreiche Tests aus. Dementsprechend werden geeignete Testverfahren bzw. Testmethoden für die einzelnen Systemteile ausgewählt und die Testendekriterien (z.b. Überdeckungsgrad) bestimmt, die entscheiden, ab wann der Testprozess abgeschlossen werden kann. Im Testplan wird die Zeit- und Ressourcenplanung festgehalten. Zu den zu planenden Ressourcen gehören sowohl die Mitarbeiter, die die Aufgaben durchführen, als auch die Hilfsmittel und Werkzeuge, die zur Durchführung der Aufgaben verwendet werden, und Zeit, die für die Durchführung der Aufgaben veranschlagt wird. Die zeitliche Reihenfolge der Durchführung der einzelnen Tests wird ebenfalls im Testplan grob festgelegt. Außerdem müssen Korrektur- und Testzyklen für die Durchführung von Fehlernachtests und Regressionstests berücksichtigt werden. Die Auswahl und Beschaffung der benötigten Werkzeuge bzw. die Realisierung der Testinfrastruktur sollte so früh wie möglich eingeplant werden. Außerdem muss der Schulungsbedarf der Mitarbeiter ermittelt werden, um rechtzeitig entsprechende Schulungsmaßnahmen einzuleiten. 2.2 Steuerung Die Testaktivitäten und der Testfortschritt also die bisher erreichte Testabdeckung und die Erfüllung der Testendekriterien werden kontinuierlich überwacht und mit den Vorgaben aus der Planung verglichen. Abweichungen zwischen dem Soll- und dem Ist- Zustand werden dokumentiert und entsprechende Korrekturmaßnahmen eingeleitet (z.b. Anpassung der Zeit- und Ressourcenplanung). Grundlage für die Fortschrittsüberwachung bilden v.a. Berichte, die von den Mitarbeitern angefertigt werden. Es können aber auch Werkzeuge zum Einsatz kommen, die entsprechende Auswertungen erstellen. 4/20
5 2.3 Analyse Zunächst wird überprüft, ob die Testbasis (also die für die Erstellung der Testfälle zu verwendenden Dokumente) präzise und detailliert genug formuliert sind. Bei Ungenauigkeiten oder Unklarheiten muss die Dokumentation nachgebessert werden. 2.4 Design Ist die Testbasis geeignet, können daraus die logischen Testfälle abgeleitet werden. Abhängig von den im Testkonzept festgelegten Testverfahren werden als Testbasis entweder die Spezifikation des Testobjekts (Blackbox-Verfahren) oder der Programmcode (Whitebox-Verfahren) zur Erstellung der Testfälle herangezogen. Für jeden Testfall werden die Ausgangsbedingungen (bzw. Vorbedingungen), Randbedingungen und Nachbedingungen ermittelt, die vor, während bzw. nach der Ausführung des Testfalls erfüllt sein müssen. Außerdem müssen zu jedem Testfall das Sollergebnis bzw. das Sollverhalten bestimmt werden. Hierzu wird die Spezifikation des Testobjekts herangezogen. Testfälle lassen sich nach folgenden Kriterien unterscheiden: Positivtest (normal): Prüfung der spezifizierten Ergebnisse und Reaktionen (bei erwarteten Eingaben bzw. erwarteter Bedienung) Negativtest (exceptional): Prüfung der spezifizierten Behandlung von Ausnahmeund Fehlersituationen (bei erwarteten Fehleingaben bzw. erwarteter Fehlbedienung) Robustheitstest (catastrophical): Prüfung der nicht-spezifizierten Behandlung von Ausnahme- und Fehlersituationen (bei unerwarteten Fehleingaben bzw. unerwarteter Fehlbedienung) 2.5 Realisierung Die Testfälle werden konkretisiert, d.h. es werden die konkreten Ein- und Ausgabewerte festgelegt. Die Testfälle werden zu Testszenarien zusammengefasst und die konkrete Ausführungsreihenfolge wird bestimmt unter Berücksichtigung der im Testkonzept festgelegten Prioritäten. Außerdem wird die gesamte Testumgebung eingerichtet. Beispielsweise werden Testframeworks installiert oder Skripte zur Automatisierung der Testfälle entwickelt. 5/20
6 2.6 Durchführung Die spezifizierten Tests werden unter Einhaltung der im Testplan definierten Reihenfolge manuell oder automatisiert ausgeführt. Zunächst werden die allgemeine Start- und Ablauffähigkeit des Testobjekts, sowie die Hauptfunktionen überprüft. Falls hier bereits Fehlerwirkungen auftreten, ist es nicht sinnvoll die Tests weiter auszuführen. Die IST-Ergebnisse bzw. das IST-Verhalten wird mit den erwarteten SOLL-Ergebnissen bzw. dem SOLL-Verhalten verglichen. Falls Abweichungen auftreten, muss zunächst geklärt werden, ob die Ursache tatsächlich innerhalb des Testobjekts liegt. Es könnte z.b. auch der Testrahmen fehlerhaft oder der Testfall nicht korrekt spezifiziert worden sein. Liegt tatsächlich eine Fehlerwirkung vor, wird diese dokumentiert und einer Fehlerklasse zugeordnet, die Aufschluss über die Priorität gibt, mit der der Fehler behoben wird. Nachdem die Ursache der Fehlerwirkung behoben wurde, werden Fehlernachtests bzw. Regressionstests durchgeführt. Beim Fehlernachtest wird der Testfall, der den Fehler aufgedeckt hat, erneut ausgeführt, um zu überprüfen, ob der Fehler tatsächlich beseitigt wurde. Durch Regressionstests wird überprüft, ob die Behebung des Fehlers Auswirkungen auf das bestehende System hat und zu neuen Fehlerwirkungen führt, die vorher nicht aufgetreten sind. Die einzelnen Testläufe werden exakt und vollständig protokolliert, so dass die Ausführung der Tests auch für nicht direkt beteiligte Personen (z.b. Kunden) nachvollziehbar ist. Aus dem Testprotokoll geht hervor, welche Systemteile, wann, von wem, wie intensiv, und mit welchem Ergebnis getestet wurden. Es sollte auch vermerkt werden, mit welcher Version des Testobjekts und unter Einsatz welcher Testwerkzeuge und Testmittel die Tests durchgeführt wurden. 2.7 Auswertung Nach der Durchführung aller Tests wird überprüft, ob die im Testkonzept definierten Testendekriterien erfüllt sind oder nicht. Falls die Kriterien erfüllt sind, werden die Testaktivitäten beendet. Sind die Kriterien nicht erfüllt, wird analysiert, ob evtl. weitere Testfälle spezifiziert werden sollen und ob dieser zusätzliche Testaufwand gerechtfertigt ist. In der Realität führen oft die Faktoren Zeit und Kosten zu einem Abbruch der Testaktivitäten, ohne dass die Testendekriterien erfüllt sind. 2.8 Bericht Die Ergebnisse der Testauswertung werden in einem Testbericht zusammengefasst und an die Entscheidungsträger (Projektmanager, Testmanager etc.) weitergeleitet. 6/20
7 2.9 Abschluss Noch offene Fehler- bzw. Abweichungsmeldungen müssen entweder geschlossen oder in Änderungsanforderungen für das nächste Release umgewandelt werden. Da auch während des produktiven Einsatzes des Softwaresystems Fehlerwirkungen beim Kunden oder Änderungswünsche durch den Kunden auftreten können, muss die Testware konserviert werden. Die verwendeten Testmittel, die Testumgebung und die Infrastruktur werden ausführlich dokumentiert und archiviert und an die Wartungsabteilung weitergegeben. Außerdem sollten der Testprozess evaluiert und die Gründe für die Abweichungen zwischen der Planung und der tatsächlichen Umsetzung analysiert werden. Die Erfahrungen, die gemacht wurden, werden genutzt um Verbesserungspotential abzuleiten und den Testprozess kontinuierlich zu verbessern (lessons learned). 3 Testen im Softwareentwicklungsprozess Abbildung 1: W-Modell [Quelle 3] Das W-Modell stellt eine Erweiterung des V-Modells dar und veranschaulicht den parallelen Ablauf von Test- und Entwicklungsaktivitäten. Die Tester sind von Anfang an an der Entwicklung beteiligt, denn parallel zu den Spezifikationsphasen des Entwicklungsprozesses werden bereits die testvorbereitenden Aktivitäten durchgeführt. Hierzu gehören die Planung, Analyse, Design und die Realisierung der Tests. Somit müssen die Anforderungsdokumente frühzeitig einem Review unterzogen werden, durch den sichergestellt wird, dass die Dokumente in ausreichender Qualität vor- 7/20
8 liegen und präzise genug formuliert sind. Ungenauigkeiten oder Unklarheiten in der Spezifikation werden aufgedeckt und beseitigt, bevor die Spezifikation als Grundlage für die Ableitung von Testfällen oder für die Implementierung herangezogen wird. Die Durchführung der Tests, sowie die Auswertung und Protokollierung der Ergebnisse finden nach der Programmierphase statt. Werden hier Fehlerwirkungen durch den Tester aufgedeckt, ist es Aufgabe des Entwicklers mit Hilfe von Debugging nach der Fehlerursache zu suchen und diese zu beseitigen. Dadurch wird ein Rücksprung auf die Programmierebene erforderlich. Wurden die Fehlerursachen behoben, erfolgt ein erneuter Aufstieg. Der Tester führt Fehlernachtests und Regressionstests durch, um sicherzustellen, dass die Fehlerwirkung nicht mehr auftritt und dass durch die Änderungen keine neuen Fehlerwirkungen hinzugekommen sind. Testen ist somit keine einmalige Aktivität, sondern ein Prozess, der sich zyklisch wiederholt. Deshalb ist eine weitgehende Automatisierung der Testausführung sehr sinnvoll. 4 Arten von Testwerkzeugen Für jede Phase des Testprozesses stehen Werkzeuge zur Verfügung, die sowohl den Testmanager als auch die Tester bei der qualitativen Ausführung seiner Testarbeiten unterstützen. 4.1 Werkzeuge für Management und Steuerung von Tests Testmanagementwerkzeuge ermöglichen die Erfassung, Katalogisierung, Verwaltung und Priorisierung von Testfällen. Der Status eines Testfalls ob, wann, wie oft und mit welchem Resultat der Testfalls ausgeführt wurde kann jederzeit ermittelt werden. Einige Werkzeuge unterstützen zudem die Planung von Zeit und Ressourcen. Auch Tracing (die Rückverfolgbarkeit von Tests zu Anforderungen) ist mit einigen Werkzeugen möglich. Dazu werden die Systemanforderungen erfasst oder importiert und mit den Testfällen verknüpft. Die Frage, wie viele Testfälle für die einzelnen Anforderungen existieren, lässt sich dadurch sehr schnell beantworten. Mit Hilfe von Fehlermanagementwerkzeugen, können Fehlermeldungen erfasst, verwaltet und verteilt werden. Die Verfolgung der Fehler ist über den gesamten Zeitraum möglich von der Entdeckung des Fehlers, über die Korrektur, bis hin zum Fehlernachtest. Werkzeuge für das Testmanagement und das Fehlermanagement stellen in der Regel ausführliche Analyse- und Berichtsfunktionen zur Verfügung. Dadurch ist eine kontinuierliche Überwachung des Testfortschritts möglich. 8/20
9 4.2 Werkzeuge zur Testspezifikation Für die Erzeugung von Testdaten können Testdatengeneratoren eingesetzt werden. Hierbei existieren verschiedene Ansätze, die sich hinsichtlich der eingesetzten Testbasis unterscheiden... Datenbankbasiert: Testdaten werden auf Grundlage von Datenbankschemata oder Datenbankinhalten ermittelt. Codebasiert: Testdaten werden aufgrund einer Analyse des Quellcodes generiert. Schnittstellenbasiert: Testdaten werden aus den Definitionsbereichen der Schnittstellenparameter ermittelt. Spezifikationsbasiert: Testdaten werden aus einer formalen Spezifikation abgeleitet. Allerdings sollte man beachten, dass das erwartete Verhalten (Sollwerte/Sollreaktion) in den meisten Fällen nicht automatisch generiert werden kann und dass es keine Garantie gibt für gute Testfälle bzw. Testdaten. 4.3 Werkzeuge für statische Tests Mit Hilfe von Werkzeugen für statische Tests können Entwurfsdokumente oder Quellcode bereits in frühen Phasen der Softwareentwicklung auf Fehler oder Unstimmigkeiten hin untersucht werden. Statische Analysatoren helfen beispielsweise dabei, komplexe und somit fehleranfällige Codeabschnitte oder auch Verletzungen von Programmierrichtlinien zu identifizieren. Model Checker sind in der Lage, Spezifikationen zu analysieren, die in einer formalen Notation vorliegen. Beispielsweise können in einem Zustandsmodell fehlende Zustände oder Transitionen und andere Inkonsistenzen aufgedeckt werden. Außerdem gibt es Werkzeuge, die Reviews unterstützen bzgl. der Planung, Durchführung und Auswertung der Ergebnisse von Reviewsitzungen. 4.4 Werkzeuge für nicht funktionale Tests Last- und Performancetestwerkzeuge erzeugen synthetische Last (z.b. Datenbankabfragen, Benutzertransaktionen oder Netzwerkverkehr). Sie werden eingesetzt, um beispielsweise Performancetests (Messung des Antwortverhaltens unter Last) oder Stresstests (Messung des Systemverhaltens bei Überlast) durchzuführen. 9/20
10 4.5 Werkzeuge für dynamische Tests Die Ausführung einzelner Tests und Testszenarien kann mit Hilfe von Werkzeugen für dynamische Tests automatisiert werden. Diese versorgen das Testobjekt mit Eingabedaten, zeichnen dessen Reaktionen auf, vergleichen die aufgetretenen Reaktionen mit den erwarteten Reaktionen und protokollieren die Ergebnisse. Testroboter (oder auch Capture/Replay-Tools) greifen über die Benutzerschnittstelle (GUI, Bedienoberfläche) auf das Testobjekt zu. Der Ansatz Capture and Replay besteht darin, dass die manuell durchgeführten Benutzeraktionen aufgezeichnet und in einem Skript gespeichert werden. Dieses Skript kann danach beliebig oft abgespielt werden. Testtreiber (oder auch Testframeworks) greifen über die Programmierschnittstelle (Quellcode) auf das Testobjekt zu. Sie sorgen dafür, dass Objekte erzeugt, initialisiert und Methoden auf den Objekten aufgerufen werden. Im Anschluss werden Veränderungen innerhalb der Objekte bzw. Auswirkungen auf die Umgebung überprüft. Beispiel für einen Testroboter: QF-Test QF-Test ist ein Werkzeug zum Testen von graphischen Benutzeroberflächen in Java. Es unterstützt sowohl Swing- als auch Eclipse/SWT-Applikationen. Die einzelnen Tests werden in einer Testsuite zusammengefasst. Es können sowohl Vorbereitungssequenzen (z.b. Starten eines Programms), als auch Aufräumsequenzen (z.b. Beenden eines Programms) definiert werden, die vor bzw. nach jedem Testfall ausgeführt werden. Es gibt eine Aufnahme- Funktion, die es ermöglicht, Abbildung 2: QF-Test beim Erstellen eines Skripts [Quelle 6] Mausklicks, Tastatureingaben etc. aufzuzeichnen. Es ist aber auch möglich Checkpunkte zu definieren, die beim Abspielen überprüft werden. Mit Checkpunkten kann z.b. getestet werden, ob die Beschriftung eines Buttons oder Labels korrekt ist oder ob der Inhalt eines Textfeldes dem erwarteten Inhalt entspricht. 10/20
11 Da die Anzahl der Benutzeraktionen sehr schnell anwachsen kann, ist es notwendig, das Skript geeignet zu strukturieren. Die einzelnen Aktionen können beispielsweise in Sequenzen zusammengefasst werden. Es besteht aber auch die Möglichkeit, Aktionen in Prozeduren auszulagern, die dann beliebig oft im Skript wiederverwendet werden können. Sprachmittel, wie Fallunterscheidungen (if-else-konstrukte), Schleifen und trycatch-konstrukte stehen ebenfalls zur Verfügung und ermöglichen die Implementierung komplexer Testabläufe. Bei der Wiedergabe des Testskripts lässt sich der Ablauf in der Baumansicht genau verfolgen. QF-Test verfügt über einen integrierten Debugger und ermöglicht das Setzen von Breakpoints, an denen der Testlauf während der Ausführung der Testskripts unterbrochen werden kann. Die GUI-Elemente werden anhand einer ID erkannt. Das hat den Vorteil dass die Elemente auch dann noch gefunden werden, wenn die Anordnung der Elemente verändert wurde. Falls eine Komponente mit der angegebenen ID bzw. dem Namen nicht gefunden wurde, wird der Testlauf mit einer entsprechenden Fehlermeldung unterbrochen. Abbildung 3: QF-Test bei der Ausführung eines Skripts [Quelle 6] Im Protokoll wird der zeitliche Ablauf der Tests dargestellt. Knoten in denen Fehler aufgetreten sind, werden rot markiert. Die Abweichungen, die zwischen dem erwarteten und dem gefundenen Text eines Checkpunktes gefunden wurden, werden in der Detailansicht angezeigt. Eine Abbildung des Bildschirms zum Zeitpunkt, als der Fehler festgestellt wur- 11/20
12 de, stellt zudem eine große Hilfe für das Auffinden der Fehlerursache dar. Die Testergebnisse können in Form von Reports dokumentiert und archiviert werden. Vor- und Nachteile von QF-Test GUI-Oberflächen können einfach automatisiert gestestet und die Testläufe ausführlich protokolliert werden. Der Einsatz ist allerdings mit einem hohen Wartungsaufwand verbunden. Nach Erstellen der Skripte müssen diese nachbearbeitet werden. Für die Strukturierung und Modularisierung der Skripte muss eine angemessene Architektur gewählt werden. Hierzu ist Programmier-Know-How erforderlich. Außerdem müssen geeignete Verzögerungszeiten für die Ausführung der Benutzeraktionen gewählt werden. Beispiel für einen Testtreiber: JUnit JUnit ist ein Open-Source-Framework zur Automatisierung von Unit-Tests in Java, das sich mittlerweile zu einem Standard-Werkzeug für automatisierte Komponententests entwickelt hat. Der Test-Runner zeigt mit einem grünen bzw. roten Balken an, ob alle Tests erfolgreich durchgelaufen sind oder nicht. Der Erfolg oder Misserfolg der Testausführung ist somit auf einem Blick erkennbar. Die einzelnen Testklassen werden von junit.framework.testcase abgeleitet. Der Name der Testklasse setzt sich zusammen aus der zu testenden Zielklasse und der Endung Test. Die Namen der Testmethoden werden gebildet aus dem Präfix test und einer Beschreibung dessen, was getestet werden Abbildung 4: JUnit Testrunner soll. Alle öffentlichen, nicht statischen und parameterlosen Methoden der Testklasse, deren Namen mit test beginnen, werden von JUnit automatisch als Testmethoden identifiziert. In einer Testmethode werden typischerweise Objekte erzeugt und initialisiert, Methoden auf den Objekten aufgerufen und danach bestimmte Eigenschaften oder Auswirkungen überprüft. Die Überprüfung der Testergebnisse erfolgt mit Hilfe der assert-methoden. Schlägt ein assert-aufruf fehl, wird ein Failure in der Runs-Errors-Statistik angezeigt. Errors hinge- 12/20
13 gen kommen zustande, wenn bei der Testausführung eine Exception erzeugt wird, die in der Testmethode nicht abgefangen wird. Codeduplikationen, die in allen Tests beispielsweise zur Erzeugung von Objekten benötigt werden, können in die Methode setup() ausgelagert werden. Diese wird vor jedem einzelnen Test ausgeführt. Dadurch haben Veränderungen, die in einem Test am Testobjekt vorgenommen wurden, keine Auswirkungen auf die anderen Tests. Die Tests können also unabhängig voneinander ausgeführt werden. Das Gegenstück dazu bildet die Methode teardown(), die nach der Ausführung jedes einzelnen Tests aufgerufen wird - auch wenn ein Test Abbildung 5: Beispiel für eine Testklasse nicht erfolgreich beendet wurde. Sie dient beispielsweise dazu, Ressourcen (z.b. Dateien oder Datenbankverbindungen) wieder freizugeben. Optional ist es auch möglich Tests zu Testsuiten zusammenzufassen. Dies ermöglicht die Ausführung einer Teilmenge aller Testfälle einer oder mehrerer Testklassen. Testsuiten wiederum können ebenfalls wieder zu Testsuiten zusammengefasst werden. Wird keine Testsuite definiert, werden alle Testfälle der Testklasse ausgeführt. Abbildung 6: Beispiel für eine Testsuite 13/20
14 Vor- und Nachteile von JUnit Programmiersprache und Testsprache sind identisch. Daher ist es nicht notwendig neue Programmier- oder Skriptsprachen zu lernen, um Tests zu implementieren. Durch die Trennung der Testklasse von der zu testenden Klasse wird die Trennung von Anwendercode und Testcode ermöglicht. Die Strukturierung des Testcodes kann daher unabhängig von der Klassenstruktur erfolgen. Die Gemeinsamkeiten der Tests können in einer setup()-methode ausgelagert werden, wodurch die Tests unabhängig voneinander und in beliebiger Reihenfolge ausgeführt werden können. Die Zusammenfassung von Testfällen in Testsuiten bietet zusätzliche Flexibilität bei der Strukturierung der Tests. Zudem liefert JUnit ein schnelles Feedback, denn die Testergebnisse (Erfolg oder Misserfolg) sind auf einem Blick erkennbar. Problematisch ist, dass geeignete Schnittstellen im Quellcode zur Verfügung stehen müssen. Der Code muss also testbar sein. 5 Testwerkzeuge - Nutzen, Risiken, Erfolgsfaktoren Nutzen bei der Einführung von Werkzeugen Testwerkzeuge unterstützen die kreativen Testarbeiten, beispielsweise beim Entwurf von Testfällen und bei der Auswahl geeigneter Testdaten. Außerdem automatisieren sie die mechanische Durchführung der Tests. Dadurch wird der Testaufwand reduziert, das Testteam entlastet und es wird ermöglicht, mehr Tests bei gleichem oder geringerem Aufwand auszuführen. Auch Tests die manuell nur schwer durchgeführt werden können (z.b. Performance- oder Stresstests) können mit Hilfe von Werkzeugen umgesetzt werden. Werkzeuge liefern ein schnelles Feedback und ermöglichen eine einfache Auswertung der Testergebnisse mit Hilfe ausführlicher Protokolle. Durch den Einsatz von Werkzeugen bei der Durchführung von Tests, werden die Tests wiederholbar und die Ergebnisse auch für Außenstehende (z.b. Kunden) nachweisbar. Risiken bei der Einführung von Testwerkzeugen Ein Problem bei der Einführung von Testwerkzeugen besteht darin, dass die Zeit, die Kosten und der Aufwand für die Einführung der Werkzeuge, die Einarbeitung durch die Mitarbeiter, die Anpassung an die bisherigen Prozesse und die Wartung der erzeugten Artefakte häufig unterschätzt wird. Außerdem sind die Erwartungen an die Testwerkzeuge oft unrealistisch. Werkzeuge stellen weder eine Lösung für kurzfristige Personalengpässe dar, noch führt der Einsatz von Werkzeugen automatisch zu einer Verbesserung schlecht funktionierender Testprozesse. Werkzeuge bringen nur dann Vorteile, wenn der Testprozess beherrscht wird und nach definierten Vorgaben abläuft. Blindes Vertrauen führt zu- 14/20
15 dem häufig dazu, dass manuelle Tests, die für bestimmte Zwecke besser geeignet sind, vernachlässigt oder überhaupt nicht durchgeführt werden. Erfolgsfaktoren für die Einführung von Testwerkzeugen Werkzeuge sollten schrittweise in den Testprozess eingeführt werden, d.h. es sollte zuerst ein Pilotprojekt durchgeführt werden, in dem überprüft wird, ob sich das Werkzeug für die beabsichtigten Zwecke eignet. Ist dies der Fall müssen die betroffenen Mitarbeiter rechtzeitig informiert und der Schulungsbedarf richtig ermittelt und auch zugesichert werden. Andernfalls kann es schnell passieren, dass die Mitarbeiter den Einsatz des Werkzeugs ablehnen, weil sie das Tool z.b. nicht bedienen können oder es als zu umständlich empfinden, und letztendlich wieder zu ihrer gewohnten Arbeitsweise zurückkehren. Die Werkzeugunterstützung sollte fest in den Prozessen verankert werden. Dazu gehört, u.a. Richtlinien für die Benutzung des Werkzeugs zu definieren, begleitendes Coaching anzubieten und Probleme bei der Verwendung und deren Lösungen zu dokumentieren (z.b. in Form von FAQs). Feedback sollte regelmäßig gesammelt und ausgewertet werden. Außerdem muss die Nutzung des Werkzeugs kontinuierlich überwacht werden, um sicherzustellen, dass das Werkzeug auch tatsächlich für die beabsichtigten Zwecke eingesetzt wird. 6 Testgetriebene Softwareentwicklung Wie funktioniert Testen beim Extreme Programming? Beim Extreme Programming stellt das sogenannte Pair Programming eine Art ständigen Review dar und sorgt somit für eine Reduzierung der Fehlerrate. Zusätzlich kommen noch zwei weitere Arten von Softwaretests zur Anwendung, die sicherstellen sollen, dass die Software auch das tut, was sie tun soll: Akzeptanztests und Unit-Tests. Akzeptanztests überprüfen die Funktionalität des Gesamtsystems und dienen dem Kunden und auch dem Management als Maß für den Fortschritt des Projekts. Sie werden vom Kunden vor Beginn der Iteration auf Grundlage von Storycards spezifiziert. Der Kunde ist für die Ausführung der Tests und die Analyse und Bewertung der Testergebnisse verantwortlich. Unit-Tests überprüfen die Funktionsfähigkeit einzelner Komponenten und sichern das Vertrauen des Entwicklers in seine eigene Software. Sie werden vom Entwickler erstellt, und zwar vor der Implementierung der zu testenden Komponente. Bei Bedarf werden bestehende Tests auch verändert oder ergänzt. 15/20
16 Alle Unit-Tests müssen immer fehlerfrei durchlaufen, bevor neuer Code vollständig in das bestehende System integriert und die Entwicklung fortgesetzt werden kann. Zeigt einer der Tests eine Fehlerwirkung, dann wird die Fehlerursache sofort behoben. Unit-Tests werden beim XP so oft wie möglich ausgeführt (mehrmals pro Tag) und liefern somit ein schnelles Feedback, da Änderungen, die zu Fehlerwirkungen führen, sofort entdeckt werden. Dadurch wird auch das Refactoring erleichtert, da die Angst vor ungewollten Nebenwirkungen bei Veränderungen im bestehenden Quellcode reduziert wird. Durch die Unit-Tests wird sichergestellt, dass die bisherige Funktionalität auch nach den Änderungen noch besteht. Da beim Extreme Programming kleine Releases in sehr kurzen Iterationen erstellt und Teile der vorhandenen Software häufig geändert oder neue Softwarebausteine ergänzt werden, sind kontinuierliche Iterations- und Regressionstests erforderlich. Diese stellen sicher, dass durch die vorgenommenen Änderungen keine neuen Defekte eingebaut und die bereits vorhandene Funktionalität nicht zerstört wurde. Deshalb sollten sowohl Unit- Tests als auch Akzeptanztests möglichst vollständig automatisiert werden. Was ist testgetriebene Softwareentwicklung? Testgetriebene Softwareentwicklung (oder auch Test-Driven Development) ist eine agile Methode zur Entwicklung von Software. Der Programmierer entwickelt die Software-Tests vor den zu testenden Komponenten. Die Vorgehensweise der testgetriebenen Softwareentwicklung ist aus dem Bestreben nach vollständiger Automatisierung der Tests beim Extreme Programming hervorgegangen. Warum wurde dieser Ansatz entwickelt? Akuter Zeitmangel, mangelhafte Testbarkeit der Software oder auch die Faulheit bzw. die mangelnde Disziplin der Programmierer führen häufig dazu, dass nach Fertigstellung der Software bzw. Softwareteile nicht genug Tests implementiert werden, um die gewünschte Testabdeckung zu erreichen. Bei der testgetriebenen Softwareentwicklung werden die Tests daher nicht nachträglich, sondern vor bzw. neben dem Quellcode entwickelt. Dadurch wird vermieden, dass Entwickler nur unzureichend testen. Wie funktioniert testgetriebene Softwareentwicklung? Ein Programmierzyklus besteht aus den Schritten Test! Code! und Refactor! und sollte nicht länger als 5 Minuten dauern. 16/20
17 1. Schreibe einen Test für den nächsten zu implementierenden Funktionshappen, der zunächst fehlschlagen sollte! Schreibe nur soviel Code, dass der Test compiliert! 2. Schreibe gerade soviel Code, dass alle Tests erfolgreich durchlaufen nicht weniger und auch nicht mehr! 17/20
18 3. Räume den Code auf! Alle Tests müssen weiterhin erfolgreich durchlaufen! Bei der testgetriebene Softwareentwicklung erfolgt das Voranschreiten in möglichst kleinen Schritten. Die Tests steuern dabei das Softwaredesign in Bezug auf Einfachheit und Testbarkeit. Wenn eine Methode noch nicht ausprogrammiert ist, ist das ein Zeichen dafür, dass noch Tests fehlen, die einen dazu zwingen, die richtige Implementierung vorzunehmen. Das Design wird nicht vor, sondern während der Softwareentwicklung Schritt für Schritt entwickelt (Evolutionäres Design), d.h. alle Entscheidungen, die das Design betreffen (z.b. ob evtl. zusätzliche Klassen benötigt oder ob Listen genutzt werden oder wie das Interface aussehen soll), werden im Laufe des Entwicklungsprozesses getroffen und nicht vorher. Die einfachste Lösung ist solange die beste Lösung, bis die Tests ein neues komplexeres Design verlangen. Wenn Änderungen oder Refactoring notwendig sein sollten, wird die vorhandene Funktionalität durch die bereits implementierten Tests abgesichert. Bei der Integration des Codes in das Gesamtsystem müssen alle Tests erfolgreich durchlaufen, bevor mit der Entwicklung fortgesetzt werden kann. Um größere Integrationsprobleme zu vermeiden, findet die Integration sehr häufig statt. Vor- und Nachteile der testgetriebenen Softwareentwicklung Testgetriebene Softwareentwicklung führt zu einem einfachen und testbaren Design des Quellcodes. Die Tests liefern ein schnelles Feedback und ermöglichen angstfreies Refactoring. Jedes Stück Quellcode wird getestet. Änderungen, die zu Fehlerwirkungen führen und somit die vorhandene Funktionalität zerstören, werden sofort entdeckt und behoben. Der Entwickler muss also keine Angst vor unerwarteten Nebeneffekten bei Änderungen des Quellcodes haben, da diese durch die Tests aufgedeckt werden. 18/20
19 Dadurch, dass sowohl das Fehlschlagen als auch das erfolgreiche Durchlaufen des Tests überprüft wird, wird sichergestellt, dass die Tests auch korrekt funktionieren. Die Tests werden also verifiziert. Der Ansatz der testgetriebenen Softwareentwicklung erfordert allerdings ein Umdenken des Programmierers. Programmierer tendieren häufig dazu, immer größere Schritte vorzunehmen und Methoden komplett auszuprogrammieren. Der Programmierer lässt die Tests dann irgendwann weg, für die bereits eine Implementierung existiert, weil er seinen eigenen Code nicht wieder zerstören will und davon ausgeht, dass der Code das tut, was er tun soll. Als Ergebnis sind am Ende wieder zu wenig Tests vorhanden und die gewünschte Testabdeckung wird nicht erreicht. Der Programmierer muss den Ansatz also konsequent umsetzen, damit der gewünschte Erfolg auch tatsächlich eintritt. 7 Zusammenfassung Der Testprozess beginnt parallel mit der Softwareentwicklung und wird in einzelne Arbeitsschritte untergliedert. Bevor die Tests durchgeführt werden können, müssen die Tests geplant, die Testbasis analysiert, die einzelnen Testfälle entworfen und die Testumgebung eingerichtet werden. Der Testfortschritt wird dabei kontinuierlich überwacht. Um den Testprozess ständig zu verbessern, sollte aus den Erfahrungen, die gemacht wurden, gelernt werden. Für jede einzelne Phase des Testprozesses von der Planung bis hin zur Durchführung der Tests stehen geeignete Werkzeuge zur Verfügung. Der Einsatz von Werkzeugen bringt allerdings nur dann Vorteile, wenn ein Testprozess vorhanden ist und nach entsprechenden Vorgaben abläuft. Aus verschiedenen Gründen wird die geplante Testabdeckung häufig nicht erreicht. Eine mögliche Lösung für dieses Problem stellt der Ansatz der testgetriebenen Softwareentwicklung dar, denn hierbei werden die Tests vor der Implementierung der jeweils zu testenden Komponente erstellt. 19/20
20 Quellen 1: German Testing Board: Basiswissen Softwaretest Aus- und Weiterbildung zum Certified Tester, Lehrmaterialien : A. Spillner, T. Linz: Basiswissen Softwaretest Aus- und Weiterbildung zum Certified Tester, dpunkt.verlag, Heidelberg : A. Spillner, T. Roßner, M. Winter, T. Linz: Praxiswissen Softwaretest Testmanagement, dpunkt.verlag, Heidelberg : J. Link: Softwaretests mit JUnit Techniken der testgetriebenen Entwicklung, dpunkt.verlag, Heidelberg : - Testautomatisierung ( ) 6: 7: 20/20
Testen II. (Management, Tools) Daniela Rose. Software Engineering Projekt WS07/08 Fachgebiet Softwaretechnik und Systemgestaltung
Testen II (Management, Tools) Daniela Rose Fachgebiet Softwaretechnik und Systemgestaltung 12.12.2007 Gliederung 1. Motivation 2. Der grundlegende Testprozess 3. Testen im Softwareentwicklungsprozess 4.
MehrT1 - Fundamentaler Testprozess
AK 2 am Armin Beer, Support Center Test der Software- Entwicklung 1 für einen erfolgreichen Test? Projektteam strebt nach Qualität Aufwände sind eingeplant (Richtwerte) 20 bis 30% des Gesamtaufwandes In
MehrT2 Fundamentaler Testprozess
T2 Fundamentaler Siemens AG Österreich 2005 All Rights Reserved Institut f. Software Technology, TU-Graz Armin Beer, PSE Support-Center Test Overview der Software- Entwicklung 2 1 Wasserfall-Modell Analyse
MehrDiplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008
Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen
MehrTestautomatisierung. Lessons Learned. qme Software. Gustav-Meyer-Allee 25 13355 Berlin. Telefon 030/46307-230 Telefax 030/46307-649
Testautomatisierung Lessons Learned qme Software GmbH Gustav-Meyer-Allee 25 13355 Berlin Telefon 030/46307-230 Telefax 030/46307-649 E-Mail qme Software info@qme-software.de GmbH Testautomatisierung Lessons
MehrEffizienzsteigerung von Softwaretests durch Automatisierung
Bachelorarbeit am Institut für Informatik der Freien Universität Berlin, Arbeitsgruppe Programmiersprachen Effizienzsteigerung von Softwaretests durch Automatisierung David Emanuel Diestel 04.02.2016 Übersicht
MehrSoftwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12
Vertretung von Prof. Dr. Blume WS 2011/12 Inhalt Test, Abnahme und Einführung Wartung- und Pflegephase gp Vorlesung Zusammenfassung Produkte und Recht (Folien von Prof. Blume) 2 , Abnahme und Einführung
MehrTesten im Software- Entwicklungsprozess
Technologie-Event 2006 Testen im Software- Entwicklungsprozess W.Lukas, INGTES AG Was nicht getestet wurde, funktioniert nicht. -- R.Güdel (ca. 1998) Seite 2 Was sollen wir tun? Anomalien & Defekte von
MehrDie Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer
Die Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer Inhalt Top Themen Requirements Testen Testautomatisierung Change-Management Risiko-Management Agile Methoden Traceability
MehrEin Testprozess für Modellbasiertes Testen
Ein Testprozess für Modellbasiertes Testen Seminar: Software-Qualitätssicherung Tobias Eckardt 8. Juli 2008 Testen von Softwaresystemen Fehler in einer adaptiven Geschwindigkeitsregelung (engl. adaptive
MehrInformationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:
Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät
Mehrextreme Programming (XP) Hermann Götz Sergij Paholchak Agenda Was ist XP? Grundprinzipien Der Entwicklungsprozess Die Projektplanung Praktiken Vorteile und Nachteile Wann macht XP Sinn für ein Projekt?
MehrSoftware - Testung ETIS SS05
Software - Testung ETIS SS05 Gliederung Motivation Was ist gute Software? Vorurteile gegenüber Testen Testen (Guidelines + Prinzipien) Testarten Unit Tests Automatisierte Tests Anforderungen an Testframeworks
MehrDatensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
MehrTestplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013
Software Komponenten FS13 Gruppe 03 Horw, 16.04.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Estermann Michael
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrKomponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009
Testen von Software Systemen Übung 02 SS 2009 Version: 1.0 09.06.2009 Komponententest Kunde: Dr. Reinhold Plösch Dr. Johannes Sametinger Kundenreferenz: 259.019 Team 19 Mitarbeiter: Christian Märzinger
MehrBasiswissen Softwaretest
Basiswissen Softwaretest Vergleich der Vorlesung Software-Engineering Wartung und Qualitätssicherung (Stand WS13/14) mit der 4. überarbeiteten und aktualisierten Auflage von Spillner&Linz: Basiswissen
MehrStandard Inhaltsverzeichnis für Testvorschrift
Standard Inhaltsverzeichnis für Testvorschrift Inhaltsverzeichnis 1. Zweck, Veranlassung... 1 2. Allgemeines... 1 2.1 Zweck der Testvorschrift... 1 2.2 Freigabe und Änderungen... 1 2.3 Prinzipien... 2
MehrTesten von graphischen Benutzeroberflächen. 24. Juni 2015
Testen von graphischen Benutzeroberflächen 24. Juni 2015 Überblick Motivation für das automatische Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien für GUIs Capture / Replay Testmethode
MehrFortgeschrittenes Programmieren mit Java. Test Driven Development
Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test
MehrEinsatz von xalerator. bei den. Ergo Direkt Versicherungen. Bereich Versicherungstechnik/Leben
Einsatz von xalerator bei den Ergo Direkt Versicherungen Bereich Versicherungstechnik/Leben Einführung Die Ergo Direkt Versicherungen wurden 1984 als Finanzdienstleistungs-Segment des Quelle Versandhandels
MehrSoftwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch
Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich
MehrTesten Prinzipien und Methoden
Testen Prinzipien und Methoden ALP 2 SS2002 4.7.2002 Natalie Ardet Definition Im folgenden gilt: Software = Programm + Daten + Dokumentation Motivation Software wird immer mehr in Bereichen eingesetzt,
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrProzessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08
Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer
MehrSystemen - Testprozess. Testprozess. Testprozess: Aktivitäten. Testplanung und Teststeuerung. Testplanung und Teststeuerung
2007 Dr. Klaudia Dussa-Zieger P r a k t I s c h e Testprozess - Inhalt Testprozess Testen von Software-Systemen Systemen - Testprozess Lehrplan 2003 Testplanung Testausführung ierung Testendebewertung
MehrSystemen - Testprozess. Testprozess. Testprozess: Aktivitäten. Testplanung und Teststeuerung. Lehrplan 2003 Testplanung
P r a k t I s c h e Testprozess - Inhalt Testprozess Testen von Software-Systemen Systemen - Testprozess Lehrplan 2003 Testplanung Testausführung ierung Testendebewertung Testberichterstattung Lehrplan
MehrTestmanagement in IT-Projekten
Teil 1: Projektmagazin 05/20009 Teil 2: Projektmagazin 06/2009 1 Test: Prozess, bei dem ein Programm oder ein Software-System ausgeführt wird, um Fehler zu finden Teil 1: Projektmagazin 05/20009 Teil 2:
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrProjektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung
Projektmanagement Vorlesung von Thomas Patzelt 9. Vorlesung 1 Pläne Kein Plan überlebt die erste Feindberührung - Feldmarschall Helmuth von Moltke Prognosen sind schwierig, besonders wenn sie die Zukunft
MehrProjektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung
Projektmanagement Vorlesung von Thomas Patzelt 10. Vorlesung 1 Test...(4) Oberflächentests testen die Benutzerschnittstelle des Systems, nicht nur auf Fehlerfreiheit sondern z.b. auch auf Konformität mit
MehrDatenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware
Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO
MehrAgiles Testen. Gedankensammlung. 17. November 2013 - Patrick Koglin
Agiles Testen Gedankensammlung 17. November 2013 - Patrick Koglin Inhalt Reflektion: Agilität notwendig? Wo? Eigenschaften agiler Entwicklung Quality is everyone s responsibility Qualität möglich machen
MehrSoftwareentwicklungsprozess im Praktikum. 23. April 2015
Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit
MehrProgrammiertechnik II
Modultests Ziele Überprüfung der Korrektheit eines Moduls Korrektheit: Übereinstimmung mit (informaler) Spezifikation Modul: kleine testbare Einheit (Funktion, Klasse) Engl.: unit test White box testing
MehrTestphase. Das Testen
Testphase VIS Projekt Freie Universität Berlin N.Ardet - 17.4.2001 Das Testen Testen ist das Ausführen eines Software- (Teil)systems in einer definierten Umgebung und das Vergleichen der erzielten mit
MehrBasiswissen Softwaretest
Andreas Spillner Tilo Linz Basiswissen Softwaretest Aus- und Weiterbildung zum Certified Tester Foundation Level nach ISTQB-Standard 3., überarbeitete und aktualisierte Auflage I Technische l'^vrau«! D~w.-iE*arit
MehrAMS Alarm Management System
AMS Alarm Management System AMS ist das Alarm Management System für Mobotix Kamerasysteme. AMS ist speziell für die Verwendung in Einsatzzentralen bei Sicherheitsdiensten oder Werkschutzzentralen vorgesehen.
MehrProjektmanagement in der Spieleentwicklung
Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren
Mehretutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche
etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:
MehrSuche schlecht beschriftete Bilder mit Eigenen Abfragen
Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere
MehrSDD System Design Document
SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen
MehrTesten - Konzepte und Techniken
Testen - Konzepte und Techniken Magdalena Luniak 21.11.2007 Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 1 / 42 Übersicht 1 Motivation 2 Grundbegrie 3 Testen im Softwareentwicklungsprozess
MehrIst Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers
Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,
MehrBüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen
BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen Stand: 13.12.2010 Die BüroWARE SoftENGINE ist ab Version 5.42.000-060 in der Lage mit einem Microsoft Exchange Server ab Version 2007 SP1
MehrGrundlagen für den erfolgreichen Einstieg in das Business Process Management SHD Professional Service
Grundlagen für den erfolgreichen Einstieg in das Business Process Management SHD Professional Service Der BPM-Regelkreis Im Mittelpunkt dieser Übersicht steht die konkrete Vorgehensweise bei der Einführung
MehrDie vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante
ISO 9001:2015 Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante Prozesse. Die ISO 9001 wurde grundlegend überarbeitet und modernisiert. Die neue Fassung ist seit dem
MehrEinführung von Testautomatisierung reflektiert. Erkenntnisse eines Linienmanagers zu Herausforderungen und Fallgruben
Einführung von Testautomatisierung reflektiert Erkenntnisse eines Linienmanagers zu Herausforderungen und Fallgruben Matt Young Leiter Test Acquiring Inhaltsverzeichnis Einleitung Testautomatisierung PostFinance
MehrTesten von graphischen Benutzeroberflächen. 26. Juni 2013
Testen von graphischen Benutzeroberflächen 26. Juni 2013 Überblick Testarten Methoden-, Klassen-, Komponenten-, Systemtests Motivation für automatisches Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien
Mehrsm@rt-tan plus Flickerfeld bewegt sich nicht
Technischer Hintergrund Um die Verwendung des Verfahrens Sm@rt-TAN plus des neuen sicheren TAN- Verfahrens so komfortabel wie möglich zu gestalten, wurde eine Möglichkeit geschaffen, die Angaben einer
MehrINFOnline SZM-Checker Ergänzung zum Manual
INFOnline SZM-Checker Ergänzung zum Manual Aktivierung mobiler Geräte für Tests zur InApp- Befragungsfunktionalität INFOnline GmbH Forum Bonn Nord Brühler Str. 9 53119 Bonn Tel.: +49 (0) 228 / 410 29-0
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
MehrAgile Software Development
Dipl. Wirtsch. Ing. Alexander Werth Methoden der Softwareentwicklung 6-1 Agile Manifest Individuen und Interaktion statt Prozessen und Tools. Funktionierende Software statt umfangreicher Dokumentation.
MehrValidierung und Verifikation!
Martin Glinz Thomas Fritz Software Engineering Kapitel 7 Validierung und Verifikation 2005-2013 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen
MehrDie Softwareentwicklungsphasen!
Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.
Mehr1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)
Tipp: Aktionen (c) 2005 Thomas Stölting, Stand: 25.4. 2005 In Photoshop werden häufig immer wieder die gleichen Befehlssequenzen benötigt. Um sie nicht jedesmal manuell neu eingeben zu müssen, können diese
MehrDatenübernahme easyjob 3.0 zu easyjob 4.0
Datenübernahme easyjob 3.0 zu easyjob 4.0 Einführung...3 Systemanforderung easyjob 4.0...3 Vorgehensweise zur Umstellung zu easyjob 4.0...4 Installation easyjob 4.0 auf dem Server und Arbeitsstationen...4
MehrVector Software. Test Automation mit VectorCAST während der gesamten Softwareentwicklung W H I T E P A P E R
Vector Software W H I T E P A P E R Test Automation mit VectorCAST während der gesamten Softwareentwicklung VectorCAST Produktfamilie Die VectorCAST Produktfamilie automatisiert Testaktivitäten über den
MehrQualitätsmanagement im Projekt
Software-Engineering Qualitätsmanagement im Projekt Vorlesung im Wintersemester 2008/2009 Fakultät Wirtschaftsinformatik Klaus Mairon, M.Sc. Inhalte Messen und Bewerten: Metriken in der Qualitätssicherung
MehrFACHARTIKEL 2013 Software Programmierung, Testing und Implementierung zum Stichtag mithilfe von PERM-Domänen
FACHARTIKEL 2013 Software Programmierung, Testing und Implementierung zum Stichtag mithilfe von PERM-Domänen von Herbert Mittelbach Stichtage Von Herbert Mittelbach Stichtage haben stets eine besondere
MehrUnit Testing mit JUnit. Dr. Andreas Schroeder
Unit Testing mit JUnit Dr. Andreas Schroeder Überblick Was dieses Video behandelt Warum Testen? Was sind Unit Tests? Der Teufelskreis des Nicht-Testens JUnit Unit Test Vorteile Test-Inspiration Wann aufhören?
MehrSoftwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013
Softwarequalität: Zusammenfassung und Ausblick 17. Juli 2013 Überblick Rückblick: Qualitätskriterien Qualitätsmanagement Qualitätssicherungsmaßnahmen Thesen zur Softwarequalität Ausblick: Lehrveranstaltungen
MehrBei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.
Beschreibung der Focus Methode Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient. 1. F = Failure / Finding An dieser Stelle wird der
MehrGruppenrichtlinien und Softwareverteilung
Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden
MehrHilfe, mein SCRUM-Team ist nicht agil!
Hilfe, mein SCRUM-Team ist nicht agil! Einleitung: Laut unserer Erfahrung gibt es doch diverse unagile SCRUM-Teams in freier Wildbahn. Denn SCRUM ist zwar eine tolle Sache, macht aber nicht zwangsläufig
MehrEinführung und Motivation
Einführung und Motivation iks-thementag: Requirements Engineering 16.11.2010 Autor Carsten Schädel Motto Definiere oder Du wirst definiert. Seite 3 / 51 These Im Privatleben definiert jeder (seine) Anforderungen.
MehrTeststrategie festlegen und Teststufen aufeinander abstimmen
Testen Teststrategie festlegen und Teststufen aufeinander abstimmen Bereich Projektplanung und -steuerung Aktivität Projekt planen Ziele Effiziente Testausführung Vermeidung von doppelter Arbeit schnell
Mehr6. Programmentwicklung
6. Programmentwicklung Fertigungsprozess Qualitativ hochwertige Software ist ein Industrieprodukt -> Methoden der Industrie übertragen auf der Herstellprozess -> Herstellprozess gliedert sich in Phasen
MehrEasyWk DAS Schwimmwettkampfprogramm
EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage
MehrStuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.
StuPro-Seminar Dokumentation in der Software-Wartung StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung Folie 1/xx Software-Wartung: theoretisch Ausgangslage eigentlich simpel: fertige
MehrGEVITAS Farben-Reaktionstest
GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest Inhalt 1. Allgemeines... 1 2. Funktionsweise der Tests... 2 3. Die Ruhetaste und die Auslösetaste... 2 4. Starten der App Hauptmenü... 3 5. Auswahl
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
MehrTestmanagement. Q-Day. Frank Böhr Fraunhofer IESE frank.boehr@iese.fraunhofer.de
Frank Böhr Fraunhofer IESE frank.boehr@iese.fraunhofer.de Agenda Warum Testmanagement? Was sind die wichtigsten Schritte beim Testmanagement? Wie funktioniert Testmanagement Toolunterstützung Page 1/15
MehrInventur. Bemerkung. / Inventur
Inventur Die beliebige Aufteilung des Artikelstamms nach Artikeln, Lieferanten, Warengruppen, Lagerorten, etc. ermöglicht es Ihnen, Ihre Inventur in mehreren Abschnitten durchzuführen. Bemerkung Zwischen
MehrSANDBOXIE konfigurieren
SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:
MehrDokumentation zum Spielserver der Software Challenge
Dokumentation zum Spielserver der Software Challenge 10.08.2011 Inhaltsverzeichnis: Programmoberfläche... 2 Ein neues Spiel erstellen... 2 Spielfeldoberfläche... 4 Spielwiederholung laden... 5 Testdurchläufe...
MehrIn diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.
Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem
MehrTask: Nmap Skripte ausführen
Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses
MehrTypisierung des Replikationsplan Wirries, Denis Datenbankspezialist
Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Feintypisierung - Überblick Ergebnisse Ergebnisse aus aus anderen anderen Arbeitsergebnissen Arbeitsergebnissen Replikationsplan Replikationsplan
MehrAgile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg
Herzlich willkommen Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Heike Bickert Software-/Systemingenieurin, Bereich Quality Management Braunschweig // 17.11.2015 1 Agenda ICS AG Fragestellungen
MehrGründe für fehlende Vorsorgemaßnahmen gegen Krankheit
Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit politische Lage verlassen sich auf Familie persönliche, finanzielle Lage meinen, sich Vorsorge leisten zu können meinen, sie seien zu alt nicht mit
MehrProbeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16
Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrUnsere These: Meilensteindefinitionen sind wichtig für die Projektplanung und die Bewertung des Projektstatus.
Fachgruppe Projektmanagement im Mittelstand August 2015 Themen, die vor dem Projekt durchzuführen sind KNOW-HOW Unsere These: Meilensteindefinitionen sind wichtig für die Projektplanung und die Bewertung
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken
Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen
MehrWichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge
Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht
MehrAUF LETZTER SEITE DIESER ANLEITUNG!!!
BELEG DATENABGLEICH: Der Beleg-Datenabgleich wird innerhalb des geöffneten Steuerfalls über ELSTER-Belegdaten abgleichen gestartet. Es werden Ihnen alle verfügbaren Belege zum Steuerfall im ersten Bildschirm
MehrWarum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität
Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität Marcus Winteroll oose GmbH Agenda I. Ziele und Zusammenarbeit II. Was wir vom agilen Vorgehen lernen
MehrAgile Software Verteilung
Agile Software Verteilung Vortrag: René Steg Steg IT-Engineering, Zürich (Schweiz) Gründe für Agile Software-Verteilung Wenn Sie Hunderte von Servern mit vielen Anwendungen betreiben Verteilte Anwendungen
MehrTTS - TinyTimeSystem. Unterrichtsprojekt BIBI
TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen
MehrTevalo Handbuch v 1.1 vom 10.11.2011
Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche
Mehr40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.
40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass
MehrFehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems
Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems Name: Bruno Handler Funktion: Marketing/Vertrieb Organisation: AXAVIA Software GmbH Liebe Leserinnen und liebe Leser,
Mehr«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»
«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.» www.pse-solutions.ch ANTOINE DE SAINT-EXUPÉRY 1 PROJECT SYSTEM ENGINEERING
MehrAbamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER
Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit
MehrDer vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC.
Anleitung Konverter Letzte Aktualisierung dieses Dokumentes: 14.11.2013 Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Wichtiger Hinweis: Der Konverter
MehrMicrosoft SharePoint 2013 Designer
Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste
Mehr