# Testiraportti
Ville Niemi & Jooa Pitkonen
# Versiohistoria
**Versio 1.0**
* 7/4/2020
* Testaussuunnitelman teko, yksikkötestaus
**Versio 1.1**
* 8/4/2020
* Yksikkötestaus
**Versio 1.2**
* 10/4/2020
* Järjestelmätestien tarkistaminen
**Versio 1.3**
* 20/4/2020
* Yksikkötestauksen jatkamista ja testaussuunnitelman tekeminen loppuun
# Sisällysluettelo
1. **Testauksen toteutuminen ja kattavuus**
2. **Testaussuunnitelma**
3. **Järjestelmätesteus**
4. **Hyväksymistestaus**
5. **Yksikkötestaus**
6. **Testauksen arviointi**
# Testaussuunnitelma
**• Kuvaa ketkä osallistuvat testaukseen**
Ville Niemi ja Jooa Pitkonen
**• Kuka on kokonaisvastuussa testauksesta?**
Molemmat testaukseen osallistuvat henkilöt
**• Kuka testaa ja mitä testaa?**
Testauksiin on kirjoitettu kuka testauksen on suorittanut
**• Kuinka kattavasti ohjelma testattiin?**
Ohjelmaa testattiin jokaisesta ohjelmistolle mahdollisesta näkökulmasta
**• Kuvaa testattavan ohjelmiston rakenne (komponentit/moduulit). Piirrä kaavio komponenteista ja niiden välisistä riippuvuuksista.**

