Prawda jest taka, że to kiepska próba. Prawda jest taka, że firma, która nie chce inwestować w zespół QA, będzie miała słabe testy. Dobre testowanie jest kosztowne i wymaga czasu. Firma przyjęła na siebie ryzyko nie zatwierdzając czasu i pieniędzy.
Nawet zespół ds. zapewnienia jakości nie może zagwarantować, że każda możliwość jest testowana, ponieważ możliwe ścieżki przez złożony program są w zasadzie nieskończone. Niemniej jednak, zbliżą Cię one znacznie bardziej niż jesteś teraz. Jednym z powodów jest to, że dev nie jest w stanie odpowiednio przetestować swój własny kod. Wiedzą, co robi, więc mają tendencję do projektowania testów wokół tego, co ich zdaniem ma robić. Tęsknią za skrajnymi przypadkami, tęsknią za głupimi rzeczami, które użytkownicy robią tak, jak nigdy nie zrobiłby tego dev, ponieważ wiedzą jak to działa, czasami interpretują wymóg nieprawidłowo, ale wszystkie ich testy będą odzwierciedlać ich oryginalną, błędną interpretację. Często tęsknią za błędami w wymaganiu i robią to, o co zostali poproszeni, a nie to, co powinni byli zrobić (jest to przyczyna ogromnej liczby błędów, które są znajdowane dopiero po tym, jak faktyczni użytkownicy [którzy zbyt często nie są konsultowani przy definiowaniu wymagania] spróbują użyć oprogramowania). Brakuje im efektów na częściach aplikacji, które nigdy nie miały powodu, aby pracować w szczególności w częściach, które są wykonywane przez specjalistów (np. zmiana tabeli, która ma sens dla aplikacji, ale przerywa automatyczny proces importu lub raport)
Jeśli chce wyższej jakości, będzie musiał za to zapłacić zarówno w czasie jak i w pieniądzach. Nawet z pełną QA nie można dostać się do 100%, choć z pewnością NASA i jej wykonawcy są blisko. Oni również wydają więcej pieniędzy niż Twoja firma wydaje. Nawet wtedy, udało im się całkowicie przegapić MARS jeden raz.
Jeśli to, czego chce, jest zapewnienie, że wszelkie problemy nie spowodują mu szkody z klientami, a następnie porozmawiać o swoim procesie do testowania (Pokaż mu listę testów zrobiłeś.), co myślisz, że będzie miał wpływ i jak to sprawdzić, proces, jak można odwrócić złe pchnięcie i proces do błędów logowania tak, że będzie je zobaczyć, zanim większość klientów zauważy je. Daj mu pewność, że nawet jeśli jest jakiś problem, można go naprawić. Porozmawiaj o wartości uzyskania kodu (nowa funkcja lub naprawić) szybko vice versa dodatkowy czas, który byłby potrzebny do dokładniejszego przetestowania. Porozmawiaj o ryzyku nie wydostania go szybko.
Możesz również poprosić go o dostarczenie dokładnego testu regresji systemu za każdym razem, gdy dokonujesz zmiany, ponieważ nie jest możliwe, aby dev całkowicie przetestował swoją własną pracę (wiesz jakie były twoje założenia, jeśli nie są one poprawne, nigdy byś tego nie przetestował). Upewnij się, że wie, że będzie musiał przetestować każdą stronę aplikacji i każdą pojedynczą rzecz, która mogłaby być zrobiona na stronie w każdej możliwej kolejności. O tak, przetestuj wszelkie import/eksport, raporty, zautomatyzowane zadania, jak również. I wszelkie związane z tym aplikacje, których może to dotyczyć. Kiedy już raz spróbuje dokładnie przetestować system, zrozumie, dlaczego nie można tego zapewnić.
Kolejną rzeczą, którą warto spróbować, jest powiedzenie mu z góry, że nie można zrobić tej gwarancji, ale jeśli autoryzował X godzin testów, można zbliżyć się do zrobienia tej gwarancji. Daj mu szczegółową listę dodatkowych testów i godziny, jakie zajęłoby zaprojektowanie i przeprowadzenie każdego z nich. Powiedz mu, jaki procent pewności siebie miałbyś po wykonaniu tych wszystkich testów i jaki procent pewności masz teraz.
Powiedz mu, ile czasu zajęłoby wykonanie wszystkich aktualnych testów jednostkowych, które posiadasz, niezależnie od tego, czy są one związane z tym problemem, czy nie. Więc jeśli masz obecnie 1000 testów jednostkowych i każdy z nich trwa pięć minut, aby skonfigurować i uruchomić i ocenić wyniki, które będą wynosić 83 godziny. Poproś go o autoryzację i poświęć ten czas.