W bardzo małym zespole, w którym testy czarnej skrzynki i białej skrzynki wykonuje ta sama osoba, co tester powinien zrobić najpierw?
W bardzo małym zespole, w którym testy czarnej skrzynki i białej skrzynki wykonuje ta sama osoba, co tester powinien zrobić najpierw?
Odpowiedzi:
Cokolwiek musi być najbardziej poprawne.
Poważnie, testowanie białych pól (tj. Testowanie wewnętrznych elementów kodu) powinno być idealnie przeprowadzane z testami jednostkowymi przez programistę, który napisał kod. Testy jednostkowe będą budowane z czasem, a część procesu kompilacji, abyśmy nie marnowali czasu słabego testera kodem, o którym wiemy, że nie działa tak, jak powinien. Testy jednostkowe stają się tym ważniejsze, im mniejszy jest twój zespół - szczególnie dlatego, że nie masz armii testerów, którzy mogliby rozwiać problemy.
Testowanie czarnej skrzynki (tj. Testowanie przez interfejs użytkownika / systemu) jest zwykle tym, co robi większość testerów.
Wszystkim testom należy nadać priorytet, jak ważna jest funkcja dla gotowego produktu. Jeśli misją jest zapewnienie narzędzia do wykonywania X, a produkt nie robi X, to duży problem.
Testowanie czarnej skrzynki w celu weryfikacji funkcji. Testowanie białych skrzynek w razie potrzeby, jeśli coś jest zepsute. Jeśli wszystkie testy czarnej skrzynki przejdą pomyślnie i zasięg jest dobry, testy białej skrzynki nie są konieczne.
Czarna skrzynka.
Komponenty białej skrzynki są zwykle zależne od komponentów czarnej skrzynki, więc najpierw chciałbym przetestować czarną skrzynkę, a następnie przejść do białej skrzynki.
Najpierw wykonujesz białe testy, myśląc jako programista / programista, aby upewnić się, że wszystko będzie dobrze. Następnie wykonujesz testy czarnej skrzynki, zwykle próbując myśleć, jakbyś był użytkownikiem końcowym, nie myśląc o wewnętrznej strukturze programu. Czasami musisz myśleć jak programista / programista, nawet jeśli wykonujesz czarne testy, ponieważ możesz testować wewnętrzny moduł napisany przez inną osobę i nie masz dostępu do kodu.
Jeśli chcesz mieć dobry cykl testowy, powinieneś mieć różne osoby wykonujące jedno i drugie :
Deweloper skoncentrowany głównie na testach białych skrzynek wie, co ostatnio zmieniło się w kodzie, które obszary są bardziej złożone (a zatem mogą się zepsuć) itp., I może odpowiednio skoncentrować wysiłki w tych obszarach, które najprawdopodobniej wprowadzą nowe wady.
Z drugiej strony tester kontroli jakości skoncentrowany na testowaniu czarnej skrzynki może łatwiej podejść do testowania jak użytkownik końcowy. Bez wewnętrznej wiedzy o kodzie mogą przyjąć nowe podejście i nie są stronnicze od wiedzy o tym, w jaki sposób wdrażane są różne części rozwiązania. Wyłapią błędy, które deweloper mógł przeoczyć, lub regresje spowodowane zmianami kodu, które przypadkowo zepsuły inne obszary aplikacji.
Aby odpowiedzieć na twoje pytanie, najpierw należy wykonać testy białej skrzynki. Ale naprawdę musisz mieć inną osobę wykonującą testy czarnej skrzynki, jeśli chcesz, aby była skuteczna.
Chciałbym zacząć od testowania czarnej skrzynki, a następnie użyć informacji o zasięgu kodu lub debugera, aby dowiedzieć się, co robię i przeanalizować, co się dzieje.
Ale prawdziwa odpowiedź to zależy . Prawdopodobnie zagłębię się w kod wcześniej (a nawet najpierw), jeśli przeprowadzam testy API, ale znacznie później, jeśli moim celem jest przyjrzenie się dużym scenariuszom od końca do końca.
Powiedziałbym, że najpierw testuje Black Box , po prostu dlatego, że jako zwolennik TDD testy są pisane zanim kod (lub box) istnieje.
Testy White Box (o ile rozumiem) są bardziej przydatne w sposobie debugowania.
Testowanie czarnej skrzynki, ponieważ piszesz testy, zanim kod będzie istniał. Tester musi opracowywać czasochłonne testy automatyczne równolegle z pisaniem kodu programisty, aby był wydajny w małym zespole.
Jeśli kod jest już napisany, sugeruję, abyś poświęcił trochę czasu na szkicowanie zasięgu testu z czarnego pola, aby upewnić się, że masz trochę czasu na burzę mózgów, zanim zaśmiecisz mózg właściwym kodem. Możesz jednak przejść do białej skrzynki i spojrzeć na kod, zanim przejdziesz zbyt daleko wraz z faktycznymi testami, aby wyczuć obszary ryzykowne i nadać priorytet testom, które wcześniej przeprowadziłeś burzy mózgów (i uzupełnij je o nowe testy wymyślone przez patrząc na fragmenty kodu, które wydają się skomplikowane lub wątpliwe).
Ani. Staram się pisać dobre testy, używając mojego Right BICEP , pamiętając o PRAWIDŁOWYCH warunkach brzegowych, bez względu na kolejność, o jakiej się pomyślą. Są to oba akronimy zaproponowane w Pragmatic Unit Testing .
Moim celem jest skupienie się na pisaniu dobrych testów, a nie na tym, który kolor napisać jako pierwszy.
Najpierw zrób to w białej skrzynce .
Po drugie przejdź do testowania czarnej skrzynki.
> Testowanie czarnej skrzynki
I. Tester powinien sprawdzić funkcjonalność aplikacji, takie jak pole tekstowe, przycisk opcji, pole listy, przycisk poleceń itp.
II. Tester powinien sprawdzić, czy aplikacja nie działa, takie jak logo, obraz, pisownia itp. Itp.
III. Tester powinien sprawdzić cały przepływ aplikacji.
Uwaga: Aby sprawdzić warunki dodatnie i ujemne.