Test səhvin yoxluğunu sübut etmir, lakin onların çoxunu tutur. Alqoritmlər üçün ən vacib şey sərhəd hallarını seçməkdir.
Nəyi test edirik
Test funksiyanı verilmiş girişlə çağırır və nəticəni gözlənilənlə müqayisə edir. İki prinsip:
- Testlər səhvin varlığını göstərə bilər, yoxluğunu yox.
- Səhvlər adətən sərhədlərdə olur: boş giriş, bir element, ilk və son indeks.
| Hal | Nümunə | Nəyi yoxlayır |
|---|---|---|
| Boş giriş | [] | ilk elementə müraciət |
| Bir element | [5] | dövrün işləməməsi |
| Təkrarlar | [3, 3, 3] | < və <= fərqi |
| Mənfi ədədlər | [-4, -1, -9] | başlanğıc qiymət |
assert ilə sadə testlər
def find_max(items):
best = items[0]
for x in items:
if x > best:
best = x
return best
assert find_max([3, 9, 2]) == 9
assert find_max([5]) == 5
assert find_max([-4, -1, -9]) == -1
assert find_max([2, 2, 2]) == 2
print("all tests passed")