# Järjestelmätestaus
**Käyttöliittymä** Jooa Pitkonen
- Ohjelma on 5sPeli, joka on tehty Javascriptillä, CSS.sällä ja HTML.llä. Sitä suoritetaan klikkailemalla nappeja ja kuvia. Kuvia klikkailemalla saat pisteitä, jotka näkyvät sitten vaiheiden välissä. Tällähetkellä käyttöliittymä on vaikea ajaa, koska siinä on resoluutio ongelmia, joten esimerkiksi tiedostonkysyjä ei näy ykkösvaiheessa ollenkaan. Kuvien ja nappien klikkauksen kuitenkin toimivat ja klikattujen kuvien määrä antaa oikeat pisteet.
**Suorituskyky** Jooa Pitkonen
- Ohjelma käynnistyy ongelmitta, vaiheesta toiseen siirtymisessä ei suorituskyvyllisiä ongelmia.
**Asennus ja poisto** Ville Niemi
- Ohjelmaa käytetään webbi käyttöliittymällä, joten sitä ei tarvitse asentaa tai poistaa
**Käytettävyyden testaus**
- Testausta ei ole suoritettu
**Opasteet** Jooa Pitkonen
- Peli neuvoo käyttäjää ennen jokaista vaihetta miten käyttäjän tulee toimia. Opasteet ovat selkeästi näkyvillä ja sisältö on juuri sellainen millainen sen tulee olla.
**Lopetus virhetilanteissa** Jooa Pitkonen
- Jos ohjelma kaatuu tai ei vastaa, tulee selain sulkea ruksia painamalla ja käynnistää peli uudelleen. Ohjelmassa ei ole tallennusta, joten peli joudutaan aloittamaan alusta.
# Hyväksymistestaus Jooa Pitkonen
**• ID** - 1
**• Epiikka/Vaatimus/Käyttäjätarina** -Ajastin
**• Testitapaus** Ajastimen toiminnallisuuden testaus
**• Prioriteetti (1,2,3)** 2
**• Testaus päivämäärät** 7.4.2020
**• Sprintti (yksi tai useampi)** Sprintti 5
**• Odotettu tulos** Ajastimessa vähenee aika
**• Testauksen tulos: OK tai virheen vakavuus (A, B, C)** OK
**• Kommentti testauksen tuloksesta, jos ei mennyt läpi tai muuta lisätietoa**
**• Kuinka toimitaan, jos testaus ei mennyt läpi** Ilmoitetaan komponentin tekijälle asiasta
**• ID** - 2
**• Epiikka/Vaatimus/Käyttäjätarina** Vaiheen 2 toiminnallisuus(hävittää ylimääräiset ikonit)
**• Testitapaus** Testaan toimiiko ylimääräisten ikoneiden hävittäminen
**• Prioriteetti (1,2,3)** 1
**• Testaus päivämäärät** 7.4.2020
**• Sprintti (yksi tai useampi)** Sprintti 5
**• Odotettu tulos** Ylimääräiset ikonit häviävät
**• Testauksen tulos: OK tai virheen vakavuus (A, B, C)** OK
**• Kommentti testauksen tuloksesta, jos ei mennyt läpi tai muuta lisätietoa**
**• Kuinka toimitaan, jos testaus ei mennyt läpi** Ilmoitetaan komponentin tekijälle asiasta
**• ID** - 3
**• Epiikka/Vaatimus/Käyttäjätarina** Välivaiheet ja niihin/niistä siirtyminen
**• Testitapaus** Testataan välivaiheiden toimivuutta
**• Prioriteetti (1,2,3)** 1
**• Testaus päivämäärät** 7.4.2020
**• Sprintti (yksi tai useampi)** Sprintti 5
**• Odotettu tulos** Siirtyminen toimii moitteitta ja opasteet tulevat näkyviin
**• Testauksen tulos: OK tai virheen vakavuus (A, B, C)** OK
**• Kommentti testauksen tuloksesta, jos ei mennyt läpi tai muuta lisätietoa**
**• Kuinka toimitaan, jos testaus ei mennyt läpi** Ilmoitetaan välivaiheiden tekijälle asiasta
**• ID** - 4
**• Epiikka/Vaatimus/Käyttäjätarina** Pistemuuttuja
**• Testitapaus** Pistemäärä päivittyy väliruutuihin ja loppuruutuun klikkausten määrän mukaan
**• Prioriteetti (1,2,3)** 2
**• Testaus päivämäärät** 7.4.2020
**• Sprintti (yksi tai useampi)** Sprintti 5
**• Odotettu tulos** Pisteet ovat oikein, maksimissaan 24 kohdassaan
**• Testauksen tulos: OK tai virheen vakavuus (A, B, C)** OK
**• Kommentti testauksen tuloksesta, jos ei mennyt läpi tai muuta lisätietoa**
**• Kuinka toimitaan, jos testaus ei mennyt läpi** Ilmoitetaan komponentin tekijälle asiasta
**• ID** - 5
**• Epiikka/Vaatimus/Käyttäjätarina** Ikonien haalentuninen
**• Testitapaus** Testataan klikattujen ikonien haalenemista
**• Prioriteetti (1,2,3)** 3
**• Testaus päivämäärät** 7.4.2020
**• Sprintti (yksi tai useampi)** Sprintti 5
**• Odotettu tulos** Ikonin painamisen jälkeen ikoni haalenee pelikentällä
**• Testauksen tulos: OK tai virheen vakavuus (A, B, C)** OK
**• Kommentti testauksen tuloksesta, jos ei mennyt läpi tai muuta lisätietoa**
**• Kuinka toimitaan, jos testaus ei mennyt läpi** Ilmoitetaan haalenemisefektin tekijälle tilanteesta
**• ID** - 6
**• Epiikka/Vaatimus/Käyttäjätarina** Tiedostonkysyjä
**• Testitapaus** Testataan tiedostonkysyjän toimivuutta
**• Prioriteetti (1,2,3)** 1
**• Testaus päivämäärät** 7.4.2020
**• Sprintti (yksi tai useampi)** Sprintti 5
**• Odotettu tulos** Ohjelma kysyy tiedostoa jota painamalla pelissä pääsee eteenpäin
**• Testauksen tulos: OK tai virheen vakavuus (A, B, C)** B
**• Kommentti testauksen tuloksesta, jos ei mennyt läpi tai muuta lisätietoa** Pelin 1. vaiheessa taustakuva peittää tiedostonkysyjän, muissa kohdissa toimii OK
**• Kuinka toimitaan, jos testaus ei mennyt läpi** Ilmoitetaan tiedostonkysyjän tekijälle ja taustakuvan sijoittajalle tilanteesta
**• ID** - 7
**• Epiikka/Vaatimus/Käyttäjätarina** Vaiheessa 3 tiedostojen sijoittaminen päätteen mukaan
**• Testitapaus** Testataan sijoittuvatko kuvakkeet päätteen mukaan
**• Prioriteetti (1,2,3)** 2
**• Testaus päivämäärät** 7.4.2020
**• Sprintti (yksi tai useampi)** Sprintti 5
**• Odotettu tulos** Tiedostot sijoittuvat päätteet mukaan
**• Testauksen tulos: OK tai virheen vakavuus (A, B, C)** OK
**• Kommentti testauksen tuloksesta, jos ei mennyt läpi tai muuta lisätietoa**
**• Kuinka toimitaan, jos testaus ei mennyt läpi** Ilmoitetaan komponentin tekijälle asiasta
**• ID** - 8
**• Epiikka/Vaatimus/Käyttäjätarina** Vaiheessa 4 tiedostot kysytään järjestyksessä
**• Testitapaus** Testataan kysyykö tiedostonkysyjä vaiheessa 4 tiedostot järjestyksessä
**• Prioriteetti (1,2,3)** 2
**• Testaus päivämäärät** 7.4.2020
**• Sprintti (yksi tai useampi)** Spirintti 5
**• Odotettu tulos** Tiedostot kysytään oikeassa järjestyksessä
**• Testauksen tulos: OK tai virheen vakavuus (A, B, C)** OK
**• Kommentti testauksen tuloksesta, jos ei mennyt läpi tai muuta lisätietoa**
**• Kuinka toimitaan, jos testaus ei mennyt läpi** Ilmoitetaan komponentin tekijälle asiasta
**• ID** - 9
**• Epiikka/Vaatimus/Käyttäjätarina** Pistemäärä palkkina
**• Testitapaus** Testataan pistemäärän palkkinäkyvyyden toimivuutta
**• Prioriteetti (1,2,3)** 3
**• Testaus päivämäärät** 7.4.2020
**• Sprintti (yksi tai useampi)** Sprintti 5
**• Odotettu tulos** Saatu pistemäärä kuvataan prosentuaalisena palkkinäkymänä
**• Testauksen tulos: OK tai virheen vakavuus (A, B, C)** OK
**• Kommentti testauksen tuloksesta, jos ei mennyt läpi tai muuta lisätietoa**
**• Kuinka toimitaan, jos testaus ei mennyt läpi** Ilmoitetaan pistemääräpalkin tekijälle tilanteesta
**• ID** - 10
**• Epiikka/Vaatimus/Käyttäjätarina** - Taustakuvan vaihtuminen vaihessa 2 ja 4
**• Testitapaus** - Testataan vaihtuuko taustakuva
**• Prioriteetti (1,2,3)** - 3
**• Testaus päivämäärät** - 7.4.2020
**• Sprintti (yksi tai useampi)** Sprintti 5
**• Odotettu tulos** Taustakuva vaihtuu kohdassa 2 ja uudestaan kohdassa 4
**• Testauksen tulos: OK tai virheen vakavuus (A, B, C)** OK
**• Kommentti testauksen tuloksesta, jos ei mennyt läpi tai muuta lisätietoa**
**• Kuinka toimitaan, jos testaus ei mennyt läpi** Ilmoitetaan komponentin tekijälle asiasta
**• ID** - 11
**• Epiikka/Vaatimus/Käyttäjätarina** Klikkaustoimintojen toiminta
**• Testitapaus** Testataan nappien ja klikattavien objektien toiminta
**• Prioriteetti (1,2,3)** 1
**• Testaus päivämäärät** 7.4.2020
**• Sprintti (yksi tai useampi)** Sprintti 5
**• Odotettu tulos** Kuvaketta klikkaamalla saadaan odotettu tulos
**• Testauksen tulos: OK tai virheen vakavuus (A, B, C)** OK
**• Kommentti testauksen tuloksesta, jos ei mennyt läpi tai muuta lisätietoa**
**• Kuinka toimitaan, jos testaus ei mennyt läpi** Ilmoitetaan toiminnon tekijälle tilanteesta
**• ID** - 12
**• Epiikka/Vaatimus/Käyttäjätarina** Pelikentän koon mukautuminen käyttäjän resoluutioon
**• Testitapaus** Testataan pelikentän koon mukautumista käytettävään resoluutioon
**• Prioriteetti (1,2,3)** 1
**• Testaus päivämäärät** 20.4.2020
**• Sprintti (yksi tai useampi)** Sprintti 6
**• Odotettu tulos** Pelikentän koko mukautuu käyttäjän resoluutioon
**• Testauksen tulos: OK tai virheen vakavuus (A, B, C)** OK
**• Kommentti testauksen tuloksesta, jos ei mennyt läpi tai muuta lisätietoa**
**• Kuinka toimitaan, jos testaus ei mennyt läpi** Ilmoitetaan toiminnon tekijälle tilanteesta
# Yksikkötestaus
Yksikkö testaukset suoritti Ville Niemi & Jooa Pitkonen 8.4.2020
Kaikkiin testeihin sisältyy console.log(lvl), jolloin sen pitäisi näyttää leveli jonka se saa parametrinä StartLevel funktiolta. Kaikissa tilanteissa "moi":n pitää tulostua ja myöskin levelin millä ollaan.
Testi: 1
Timer
Kuvaus: Suoritin testin niin että laitoin sijoitin timerin funktioon console.log("moi"), console.log(lvl) ja katsoin sitten ajon aikana että mitä näyttää. Moi pitäisi tulostua samoin kuin levelin millä ollaan
Tulos: OK
Kuvassa ollaan tasolla kaksi, myös muut toimivat samalla tapaa.

