Uczestniczę w projekcie, którego jednym z elementów jest przepisanie black boxa, dla którego:
a) znam interfejs wejściowy, jest dobrze udokumentowany
b) mam częściowy opis interfejsu wyjściowego (struktura)
c) mam przykłady działania black boxa: wejście + wyjście
d) gruboziarniste reguły biznesowe są znane*
Realia projektowe:
- klient poobrażany z poprzednim dostawcą
- szczątkowa dokumentacja blackboxa (brakuje opisu zmian z kiklu ostatnich lat developmentu :-) )
- blackbox, jak to oprogrmowanie, zawiera błędy, więc czasem generuje niepoprawne dane
- po stronie klienta brakuje wiedzy domenowej ("szkoda, że X odszedł, znał sie na tym", "nie wiemy czemu tak wygenerowało")
Prace postępują (development odbywa się iteracyjnie i przebiega mniej więcej tak:
- weź próbkę Input+Output
- zaimplementuj gruboziarnistą regułę
- wygeneruj porównanie OLD vs NEW dla próbki (X% różnic na elemencie: X->Y->Z)
- gruboziarnista reguła nie działa dla 80% przypadków
- spotkanie -> omówienie skąd może wynikać różnica -> ustalenie innej reguły
- kolejna iteracja
Jakbyście podeszli do testów jednostkowych w takiej sytuacji?