Einführung
Die Arbeit eines Lösungsarchitekten wird fortgesetzt, nachdem das System entworfen wurde. Ihre nächste Aufgabe besteht darin, sicherzustellen, dass das System von echten Benutzern bereitgestellt und verwendet wird.
Rolle des Lösungsarchitekten beim Testen und Liveschaltungsprozess
In der Regel ist der Lösungsarchitekt eine von den Personen, die am besten wissen, wie die Lösung funktioniert, und das Testteam beim Testen unterstützen können.
Der Lösungsarchitekt spielt eine Schlüsselrolle beim Testen und sollte:
- Bis zum Ende der Tests dabei bleiben, um den Erfolg sicherzustellen.
- Das Testteam über die Lösungsarchitektur informieren, um sicherzustellen, dass alle Komponenten und Integrationen angemessen getestet werden.
- Komplexe Probleme selektieren, die beim Testen, bei Trockenläufen und nach der Inbetriebnahme auftreten.
- Beteiligen Sie sich mit dem Liveschaltungs-Team an der Planung und Umsetzung der Strategie zur Liveschaltung.
Übersicht über das Testen
Richtige Tests sind wichtig, um den Erfolg des Projekts sicherzustellen.
Hinweis
Das Testen muss von der ersten Komponente, die erstellt wird, bis zur Inbetriebnahme fortlaufend durchgeführt werden. Es sollte keine einmalige, große Übung sein.
Testen beinhaltet mehr als das Zuordnen von Anforderungen zu Funktionen. Obwohl es wichtig ist, diese Testtypen zu erstellen und zu implementieren, sollten noch weitere Aspekte einer Lösung getestet werden. Unabhängig von der zu testenden spezifischen Metrik ist der Prozess ähnlich.
Der Testprozess umfasst die folgenden Schritte:
Planen – Überprüfen Sie die allgemeine Teststrategie, entwickeln Sie den Testplan und führen Sie die erforderlichen Analysen für Basismetriken durch. Identifizieren Sie wichtige Geschäftsszenarien, die innerhalb und außerhalb des Geltungsbereichs liegen. Dokumentieren Sie die Anforderungen, wenn dieser Schritt noch nicht abgeschlossen wurde.
Vorbereiten – Richten Sie die erforderlichen Umgebungen, Leistungstests, Benutzerakzeptanztests usw. ein. Überprüfen Sie die für die Migration erhaltenen Daten vor und nach dem Migrationstest. Überprüfen Sie die Systemanforderungen auf hoher Ebene und entwickeln Sie dann die erforderlichen Skripte.
Ausführen – Führen Sie Testskripte aus, analysieren Sie die Ergebnisse, identifizieren Sie mögliche Engpässe und überprüfen Sie anschließend Fehler und Verhaltensweisen.
Berichten – Bereiten Sie eine detaillierte Bewertung des Berichtsplans, der Ergebnisse und des Aktionsplans vor.
Testtypen
Der Lösungsarchitekt sollte Teil der Diskussion über die Menge und Art der Tests sein, die für ein Projekt erforderlich sind.
Gängige Testtypen in Microsoft Power Platform umfassen:
Einheitentests – Werden vom App-Builder, Business Analyst, Functional Consultant oder Entwickler durchgeführt.
Funktionstests – Stellen Sie sicher, dass die Implementierung den Anforderungen entspricht.
Akzeptanztests – Wird von Benutzern durchgeführt, um eine formelle Genehmigung zu erteilen.
Regressionstests – Testen nicht geänderte Funktionen für die Regression und werden normalerweise bei jeder Systemaktualisierung durchgeführt.
Integrationstests – Bestätigen, dass alles zusammenarbeitet, einschließlich integrierter Dienste und Daten aus anderen Quellen. Ziel ist es, dass alle integrierten Systeme harmonisch funktionieren.
Leistungstests – Bestätigt, dass die App mit der erwarteten Spitzenlast und dem maximalen Transaktionsvolumen überprüft und in der Regel automatisiert und vor der Inbetriebnahme ausgeführt.
Migrationstests – Lädt die Datenmigration hoch, um die Datenqualität sicherzustellen. Diese Tests werden in enger Absprache mit fachlichen Ansprechpartnern durchgeführt, die die Kundendaten kennen. Diese Experten sollten mit dem Datenübergang und der Datentransformation vertraut sein und bestätigen können, dass die migrierten Daten im richtigen Kontext gültig sind.
Notfallwiederherstellungstests – Überprüft, ob die Notfallwiederherstellungspläne funktionieren; ein Notfallwiederherstellungsplan ist nutzlos, wenn er nicht funktioniert.
Liveschaltungstests – Testläufe der vollständigen Lösung und des Liveschaltungsprozesses. Diese Tests werden normalerweise vor der Inbetriebnahme durchgeführt.
Es sind nicht alle Arten von Tests erforderlich. Dies hängt von der Größe und dem Umfang des Projekts ab.
Einheitentests
Mithilfe eines Einheitentests können Sie überprüfen, ob eine bestimmte Funktion oder eine Funktion Ihrer App ordnungsgemäß funktioniert. In der Regel führen App-Hersteller und ‑Entwickler Einheitentests durch. Jedes Teammitglied sollte vor der Übergabe seine eigene Arbeit überprüfen.
Einheitentests werden empfohlen, sind aber nicht erforderlich. Wenn Sie anfangen oder wenn die Codemenge in Ihrer Lösung relativ gering ist, stellen Sie möglicherweise fest, dass Sie mehr Zeit mit dem Schreiben von Tests verbringen als mit dem Erstellen der in Ihrer Lösung enthaltenen Funktionen. Die Vorteile von Einheitentests beginnen sich zu ergeben, wenn Ihre Lösung größer und komplexer wird, insbesondere bei der serverseitigen Entwicklung, bei der Sie erhebliche Vorteile beim lokalen Debuggen sehen können, wenn Sie Schein‑ oder falsche Daten mit einem Testframework verwenden.
Manuelle Tests können mit allen Apps, Geschäftsregeln und Plug-Ins durchgeführt werden. Einige Tests können mithilfe von Microsoft Power Apps Studio und Visual Studio automatisiert werden. Ein beliebtes Einheitentestframework für die serverseitige Entwicklung ist Fake Xrm Easy.
Der Lösungsarchitekt sollte entscheiden, welche Tools für Einheitentests verwendet werden und welcher Automatisierungsgrad verwendet werdet wird.
Integrationstests
Der Lösungsarchitekt muss dem Testteam dabei helfen, zu verstehen, wie die integrierten Komponenten getestet werden.
Ein Vorteil von Microsoft Power Platform ist seine starke Integrationsfähigkeit. Integration ist einer der wichtigsten Aspekte für die ordnungsgemäße Funktion der Implementierung von Geschäftsprozessen, weil sie sicherstellt, dass die Implementierung richtig funktioniert und einen starken Einfluss auf die allgemeine Akzeptanz hat.
Der Lösungsarchitekt und Debitor sollte die Testszenarien, die die Integration in andere Branchenanwendungen umfassen, überprüfen, um sicherzustellen, dass End-to-End-Testszenarien erstellt werden. Diese Überprüfung erfordert wahrscheinlich, dass der Debitor plant, Testumgebungen für seine anderen Anwendungen zu haben.
Jede Integration verfügt wahrscheinlich über ihren eigenen Testansatz und muss vorher definiert werden. Das Testteam sollte frühzeitig einbezogen werden, um festzulegen, wie einzelne Integrationsszenarien getestet werden. Die Teams müssen sicherstellen, dass die erforderlichen Integrationen so konfiguriert werden können, dass sie das Testen unterstützen.
Ein wichtiger Aspekt der Integrationstests sollte sich auf den Datenfluss in die und aus der Integration konzentrieren. Ein Großteil der Beschreibung im Abschnitt der Datenüberprüfungstests kann sich auch auf die Daten beziehen, die an Integrationen beteiligt sind.
Da Integrationstests andere Systeme umfassen können, müssen Sie darauf achten, dass Testumgebungen für alle Komponenten verwendet werden. Sie möchten nicht, dass Integrationstests mit Livesystem kommunizieren, das versehentlich Produktionsdaten verändert. Manchmal bedeutet dies, dass die Testszenarien Konfigurationsoptionen in der Anwendungsintegration steuern, um sie testbar zu machen. Dank der Möglichkeit, Integrationen zu deaktivieren, können Sie Tests durchführen, ohne die Integration aufzurufen.
Der Prozess des Aufbaus von Integrationen ist jetzt leichter zugänglich und daher für eine größere Anzahl von Personen in Projektteams einfacher zu nutzen. Oft werden Integrationen in Canvas-Apps von Power Apps oder Microsoft Power Automate-Flows ausgeblendet. Diese versteckten Integrationen bleiben oft unbemerkt, da die Anwendung einfach einen Oberflächenkonnektor einer anderen Quelle verwendet. Der Plan sollte diese wie jede andere Integration berücksichtigen und diese entsprechend testen.
Benutzerakzeptanztests
Benutzerakzeptanztests (UAT) werden von Endbenutzern durchgeführt, um eine formelle Genehmigung zu erteilen. Außerdem testen sie die Benutzerfreundlichkeit des Systems. Akzeptanztests werden in der Regel als letzte Überprüfung vor der Einführung der Funktionen durchgeführt. Dieser Test soll sicherstellen, dass das, was von den Herstellern erstellt wurde, den Anforderungen entspricht, die ursprünglich vom Benutzer angefordert wurden.
Tipps für gute Ergebnisse mit UAT:
- Testen Sie mit echten Benutzern.
- Wählen Sie Benutzer mit unterschiedlichen IT-Kenntnissen aus. So können Sie verschiedene Rückmeldungen erhalten.
- Geben Sie dem Benutzer keine Anweisungen. Sehen Sie, ob sie die App intuitiv verstehen können.
- Beobachten Sie, wie die Benutzer ohne Unterstützung in der App navigieren, und bestimmen Sie dann, wo Sie das Design verbessern können.
- Wenn der Benutzer auf einem Bildschirm festsitzt, bitten Sie ihn, seine Erwartungen zu erläutern.
- Experimentieren Sie mit verschiedenen Geräten, um sicherzustellen, dass sich die Testfälle ähnlich verhalten.
- Testen Sie die App im Idealfall in der tatsächlichen Umgebung oder am tatsächlichen Standort des Benutzers, wenn die App Offline-Funktionen verwendet.
- Bitten Sie Ihre Benutzer, zu versuchen, Ihre App zu „beschädigen“, indem Sie beispielsweise ungewöhnliche Zeichen in Textspalten eingeben.
- Benutzer testen normalerweise den „Happy Path“ (den Pfad, den ein Benutzer nimmt, wenn alles perfekt läuft). Bitten Sie sie, auch Szenarien zu testen, z. B. eine Spesenabrechnung zu stornieren, anstatt sie einzureichen, oder eine Spesenabrechnung abzulehnen, anstatt sie zu genehmigen.
Benutzer sind möglicherweise nicht mit Testsoftware vertraut. Informieren Sie sie darüber, nach welcher Art von Feedback Sie suchen. Es ist oft hilfreich, eine Vorlage für Fehler bereitzustellen, um sicherzustellen, dass die Tester genau erklären, was sie getan haben, was passiert ist und was sie erwartet haben, sowie relevante Informationen über ihre Testumgebung (wie Gerätetyp und Browser) bereitstellen.
Der Lösungsarchitekt muss bei der Suche nach Problemen helfen, die von den Benutzern während des Tests aufgeworfen werden.
Sicherheitstests
Sicherheitstests sind wichtig, um die Sicherheit der Anwendung sowie die Übereinstimmung mit den behördlichen Anforderungen zu gewährleisten. Diese Tests sollte eine Sicherheitsrisikobewertung umfassen, damit die Anwendung sicher ist. Es sollte auch Tests aus dem Sicherheitskontext verschiedener Benutzertypen umfassen, sodass ein angemessenes Maß an Daten und Funktionen verfügbar ist.
Sicherheitstests sollten sich auch mit dem Sicherheitsmodell in der Anwendung befassen, um Zugriff auf Daten und Funktionen zu erhalten. Das Testen sollte Szenarien mit unterschiedlichen Benutzern und unterschiedlichen Rollen und Zugriffsmerkmalen enthalten, um sicherzustellen, dass das Sicherheitsmodell funktioniert. Durch das Testen des Sicherheitsmodells sollte sichergestellt werden, dass weder zu viele noch zu wenige Freigaben erfolgen. Eine Möglichkeit, sich dem Testen von Sicherheitsmodellen zu nähern, besteht darin, für jeden wichtigen Rollensatz ein dediziertes Testbenutzerkonto zu erstellen.
Der Lösungsarchitekt sollte dabei helfen, die Stufe der durchzuführenden Sicherheitstests zu definieren.