Testi: 2
OutOfTime
Kuvaus: Sijoitin OutOfTime funktion alkuun console.log("moi") ja debuggerin jolloin ohjelma pysähtyy. Olin pelin vaiheessa 4. Klikkailin eteenpäin debuggerin jälkeen ja katsoin meneekö ohjelma oikein
Tulos: OK


Testi: 3
Score
Kuvaus: Sijoitin Scoren alkuu console.log("moi") ja debuggerin jolloin ohjelma pysähtyy. Olin vaiheessa 3 ja klikkailin eteenpäin ja katsoin hyppääkö ohjelma oikein kohdan kolme pisteisiin ja oikeaan tulokseen, joka oli 6 pistettä


Testi: 4
StartLevel
Kuvaus: Sijoitin StartLevel funktion sisään jokaisen kohdan alkuun console.log("moi") ja debugger, jolloin ohjelma pysähtyy ensimmäisen ohjelma jälkeen. Tuloksena pitäisi tulla leveli ja moi consoleen. Tulos: OK
Level 1: 
Level 2: 
Level 3: 
Level 4: 
Testi: 5
ClickedRight
Kuvaus: Sijoitin console.log("moi") ja debuggerin clickedright funktion alkuun, jolloin suorituksen pitäisi pysähtyä kun painaa objektia oikein. Olin levelillä yksi
Tulos: OK, toimii myös muilla tasoilla


