Ohjelmistojen virheistä

Samankaltaiset tiedostot
Vikasietoisuus ja luotettavuus

Vikasietoisuus ja luotettavuus

Tehokas vianetsintä taktiikoita testaajille

Sulautettujen järjestelmien vikadiagnostiikan kehittäminen ohjelmistopohjaisilla menetelmillä

Testaajan eettiset periaatteet

Kääntäjän virheilmoituksia

Menetelmäraportti - Konfiguraationhallinta

58160 Ohjelmoinnin harjoitustyö

Lyhyt yhteenveto ohjelmistovaatimuksista standardissa ISO

Simulation and modeling for quality and reliability (valmiin työn esittely) Aleksi Seppänen

Luento 4 Vikapuuanalyysit

Lokalisointitestaus. Matti Vuori, 1(17)

11. Luento: Vikasietoisuus. Tommi Mikkonen,

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Käytettävyysanalyysi

Harjoitus 7: NCSS - Tilastollinen analyysi

Sangen lyhyt L A T E X-johdatus, osa 2

PATA WEB KÄYTTÖLIITTYMISTÄ

Ei raportteja roskiin

Ylläpito. Ylläpidon lajeja

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

Toimintaprosessien mallintaminen ja simulointi käytön ja kunnossapidon strategisessa suunnittelussa. Jean-Peter Ylén

Luento 4 Vikapuuanalyysit

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

Ohjelmistotuotanto s

Laadunvarmistustekniikat

Poikkeavuuksien havainnointi (palvelinlokeista)

dokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

Ohjelmistotuotteen hallinnasta

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

ASENNUS- JA HUOLTO-OHJE

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1

Internetin hyödyt ja vaarat. Miten nettiä käytetään tehokkaasti hyväksi?

Järjestelmän kriittisimmille toiminnallisuuksille (listattu alla), toteutetaan 1

Tietokanta (database)

Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen

Liite 2 1(20) Tarkastukset Tekla NIS Offline Inspection ohjelmistolla. Käyttöohje asentajille

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Anna kaasunvalvontasi osaaviin käsiin. Elinkaaripalvelu

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER

UCOT-Sovellusprojekti. Asennusohje

Toiminnallinen turvallisuus

Loppuraportti. Virtuaali-Frami, CAVE-ohjelmisto. Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu. Versio

Autokunto-ohjelmiston käyttöohjeet

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

TR 10 Liite PANK-HYVÄKSYNTÄ Lisävaatimukset PTM-mittaukselle. C) mspecta

Testausraportti. Dokumentti: Testausraportti_I2.doc Päiväys: Projekti : AgileElephant

Molentum Oy, yleiset toimitusehdot alkaen. Yleiset toimitusehdot ovat voimassa toistaiseksi. 1. YLEISTÄ

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Pitkäaikaissäilytyksen toiminta ja ylläpito

Yhteistoiminnallisen humanoidirobotin sosiaalisia vaikutuksia työpaikalla

Palvelukeskus ja Huoltopalvelu

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

TOIMINNALLINEN MÄÄRITTELY MS

Dynaaminen SLA-riski. Goodnet-projektin loppuseminaari pe Pirkko Kuusela, Ilkka Norros VTT

Tosi elävä virtuaalimalli Mika Karaila Tutkimuspäällikkö Valmet Automation

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja

Ammattimaisen käyttäjän vaaratilanneilmoitus Minna Kymäläinen/ Valvira

Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana

MITÄ JAVASCRIPT ON?...3

Asteri Ostoreskontra (Dos)

Ohjelmistojen testaus

Salausmenetelmät (ei käsitellä tällä kurssilla)

Suunnitteluvaihe prosessissa

Ylläpitodokumentti Mooan

DOORSin Spreadsheet export/import

L7 8.8 Tulorekisteriaineistot: Aineistojen lähetys ja virhetilanteet, aineistojen korjaaminen

Tietojärjestelmän osat

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Tekoälyä testauksessa ja hyvän softan teossa

Muista vaaratilanneilmoitus

Versio Päiväys Tekijä Kuvaus Tikkanen varsinainen versio

Varavoimajärjestelmän ylläpito ja luotettavuus

Laaturaportti [iteraatio 2] Ryhmä 14

SYSTEEMIJOHTAMINEN! Sami Lilja! itsmf Finland 2014! Oct ! Kalastajatorppa, Helsinki! Reaktor 2014

Ohjelmiston toteutussuunnitelma

Ulkoiset mediakortit. Käyttöopas

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

Varmuuskopiointi ja palauttaminen Käyttöopas

Nimi: Opnro: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä. 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla:

Hyväksytyt asiantuntijat

Tulorekisterin sidosryhmätestaukseen julkaistaan kehitysversio

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun.

Ohjelmoinnin perusteet, syksy 2006

JKV-järjestelmän baliisivikatilanteet

Ulkoiset mediakortit. Käyttöopas

Opponointitestaus VYM -> LiKe

Käyttöohje. Energent MagiCAD plugin

Maatalouden Laskentakeskus Oy Minun Maatilani - ohjelmiston palvelusopimus

Superintend VR-16 Vikavirtarele 5-johdinverkkoihin Lyhyt käyttöohje

Arto Salminen,

Tekoäly tänään , Vadim Kulikov (Helsingin Yliopisto)

Hirviö Vertaistestausraportti

