Różnice między programowaniem, testowaniem i kontrolą jakości, między innymi
Uważam, że ta metafora jest stosunkowo nowatorska i interesująca, więc ją przewróciłem.
Ostatnio niektórzy koledzy z departamentu zadają to pytanie i myślę, że wciąż jest wiele osób, które nie są do końca jasne co do rozmieszczenia tych trzech ról, więc opowiem o mojej osobistej wiedzy na temat tych ról.
W Internecie jest wystarczająco dużo definicji tych trzech ról, więc nie będę tu wchodził w szczegóły. Pozwól, że podam przykład.
Zakładając, że proces wprowadzania produktu na rynek jest równoważny procesowi zdawania egzaminu dla studentów, to w tym procesie:
Programiści to studenci piszący egzaminy.
Tester to nauczyciel, który zmienia arkusz testu.
Personel QA to doradcy.
Produkt jest produkowany przez dewelopera, czy może być użyty na rynku, czy zdaje egzamin – czynnikiem decydującym jest jeszcze rozwój.
Programista przesłał wyniki, a studenci ukończyli arkusz testowy – czy zdali? Testujący muszą analizować i oceniać test.
Doradca nie ma doświadczenia w konkretnych kursach, ale najpierw poprosi programistów o przejrzenie, potem wykonanie pytań próbnych, a na końcu podejście do egzaminu. Nie obchodzi go, czy oglądasz "Dragon Babu" czy "Linear Algebra" podczas recenzji, byleby nadzorował twoją recenzję, to wystarczy. Bo wiedział, że jeśli nie powtórzy egzaminu bezpośrednio, praktycznie go obleje. Lepiej recenzować niż wcale.
OK, przykłady się skończyły, wracając do trzech postaci.
Tworzenie to proces wdrażania. Testowanie i kontrola jakości to proces zapewnienia jakości.
Testowanie, podobnie jak programowanie, to czysto techniczna aktywność, którą nazywam kontrolą wyników. QA nie obejmuje konkretnych technologii, które nazywam kontrolą procesów.
Na marginesie, poprawa jakości produktów, a nawet podstawowej konkurencyjności przedsiębiorstw poprzez reformę struktury organizacyjnej, procesów biznesowych, a nawet narzędzi IT, jest dla większości przedsiębiorstw zrozumiała. Po sprzedaży komputera PC firmie Lenovo IBM polegał na tym, by zarabiać, i zarobił na tym sporo.
Jestem testerem, więc porozmawiajmy o kierunku rozwoju testów w powyższym przykładzie.
Ponieważ test to zmiana w arkuszu testowym, jaka umiejętność jest najważniejsza?
Oczywiście to poziom egzaminu.
Analiza wymagań testowych i projektowanie przypadków testowych to umiejętności, które każdy tester musi nieustannie doskonalić w swojej pracy. |