mistä luulet, että ohjelmistovirheet ovat peräisin? Oikein, ohjelmistossa. Mutta missä tarkalleen?
miksi käy niin, että ohjelmat eivät toimi oikein? Se on hyvin yksinkertaista-ihmiset luovat ja käyttävät niitä. Jos käyttäjä tekee virheen, tämä voi johtaa ongelmaan Ohjelman toiminnassa-sitä käytetään väärin, jolloin se ei välttämättä käyttäydy odotetulla tavalla.
inhimillinen virhe
virhe-on ihmisen toiminta, joka tuottaa väärän tuloksen.
ohjelmistot ovat kuitenkin sellaisten ihmisten suunnittelemia ja luomia, jotka osaavat (ja tekevät) myös virheitä. Tämä tarkoittaa, että itse ohjelmistossa on puutteita. Niitä kutsutaan virheiksi tai virheiksi (molemmat nimitykset ovat vastaavia). Muista-ohjelmisto on enemmän kuin vain koodia.
ohjelmistovirheet tai viat
vika, vika – osan tai järjestelmän puute, joka voi johtaa tiettyjen toimintojen pettämiseen. Ohjelman suorituksen aikana havaittu vika voi aiheuttaa yksittäisen komponentin tai koko järjestelmän vian.
ohjelmakoodin suorittamisen aikana saattaa ilmetä vikoja, jotka on upotettu jo sen kirjoittamisen aikana: ohjelma ei välttämättä tee mitä sen pitäisi tai päinvastoin – tee mitä sen ei pitäisi Ja tapahtuu kaatuminen.
ohjelmiston vika tai kaatuminen
vika tai kaatuminen on poikkeama komponentin tai järjestelmän todellisen toiminnan tuloksen ja odotetun tuloksen välillä.
ohjelman epäonnistuminen voi olla merkki siitä, että siinä on jokin vika.
näin ollen vika on olemassa, kun kolme ehtoa täyttyvät samanaikaisesti:
- odotettu tulos on tiedossa;
- todellinen tulos on tiedossa;
- todellinen tulos poikkeaa odotetusta tuloksesta.
on tärkeää ymmärtää, että kaikki viat eivät aiheuta kaatumisia – jotkut niistä eivät välttämättä ilmene millään tavalla ja jäävät huomaamatta (tai näkyvät vain hyvin erityisissä olosuhteissa).
vikoja voivat aiheuttaa vikojen lisäksi myös ympäristöolosuhteet: esimerkiksi säteily, sähkömagneettiset kentät tai saasteet voivat vaikuttaa sekä ohjelmistojen että laitteistojen toimintaan.
kaiken kaikkiaan vikoja ja siten vikoja on useita:
- virheet ohjelmistojärjestelmän määrittelyssä, suunnittelussa tai toteutuksessa;
- järjestelmän käyttövirheet;
- haitalliset ympäristöolosuhteet;
- tahallinen vahinko;
- aiempien virheiden, olosuhteiden tai tahallisten toimien mahdolliset seuraukset.
vikoja voi esiintyä eri tasoilla, ja järjestelmän laatu riippuu suoraan siitä, korjataanko ne ja milloin.
laatu – se, missä määrin luontaiset ominaisuudet täyttävät vaatimukset.
ohjelmiston laatu on kokoelma ohjelmiston ominaisuuksia, jotka heijastavat sen kykyä täyttää ilmoitetut ja implisiittiset tarpeet. Vaatimus on vakiintunut tarve tai odotus. Yleensä oletetaan tai vaaditaan.
ensimmäisessä tapauksessa kaikki tehtiin oikein ja saimme tuotteen, joka vastaa täysin asiakkaan odotuksia ja täyttää laatukriteerit.
toisessa tapauksessa virheitä tehtiin jo koodauksen aikana, mikä johti vikojen ilmaantumiseen valmiiseen tuotteeseen. Mutta tällä tasolla vikoja on melko helppo havaita ja korjata, koska näemme noudattamatta jättämisen.
kolmas vaihtoehto on huonompi-tässä tehtiin virheitä järjestelmän suunnitteluvaiheessa. Tämä voidaan huomata vain suorittamalla perusteellinen tarkastus eritelmän kanssa. Tällaisten vikojen korjaaminen ei myöskään ole helppoa-sinun täytyy suunnitella uudelleen tuotesuunnittelu.
neljännessä tapauksessa puutteet vahvistettiin vaatimusten muodostamisvaiheessa; kaikki jatkokehitys ja jopa testaus menivät alun perin väärälle polulle. Testauksen aikana emme löydä vikoja-ohjelma läpäisee kaikki testit, mutta asiakas voi hylätä sen. Saat lisätietoja tästä Online QA luokat ja sertifiointi.
perinteisesti ohjelmakoodin vikojen ilmaantumiseen on viisi syytä.
- Joukkueviestinnän puute. Usein liiketoiminnan vaatimukset eivät yksinkertaisesti saavuta kehitystiimiä. Asiakkaalla on ymmärrys siitä, miten he haluavat nähdä valmiin tuotteen, mutta jos heidän ideaansa ei ole kunnolla selitetty kehittäjille ja testaajille, tulos ei välttämättä ole odotusten mukainen. Vaatimusten olisi oltava kaikkien ohjelmistokehitysprosessiin osallistuvien saatavilla ja ymmärrettävissä.
- ohjelmiston monimutkaisuus. Moderni ohjelmisto koostuu monista komponenteista, jotka yhdistetään monimutkaisiksi ohjelmistojärjestelmiksi. Monisäikeiset Sovellukset, asiakas-palvelin-ja hajautettu arkkitehtuuri, monitasoiset tietokannat – ohjelmat ovat yhä vaikeampia kirjoittaa ja ylläpitää, ja sitä vaikeammaksi ohjelmoijien työ tulee. Ja mitä vaikeampi työ, sitä enemmän virheitä sitä tekevä ihminen voi tehdä.
- vaatimusten muutokset. Pienetkin muutokset vaatimuksiin kehityksen loppuvaiheessa vaativat paljon työtä, jotta järjestelmään voidaan tehdä muutoksia. Sovelluksen rakenne ja arkkitehtuuri ovat muuttumassa, mikä puolestaan edellyttää muutoksia ohjelmistomoduulien lähdekoodiin ja vuorovaikutusperiaatteisiin. Nämä jatkuvat muutokset ovat usein salakavalien virheiden lähde. Kuitenkin usein muuttuvat vaatimukset nykyaikaisessa liiketoiminnassa ovat enemmän sääntö kuin poikkeus, joten jatkuva testaus ja riskienhallinta tällaisissa olosuhteissa on suoraan laadunvarmistusosaston vastuulla.
- huonosti dokumentoitu koodi. Huonosti kirjoitettua ja dokumentoitua koodia on vaikea ylläpitää ja muokata. Monilla yrityksillä on erityisiä sääntöjä ohjelmoijien koodin kirjoittamiseen ja dokumentointiin. Vaikka käytännössä usein käy niin, että kehittäjät joutuvat kirjoittamaan ohjelmia nopeasti ylipäätään, ja tämä vaikuttaa tuotteen laatuun.
- ohjelmistokehityksen työkalut. Renderoijat, kirjastot, kääntäjät, skriptigeneraattorit ja muut kehitysapuvälineet ovat myös usein huonosti toimivia ja huonosti dokumentoituja ohjelmia, joista voi tulla lopputuotteen vikojen lähde.