Testing plan - adamk90/PictoGraphy GitHub Wiki

Testing plan of the application

Scope

A tesztjeink az általunk megírt kódra fognak vonatkozni, a használt kriptográfiai könyvtárakat (pl. openssl), szervetechnológiát (nodejs és dependenciái) adottnak tekintjük.

Approach

  • Minden megírt kódot 2 olyan csapattag is ellenőriz, akik nem vettek részt a megírásában (az egyes részek külön branchek-ben, pull request-ben két review-er elfogadása szükséges).
  • A kritikus részek átfogó tesztelése (lásd lejjebb).
  • Funkcionális tesztek a webes interfészre vonatkozóan.

CAFF parser

  • Unit tesztek - minden függvényt ellenőrizni, 100% code coverage a mi általunk megírt kódra (3rd party-k mockolva)
  • Blackbox tesztek (előre kreált valid és különböző módon korrupt CAFF fájlokkal) - minden validot el kell fogadnia, minden korruptat el kell utasítania
  • valgrind a memóriaszivárgás kiszűrésére (mivel a képeket titkosítani is kell, ezért használni fogunk 3rd party kriptográfiai könyvtárat, amikben szokott lenni memóriaszivárgás, ezért külön a saját kódunkat is ellenőrizzük, mockolva a 3rd party-t és élesben is, mock nélkül) - nem maradhat memóriaszivárgás a mi általunk megírt kódban
  • Statikus analízis tool-lal - nem maradhat egy error/warning sem
  • Fuzzing valid és invalid CAFF fájlokból kiindulva - minden talált hibát javítani kell

Kritikus részek

  • Jelszó követelmények meglétének tesztelése - rossz és jó jelszavak használatára vonatkozó tesztek
  • Naplózás tesztelése - minden naplózott tevékenységre teszt, hogy bekerül-e a megfelelő napló bejegyzés
  • CAFF Adatbázis ellenőrzése, hogy titkosítva vannak a CAFF fájlok (pl. dekódolás nélkül beadni a CAFF parsernek és ellenőrizni, hogy nem fogadja el)
  • Captcha tesztelése - rossz captcha beütésekor az adoott kérés nem megy végbe
  • Megpróbálunk nem megfelelő jogosultsággal minden tevékenységet végrehajtani - minden ilyennek sikertelennek kell lennie
  • Megpróbálunk megfelelő jogosultsággal minden tevékenységet végrehajtani - minden ilyennek sikeresnek kell lennie
  • Jelszó hashelés + saltolás ellenőrzése -> kétszer regisztrálva ugyanazzal a jelszóval, a hasheknek különböznie kell