Ohjelmistoviat

Ohjelmistovika eroaa muista vioista siten, että se aiheutuu aina suunnittelusta. Ohjelma sinällään ei vanhene eikä väsy, joten luotettavuusarvoa ei voi määritellä ammekäyrän periaatteiden mukaisesti. Ohjelmistovioissa inhimilliset tekijät vaikuttavat ohjelmiston toimivuuteen.

Inhimilliset tekijät voidaan jakaa seuraavasti:

  • projektikohtaiset tekijät
    • monimutkaisuus ja epätäsmällisyys
    • stressi
    • menetelmien tai välineiden kömpelyys
    • koulutuksen tai motivaation puute
  • ohjelmistokohtaiset tekijät
    • monimutkaisuus ja epätäsmällisyys

Ohjelmistojen viat voidaan jakaa neljään luokkaan. Sovellusvika aiheuttaa sen, ettei laitteisto toimi uudessa sovelluskohteessa. Sovellus on myös voitu tehdä väärin. Määrittelyvirhe aiheuttaa usein sovellusvian. Käyttäjän virhe voi johtaa ohjelman tekemään vääriä päätelmiä. Virheellinen dokumentointi ennen suunnittelua, sen aikana tai käyttöönoton yhteydessä saattaa aiheuttaa toimintahäiriön. Järjestelmän ulkopuolella saattaa oheislaitteiden välisessä liikenteessä esiintyä vikoja.

Ohjelmiston testaaminen

FAT:

Ohjelma testataan yleensä ensin tehtaalla, kun laitetta valmistetaan ja rakennetaan. Sen jälkeen laitetta testataan käyttökohteessa laitteen käyttöönoton yhteydessä. Tehdastestistä käytetään nimitystä ”fätti” = FAT = Factory Acceptance Test = tehdastesti toimittajan tai valmistajan tiloissa. Testissä simuloidaan koneautomaation mittaukset ja ohjaukset asettamalla yksitellen jokainen I/O eli sisään- ja ulostulo ja sen jälkeen tarkistetaan elektroniikan sekä ohjelman toimivuus. Usein joudutaan simuloimaan yhtä aikaa useita mittaus- ja ohjauspiirejä, jotta voidaan testata monimutkaisempien ohjaussysteemien toiminta. Tehdastesti on yleensä rajattu tekniseen toimivuuteen.

SAT:

Käyttöönotosta tehdään oma suunnitelma ja laitteet tarkistetaan, käyttäjä hyväksyy tarkistuksen ja tarkistukset dokumentoidaan ennen käyttöönottoa. Käyttöönotto tehdään suunnitellusti testaamalla laitteita "kylmänä", ”vesillä” tai muilla oikeata käyttöä vastaavilla tavoilla. Tästä testistä käytetään nimitystä ”sätti” = SAT = Site Acceptance Test = tehdastesti käyttöönoton yhteydessä. Käyttöönottotestissä on mukana jo enemmistö mittaus- ja ohjauspiireistä, ja niiden avulla saadaan aikaan oikeaa tilannetta vastaavat arvot. Näin voidaan testata isoja kokonaisuuksia.

Piirikohtainen testaussuunnitelmaesimerkki (Excel)

Tehtävä: Laadi oheiselle testaussuunnitelmalomakkeelle yksinkertaisen lämpötilamittauksen testaussuunnitelma.

Lopullinen ohjelman ja koneautomaatiojärjestelmän testi tehdään, kun koko laitteisto otetaan oikeaan käyttöön. Tällaista testiä kutsutaan suorituskykytestiksi. Suorituskykytestissä järjestelmää ajetaan normaalioloissa sekä ääriolosuhteissa, jotta toimintavarmuus voidaan selvittää kaikissa mahdollisissa tilanteissa. Suorituskykytestien jälkeen seurataan laitteiston toimintaa, kirjataan suoritus ja dokumentoidaan puutteet, jotka korjataan joko välittömästi tai myöhemmin sovittavana ajankohtana, jos vika ei ole kriittinen.