Skip to content

Latest commit

 

History

History
42 lines (22 loc) · 2.79 KB

testaus.md

File metadata and controls

42 lines (22 loc) · 2.79 KB

Testausdokumentti

Ohjelmaa on testattu sekä automatisoiduin yksikkö- ja integraatiotestein unittestilla sekä manuaalisesti tapahtunein järjestelmätason testein.

Yksikkö- ja integraatiotestaus

Sovelluslogiikka

Sovelluslogiikasta vastaavaa TodoService-luokkaa testataan TestTodoService-testiluokalla. TodoService-olio alustetaan, niin että sille injektoidaan riippuvuksiksi repositorio-oliot, jotka tallentevat tietoa muistiin pysyväistallennuksen sijaan. Tätä varten testissä on käytössä luokat FakeTodoRepository ja FakeUserRepository.

Repositorio-luokat

Repositorio-luokkia TodoRepository ja UserRepository testataan ainoastaan testeissä käytössäolevilla tiedostoilla. Tiedostojen nimet on konfiguroitu .env.test-tiedostoon. TodoRepository-luokkaa testataan TestTodoRepository-testiluokalla ja UserRepository-luokkaa TestUserRepository-testiluokalla.

Testauskattavuus

Käyttöliittymäkerrosta lukuunottamatta sovelluksen testauksen haarautumakattavuus on 95%

Testaamatta jäivät build.py- ja initialize_database.py-tiedostojen suorittaminen komentoriviltä. Nämä olisi myös voinut jättää testikattavuuden ulkopuolelle. Lisäksi testaatamatta jäivät mm. tilanteet, joissa haetaan kirjautumattoman käyttäjän tekemättömät tehtävät ja uloskirjautuminen.

Järjestelmätestaus

Sovelluksen järjestelmätestaus on suoritettu manuaalisesti.

Asennus ja konfigurointi

Sovellus on haettu ja sitä on testattu käyttöohjeen kuvaamalla tavalla sekä macOS- että Linux-ympäristöön. Testauksessa on käytetty myös eri konfiguraatioita .env-tiedoston kautta.

Sovellusta on testattu sekä tilanteissa, joissa käyttäjät ja työt tallettavat tiedostot ovat olleet olemassa ja joissa niitä ei ole ollut jolloin ohjelma on luonut ne itse.

Toiminnallisuudet

Kaikki määrittelydokumentin ja käyttöohjeen listaamat toiminnallisuudet on käyty läpi. Kaikkien toiminnallisuuksien yhteydessä on syötekentät yritetty täyttää myös virheellisillä arvoilla kuten tyhjillä.

Sovellukseen jääneet laatuongelmat

Sovellus ei anna tällä hetkellä järkeviä virheilmoituksia, seuraavissa tilanteissa:

  • Konfiguraation määrittelemiin tiedostoihin ei ole luku/kirjoitusoikeuksia
  • SQLite tietokantaa ei ole alustettu, eli python -m poetry run invoke build-komentoa ei ole suoritettu