Mitä on järjestelmätestaus?
Järjestelmätestaus: Mitä se on, miksi se on tärkeää ja miten toimii?
Systeeemitestaus on mun mielestä se hetki, kun kaikki palaset loksahtaa paikoilleen. Muistan kerran, kun joku uusi ominaisuus ei vaan toiminut, se turhautti ihan sikana. Se oli syyskuussa 2022, paikallinen softatalo.
Sillon mä tajusin, miten tärkeää on katsoa sitä isoo kuvaa. Ei riitä, että yksikään yksittäinen osa toimii, koko paketin pitää olla kunnossa.
Koko homman nimihän on siis systeemitestaus. Se on vähän kuin ennen kuin antaa sen leivonnaisen tarjolle, maistaa sen kaiken kaikkiaan.
Se takaa sen, että koko järjestelmä toimii niin kuin pitääkin. Vaikka se kuulostaa itsestäänselvyydeltä, sen merkitys on ihan valtava.
Mikä on hyväksymistestaus?
Joo elikkäs hyväksymistestaus, siis se on se vaihe ku katotaan toimiiko se softa oikeesti. Silleen niinku käyttäjän näkökulmasta.
Hyväksymistestaus on ohjelmistotestauksen viimeinen vaihe, jossa varmistetaan, että ohjelmisto täyttää liiketoiminnalliset vaatimukset ja on valmis julkaistavaksi loppukäyttäjille. Se on se ihan vika portti ennen julkasua.
Meillä oli yks projekti viime vuonna, ja siinä asiakas ite teki sen hyväksymistestauksen. Löysi yhen tosi pahan bugin ostoprosessista, joka ois maksanu firmalle tonneja jos se ois menny tuotantoon. Eli ihan sika tärkeä vaihe.
Se on just se vaihe missä oikeet loppukäyttäjät tai asiakas ite testaa testaa sen systeemin. Eikä millään testidatalla vaan ihan oikeilla tai ainakin melkeen oikeilla tiedoilla. Ja ympäristön pitää olla niin lähellä tuotantoympäristöä ku mahollista.
Sit on olemassa eri tyyppejä tästä hommasta, ei se oo vaa yks juttu:
- Käyttäjän hyväksymistestaus (UAT): Tää on se yleisin. Ihan oikeet loppukäyttäjät kokeilee softaa ja tekee niitä omia päivittäisiä hommiaan sillä. Tässä nähään, onko se oikeesti käyttökelponen.
- Alfa- ja betatestaus: Alfa on yleensä talon sisäistä testausta, eli omat työntekijät testaa. Beta taas on, ku softa annetaan rajatulle porukalle ulkopuolisia testattavaksi ennen ku se julkastaan kaikille.
- Sopimuksenmukaisuustestaus: Jos softa on tilattu joltain toimittajalta, niin tällä varmistetaan, että se täyttää kaikki sopparissa sovitut asiat ja kriteerit. Tosi virallista touhua.
Tää on se kuuluisa go/no-go -päätös. Eli tän testauksen jälkeen päätetään, että voidaanko tää softa julkasta vai pitääkö palata takasin korjaamaan juttuja. Ihan kriittinen juttu.
Päämääränä on siis varmistaa, että ohjelmisto toimii todellisissa käyttöskenaarioissa ja palvelee käyttäjiään moitteettomasti.
Ite oon ollu mukana monessa UAT-sessiossa ja ne on välillä aikamoista vääntöä mutta aina sen arvoista.
Mitä tarkoittaa savutestaus?
Savutestaus. Vakauden varmistus. Keskeisten toimintojen mittaus.
- Määritelmä: Ohjelmiston käyttöönoton kriittinen tarkastus.
- Tavoite: Varmistaa rakenteen perustoimivuus.
- Metodi: Sarja rajattuja, olennaisia testejä.
Toiminnallisuus pilkuntarkasti. Jokainen bugi paljastuu. Ohjelmisto kestää paineen. Tulevaisuus kirkas, kun koodi on puhdas. Vakaus ensin, sitten vasta laajemmat ominaisuudet. Tässä testissä ei tingitä.
Mitä on software?
Ohjelmisto on joukko tietokoneen tai muun digitaalisen laitteen käyttämiä ohjeita, jotka kertovat laitteelle mitä tehdä ja miten toimia. Se on abstrakti kokonaisuus, laitteiston fyysinen vastine.
Muistan vielä sen hetken, olin ehkä kymmenen vanha, kotona äidin vanhan tietokoneen ääressä. Se oli sellainen iso harmaa möhkäle, näppäimistö narisi ja hiiri oli jo kellertävä. Yritin saada Prince of Persia -pelin käyntiin, mutta se ei suostunut. Ei millään. En tajunnut, mitä on DOS, tai miksi peli piti asentaa niin monimutkaisesti. Kiroilin siinä mielessäni, pieni poika ja niin paljon turhautumista.
Isä tuli paikalle, katsoi ja sanoi, että nyt on softa jotenkin rikki. Miten voi olla rikki joku asia, jota ei näe tai voi koskea? Se oli niin outoa. Sitten kun vihdoin sain pelin pyörimään, oli se tunne uskomaton. Musta ruutu ja ne mystiset komennot tuntuivat niin monimutkaisilta.
Mutta kun se hahmo sitten liikkui ruudulla, tajusin jotain. Se ei ollut vain ruudulla näkyvä kuva. Se oli jotain, mitä joku oli rakentanut näkymättömillä palikoilla, ja minä sain sen heräämään eloon omalla koneellani. Se oli hämmentävää ja samalla niin hienoa.
Siitä se kaikki oikeastaan lähti. Kiinnostus siihen, mitä se softa oikeasti on ja miten se saa kaiken tapahtumaan.
Ja kerran kaveri yritti näyttää mulle jonkun koodinpätkän, se oli ihan hirveää sekasotkua kirjaimia ja numeroita. Sitä oli jotenkin vaikea käsittää, että tuosta kaikesta syntyy jotain toimivaa. Mutta samalla, se oli niin kiehtovaa. Miten ihminen voi luoda jotain niin abstraktia, ja siitä tulee jotain niin konkreettisesti näkyvää ja koettavaa?
Ohjelmisto on siis laitteiston sielu, käytännössä. Se on sitä, mikä tekee tietokoneesta tietokoneen, ei vain kasaa metallia ja piirejä. Ilman softaa rauta olisi vain hyödytön möykky.
Ohjelmistot jaetaan yleensä kahteen päätyyppiin:
- Järjestelmäohjelmistot: Nämä ovat ne perustyökalut, jotka mahdollistavat tietokoneen toiminnan. Esimerkiksi käyttöjärjestelmät (Windows, macOS, Linux) ovat järjestelmäohjelmistoja. Ne hallitsevat laitteiston resursseja ja tarjoavat alustan muille ohjelmille. Ajurit, jotka saavat tulostimen tai näytön toimimaan, ovat myös järjestelmäohjelmistoja. Ne ovat kuin tietokoneen aivot ja hermosto.
- Sovellusohjelmistot: Nämä ovat ne ohjelmat, joita käyttäjä käyttää tiettyihin tehtäviin. Esimerkkejä ovat tekstinkäsittelyohjelmat (Word), verkkoselaimet (Chrome, Firefox), pelit, kuvankäsittelyohjelmat (Photoshop) tai vaikkapa pankkisovellukset puhelimessa. Ne ovat käyttäjälle näkyvämpiä ja tehty vastaamaan tiettyyn tarpeeseen.
Ohjelmiston kehitys on jatkuvaa. Koodaajat ja ohjelmoijat kirjoittavat ohjelmointikielillä ohjeita, jotka sitten käännetään muotoon, jonka tietokone ymmärtää. Se on ikään kuin kielestä toiseen kääntämistä, mutta paljon tarkempaa. Virheet koodissa voivat aiheuttaa bugeja, eli ohjelmistovirheitä, jotka voivat kaataa koko järjestelmän. Testaus on siksi todella tärkeää.
Tänä päivänä lähes kaikki toimii ohjelmistojen varassa:
- Älypuhelimet ja tabletit: Jokainen sovellus on ohjelmisto.
- Autot: Modernit autot ovat täynnä ohjelmistoja moottorinohjauksesta viihdejärjestelmiin.
- Teollisuus: Tehtaiden robotit ja tuotantolinjat pyörivät ohjelmistoilla.
- Terveydenhuolto: Lääkintälaitteet, potilastietojärjestelmät ja diagnostiikka ovat vahvasti ohjelmistopohjaisia.
- Yhteiskunnan infrastruktuuri: Sähköverkot, liikenteenohjaus ja pankkijärjestelmät ovat riippuvaisia monimutkaisista ohjelmistoista.
Se on oikeasti aika uskomatonta, miten paljon se näkymätön koodi vaikuttaa meidän joka päiväiseen elämään.
- Miksi nenästä tulee yhtäkkiä verta?
- Meneekö poskiontelotulehdus ohi ilman antibioottia?
- Mitä vk tarkoittaa?
- Mikä on kärkilyönti?
- Voiko 17-vuotias olla auton omistaja?
- Mikä rahayksikkö on Italiassa?
- Mitä cappuccinoon tulee?
- Kuka aloittaa esitutkinnan?
- Mitä pahvinkeräykseen ei saa laittaa?
- Mitä tarkoittaa myyntihinta ja yksikköhinta?
Kommentoi vastausta:
Kiitos palautteestasi! Kommenttisi auttaa meitä parantamaan vastauksia tulevaisuudessa.