Tornio Works käynnissäpidon toimintamalli

LASKUAUTOMAATIORATKAISUIDEN VERSIOPÄIVITYS ICT-STRATEGIA LIIKETOIMINNAN KEHITYKSEN YTIMESSÄ 2011 KERKKO KÄMÄRÄINEN

Transkriptio:

Ohjelmistojen virheistä Muutama sana ohjelmistojen virheistä mistä niitä syntyy? Matti Vuori, www.mattivuori.net 2013-09-02 1(8)

Sisällysluettelo Ohjelmistojen virheitä: varautumattomuus ongelmiin 3 Ohjelmistojen virheitä: viat, "bugit" 4 Vikojen esiintymiseen vaikuttavia asioita projekteissa 5 Vian ja virheen ero 6

Ohjelmistojen virheiden syistä: varautumattomuus ongelmiin Nettiyhteys katkeaa Levytila täyttyy Tiedostoa ei löydy Häiriöt Ohjelmiston väärinkäyttö Väärä tarkoitus Käyttäjän tavat toimia Erilaiset käyttäjät Virhesyötteet Kirjoitusvirheet Väärinkäsitykset Puuttuva data Varautumattomuus Sabotaasi Käyttöympäristö Sisäiset hyökkäykset Ulkoiset hyökkäykset Murtautuminen Denial of service 3(8)

Ohjelmistojen virheiden lähteitä Väärä tiedonlähde (PO asiakkaan sijaan) Tieto muuttuu matkan varrella Erilainen konteksti Vanhaa tietoa Erilaiset laiteympäristöt Käyttöjärjestelmä Käyttäjän oikeudet Asennustapa Muut ohjelmistot / "DLL hell" Päivitykset Väärät käsitykset halutusta toiminnasta Ympäristötekijät Kääntäjien yms. viat Lähdekoodi kunnossa, mutta syntyy viallista konekoodia Puuttuva dokumentointi Väärät dokumentit Virheelliset dokumentit Ei-yksikäsitteiset dokumentit Epäselvät dokumentit Dokumentit eivät ajantasalla Virheet (bugit) Väärä käännösyksikkö Versionhallinta Konfiguraationhallinta Muutokset muussa ohjelmistossa Toteutusvirheet Huonolaatuiset moduulit Emo-ohjelman muutos (selain rikkoon pluginit) Muutoksenhallinta Muut moduulit Epäsopivat algoritmit Koodausvirheet Konfigurointivirheet Resurssien virheet Toisen tekemät muutokset Kolmansien osapuolten moduuleissa piileviä vikoja tai yhteensopimattomuuksia 4(8)

Vikojen esiintymiseen vaikuttavia asioita projekteissa Virheet ovat inhimillisiä. Ohjelmistot ovat erittäin kompleksisia. Ohjelmistot toimivat monimutkaisessa järjestelmässä, jonka kaikkia vuorovaikutuksia ei voida ennustaa luotettavasti. Järjestelmät ja teknologiat eivät aina toimi niin kuin on dokumentoitu. Myös ulkoiset häiriöt tuottavat virheitä laitteiston toiminnassa: säteily, magnetismi, sähkökentät, kemialliset ilmiöt, saasteet jne. Aikapaineet tuottavat ongelmia. Laatukulttuuri laadun tekeminen, vastuu omista tuotoksista. 5(8)

Vian ja virheen ero 1/3 Ohjelmiston ja järjestelmän tason ongelmat Vikaantuminen (failure, malfunction): Poikkeama tarkoitetusta/määritellystä oikeasta toiminnasta. "The command failed", "There has been a system malfunction". Häiriö on failuren arkisempi termi, joka kuvaa vikaantumista lievempiä ilmiöitä. Järjestelmässä on nähtävissä jokin ei-toivottu tapahtuma, joka johtuu sen viasta. Vika (defect, fault): Sellainen laitteen tai ohjelman tila, joka voi johtaa vikaantumiseen. ISTQB:n materiaaleissa puhutaan vikojen yhteydessä hyvin usein defecteistä. 6(8)

Vian ja virheen ero 2/3 Virhe (error): Laitteen tai ohjelman (moduulin) tuottama väärä vaste. Virhe indikoi että moduulissa on vika, moduuli on saanut virheellisen syötteen tai sitä on käytetty väärin. Johtaa vikaantumiseen, ellei systeemi siedä kyseistä vikaa. Vika voi olla olemassa ilman, että virheitä sattuu. => Tämän vuoksi testauksessa etsitään lopulta "vikoja". Ohjelmoija tekee koodausvirheen Ohjelmassa on vika Ohjelma / moduuli toimii virheellisesti, siinä ilmenee virhe Järjestelmä vikaantuu, ei toimi 7(8)

Vian ja virheen ero 3/3 Bugi (bug) on yleensä vian synonyymi. Koska ohjelmassa on vika (bugi), se toimii väärin (siinä ilmenee virhe) ja se ei siksi toimi oikein, vaan jopa kaatuu, mikä on selkeä vikaantumisen muoto. Insidenssi (incident). Yleisempi termi erilaisille negatiivisille havainnoille, poikkeamille, oletetuille virheille. ISTQB-dokumentit soveltavat paljon tätä termiä. Anomalia (anomaly). IEEE-standardien käyttämä yleistermi erilaisille havaituille poikkeamille. 8(8)