RSS

Testy jednostkowe: programowanie wspomagane testami

Liczba odsłon: 210

Pisałem ostat­nio o za­le­tach i wa­dach pro­gra­mo­wa­nia tech­ni­ką TFD. Skupienie się na tes­tach i roz­po­czę­cie opra­co­wy­wa­nia opro­gra­mo­wa­nia od stwo­rze­nia te­stów jed­nost­ko­wych po­wo­du­je zwie­lo­krot­nie­nie pra­cy i utrud­nia dia­met­ral­ne zmia­ny w archi­tek­tu­rze opro­gra­mo­wa­nia. Nie ozna­cza to jed­nak, że na­le­ży zre­zyg­no­wać ze sto­so­wa­nia te­stów jed­nost­ko­wych.

Alterna­ty­wą dla TFD jest pro­gra­mo­wa­nie wspo­ma­ga­ne te­sta­mi. W mo­de­lu TAD ko­do­wa­nie mo­du­łu funkcjo­nal­ne­go roz­po­czy­na się w zwyk­ły spo­sób. Za każ­dym ra­zem jed­nak, gdy za­pi­su­je się no­wą kla­sę lub me­to­dę, rów­no­leg­le two­rzy się te­sty jed­nost­ko­we po­zwa­la­ją­ce spraw­dzić jej po­praw­ne funkcjo­no­wa­nie w prze­wi­dy­wa­nych za­sto­so­wa­niach. Dzięki te­mu w mo­men­cie za­koń­cze­nia pra­cy nad mo­du­łem moż­na mieć pew­ność, że zo­stał on za­im­ple­men­to­wa­ny po­praw­nie.

Drugim waż­nym ele­men­tem tech­ni­ki TAD jest wpro­wa­dza­nie no­wych te­stów jed­nost­ko­wych w mo­men­cie wy­kry­cia błę­du funkcjo­nal­ne­go. Bezpośred­nio po otrzy­ma­niu zgło­sze­nia błę­du pro­gra­mis­ta okre­śla kro­ki po­zwa­la­ją­ce po­wtó­rzyć błąd oraz usta­la przy­czy­nę i lo­ka­li­za­cję błę­du. Następ­nie two­rzy test jed­nost­ko­wy, któ­ry po­twier­dza obec­ność błę­du nie­po­myśl­nym wy­ni­kiem. Dopiero w tym mo­men­cie mo­że usu­nąć błąd, cze­go po­twier­dze­niem po­win­no być po­myśl­ne przej­ście stwo­rzo­ne­go wcześ­niej te­stu.

Ten spo­sób two­rze­nia te­stów do­brze wkom­po­no­wu­je się rów­nież w roz­wój ist­nie­ją­ce­go opro­gra­mo­wa­nia, któ­re po­wsta­wa­ło bez sto­so­wa­nia tech­ni­ki te­stów jed­nost­ko­wych. W ta­kich przy­pad­kach nie wcho­dzi w ra­chu­bę wstecz­ne uzu­peł­nia­nie ko­du o te­sty wszyst­kich mo­du­łów funkcjo­nal­nych. Należy za to bez­względ­nie prze­strze­gać re­gu­ły wpro­wa­dza­nia te­stów w każ­dym przy­pad­ku, gdy do­ko­ny­wa­na jest zmia­na w pro­gra­mie:

Stosowa­nie tej re­gu­ły po­zwa­la osiąg­nąć na­stę­pu­ją­ce ce­le:

Skuteczne te­sto­wa­nie opro­gra­mo­wa­nia wy­ma­ga sto­so­wa­nia od­po­wied­nich na­rzę­dzi. Najważniej­sze bi­blio­te­ki i na­rzę­dzia wspo­ma­ga­ją­ce te­sto­wa­nie opi­szę w ko­lej­nych wpi­sach blo­gu.