Teknologian jakaminen

Kuinka analysoida ohjelmistotestauksessa löydetyt viat!

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

jos olet aohjelmistojen testausinsinööri , joita kohtaat joka päivä, ovat niitä "hankalia" vikoja, ne ovat kuin pimeyteen piilotettuja vihollisia, jotka hyppäävät ulos aika ajoin tarjotakseen sinulle "yllätyksen". Joten kuinka voit tehokkaasti analysoida ja käsitellä näitä vikoja ja tehdä testaustyöstäsi tehokasta ja mielenkiintoista? Tänään puhumme tästä aiheesta.

Aloita perimmäisestä syystä: Missä on vian "todellinen syyllinen"?

Katsotaanpa ensin klassista tapausta.Xiao Li on kokenutTesti-insinööri , hän oli äskettäin vastuussa rahoitusjärjestelmän testaamisesta. Xiao Li havaitsi testin aikana vakavan bugin: summassa oli virhe, kun käyttäjä suoritti siirtotoiminnon. Jos tämä bugi laitetaan tuotantoympäristöön, seuraukset olisivat tuhoisat.

Joten Xiao Li aloitti "etsivämatkansa". Hän aloitti perimmäisestä syystä ja analysoi useita tekijöitä, jotka saattoivat aiheuttaa virheen. Jonkin tutkimuksen jälkeen Xiao Li havaitsi, että ongelma oli epätäydellisessä kysyntäanalyysissä ja ohjelmakoodiongelmissa. Joitakin reunaehtoja ei ole määritelty vaatimusasiakirjassa, mikä aiheuttaa virheitä ohjelmassa käsiteltäessä erikoisskenaarioita.

Tässä tapauksessa Xiao Li ei vain tarvitse korjata virhettä, vaan myös parantaa vaatimusten analysointia ja koodin tarkistusprosessia, jotta vastaavat ongelmat eivät toistu.

Tapauksen jakaminen: Ohjelmakoodiongelmien taustalla

Katsotaanpa toista tapausta. Xiao Wang on Xiao Lin kollega, ja he osallistuivat yhdessä verkkokauppaprojektin testaukseen. Xiao Wang havaitsi virheen: joidenkin ostoskorissa olevien tuotteiden varastomäärää ei voitu näyttää oikein. Tämä virhe näyttää yksinkertaiselta, mutta syy siihen on monimutkainen.

Yksityiskohtaisen analyysin jälkeen Xiao Wang havaitsi, että ohjelmoijat huomioivat vain normaaleja skenaarioita koodattaessa ja jättivät huomiotta epänormaalit tilanteet. Esimerkiksi kun varastomäärä on nolla, ohjelma ei käsittele sitä vastaavasti, mikä johtaa näyttövirheeseen. Tämä bugi muistuttaa Xiao Wangia, että testitapauksia kirjoittaessasi sinun ei tarvitse kattaa vain normaaleja skenaarioita, vaan myös huomioida erilaisia ​​epänormaaleja tilanteita.

Auttaakseen kaikkia ymmärtämään paremmin, Xiao Wang kirjoitti myös erityisesti esimerkkikoodin:

def check_inventory(item_id):    inventory = get_inventory(item_id)    if inventory > 0:        return f"库存数量:{inventory}"    else:        return "商品已售罄"

# 测试用例assert check_inventory(101) == "库存数量:10"assert check_inventory(102) == "商品已售罄"

Tämä koodi käyttää yksinkertaista ehdollista harkintaa varmistaakseen, että tiedot voidaan näyttää oikein, vaikka varasto olisi nolla. Tämän Xiao Wang oppi virheanalyysin avulla.

Vianhakuvaihe: lähteestä alkaen

Bugeja analysoitaessa meidän on myös kiinnitettävä huomiota siihen, missä kehitysprosessin vaiheessa ne havaittiin. Yleisesti ottaen vianhakuvaihe voidaan jakaa testianalyysivaiheeseen ja testin suoritusvaiheeseen.

