Tarkvara testimise praktiline lühikursus algajatele
Sihtgrupp
Kursus on mõeldud neile, kellel puudub või on vähene varasem kogemus tarkvara testimisega, kuid on plaan sellega algust teha. Oodatud on samuti kõik teised, kel soov heita pilk testijate maailma ja seeläbi mõista testimise ning tarkvaraarenduse nüansse. Näiteks tootejuhid, peakasutajad, analüütikud, projektijuhid. Eelduseks vaid tahe õppida, igapäevane arvutikasutamise oskus ja inglise keelest baastasemel arusaamine.
NB! FINANTSEERI koolitust ETTEVÕTETELE mõeldud KOOLITUSTOETUSE meetme abil: https://www.tootukassa.ee/et/teenused/tooandjatele/koolitustoetus-tooandjatele !
Eesmärk
Anda praktilised algteadmised testimisest. Selleks, et jätkata testimise õpinguid, valmistada õppijat ette tarkvara testimise iseseisvaks läbiviimiseks, alustada tööd juunior testijana mentori käe all või kasutada testimise baasoskusi oma igapäevatöös (tarkvara tellimisel, tootejuhtimises, projektijuhtimises). Kursuse läbinu hoomab tarkvarasüsteeme ja arendusprotsesse. Oskab ise koostada ja läbi viia erinevaid tarkvara teste. Omandab teadmised staatilisest testimisest, testib andmebaase ja API-sid. Õpib veahaldusprogrammide kasutamist. Testide raporteerimine ja versioonihaldus. Testide planeerimine, juhtimine ja staatiline testimine. API testimine, andmebaaside testimine ning testimise automatiseerimine. Kursuse rõhk on praktilistel teadmistel ja harjutustel – nii iseseisvate ülesannete kui teoreetiliste loengute sisu on praktilise suunitlusega ja on koolitaja poolt reaalses elus läbi proovitud. Kursus sisaldab 0% reaalses elus kasutut teooriat. Praktilist osa on umbes 50%.
Käsitletavad teemad
- Tarkvara ja lihtsamad IT-süsteemid, komponendid
- Tarkvara arendusprotsessi ülevaade
- Testimise põhimõtted
- Lihtsam testimine
- Kasutaja- ja testilugude kirjutamine
- Veebilehe testimise algtõed
- Vea pileti koostamine JIRAs
- Arendamise metoodikad
- Testimise tasemed ja testimise keskkonnad
- Testimise tüübid: FN (funktsionaalne) ja mitte FN testid
- Must- vs valgekast testimine
- Regressiooni test
- Mobiili, veebi testimine
- Testi raporti koostamine 2 ak t
- Samaväärsusklasside ja piirväärtuste testimine 1 ak t
- GIT – versioonihaldus 1 ak t
- Selenium IDE – automatiseerimine 2 ak t
- Testide plaanimine ja testide strateegiad
- API testid
- Andmebaasi testid
- Testihalduse tööriistade kasutamine
- GIT
- Harjutused jooksvalt koolituse jooksul. Üheskoos kodutööde ülevaatamine ning tagasiside kolmandal ja viiendal koolituspäeval kodutöödele. 16 ak t
Igapäeva elus IT lahenduste terviksüsteemi nägemine. Riistvara põgus tutvustus ja tarkvara ülesehituse näidis keerukama veebilehe põhjal. Eriotstarbeliste tarkvarade grupeerimine ja nende olemasolu vajaduse mõistmine. 0.5 ak t
Enimlevinumate tarkvara arendusprotsesside (SDLC) tutvutus: Kose mudel, prototüüpimise mudel, iteratiivne mudel, spiraali mudel, agiilne, scrum ja kanban. 7-t arendamise faasi käsitlemine. 1 ak t
Testimise algtõed (rahvusvaheliste standardite põhjal). 0.5 ak t
Kvaliteet ja süsteemi kasutaja poolse vaatevinkliga tutvumine. Tehakse praktiliselt läbi ühe veebilehekülje testimine. Mis on skoop, mis on lehekülje peamine eesmärk. 1ak t
Need on tarkvaraarenduses kasutusel olevad meetodid, kuidas kasutaja vaatevinklist tarkvara kasutamine ära kirjeldada. Testijuhtumite kirjutamine ja selle võrdlemine tegelikkusega. Juba olemasoleva süsteemi järgi testijuhtude loomine. 1 ak t
Veebilehitseja sisseehitatud arendustööriista kasutamine. Peamiste testimise tehnikate katmine, mida veebilehe testimisel tarvis läheb. Musta kasti testimise erinevate alaliikide põhjalikult käsitlemine. 3.5 ak t
• ekvivalentsi partitsioonid
• piirväärtuste analüüs
• otsustustabeli testimine
• seisundi muutuste testimine
• kasutaja lugude testimine
Maailmas enimkasutatud töövoo juhtimise tarkvaraga tutvumine. Selle kasutamine, et jäljendada päris olukorda tarkvara loomise protsessis, kus testija annab tagasisidet leitud tulemuste kohta. 0.5 ak t
Enimkasutatavad tööviisid: Agile, scrum, kanban, lean, bdd. 1 ak t
Määratleb testimise skoobi: väikseim osake süsteemist -> terve süsteem. Test vs Live keskkonnad. Komponendi testimine -> Integreerimise testimine -> Süsteemi testimine -> Vastuvõtu testimine. 1 ak t
Funktsionaalne testimine vastab küsimusele MIDA süsteem teeb. Mitte funktsionaalne testimine vastab küsimusele KUIDAS süsteem seda teeb. 0.5 ak t
Põhimõtteline lähenemise erinevus. Valge- või läbipaistva kasti testimine on sisemine struktuurianalüüs. Musta kasti testimine toimub ainult sisendite andmise ja tulemuste võrdlemise moel kasutajaliideses, veebilehel. 2 ak t
Tavaliselt enim pahandust ärahoidev testimine, mis peab veenduma varasemalt olemasoleva programmi osade korrektses toimimises. 0.5 ak t
Kõigi aspektide läbivaatamine, mida tuleb kummalgi puhul silmas pidada, et tagada väga hea töökorras olek. 5 ak t
Testide aja hindamine. Kuidas teha kõike, mida on vaja teha ja kui palju ressursse see vajab. Testide strateegiad: analüütiline, metoodiline, protsessile vastav, juhitud, regressioonivastane, reaktiivne. 1 ak t
Postman tarkvara kasutamine API – rakendusliideste testimiseks. Rakendusliidesed on enimkasutatav lahendus süsteemide ühendamisel (näiteks Instagrami postitus ilmub koheselt ka Facebookis). 3 ak t
Kogu kuvatav teave paikneb tegelikult andmebaasides. Teostame peamiseid päringuid informatsiooni saamiseks. 2 ak t
Jira, TestRail, Trello, 1 ak t
Versioonihaldustarkvara github kasutamine. Pea kõik tarkvaraarendused toimuvad sarnaselt. 1 ak t
Mida oskab koolituse läbinu?
- Teab tarkvara kompleksust. Oskab hoomata tarkvara olulisust meie igapäeva eludes. Teab, kuidas käib tarkvara loomise protsess ja mis on sealjuures kõige levinumad praktikad. On omandatud tarkvara arenduses tööle hakkamiseks põhilise meeskonna töövoo jada ja tegevused.
- Loob kasutajajuhtumeid. Saab hakkama iseseisvalt testide väljatöötamisega. Teab mille alusel saab töid tähtsuse järjekorda panna.
- Testib veebilehti musta kasti meetodil. Hindab erinevaid käsitsi testimise tehnikaid kasutades tarkvara kvaliteeti ja leiab üles vigu.
- Loob veapileteid. Kasutab tarkvara tööprotsessi jäädvustamiseks ja ülesannete edasisuunamiseks.
- Teab täpselt, kuidas käib tarkvara arendamise protsess. Mõistab peamiseid töömeetodite erinevusi ja suudab kiirelt sulanduda ühtesse meeskonna töövoogu.
- Oskab valida õige testimise tüübi. Hinnates süsteemi keerukust ja kriitilisust, ning tuginedes teadmistele valida kõik vajalikud testimise tehnikad.
- Testib veebilehti ja rakendusi nii arvuti kui mobiilse seadmega. Omab head ülevaadet terviksüsteemist, mille kõigega peab arvestama tegelikkuses.
- Kasutab GIT versioonihaldust. Osaleb tarkvara arendamise protsessis, kasutades enimkasutatavat lahendust tarkvara versioneerimiseks ja selle kasutusele võtuks või tagasi keeramiseks.
- Salvestab ja taaskordab testijuhtumeid. Tunneb tööriista, millega on hõlbus ja tõhus enda töömahtu vähendada seal, kus on vajalik pidev sama tööülesande sooritamine.
- Planeerib testimist. Jaotab kogu teostatava töö etappideks ja eraldab sinna ressurssi.
- Teab testide juhtimist. Tunneb kõiki tarkvara kvaliteedi juhtimise osi ja neid teostavate osapoolte ülesandeid.
- Viib läbi staatilist testimist. Tunneb erinevaid metoodikaid töödokumentide ülevaatamiseks, eristab viise teatud komponentide järgi.
- Teeb andmebaaside päringuid. Testimise puhul on väga suureks boonuseks testija enda võimekus jõuda juurpõhjusteni ja kuna peamine töö kliendil käib andmetega siis otsetöötamine andmebaasiga on kõige efektiivsem. Omandanud need oskused, mis on vajalikud infoga töötamiseks andmebaasides.
- Teeb API päringuid. Kasutab liidest andmebaasist andmete saamiseks, mis on tavapärane käitumine just turvalisuse pärast.
- Kasutab testihalduse tööriistasid: Jira, TestRail ja Trello keskkonnad.
- On läbi töötanud ühe päris IT projekti dokumentatsiooni testimise osad.