Destrukcja mile widziana
- 07.07.2009
Z Vipulem Kocherem, członkiem Indian Testing Board i prezesem indyjskiej firmy PureTesting rozmawiamy o tym, jak się dziś tworzy i testuje oprogramowanie.
Amerykański przemysł samochodowy długo zmagał się z problemem jakości. Nowy standard w tym względzie wprowadziła Toyota. Branża oprogramowania musi jeszcze poczekać na swoją Toyotę. Póki co, wszyscy pogodzili się z sytuacją, że oprogramowanie zawiera szereg błędów. Sytuację może zmienić rosnące niezadowolenie klientów. Sądzę, że w czasach kryzysu nie będą oni akceptować programów, które zawierają wady. To są wyzwania natury technicznej, a sprostanie im wymaga nakładów. To umyka producentom oprogramowania i ich klientom. Wydaje im się, że testowanie można wykonać minimalnym nakładem środków. A przecież to jakby żądać Mercedesa w cenie Łady.
Czy idąc krok dalej za tą analogią, oprogramowanie może być produkowane tak jak samochody?
Wydaje mi się to bardzo trudne. Produkcja oprogramowania i produkcja przemysłowa są z gruntu odmienne. W przypadku produktu powstaje projekt, który po dopracowaniu trafia na taśmę, gdzie jest kopiowany. W przypadku oprogramowania produkt jest nieustannie zmieniany. Z drugiej strony, branża oprogramowania, która jest stosunkowo młoda, może jeszcze dużo nauczyć się z doświadczenia innych branż, jak projektować, jak przygotowywać "surowiec". To - jak wspomniałem - wymaga jednak nakładów.
Czy obecna sytuacja w branży i w konsekwencji - u testerów może się zmienić?
Ona już się zmienia. Niestety w dużej mierze dokonuje się to ze względu na negatywne doświadczenia, w szczególności problemy z zapewnieniem bezpieczeństwa w przypadku oprogramowania dla banków i w konsekwencji utraty przez nie klientów.
W jakim kierunku idą zmiany? Testowanie na wczesnych etapach powstawania i projektowania oprogramowania?
To główny kierunek. Wynika to m.in. ze zmian w świecie oprogramowania. Podejście Agile zakłada bardzo poważne zaangażowanie deweloperów w testy w trakcie pracy. Kolejny etap zmiany, której potrzebujemy, to testowanie aplikacji z punktu widzenia użytkownika. Co innego testy jednostkowe, a co innego sprawdzenie rozwiązania np. pod kątem użyteczności.
Czy branża testerów jest przygotowana do tych zmian?
To rzeczywiście wyzwanie, różne rodzaje testów wymagają odmiennych umiejętności, technik. Różne kraje wyspecjalizowały się w pewnych niszach testowania. Przykładowo w Chinach jest wielu deweloperów, którzy chcą zostać testerami. Zatem w sposób naturalny stają się znakomitymi testerami kodu. Z kolei w Indiach testerzy są znakomici pod względem testowania narzędzi i w scenariuszach posługiwania się nimi przez użytkowników, w funkcjonalności, automatyce, manualnych testach.
Czy w branży problemem jest utrzymanie doświadczonych pracowników?
Nie, bo to niezwykle ciekawa, wciągająca praca. Nieustannie poznaje się nowe produkty, sprawdza się różne aspekty ich działania. W naszej branży liczy się przy tym pewien specyficzny rys osobowości, który nazwałbym destrukcyjnym. Zwykle w społeczeństwie nie ceni się takich cech, jednak w naszym przypadku skłonność do wyszukiwania wad, dzielenia włosa na czworo, rozkładania na czynniki pierwsze i cieszenia się z odkrywania cudzych błędów są jak najbardziej na miejscu. Nie ma wielu miejsc, gdzie takie cechy są mile widziane.