1. Algoritmus a vazba na program

1.12. Odladění a ověření programu

Co produkuje výsledky, nemusí být správné, je třeba proto provést test na vhodné množině zkušebních dat. Stanovení vhodné množiny dat nemusí být jednoduché. Je třeba testovat obvyklá data, data mimo meze platnosti, hraniční data i náhodná data. Testy je třeba plánovat a dokumentovat. V případě oprav v programech je vhodné testy zopakovat se stejnými data. U složitějších programů je exaktní testování problematické.

Musíme si především uvědomit, že testováním můžeme nalézt chyby a pak je následně eventuálně opravit. V tomto případě se uvádí paradoxní věta o úplné indukci v programování:


„V každém dostatečně velkém programu se vždy vyskytuje alespoň jedna chyba.“


To můžeme vidět v praxi na vývoji operačních systémů, standardních programů i uživatelsky zaměřených programů (např. informační systémy řízení výroby). Jak tedy postupovat? Je třeba přijmout určitá konstruktivní opatření pří tvorbě algoritmů a programového kódu. Mezi tato konstruktivní opatření patří různé směrnice, jak psát programy, doporučené a nedoporučené programové konstrukce a metody dekompozice. V etapě testování potom jde o výběr vhodných metod testování a vhodných testovacích dat, personální oddělení kódovačů a ladičů, dvojí nezávislé kódování atd.

Metody testování programů lze rozdělit na dvě základní skupiny:

  • Funkční testy (černá schránka) - při testování se nezkoumá kód programu, nýbrž reakce programu na testovací data

  • Strukturní testy (bílá schránka) - při testování je znám kód programu a pomocí vhodných dat se prověřuje funkčnost jednotlivých jeho částí

Funguje to správně?

Obrázek 1: Funguje to správně?

Skutečně spolehlivé programy, jako jsou bankovní transakce, řízení zdravotnických přístrojů pro zajištění životních funkcí pacienta, řízení zbraňových systémů a jaderných elektráren vyžadují důmyslné konstruktivní opatření a testování. Takové programy jsou nesmírně drahé a programátorská produktivita je nízká.