Kihagyás

8. előadás

Évfolyam ZH:

  • Írásbeli: Utolsó jelenléti előadáson (Nov. 30)
    • 3-4 feladat
    • specifikáció, algoritmusok, visszavezetési táblázat
  • Számítógépes: online, januárban

Egymásba ágyazott tételeke

Egy egész számokat tartalmazó mátrixban hány olyan sor van, ami csak páros számokat tartalmaz?

Megszámolásban optimista keresés

Specifikáció

Bemenet: n, m: Egész, x: Tömb(1..n, 1..m: Egész)

Kimenet: db: Egész

Előfeltétel: n = n' és m = m' és x = x'

Utófeltétel:

  • Ef és db = \(\sum^n_{\substack{i=1 \\ csakpáros(i)}} 1\)
  • csakpáros: Egész -> Logikai és
  • csakpáros(i) = \(Mind^m_{j=1} 2 \mid x[i, j]\)

Visszavezetési táblázat

Megszámolás:

  • e..u ~ 1..n
  • T(i) ~ csakpáros(i)

Optimista keresés:

  • i ~ j
  • e..u ~ 1..m
  • T(i) ~ \(2 \mid x[i, j]\)

Tesztelés

"Tévedni emberi dolog" ~ Seneca "Más szemében meglátja a szálkát, a magáéban a gerendát sem veszi észre" ~ Mt 7,1-12

Célja: Hibás működések kimutatása

Tesztelési fogalmak:

  • teszteset = bemenet + kimenet
  • próba = teszteset-halmaz
  • Jó teszteset: nagy valószínűséggel felfedetlen hibát mutat ki
  • Ideális próba: minden hibát kimutat
  • Megbízható próba: nagy valószínűséggel minden hibát kimutat

Statikus tesztelés: programszöveget teszteljük, annak lefuttatása nélkül. Pl.: code review, typechecking, linting

Dinamikus tesztelés: programot lefuttatjuk különböző bemenetekkel és leellenőrizzük a kimeneteket

Tesztelési módszerek

Fekete doboz módszerek

  • ekvivalencia-osztályok módszere
    • érvényes ekvivalencia osztályok és érvénytelen ekvivalencia osztályok
      • pl: osztályzatok (1-től 5-ig): \(\{1 \leq i \leq 5\}\), \(\{i < 1\}\), \(\{i > 5\}\)
    • osztályonként választunk egy tesztesetet
  • határeset elemzés módszere
    • ha bemeneten értéktartomány jelenik meg, akkor az alsó- és felsőhatár körüli értékeket nézünk meg