Współcześni testerzy szukają swojego miejsca w projekcie informatycznym. Z jednej strony nie chcą być spychani na sam koniec (przed wydaniem) procesu wytwarzania oprogramowania, a z drugiej bronią się przed wczesnym zaangażowaniem i testowaniem na poziomie kodu. Nie tylko metodyki miękkie wymagają od nas pracy z kodem. Umiejętność (przynajmniej) czytania kodu niezbędna jest w modelu V testowania komponentowego. Dlaczego więc nie moglibyśmy zacząć używać narzędzi, które tak wielu programistów omija wymawiając się brakiem czasu? Dlaczego nie sięgnąć do źródeł testowania, do czasów kiedy między testem a debagowaniem nie było różnicy?
Jak w piosence, najtrudniejszy jest pierwszy krok.
Możecie wymawiać się brakiem znajomości kodowania, ale czy kiedyś spróbowaliście go poczytać? Od testerów nie wymaga się kodowania. Trzeba poznać jeden framework dla języka realizowanego projektu. W wielu z nich znajomość języka angielskiego jest wystarczająca do tego by zrozumieć, co robią poszczególne funkcje.
Przykład asercji dla mnożenia.
using NUnit.Framework; [TestFixture] public class ExampleTestOfNUnit { [Test] public void TestMultiplication() { Assert.AreEqual(4, 2*2, "Multiplication"); Assert.That(2*2, Is.EqualTo(4), "Multiplication constraint-based"); } }
Czytając ostatnią instrukcję w kodzie mamy (prawie) poprawne zdanie w języku angielskim: Oceń czy 2*2 jest równe 4.
Przy dobrze nazwanych zmiennych, funkcjach czy klasach testowanie kodu przestaje być trudne.
Możemy powiedzieć, że nie mamy środowiska, ale czy w Waszym projekcie nie ma kogoś kto mógłby Wam przygotować środowisko? Nie będzie to znacząco różne od środowiska programistycznego, więc nie powinno z tym być kłopotu.
Gdzie zacząć?
1. Nie uciekniecie od języka kodowania, więc musicie poznać:
- jakie są słowa kluczowe w danym języku;
- czym są zmienne, po co się je deklaruje i nadaje typy, oraz dlaczego muszą być "zabijane";
- podstawowe instrukcje if, while, for itd.;
- jak tworzy się i do czego służą funkcje;
- czym są klasy;
- do czego służą biblioteki;
Jak się tego nauczyć? Poproście swojego lidera, aby zorganizował wam wewnętrzny trening (nie więcej niż jeden dzień), albo porozmawiajcie bezpośrednio z programistą, aby wam to pokazał.
W ramach nauki poproście o konfigurację środowiska i dostęp do repozytorium kodu źródłowego (jeśli jeszcze nie macie).
2. Poznajcie framework xUnit dla waszego projektu.
3. Umówcie się z programistą na kodowanie - testowanie w parach. Na początku on pokaże jak pisze testy, potem zamienicie się miejscami i sami będziecie tworzyli kod przy jego pomocy.
Źródła.
http://en.wikipedia.org/wiki/NUnit
http://www.nunit.org/index.php?p=quickStart&r=2.6.1
http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks
http://www.xprogramming.com/testfram.htm