Testaussuunnitelma - DigiaMinions/Project GitHub Wiki

Testaussuunnitelma (IEEE829)

1. Johdanto

Testaussuunnitelmadokumentin tavoitteena on kuvata järjestelmälle suoritettavat testit ja näiden odotetut tulokset.

2. Testauksen kohde ja tavoitteet

Testauksen kohteena on Digialle tuottamamme IoT-stack ratkaisu. Automatisoiduilla testeillä varmistamme järjestelmän toiminnan muutosten jälkeen, joita tulee jatkuvasti kehityksen aikana.

Järjestelmän oleelliset funktiot, erityisesti dataa käsittelevät, testataan huolella. Näin varmistetaan esitettävän datan oikeellisuus, joka on erittäin tärkeää tuotteemme toiminnan kannalta.

3. Testausympäristö

CI/CD-putki

  1. Versionhallinta Github
  • Uudet muutokset koodiin pusketaan Githubiin
  • Käytetään erillisiä brancheja featureiden kehittämiseen
  • Featureiden valmistuttua ne mergetään dev-branchiin
  • Dev-branchi mergetään masteriin kun homma todetaan toimivaksi
  1. Jatkuva integraatio / deployment AWS CodePipeline
  • Muutokset pullataan Githubista
  • Niistä buildataan uusi versio
  • Uutta versiota vasten ajetaan testit
  • Mikäli testit menevät läpi, niin julkaistaan tuotantoon

4. Testauksen organisointi ja raportointi

Automatisoidut testit ajetaan aina uuden buildin yhteydessä. Näistä koostetaan testiraportit, joissa esitellään testiajoista saadut tulokset muodossa, jonka perusteella on mahdollisimman helppoa tehdä tarvittavat muutokset.

5. Testausstrategia ja integrointisuunnitelma

Osa komponenteista saatetaan mockupata ennen toteuttamista. Näitä mockupeja käytetään integrointien testaamisessa ennen kuin oikeat komponentit ovat saatavilla.

6. Toimintojen testitapaukset, hyväksymistestit

Testitapaus Odotettu tulos
Käyttäjä kirjautuu sisään web-applikaatioon Käyttäjä pääsee sisään hallitsemaan laitetta
Käytäjä luo profiilin koiralleen Koiran profiili tietoineen tallennetaan kantaan
Käyttäjä lisää ruokaa kuppiin napilla Laite syöttää ruokaa kuppiin
Käyttäjä luo päivittäisen, ajastetun "Meal Planin" Laite syöttää ruokaa kuppiin automaattisesti määriteltyjen aikojen mukaan
Käyttäjä klikkaa auki näkymän kupin tämän hetkisestä ruoka tilanteesta Piirretään kuva ruudulle, kuinka paljon kupissa on ruokaa
Käyttäjä klikkaa auki näkymän ruokailuun liittyvistä graafeista Piirretään graafit ruudulle
Käyttäjä klikkaa auki live stream näkymän Näytetään live stream web-kameran välityksellä

7. Ei-toiminnallisten ominaisuuksien testaaminen

Mikäli aika riittää, suoritetaan skaalautuvuus- ja suorituskykytestejä, joilla pyritään selvittämään valitun stack rakenteen valmiutta tuotannossa käyttämiselle.

8. Erikoistilanteet

Projektin edetessä pyritään ajattelemaan mitkä voisivat olla niitä erikoistilainteita, joita tuotteen käytössä saattaisi ilmetä. Näille tehdään testejä riippuen tilanteen vakavuudesta.

9. Ominaisuudet, joita ei testata

Käyttöliittymän käyttäjäystävällisyyttä ja käytettävyyttä tullaan testaamaan joko vähän tai ei ollenkaan.