Was sollte der Tester in einem sehr kleinen Team tun, in dem der Black-Box- und der White-Box-Test von derselben Person durchgeführt werden?
Was sollte der Tester in einem sehr kleinen Team tun, in dem der Black-Box- und der White-Box-Test von derselben Person durchgeführt werden?
Antworten:
Was auch immer richtig sein muss.
Im Ernst, White-Box-Tests (dh das Testen der Code-Interna) sollten idealerweise mit Unit-Tests des Entwicklers durchgeführt werden, der den Code geschrieben hat. Unit-Tests würden im Laufe der Zeit erstellt und Teil des Erstellungsprozesses, damit wir die Zeit des schlechten Testers nicht mit Code verschwenden, von dem wir wissen, dass er nicht so funktioniert, wie er sollte. Unit-Tests werden umso wichtiger, je kleiner Ihr Team ist - vor allem, weil Sie keine Armee von Testern haben, um Probleme auszuräumen.
Black-Box-Tests (dh Tests über die Benutzer- / Systemschnittstelle) werden in der Regel von den meisten Testern durchgeführt.
Alle Tests müssen priorisiert werden, um festzustellen, wie wichtig eine Funktion für das fertige Produkt ist. Wenn die Mission darin besteht, ein Tool für X bereitzustellen und das Produkt nicht für X, dann ist das ein großes Problem.
Black-Box-Tests zur Überprüfung der Funktionen. White-Box-Test bei Bedarf, wenn Dinge kaputt sind. Wenn alle Black-Box-Tests bestanden wurden und die Abdeckung gut ist, sind keine White-Box-Tests erforderlich.
Schwarze Box.
White-Box-Komponenten sind in der Regel von Black-Box-Komponenten abhängig. Daher möchte ich zuerst die Black-Box testen und dann mit der White-Box fortfahren.
Sie führen als Programmierer / Entwickler zunächst Weißtests durch, um sicherzustellen, dass die Dinge gut funktionieren. Dann führen Sie Black-Box-Tests durch, bei denen Sie normalerweise versuchen, so zu denken, als wären Sie der Endbenutzer, ohne an die interne Struktur des Programms zu denken. Manchmal müssen Sie wie ein Programmierer / Entwickler denken, auch wenn Sie einen Schwarztest durchführen, weil Sie möglicherweise ein internes Modul testen, das von einer anderen Person geschrieben wurde, und Sie keinen Zugriff auf den Code haben.
Wenn Sie einen guten Testzyklus haben möchten, sollten Sie verschiedene Personen haben, die beides tun :
Ein Entwickler, der sich hauptsächlich auf White-Box-Tests konzentriert, weiß, was sich in letzter Zeit im Code geändert hat, welche Bereiche komplexer sind (und daher wahrscheinlich brechen) usw., und kann seine Bemühungen auf diese Bereiche konzentrieren, die höchstwahrscheinlich neue Fehler verursachen.
Auf der anderen Seite kann ein auf Black-Box-Tests fokussierter QS-Tester sich den Tests leichter nähern wie ein Endbenutzer. Ohne interne Kenntnisse des Codes können sie einen neuen Ansatz verfolgen und sind nicht von dem Wissen abhängig, wie verschiedene Teile der Lösung implementiert werden. Sie erkennen Fehler, die der Entwickler möglicherweise übersehen hat, oder Rückschritte aufgrund von Codeänderungen, durch die versehentlich andere Bereiche der Anwendung beschädigt wurden.
Um Ihre Frage zu beantworten, sollten Sie zuerst die White-Box-Tests durchführen. Aber Sie brauchen wirklich eine andere Person, die die Black-Box-Tests durchführt, wenn Sie möchten, dass sie effektiv ist.
Ich beginne gerne mit Black-Box-Tests und nutze dann die Informationen zur Codeabdeckung oder den Debugger, um herauszufinden, was ich tue, und um zu analysieren, was passiert.
Aber die wahre Antwort ist, dass es darauf ankommt . Ich werde wahrscheinlich früher (oder sogar erst) in den Code eintauchen, wenn ich API-Tests durchführe, aber viel später, wenn mein Ziel darin besteht, einige umfangreiche End-to-End-Szenarien zu betrachten.
Ich würde sagen, Black-Box- Tests zuerst, einfach weil als ein Befürworter von TDD die Tests geschrieben werden, bevor der Code (oder die Box) sowieso existiert :)
White-Box- Tests sind (soweit ich weiß ) in einer Debug-Denkweise nützlicher.
Black-Box-Tests, da Sie Tests schreiben, bevor der Code vorhanden ist. Der Tester muss zeitaufwendige automatische Tests entwickeln, die mit dem Code des Entwicklers zusammenarbeiten, um in einem kleinen Team effizient zu sein.
Wenn der Code bereits geschrieben ist, sollten Sie einige Zeit damit verbringen, die Testabdeckung aus Black-Box-Sicht zu skizzieren, um sicherzustellen, dass Sie etwas Zeit für Brainstorming haben, bevor Sie Ihr Gehirn mit dem eigentlichen Code überladen. Sie können jedoch zu White-Box wechseln und sich den Code ansehen, bevor Sie mit den eigentlichen Tests weiterkommen, um ein Gefühl für die Risikobereiche zu bekommen und die Tests, die Sie früher erstellt haben, zu priorisieren (und sie mit neuen Tests zu ergänzen, die von............... Teile des Codes betrachten, die kompliziert oder fragwürdig erscheinen).
Weder. Ich versuche , gute Tests zu schreiben , meine mit rechten Bizeps , unter Berücksichtigung RICHTIG Randbedingungen , egal in welcher Reihenfolge sie in den Sinn kommen. Dies sind beide in Pragmatic Unit Testing vorgeschlagenen Akronyme .
Mein Ziel ist es, mich darauf zu konzentrieren, gute Tests zu schreiben, und nicht darauf, welche Farbe ich zuerst schreiben soll.
Führen Sie zuerst einen White-Box-Test durch .
An zweiter Stelle stehen Black-Box-Tests.
> Black-Box-Test
I. Der Tester sollte die Funktionalität der Anwendung überprüfen, z. B. Textfeld, Optionsfeld, Listenfeld, Befehlsschaltfläche usw. ,,
II. Der Tester sollte prüfen, ob die Anwendung nicht funktioniert, z. B. Logo, Bild, Rechtschreibung usw. ,,
III. Der Tester sollte den gesamten Fluss der Anwendung prüfen.
Hinweis: Zum Überprüfen der positiven und negativen Bedingungen.