Testi: 6
SaveFileOrder
Kuvaus: Sijoitin console.log("moi") ja debuggerin SaveFileorder funktion loppuun ja jokaisen tason alussa suorituksen pitäisi pysähtyä ja edellisen vaiheen lista pitäisi säilyä kuvassa
Tulos: OK


Testi: 7
RemoveOlfFiles
Kuvaus: Sijoitin console.log("moi") ja debuggerin RemoveOlfFiles funktion loppuun ja pysäytin suorituksen sen avulla. Sitten annoin ohjelma juosta ja katsoin poistuuko turhat tiedostot
Tulos : OK
https://i.gyazo.com/2fd735fba3ad944b72273fb04e203dd8.mp4

Testi: 8
FadeOutExtras
Kuvaus: Sijoitin console.log("moi") ja debuggerin fadeoutextras funktion alkuun ja pysäytin suorituksen sen avulla. Sitten annoin ohjelma juosta ja katsoin toimiiko "hämärrys" -efekti
Tulos: OK
https://i.gyazo.com/f3567490da222c0a295b6d496c0b87cc.mp4

Testi: 9
ChangeBg
Kuvaus: Sijoitin console.log("moi") ja debuggerin ChangeBg funktion alkuun ja pysäytin suorituksen sen avulla. Sitten annoin ohjelma juosta ja katsoin toimiiko taustakuvan vaihtaminen vaiheessa 1. Muissa vaiheissa ei ole tällaista suoritusta
Tulos: OK
https://i.gyazo.com/f92458e698b28227c73b7f8684eb37ef.mp4

Testi: 10
Frame (Timerin sisällä)
Kuvaus: Sijoitin console.log("moi") ja debuggerin Frame funktion jokaisen kohdan loppuun missä värin pitäisi muuttua ja klikkailin suoritusta eteenpäin.
Tulos: OK, ohjelma tulostaa jokaisen vaiheen kohdalla "moi" ja väri vaihtuu odotetusti


Joitain funktioita en osannut testata kuten ChangeAskedFile ja CreateAskedFileList, mutta ne toimivat kyllä oikein suorituksen edetessä
---------------------------------------
Jatkettu 20.4
Size
Kuvaus: Sijoitin funktioon console.log(window.innerWidth), joka kertoo näytön resoluution. Sitten pienensin ja suurensin näyttöä ja luvun pitäisi muuttua ja pelikentän myös
Tulos: OK, ohjelma tulostaa oikeat luvut ja pelikenttä suurenee.
https://i.gyazo.com/642183856d949ff17f5be9fc1d42c865.mp4
# Testauksen arviointi
**• Arvio testauksen luotettavuudesta ja riittävyydestä?**
Testit suoritettiin parhaiten kuten ymmärsimme ja kykesimme. Ohjelman yksinkertaisuudesta johtuen testattavia asioita ei ollut paljoa ja tehdyt testit riittivät ohjelman oikeanlaiseen toimintaan.
**• Mitä tuotteen laadusta voidaan sanoa testauksen jälkeen?**
Tuote on hyvin laadukas ryhmän jäsenten aikaisemman kokemuksen huomioon ottaen. Testaus on suoritettu tuotteen ollessa lähes valmis, joten tuotteen laatua ei ole voitu muuttaa testausten tulosten perusteella.
**• Jäikö tuotteeseen tunnettuja virheitä? Kuinka niiden kanssa tulee toimia?**
Tuotteeseen ei jääny tunnettuja virheitä
**• Mitä opittiin, mitä tekisin toisin?**
Testausta olisi täytynyt tehdä aikaisemminkin, jotta sen laadukkuudesta olisi voinut mennä takuuseen, ja ei olisi tullut kiire testejä tehdessä.