Někdy se uvádí také pojmy pozitivní a negativní testy. U testů splněním jako vstupní hodnoty v aplikaci využíváme jen množinu dat, kterou musí aplikace vždy akceptovat. Kontrolujeme, zda získaný výstup je shodný s výstupem očekávaným v požadavcích od zákazníka.
Při testech selháním do aplikace zadáváme pouze nestandardní data. Naší snahou je aplikaci tzv. „shodit“ (způsobit nečekané ukončení běhu programu). Během testů ověřujeme, že výstupní data neobsahují nežádoucí hodnoty, tj. data, která neobsahuje množina očekávaných dat. Obě tyto kategorie se lze využívat v jedné sadě testů. Testy splnění a selhání se mohou prolínat.
Testy splněním a selháním se využívají velmi často. Mnohdy zejména v kombinaci s použitím testů černé skříňky. V praxi se většinou nejprve spustí testy splněním. Pakliže jimi testovaný software projde, lze spustit testy selháním. Nic nám však nebrání v použití obou kategorií najednou, samozřejmě pokud je na to projekt dostatečně připraven (tzn., neobsahuje velké množství chyb, které by odhalily testy splněním). Při testech selháním se doporučují postupy jako např. dělení nulou, vkládání extrémních hodnot apod. Pozor si musíme dávat nejen na bezporuchové chování programu, ale i na správnost chybových hlášení. Oznámení typu: „chyba!“ nebo „operace se nezdařila“ nedávají uživateli moc šancí na zjištění, jaký krok dělá nesprávně. Tato kategorie testů se spouští zejména v systémové úrovni testování. Zde má na celkovou bezporuchovost produktu velký význam. Osobně v praxi kladu velký důraz na testy selháním, protože tyto testy v konečném důsledku velmi zvyšují bezporuchovost software.