Softwarearchitektur und ihre Zielumgebungen untersuchen
Zweck:
|
Eine Vorstellung von der Softwarearchitektur und ihrer Beziehung zu den Ziel-Deployment-Umgebungen
bekommen.
|
Um diese Aufgabe im richtigen Kontext ausführen zu können, ist es wichtig, sich mit der zu entwickelnden Software,
ihrer Architektur und den wichtigsten Mechanismen und Merkmalen, die sie unterstützt, vertraut zu machen. Gehen Sie die
verfügbare Dokumentation für die Softwarearchitektur, um erste Informationen zu bekommen. Ergänzen Sie das nach Bedarf
durch Interviews oder Diskussionen mit dem Softwarearchitekten. Berücksichtigen Sie die Auswirkungen, die die einzelnen
Ziel-Deployment-Umgebungen auf diese Informationen haben können, und dokumentieren Sie alle Ergebnisse, die für den
Test relevant sein können.
|
Geeignete Mechanismen für Test identifizieren
Zweck:
|
Die potenziellen Testmechanismen, die für den Testansatz erforderlich sind, identifizieren.
|
Untersuchen Sie mit Ihrer Kenntnis der Softwarearchitektur und ihrer Zielumgebungen die im Testansatz bereitgestellten
Informationen. Berücksichtigen Sie die wichtigen technischen Aspekte des Ansatzes und erstellen Sie eine Liste der
geeigneten Mechanismen, die zu seiner Unterstützung erforderlich sind. Es folgt eine Liste allgemeiner Mechanismen, die
Sie als Kandidaten betrachten können: Persistenz, Parallelität, Verteilung, Kommunikation, Sicherheit,
Transaktionsverwaltung, Wiederherstellung, Fehlererkennung und -meldung sowie Prozesssteuerung und Synchronisation.
Beachten Sie, dass diese Mechanismen oft auf manuelle und automatische Tests angewendet werden können, obwohl ein
bestimmter Mechanismus mehr oder weniger relevant für manuelle oder automatische Tests sein kann. Beachten Sie
außerdem, dass die Merkmale der implementierten Lösung normalerweise voneinander abweichen, selbst bei einem
Mechanismus, der für manuelle und automatische Tests erforderlich ist.
|
Bestand vorhandener Testmechanismen erfassen
Zweck:
|
Gelegenheiten zur Wiederverwendung vorhandener Implementierungen für die geeigneten Mechanismen
identifizieren und zusätzliche zu entwickelnde Implementierungen identifizieren.
|
Prüfen Sie die verfügbaren Testtools und vorhandenen Testimplementierungen, und erstellen Sie einen Bestand von
Mechanismen mit einer oder mehreren vorhandenen Lösungen. Dieser Schritt ist zwar hinsichtlich des automatischen Tests
offensichtlich wichtiger, es gibt jedoch einige äquivalente Überlegungen für den manuellen Test.
Unterthemen:
Kompilieren Sie zunächst eine Liste der Tools, die Ihnen zur Verfügung stehen oder die Sie erwerben möchten. Bedenken
Sie, dass Automatisierungstools viele Erscheinungsformen haben und dass Ihre Liste normalerweise mehr als die
Implementierungs- und Ausführungstools für automatische Tests enthält. Untersuchen Sie für jedes Tool die vom Tool
bereitgestellten Mechanismen. Stellt das Scripting-Tool, das Sie verwenden möchten, z. B. seinen eigenen Mechanismus
für Datenpersistenz bereit und, falls ja, ist es für Ihre Bedürfnisse geeignet oder muss es ergänzt werden? Eine andere
Frage kann sein, ob das Ausführungstool die parallele Ausführung von Testscripts auf mehreren Hostclientmaschinen
zulässt. Lässt das Ausführungstool die Verteilung von Scripts von einer zentralen Master-Maschine auf mehrere
Hostclientmaschinen zu?
Wenn vorhandene Implementierungen verfügbar sind, gibt es zusätzliche Mechanismen, die in den Bestand aufgenommen
werden müssen. Einige Aspekte dieser Implementierungen erweitern oder ergänzen die Basismechanismen, die von den Tools
bereitgestellt werden, um ihre Effizienz zu erhöhen. Andere Aspekte bieten Implementierungen für zusätzliche
Mechanismen an, die nicht im Basistool bereitgestellt werden.
Auf einer grundlegenden Ebene beinhaltet das die Überprüfung der Testrichtlinien, die es für Testimplementierung und
-ausführung gibt. Bei Problemen wie der Parallelität oder der Verteilung sollten Sie nach vorhandenen Prozesslösungen
suchen. Wie können Tester Datenbestände, insbesondere vorhandene, gemeinsam nutzen, ohne sich gegenteilig zu stören?
Mit welchen Lösungen können verteilt arbeitende Testteams die verschiedenen Testvorgänge koordinieren?
|
Zu verwendende Testmechanismen definieren
Zweck:
|
Die Entscheidungen, die bezüglich der erforderlichen Testmechanismen getroffen wurden, mitteilen.
|
Jetzt, da die Entscheidungen zu den Zieltestelementen getroffen sind, müssen Sie Ihre Auswahl dem Testteam und anderen
Stakeholdern des Tests mitteilen. Es wird empfohlen, die Entscheidungen über die Testmechanismen, die für die
Testautomatisierung erforderlich sind, als Teil der Dokumentation zur Architektur der Testautomatisierung zu
dokumentieren sowie die Entscheidungen, die sich auf manuelle Tests beziehen, als Teil der Testrichtlinien zu
dokumentieren.
Alternativ zur formalen Dokumentation können Sie diese Informationen einfach als informelle Notizen zur Architektur und
zum Prozess, begleitet von ein paar erklärenden Diagrammen, aufzeichnen, vielleicht auf einem Whiteboard. Während der
Testimplementierung und -ausführung verwenden einzelne Tester diese Informationen, um taktische Entscheidungen zu
treffen.
Wenn Sie die potenzielle Anforderung hinsichtlich spezieller Testschnittstellen, die in die zu entwickelnde Software
integriert werden sollen, identifiziert haben, sollten Sie diese Anforderung durch Erstellung oder Aktualisierung eines
Entwurfs der Testumgebungskonfiguration (oder mehrerer Entwürfe) aufzeichnen. Der Entwurf sollte einen Namen und eine
kurze Beschreibung enthalten und die Hauptvoraussetzungen oder -merkmale der Testschnittstelle aufzählen. Sie sollten
nicht viel Zeit für diese Entwürfe aufwenden. Die Liste der Voraussetzungen und Merkmale wird später in der Aufgabe Testfähigkeitselemente definieren detailliert beschrieben.
|
Ergebnisse bewerten und prüfen
Zweck:
|
Überprüfen, ob die Aufgabe ordnungsgemäß ausgeführt wurde und die resultierenden Arbeitsergebnisse
annehmbar sind.
|
Wenn Sie Ihre Arbeit beendet haben, kann es vorteilhaft sein zu prüfen, ob diese Arbeit hinreichend nutzbringend oder
eine reine Papierverschwendung war. Sie sollten bewerten, ob die Qualität Ihrer Arbeit angemessen ist und ob der Umfang
der Arbeit ausreicht, um eine Hilfestellung für die Teammitglieder zu bieten, die sie als Arbeitsvorgabe verwenden
sollen. Verwenden Sie nach Möglichkeit die RUP-Prüflisten, um zu überprüfen, ob Qualität und Umfang "gut genug" sind.
Legen Sie den Personen, die nachgeordnete Aufgaben ausführen müssen und auf Ihre Arbeitsvorgaben angewiesen sind, einen
Zwischenstand Ihrer Arbeiten zur Prüfung vor. Wählen Sie dafür einen Zeitpunkt, der eine Einbeziehung von
Änderungswünschen oder die Berücksichtigung von Problemstellungen zulässt. Bewerten Sie Ihre Arbeit auch anhand der
Arbeitsergebnisse, die für Sie die wichtigsten Vorgaben waren, um sicherzugehen, dass Sie diese präzise und ausreichend
dargestellt haben. Vielleicht lassen Sie Ihre Arbeit ja dahingehend vom Autor dieser Arbeitsergebnisse prüfen.
Vergessen Sie nicht, dass RUP ein iterativer Bereitstellungsprozess ist und dass sich in vielen Fällen
Arbeitsergebnisse über einen längeren Zeitraum entwickeln. Es ist daher in der Regel nicht nötig und manchmal sogar
kontraproduktiv, ein Arbeitsergebnis, das für die unmittelbar folgenden Arbeiten nur teilweise oder gar nicht benötigt
wird, bereits vollständig und abschließend zu definieren. Es ist sehr wahrscheinlich, dass die umgebende Situation für
das Arbeitsergebnis sich noch ändern wird und die bei Erzeugung des Arbeitsergebnisses gültigen Annahmen sich als
fehlerhaft erweisen, so dass eine abschließende Gestaltung des Arbeitsergebnisses einen unnötigen Arbeitsaufwand und
teures Nacharbeiten bedeuten würde. Sie sollten auch nicht zu viel Zeit auf die Darstellung verwenden, sondern sich
eher auf den Inhalt konzentrieren. In Projektumgebungen, bei denen die Präsentation wichtig ist und als
Projektliefergegenstand einen wirtschaftlichen Wert hat, könnten Sie für die Darstellungsaufgaben eine administrative
Ressource nutzen.
|
|