Testianalyysivaiheessa tarkastellaan pääasiassa vaatimuksia ja suunnitteluasiakirjoja. Tässä vaiheessa löydetyt virheet liittyvät usein dokumentointi- ja tarkistusongelmiin. Testin suoritusvaihe, mukaan lukien savutestaus, toiminnallinen testaus, regressiotestaus jne., on ohjelmiston kattava tarkistaminen kunkin toiminnallisen moduulin normaalin toiminnan varmistamiseksi.

Esimerkiksi Xiao Li ja Xiao Wang löysivät monia dokumentaatioongelmia projektin alkuvaiheessa. Jos näitä ongelmia ei ratkaista ajoissa, ne aiheuttavat todennäköisesti lisää virheitä seuraavissa testeissä. Siksi he valvovat tarkasti jokaista testausvaihetta varmistaakseen, että kaikki dokumentaatio ja koodi tarkistetaan täysin.

Vian käyttöönottojärjestelmän analyysi: etsi "korkean esiintyvyyden alue"

Joskus virheiden esiintyminen liittyy tietyn järjestelmän monimutkaisuuteen ja muutosten määrään. Suuressa projektissa, johon liittyy useita järjestelmiä, joistakin järjestelmistä voi tulla "korkean ilmaantuvuuden alueita" virheille raskaiden muutosten vuoksi. Esimerkiksi Xiao Li:n ja Xiao Wangin projekteissa System 2:ssa ja System 3:ssa oli eniten muutoksia, joten niissä oli myös eniten bugeja.

Laskemalla kunkin järjestelmän vikatiheyden (eli virheiden lukumäärän tuhatta koodiriviä kohti) he havaitsivat, että vaikka System 4:ssä oli paljon muutoksia, vikojen määrä oli suhteellisen pieni. Tämä osoittaa, että System 4:n koodin laatu on korkeampi, kun taas System 2 ja System 3 tarvitsevat lisäoptimointia.

Testien puuttuneiden havaintojen analyysi: "verkon läpi liukuvien kalojen" estäminen

Lopuksi meidän on kiinnitettävä huomiota myös testauksen epäonnistuneiden havaitsemismahdollisuuksien ongelmaan. Huolimatta siitä, kuinka tarkkoja testaajat ovat, jotkut viat voivat silti "vuotaa läpi" testausvaiheen aikana ja päästä tuotantoympäristöön. Tämän tilanteen vähentämiseksi Xiao Li ja Xiao Wang tarkistavat säännöllisesti testausprosessin, analysoivat, mitkä linkit saattavat sisältää puutteita, ja tekevät ajoissa parannuksia.

Esimerkiksi projektin käynnistämisen jälkeen he havaitsivat, että tuotantoympäristöön ilmestyi joitain bugeja, joista kolmasosa johtui testausprosessin aikana epäonnistuneista havainnoista. Jotkut näistä virheistä johtuvat riittämättömästä testitapauksen kattavuudesta, ja jotkut heikosta testitiedosta.

kirjoittaa loppuun

Kattavan virheanalyysin avulla voimme paitsi löytää ongelman perimmäisen syyn, myös saada inspiraatiota parantamiseen. Olipa kyseessä vaatimusanalyysi, koodin laatu tai testausprosessi, jokainen näkökohta vaatii huolellista huomiotamme ja jatkuvaa optimointiamme. Vain tällä tavalla voidaan parantaa ohjelmistojen laatua ja vähentää virheiden esiintymistä.

Lopuksi haluan kiittää kaikkia, jotka ovat lukeneet artikkelini huolellisesti. 

Ohjelmistotestauksen haastatteluasiakirja

Meidän täytyy opiskella löytääksemme korkeapalkkaisen työpaikan. Seuraavat haastattelukysymykset ovat peräisin ensimmäisen tason Internet-yritysten, kuten Alibaba, Tencent, Byte jne., uusimmista haastattelumateriaaleista, ja jotkut Byte-pomot ovat antaneet arvovaltaisia ​​vastauksia setti Uskon, että jokainen voi löytää tyydyttävän työpaikan haastattelutietojen perusteella.

Lisää kuvan kuvaus tähän