Korzystając z serwisu Zleca.pl wyrażasz zgodę na stosowanie plików cookies. Dowiedz się więcej.
XCześć,
Jestem testerem oprogramowania z 4 letnim doświadczeniem.
Chętnie podejmę się dodatkowych zleceń. Moja stawka to 50 zł netto/h. Wystawiam fakturę VAT.
Często się spotykam z pewnym niezrozumieniem co taka osoba jak ja robi. W związku z tym przygotowałem małe Q&A, które może kilka kwestii wyjaśnić :-)
Czym zajmuje się tester oprogramowania?
Tester oprogramowania to taki kierownik budowy oprogramowania :-) . Pilnuje czy wykonane prace programistyczne są wykonane prawidłowo. Zgłasza błędy oraz przygotowuje dokumentację, z przeprowadzonych testów. Może też pełnić funkcję arbitra w sytuacji kiedy pojawia się konflikt pomiędzy programistą a inwestorem.
Kiedy warto zatrudnić testera oprogramowania ?
- Kiedy zlecający nie ma wiedzy z zakresu wytwarzania oprogramowania.
- Kiedy projekt staje się bardziej złożony.
- Kiedy nie masz czasu samemu testować lub zwyczajnie nie chce Ci się tego robić.
Co to znaczy, że projekt staje się bardziej złożony?
Trudno jednoznacznie określić tą granicę bo to zależy od wielu czynników ale jeżeli Twój projekt jest wyceniany na więcej niż 100 godzin pracy programisty to możesz go już traktować jako złożony.
Co to są testy regresji ?
W oprogramowaniu bardzo powszechnym jest niestety regres. Jest to takie zdarzenie kiedy działająca wcześniej funkcja przestaje działać po wdrożeniu innej nowej. W budowlance raczej się to nie zdarza :-) . Trochę tak jakby majster kończył łazienkę i popsuł coś w kuchni. Nie chcę powiedzieć, że to nie możliwe ale raczej rzadko spotykane :-).
Podsumowując. Testy regresji to testy wcześniej wdrożonych funkcji, których celem jest sprawdzenie czy nie wystąpił regres.
Ile czasu warto zainwestować w pracę testera?
Oczywiście jest wiele czynników, które wpływają na to. Chciałbym dać jednak jakiś pogląd na sytuację.
- 10 % czasu programisty. - Doświadczonemu testerowi to najczęściej wystarczy na wyłapanie wszystkich krytycznych błędów w oprogramowaniu. Jest też wstanie opisać podstawowe scenariusze testowe. Raczej nie starczy czasu na opisanie dokładniejszych przypadków testowych. Testy regresji ograniczają się do kilku krytycznych funkcji aplikacji.
- 20 % czasu pracy programisty. - Przy takiej dostępności najczęściej mamy już dosyć dokładnie opisane przypadki testowe. Testy regresji są częstsze i bardziej rozbudowane. Czasami się uda nawet część najbardziej krytycznych funkcji zautomatyzować.
- 30% i więcej czasu programisty - Specjalnie podałem 30% i więcej dlatego, że testować aplikację można w nieskończoność. Warto w tym miejscu wspomnieć chociażby o testach bezpieczeństwa czy testach wydajnościowych. Te pierwsze sprawdzają czy aplikacja nie jest podatna na ataki hakerskie. Ta druga może dać nam informację np. przy jakiej ilości aktywnych użytkowników w jednym momencie nasz system się wywali. Przydatne zwłaszcza jak planujemy dużą kampanię marketingową, która może wygenerować duży ruch na stronie.
Po co mi w ogóle scenariusze testowe?
Po pierwsze dlatego, że nasza pamięć jest ulotna. Często scenariusze przypominały mi chociażby o istnieniu jakiś tajnych skrótów klawiszowych :-). Po drugie scenariusze pomagają nam lepiej zarządzać ryzykiem. Wspominałem wcześniej czym jest regres w oprogramowaniu. Aby nad nim zapanować trzeba cyklicznie wykonywać testy zaimplementowanych funkcji. Pytanie których ? Jak projekt jest rozwijany miesiącami to często nie ma czasu na testowanie wszystkiego. Scenariusze też pozwalają łatwiej zlokalizować kandydatów do automatyzacji.
Czym są do licha te automaty ?
Jest to taki program, który testuje inny program. Jest ich wiele rodzajów. Takim przykładowym będzie program, który po uruchomieniu otworzy przeglądarkę i będzie wykonywał scenariusze tak jak żywy tester.
Niezależnie jaki test napiszemy jego zadaniem jest przyspieszenie testów, które wykonujemy cyklicznie. Jest to inwestycja, która spłaca się wraz z czasem rozwoju systemu.
Czy zawsze błędy w oprogramowaniu trzeba poprawiać?
Nie. Oczywiście warto to robić ale są przypadki kiedy naprawa błędu jest bardzo droga i nie daje wielkiej wartości użytkownikowi. To zawsze jest decyzja biznesowa. Jestem jednak zdania, że lepiej wiedzieć niż nie wiedzieć :-).
Jak wygląda proces testowania oprogramowania?
Proces testowania oprogramowania to tak naprawdę proces zarządzania ryzykiem. Tester jest po to aby uświadomić jakie ryzyka w ogóle są. Klient natomiast powinien określić co jest dla niego ważne oraz jaki ma budżet. Wtedy możemy wspólnie ustalić strategię a co za tym idzie proces. Czasami to będzie jedna sesja testów, która zakończy się prostym raportem. Innym razem będziemy poza testami pisać scenariusze i systematycznie wykonywać testy regresji. Jeszcze innym razem dojdziemy do wniosku, że kilka funkcji warto zautomatyzować.
Wiem, że w tym punkcie jest mało konkretów ale temat jest bardzo szeroki. Możemy to podsumować oklepanym “To zależy” :-). Napisz do mnie to na pewno coś sensownego stworzymy.
Masz inne pytania? Zapraszam do kontaktu.
Pozdrawiam
Krzysiek
Korzystając z serwisu Zleca.pl wyrażasz zgodę na stosowanie plików cookies. Dowiedz się więcej.
X