how effectively prepare test bed
Herausforderungen und Best Practices für die Einrichtung des Prüfstands / der Testumgebung:
Bei mehreren Gelegenheiten stellen die Tester fest, dass ihre Fehler aus Umweltgründen zurückgewiesen werden, oder sie stellen fest, dass sie die Fehler aus ähnlichen Gründen ständig replizieren. Während das Öffnen der meisten Fehler sicherlich einer der persönlichen Maßstäbe für jeden Tester sein muss, müssen die meisten Tester auch darauf achten, die meisten gültigen Fehler zu haben.
Wie wird das erreicht?
Abgesehen von anderen Aspekten wie der Planung einer Vielzahl von Testszenarien und dem gründlichen Verständnis der Werbebuchung, a Es muss viel Zeit in die Einrichtung des Prüfstands oder der Prüfumgebung investiert werden . Zweitens müssen Tester trotz eines geschätzten Betrags für die Testfallplanung dies auch tun konzentrieren ihre Energien auf Erstellen effektiver Testdaten .
Als Teil des Prüfungsprozesses habe ich persönlich festgestellt, dass die meisten gültigen Mängel festgestellt werden, wenn ein erheblicher Aufwand in die ordnungsgemäße Erstellung des Prüfstands oder der Prüfumgebung investiert wurde und wenn der Prüfer über eine gründliche Prüfung verfügt Verständnis für die Art der benötigten Umgebung.
Außerdem kann die Art der an die Testumgebung gelieferten Testdaten einige sehr schwerwiegende Fehler im zu testenden Code / Merkmal aufweisen, die die Qualität des Produkts erheblich beeinträchtigen können.
In diesem Artikel wird erläutert, was genau der Prüfstand beinhaltet: Es handelt sich um einen zweistufigen Prozess zur Einrichtung der Testumgebung und der Testdaten:
Teil 1) Der frühere Teil des Artikels wird das diskutieren Allgemeiner Prozess der Einrichtung der Testumgebung Die am häufigsten auftretenden Einrichtungsprobleme bei Tests und Hinweisen, die bei der Erstellung eines Prüfstands anstelle dieser Herausforderungen zu berücksichtigen sind.
Teil 2) Nachdem wir in diesem Artikel so viel über den Prüfstand gesagt haben, hat es sich gelohnt, etwas Licht auf den Prüfstand zu werfen Wartung der Testumgebung Aspekte auch. Der letzte Teil des Artikels beschreibt den zweiten Teil des Prüfstandsaufbaus, der die Testdaten, den Ansatz zum Einrichten und einige effektive beinhaltet Testdatenverwaltungstechniken .
Angesichts des ständigen „Urknalls“ bei der Softwareentwicklung und beim Testen wird der Schwerpunkt zunehmend auf die Anwendung verschiedener Methoden gelegt, um den gesamten Qualitätssicherungsprozess transparent, effizient und angemessen zu gestalten.
Unternehmensübergreifend werden verschiedene Qualitätsprüfungen durchgeführt, um sicherzustellen, dass die Leistung des Testteams angemessen bewertet werden kann und messbare Ergebnisse mit den bei der Initialisierung des Testzyklus ermittelten Metriken erzielt werden. Diese Ergebnisse ermöglichen es zu identifizieren, wo ein bestimmtes Team steht, um eine optimale Qualität für die von ihnen getestete Software sicherzustellen.
Diese Berichte helfen dem Team auch dabei, die Verbesserungsmöglichkeiten anhand der während des Audits gemachten Beobachtungen zu verstehen.
Es ist unnötig zu erwähnen, dass eine sehr offensichtliche Metrik für jedes Testteam die Gesamtzahl der geöffneten Fehler im Vergleich zum ist Anzahl der gültigen Mängel . Daher ist eine der Fragen, die offensichtlich auftauchen: Was ist die Grundlage für den Versuch, einen Defekt zu entdecken? Anders ausgedrückt, auf welcher Grundlage kann ein Defekt gefunden werden?
Die Antwort ist einstimmig - Einrichtung des Prüfstands und / oder der Testumgebung. Innerhalb der Teams werden Qualitätsmaßstäbe gesetzt Reduzieren Sie die Mängel, die zurückgewiesen werden als Test-Setup-Fehler / Benutzerfehler, ungültige Konfigurationen oder in einigen Fällen die Fehler, die auftreten, wenn ein bestimmtes Team aufgrund nicht verfügbarer Konfigurationen oder nicht getesteter Konfigurationen entkommt.
Beginnen wir mit einem genaueren Blick auf die Definition eines Prüfstands oder einer Testumgebung.
Was du lernen wirst:
Was ist ein Prüfstand und eine Prüfumgebung?
In einem sehr allgemeinen Sinne könnte ein Prüfstand als eine Art Entwicklungsumgebung definiert werden, in der die Implementierer von Code oder Modulen die Freiheit haben, ihre Module ohne Störungen durch das Testteam in absoluter Beschränkung zu testen.
Ein Prüfstand ist jedoch nicht nur spezifisch für ein Entwicklungsteam. Aus Sicht eines Testteams oder eines Testers wird der Prüfstand, da er nichts anderes als eine Plattform ist, die für Software- / Produkttests identifiziert wurde, auch austauschbar als Testumgebung bezeichnet.
Jeder Prüfstand oder jede Testumgebung müsste so konfiguriert werden, dass das identifizierte Testziel für die zu testende Anwendung / das zu testende Produkt / die zu testende Software erreicht wird. In bestimmten Situationen ist ein Prüfstand die Zusammenstellung der Testumgebung und der Testdaten, mit denen er arbeitet.
Komponenten einer Testumgebung
Jeder Test hätte seine spezifischen Anforderungen an die Testumgebung, aber im weitesten Sinne besteht jede Testumgebung / Testumgebung aus der Hardware, Software und den Netzwerkelementen, um die erforderliche Konfiguration mindestens zu unterstützen, um den jeweiligen Test zu steuern und durchzuführen .
Es ist bekannt, dass ein angemessener Teil der Zeit eines Testers durch Umweltprobleme verbraucht wird, die sich wiederum auf die Produktivität und die Testpläne auswirken. Obwohl die Art der Herausforderungen für jedes Testteam unterschiedlich ist, können einige davon häufig sein.
Einige wichtige Herausforderungen, mit denen wir häufig konfrontiert sind, sind:
# 1) Remote-Umgebung
Die Testressourcen oder -umgebungen werden meist geografisch an Standorten platziert, die von den Teams entfernt sind. Dies ist eine der am häufigsten auftretenden Herausforderungen für Testteams, da Probleme im Zusammenhang mit Hardware, Firmware, Software, Netzwerken usw. auftreten können.
Die Teams, die die Assets verbrauchen, müssten sich stark auf die Support-Teams an dem Ort verlassen, an dem die Assets vorhanden sind.
In den gleichen Zeilen benötigt das Testteam möglicherweise die Unterstützung der Support-Teams, die Eigentümer der Umgebung sind, indem es Support-Tickets öffnet, wenn für ein Asset ein Firmware-Upgrade oder ein Build-Upgrade erforderlich ist. Dies kann auch zu erheblichen Testzeit- und Verzögerungsplänen führen, insbesondere bei Zeitzonenunterschieden.
# 2) Kombinierte Nutzung zwischen Teams
In den meisten Fällen verwenden Entwicklungs- und Testteams dieselben Umgebungsressourcen. Obwohl die allgemeine Norm definiert, dass Entwicklungs-, Test- und Produktionsumgebungen getrennt sein müssen, wird dieses ideale Szenario in Wirklichkeit sehr selten erreicht. Es wird für Unternehmen äußerst kostenunfreundlich, separate Ressourcen für jedes Team zu beschaffen.
Daher schreiben die meisten Organisationen die gemeinsame Nutzung der Umgebung zwischen Entwicklung und Test vor. Wenn die Entwicklungs- und Testressourcen gleichzeitig um die Verwendung derselben Assets kämpfen, führt dies zu Chaos und Meinungsverschiedenheiten innerhalb der Mitglieder.
# 3) Ineffektive Planung der Ressourcennutzung für die Integration
In einigen Fällen für Szenarien, in denen ein End-to-End-Tests Wenn zwei oder mehr Komponenten integriert werden, um zusammen zu funktionieren, kann es wiederum erforderlich sein, dass die Testteams die Ressourcen gemeinsam nutzen. Eine ineffektive Planung in Bezug auf die Nutzung trägt neben Konflikten zwischen Teams wesentlich dazu bei, dass die Umgebung instabil wird.
Der offensichtlichste Effekt davon ist, dass ein Problem, das ein- oder zweimal für ein bestimmtes Problem festgestellt wird, in den folgenden Läufen für dasselbe Szenario zu einem völlig anderen Verhalten führen kann. Wenn hierfür bereits ein Defekt geöffnet ist, besteht eine hohe Wahrscheinlichkeit, dass er von der Entwicklung nicht als gültiger Kandidat für eine Korrektur akzeptiert wird.
# 4) Komplexe Testkonfiguration
Die Konfiguration des Prüfstands oder der Testumgebung ist manchmal zu komplex. Dies stellt mehrere Herausforderungen dar, da das Testteam die erforderlichen Fähigkeiten benötigt, um die erforderlichen Konfigurationen zu verstehen. Manchmal fehlt dem Tester eine Wissensbasis, um die erforderliche Konfiguration zu finden.
In solchen Fällen können die Tester selbst einen Fehler im Prüfstand verursachen, indem sie ihn falsch konfigurieren. Dies würde den Testfall und die daraus resultierenden Ergebnisse stark beeinflussen.
# 5) Aufwändige Rüstzeit
In bestimmten anderen Zeiten kann der Testaufbau für jeden Testfall für jeden identifizierten Testfall viel zu aufwendig sein. Dies könnte auf eine Vielzahl von nebeneinander vorhandenen Technologien zurückzuführen sein, die miteinander gekoppelt werden müssen, oder auf mehrere Komponenten, um bei Integrationstests zusammenzuarbeiten.
In diesen Fällen muss jede der Komponenten einwandfrei funktionieren, um konsistente Ergebnisse zu gewährleisten, da eine Komponente eine Eingabe für die nächste bilden kann.
Best Practices zum Einrichten einer Testumgebung
Wir haben uns die allgemeinen Herausforderungen angesehen, mit denen ein Tester vor oder zu Beginn der Testausführung konfrontiert ist. Die meisten von uns hatten irgendwann während ihrer Projektmeilensteine eines oder mehrere dieser Probleme. Diese Herausforderungen haben bestanden und werden möglicherweise in unterschiedlichem Maße bestehen bleiben, da es keine idealistische Situation gibt.
Angesichts der Tatsache, dass Setup-Herausforderungen Teil der Arbeit eines Testers sind und unvermeidlich sind, finden Sie hier einige Vorschläge, wie Sie das Setup effektiv für das Testen vorbereiten können. Dies könnte dazu beitragen, die Fehler zu minimieren, die durch Einrichtungsprobleme entstehen können.
Tipp 1) Versteh das Testanforderungen gründlich und erziehe dich
wie man Zufallszahlen in c ++ zwischen 0 und 100 generiert
Beginnen Sie immer mit den Grundlagen und mit den offensichtlichsten! Wenn das Entwicklungsteam ein Spezifikationsdokument oder ein Anwendungsfalldokument bereitstellt, besteht der unveränderliche Schritt für das Testteam darin, die Anforderungen an die Werbebuchungen zu verstehen und anschließend ein Testfalldokument mit den Testfällen zu erstellen.
Während die Testplanung durchgeführt wird, ist es der beste Es ist üblich, auch die detaillierten Informationen zur Testumgebung in das Testfalldokument aufzunehmen. Keine Vermutungen darüber, dass der Tester dann einige Zeit damit verbringen wird, zu analysieren, welche Testumgebung erforderlich sein könnte und entsprechend die erforderlichen Konfigurationen.
Dies kann erreicht werden, indem mit dem Entwicklungsteam / den Architekten gesprochen wird, um eine gute Wissensbasis aufzubauen. Dies würde nicht nur Zeit im Ausführungszyklus sparen, sondern auch einem Tester helfen, seine Ausführungszeit effektiv auf einfache und komplexe Tests zu verteilen.
Persönlich ist ein gutes Ergebnis davon, dass viele von uns zu Beginn des Zyklus Setup-Probleme entdeckt haben (die von Natur aus eine konsistente Testausführung verhindern würden), was uns Zeit gab, die erforderliche Hilfe zu kanalisieren und zu beschaffen, um diese Probleme zu beheben - also den Testzyklus nicht über nicht akzeptable Zeiträume hinaus verlängern.
Eine weitere positive Auswirkung wäre, dass dies das Wissen des Testteams erheblich verbessern und unnötige Fehler vermeiden würde. Obwohl diese Vorgehensweise fast alle Vorgehensweisen zusammenfasst, die von Natur aus erforderlich sind, um die oben genannten Herausforderungen beim Testaufbau zu bewältigen, lohnt es sich dennoch, die anderen Tipps zu erwähnen.
Tipp 2) Überprüfen der Konnektivität
Ein weiterer wichtiger Kontrollpunkt besteht darin, sicherzustellen, dass die Ressourcen oder Assets, die Sie zum Testen verwenden möchten, erreichbar sind. Wenn das System in andere Computer integriert ausgeführt werden muss, überprüfen Sie deren Konnektivität unter Verwendung von Ping oder Telnet.
Wenn die Systeme miteinander interagieren müssen und sich hinter Firewalls befinden, stellen Sie sicher, dass sie sich über diese Firewalls mithilfe der BSO (Basic Security Options) authentifizieren können, und suchen Sie auch nach Proxys. Falls Sie feststellen, dass einige Computer nicht erreichbar sind oder eine BSO-Authentifizierung benötigen, können entsprechende Serviceanfragen gestellt werden, um die Anforderungen an das Support-Team zu erfüllen.
Dies ist besonders nützlich, wenn sich die Umgebung an entfernten Standorten befindet, und vermeidet auch Eskalationen in Bezug auf die Maschinen und Systeme. Falls das Testteam Zugriff auf eine Ressource oder ein Repository benötigt, kann dies dazu beitragen, diese proaktiv zu ermitteln.
Tipp 3)Überprüfen des Netzwerks und / oder des Speichers
Dies ist fast eine Erweiterung des vorherigen Tippes und würde eine gewisse weitere Überprüfung mit größerer technischer Tiefe erfordern. Stellen Sie sicher, dass die von Ihnen benötigten Tests über die erforderliche Bandbreite verfügen und dass für Ihre Tests eine Internetverbindung erforderlich ist. Stellen Sie außerdem sicher, dass Sie eine Möglichkeit finden, um zu überprüfen, ob die Netzwerktopologie zwischen Systemen und Ressourcen korrekt ist.
Zweitens, wenn Ihr Testziel die Notwendigkeit eines Speichers impliziert, stellen Sie sicher, dass Speicher und Netzwerkkonnektivität vorhanden sind. Meistens liegt es in der Verantwortung des Administrators, dies zu tun. Es ist jedoch auch ein großer Mehrwert, über funktionierende und funktionale Kenntnisse zu verfügen.
Tipp 4) Überprüfen Sie die erforderliche Hardware und Software sowie die Lizenzen
Oft kommt es vor, dass Tester mit der Ausführung auf den Systemen beginnen, ohne die erforderliche Hardware und Software zu überprüfen, die möglicherweise erforderlich ist. Infolgedessen stellt ein Tester fast während des Testzyklus fest, dass bestimmte Funktionen nur auf einer höheren Ebene von Hardware oder Software / Firmware verfügbar sind.
Zu diesem Zeitpunkt wird der Tester einen Blocker in seiner Testbemühung markieren, was eine beträchtliche Testzeit in Anspruch nimmt. Daher ist es von unschätzbarem Wert, einen Kontrollpunkt zu haben, um die zuvor benötigte Hardware und Software zu notieren.
Oft kann es zu Ausfallzeiten beim Upgrade der Hardware / Software kommen, auf die alles hinausläuft Tipp 1 wo ein Tester an einer proaktiven Planung in Bezug auf die Hardware beteiligt sein muss. Für einige der Software sind möglicherweise Lizenzen erforderlich, für die möglicherweise Genehmigungen und Maßnahmen des Rechtsteams erforderlich sind. Da dies eine prozessgesteuerte Aktion ist, kann es wieder einige Tage dauern, bis sie erfüllt ist, was geplant werden muss.
Tipp 5)Browser und Versionen
Die Tests, die Sie durchführen, müssen spiegeln was ein Endbenutzer ausführen wird . Er könnte in einem bestimmten Browser die neuesten Versionen aller Browser testen. Daher ist es obligatorisch, die verschiedenen Arten von Browsern zu identifizieren, die zum Testen verwendet werden sollen, und sie in Ihrem eigenen lokalen Test-Setup zu installieren.
Zweitens: Identifizieren Sie auch, welche Browserversionen zum Testen verwendet werden müssen. Eine gute Vorgehensweise wäre, mit einem Browser der niedrigeren Version zu beginnen, um die Abwärtskompatibilität sicherzustellen und dann auf die neueste Version zu aktualisieren.
Tipp 6)Planen Sie die Verwendung der Testumgebung.
Angesichts der Tatsache, dass das Testteam niemals über eigene Testressourcen, -systeme und -ressourcen verfügen wird, ist dies einer der wichtigsten Meilensteine in der Testplanung, um Testressourcen effektiv zu nutzen.
Was ist in C ++ behauptet
Dies ist insbesondere dann erforderlich, wenn mehr als ein Team auf denselben Ressourcensatz zugreifen muss, entweder aufgrund eines End-to-End-Szenarios, das aus zwei oder mehr zusammenarbeitenden Komponenten besteht, oder aufgrund einer Situation, in der der Testaufbau zu aufwendig oder komplex ist, um repliziert zu werden sehr einfach und es könnten mehrere Mitglieder innerhalb desselben Teams sein, die ihre testeigenen Ziele mit demselben Setup haben.
Eine gute Praxis wäre es, einen Time-Sharing-Ansatz auszuarbeiten, bei dem ein bestimmtes Team oder eine bestimmte Person ihn für die frühere Hälfte und die verbleibenden Personen für die zweite Hälfte verwendet. Es kann irgendwann dazwischen vorkommen, dass jeder von ihnen unabhängige Tests durchführen kann, die den anderen nicht behindern.
Auf diese Weise werden nicht nur das Chaos und die Konflikte innerhalb der Mitglieder verringert, sondern auch die Verhaltensstabilität der Umgebung für eine längere Dauer sichergestellt.
Tipp 7)Automatisierungstools und ihre Konfigurationen
Wie wir wissen, werden für jede zu testende Werbebuchung einige sich wiederholende Tests durchgeführt, die Teil des Regressionszyklus sind und automatisiert werden müssen. Das Testteam muss ermitteln, welche Art von Automatisierung es durchführen möchte und welche Tools dafür erforderlich sind.
Obwohl dies nicht unbedingt Teil der Umgebungsvorbereitung sein muss, würde ich dies dennoch als bewährte Methode auflisten, damit die Automatisierungstools entsprechend identifiziert und konfiguriert werden. Dies würde vollständig vom Ermessen des Testers abhängen, wenn er diese Aktivität ausführen möchte, da dies kein obligatorischer Faktor ist, um die Testbereitschaft sicherzustellen.
Fazit
Diese Tipps und Tricks können einen guten Maßstab und Fußabdruck bilden, um die Testbereitschaft der Testumgebung sicherzustellen. Zweifellos steht jedes Team vor seinen eigenen Herausforderungen, und die oben genannten Tipps können an die jeweiligen Bedürfnisse angepasst und angepasst werden.
Tatsächlich stammt die Quelle für das Aufschreiben dieses ganzen Skeletts von Tipps aus einer meiner Aufgaben, bei denen ich mit äußerst komplexen Einrichtungsproblemen konfrontiert war und fast ein Jahr brauchte, um überhaupt mit dem Testen zu beginnen!
Obwohl die Einschränkungen in der Testumgebung außerhalb meiner Kontrolle lagen, hatte ich das Gefühl, dass viele dieser Probleme früher hätten gemeldet werden können, wenn ich diese Tipps angewendet hätte. Ich habe es seitdem für jede Aufgabe angewendet, die mir in den Weg kommt, und dieses Skelett hat mir sehr geholfen, Setup-Probleme proaktiv zu finden und meine Bemühungen zu kanalisieren, um sie zu lösen.
Über den Autor: Dieser Artikel wurde von Sneha Nadig geschrieben. Sie arbeitet als Testleiterin mit über 7 Jahren Erfahrung in manuellen und automatisierten Testprojekten.
In Teil 2 dieses Artikels finden Sie Tipps zum Einrichten und Warten der Testumgebung sowie Tipps zur Vorbereitung und Verwaltung von Testdaten. In der Zwischenzeit können Sie Ihre Fragen zur Vorbereitung des Prüfstands gerne in Kommentaren veröffentlichen.
Literatur-Empfehlungen
- So führen Sie Tests nach der Veröffentlichung effektiv durch und minimieren die Auswirkungen der Veröffentlichung auf Live-Clients
- Wie entscheiden Sie, welche Fehler für die Inbetriebnahme der Software akzeptabel sind?
- So bereiten Sie eine herausragende QA-Testpräsentation vor und liefern sie an das Team
- Fehlermanagementprozess: So verwalten Sie einen Fehler effektiv
- 9 beste Ideen für Tester, um ihre Bankzeit effektiv zu nutzen
- Führung beim Testen - Verantwortlichkeiten des Testleiters und effektives Management des Testteams
- So planen und verwalten Sie Testprojekte effektiv (Tipps)
- Fehler-Triage-Prozess und Möglichkeiten zur Behandlung von Fehler-Triage-Besprechungen