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
- 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
- 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.