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:

  1. Testlər səhvin varlığını göstərə bilər, yoxluğunu yox.
  2. Səhvlər adətən sərhədlərdə olur: boş giriş, bir element, ilk və son indeks.
Sərhəd hallarının siyahısı
Sərhəd hallarının siyahısı
HalNü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

python
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")