Mis on suitsu testimine?
⚡ Nutikas kokkuvõte
Suitsutestimine otsustab, kas värske versioon on testimiseks piisavalt stabiilne. See leht selgitab, millal seda käivitada, kes seda käivitab, kuidas tsükkel töötab ja kuidas automatiseeritud komplektid suunavad tänapäevaseid tarnekanaleid.

Mis on suitsu testimine?
Suitsu testimine on tarkvara testimisprotsess, mis määrab, kas juurutatud tarkvarajärk on stabiilne või mitte. Suitsutestimine annab kvaliteedikontrolli meeskonnale kinnituse edasise tarkvara testimise jätkamiseks. See koosneb minimaalsetest testide komplektist, mida tehakse igal järgul, et testida tarkvara funktsioone. Suitsutestimist tuntakse ka kui "ehituse kontrollimise testimist" või "kindluse testimist".
Lihtsamalt öeldes tähendab suitsutestimine oluliste funktsioonide toimimise kontrollimist ja testitavas versioonis esinevate takistuste puudumist. See on kiire ja kiire regressioontest, mis hindab peamisi funktsioone. See aitab kindlaks teha, kas versioonis on vigu, mis muudaksid edasise testimise aja ja ressursside raiskamiseks.
Võrdlema Suitsu vs terve mõistuse testimine
Miks me suitsutesti teeme?
Suitsutestimine mängib tarkvaraarenduses olulist rolli, kuna see tagab süsteemi õigsuse algstaadiumis. Nii saame testimisvaeva kokku hoida. Alles pärast suitsutestimist alustame funktsionaalset testimist.
- Kõik ehituse silmapaistvamad elemendid tuvastatakse suitsutesti abil.
- Suitsutesti abil tuvastatakse enamik defekte algstaadiumis. tarkvaraarenduse.
- Suitsutestiga lihtsustame suuremate defektide avastamist ja parandamist.
- Suitsutestide abil saab kvaliteedikontrolli meeskond leida rakenduse funktsionaalsuses vigu, mis võisid ilmneda uue koodi tõttu.
- Suitsutestide abil leitakse peamised raskusastme vead.
Näide 1: Logimise aken: Kui klõpsate nuppu Esita, saate liikuda järgmisesse aknasse kehtiva kasutajanime ja parooliga.
Näide 2: Kasutaja ei saa veebilehelt välja logida.
Millal me suitsutesti teeme?
Need eelised realiseeruvad ainult siis, kui kontroll käivitatakse õigel hetkel. Suitsutestimist tehakse alati, kui tarkvara uusi funktsioone arendatakse ja integreeritakse olemasoleva järguga, mis juurutatakse kvaliteedikontrolli/etenduskeskkonnas. See tagab, et kõik kriitilised funktsioonid töötavad õigesti või mitte. Allolev diagramm näitab, kuidas järg jõuab kvaliteedikontrolli keskkonda enne suitsutestimise algust.
Selle testimismeetodi puhul juurutab arendusmeeskond versiooni kvaliteedikontrolli abil. Testijad võtavad alamhulga testjuhtumeid ja käivitavad need versiooni kriitiliste funktsionaalsuste suhtes. Need testide seeriad on loodud versioonis esinevate vigade paljastamiseks. Kui need testid läbitakse, jätkab kvaliteedikontrolli meeskond järgmisega: Funktsionaalne testimine.
Iga rike viitab vajadusele anda süsteem tagasi arendusmeeskonnale. Kui ehitust muudetakse, teostame stabiilsuse tagamiseks suitsutesti.
Näide: -Sisselogimisaknasse lisatakse uus registreerimisnupp ja ehitamine võetakse kasutusele uue koodiga. Teostame suitsutesti uuel hoonel.
Suitsutestid kvalifitseerivad ehituse edasiseks ametlikuks testimiseks ning on loodud süsteemi stabiilsuse ja nõuetele vastavuse demonstreerimiseks. Peamine eesmärk on tuvastada olulisi probleeme varakult. Ehitusjärk sisaldab kõiki andmefaile, teeke, korduvkasutatavaid mooduleid ja konstrueeritud komponente, mis on vajalikud ühe või mitme tootefunktsiooni rakendamiseks.
Mis juhtub, kui me ei tee suitsutesti
Kui me ei tee suitsutesti varajases staadiumis, võivad hilisemates etappides ilmneda defektid, mis võivad olla kulukad. Defekt Hilisemates etappides avastatud probleemid võivad olla takistuseks, mis mõjutab tulemuste avaldamist.
Kes teeb suitsutesti?
Pärast järgu avaldamist kvaliteedikontrolli keskkonda viivad suitsutesti läbi kvaliteedikontrolli insenerid / kvaliteedikontrolli juht. Iga kord, kui on olemas uus versioon, määrab kvaliteedikontrolli meeskond suitsutestimiseks rakenduse põhifunktsioonid. Kvaliteedikontrolli meeskond kontrollib, kas testitavas rakenduses on täkkeid.
Kuidas suitsutesti teha?
Suitsutesti tehakse tavaliselt käsitsi, kuigi on võimalus seda teha ka automatiseerimise teel. See võib organisatsiooniti erineda.
Suitsu käsitsi testimine
Suitsutestimise abil tagatakse, et kriitiliste radade navigeerimine toimib ootuspäraselt ega takista funktsionaalsust. Võetakse kasutusele kõrge prioriteediga funktsionaalsustestid, mida testitakse süsteemi kriitiliste defektide leidmiseks. Kui test läbib, jätkatakse funktsionaalsustestimist. Kui test ebaõnnestub, lükatakse versioon tagasi ja saadetakse parandamiseks arendusmeeskonnale.
QA alustab uuesti suitsutestimist uue järgu versiooniga. Suitsutestimist tehakse uuel järgul ja see integreeritakse vanade järkudega, et säilitada süsteemi õigsus. Enne suitsutestimist peaks QA meeskond kontrollima õigeid järgu versioone.
Suitsu testimine automatiseeritud meetodil
Automatiseerimise testimine kasutatakse RegressioonitestimineSiiski saame Smoke Testi vastu võitlemiseks kasutada ka automatiseeritud testide komplekti. Automaattestide abil saavad arendajad koheselt ehitust kontrollida, kui on olemas uus ehitus, mis on juurutamiseks valmis.
Selle asemel, et iga uue tarkvarajärgu juurutamisel käsitsi testida, käivitatakse järguga salvestatud suitsutestijuhtumid. See kontrollib, kas peamised funktsioonid töötavad ikka korralikult. Kui test ebaõnnestub, saavad nad järgu parandada ja järgu kohe ümber paigutada. Sellega saame säästa aega ja tagada kvaliteedikontrolli keskkonna kvaliteetse ehituse.
Automaattööriista kasutades salvestab testinsener kõik käsitsi tehtud sammud, mis tarkvara koostamisel tehakse.
Suitsu testimise tsükkel
Allolev vooskeem näitab, kuidas suitsutestimist teostatakse. Kui järgukood on kvaliteedikontrollis juurutatud ja suitsutestid on edukad, jätkame funktsionaalse testimisega. Kui suitsutest ebaõnnestub, väljume testimisest, kuni järgukood on viga lahendatud.
Suitsutestide juhtumite kavandamise parimad tavad
Tsükli tundmine on üks asi; keeping Usaldusväärset lahendust pakub hoopis teine variant. Suitsukomplekt teenib oma koha ainult siis, kui see on kompaktne, kiire ja korratav.
- Kõigepealt kaardistage kriitilised teed: Loetlege töövood, mis muudavad toote kommertskasutatavaks, näiteks sisselogimine, otsing, andmesisestus, maksmine ja väljalogimine. Kui üks neist katki läheb, pole versioonil testija jaoks mingit väärtust.
- Hoidke sviit madalana, aga laiana: Puuduta iga suuremat moodulit üks kord, selle asemel, et ühte moodulit põhjalikult uurida. Piirväärtused, negatiivsed andmed ja veateadete sõnastus kuuluvad funktsionaalsesse testimisse, mitte siia.
- Piira täitmisaega: Enamik meeskondi hoiab jooksuaega kümme kuni viisteist minutit ja piirab komplekti umbes kahekümne kuni kolmekümnega. testjuhtumidTunni kestev jooks lakkab olemast värav ja muutub pudelikaelaks.
- Käivita samad juhtumid igas versioonis: Järjepidevus võimaldab omistada ebaõnnestumise koodile, mitte muudetud testivalikule.
- Eemalda ebaühtlased ja sõltuvusrohked juhtumid: Juhtum, mis ilma koodi muutmata nii läbi läheb kui ka läbi kukub, hävitab usalduse teenuse osutamise süsteemi. Ebastabiilsete kolmandate osapoolte teenuste tükeldamine või imiteerimine, kus testide automatiseerimise raamistik lubab.
- Salvesta üks ühemõtteline otsus: Igal juhul on vaja ühte eeldatavat tulemust, et ehitust saaks vaidluseta vastu võtta või tagasi lükata.
- Versioonige komplekt järgmise versiooniga: Hoidke suitsujuhtmeid samas hoidlas kui rakenduskoodi, et värav vastaks alati testitavale väljalaskele.
RevVaadake komplekti iga väljaande kohta: eemaldage enam ebaoluliste funktsioonide hooldusjuhtumid ja lisage uusi kriitilisi töövooge.
Suitsu testimine CI/CD torujuhtmetes
Sel viisil loodud pakett on piisavalt odav, et töötada iga commit'i korral, mis ongi tänapäevaste tarnete nõuete kohane. pidev integratsioon server, näiteks Jenkins kompileerib koodi, juurutab selle testimiskeskkonda ja seejärel käivitab esimese automatiseeritud etapina suitsukomplekti. Roheline käivitamine edastab artefakti funktsionaalsesse ja regressioonietappi, punane käivitamine aga nurjub torujuhtmes ja teavitab sellest mõne minuti jooksul pühendunud arendajat.
Kaks paigutust on levinud. Eelühendamise käivitamine kaitseb peaharu, valideerides iga pull-requesti, ja pärast juurutamist kinnitab, et juurutatud keskkond on kättesaadav ja õigesti konfigureeritud. Pidevat juurutamist harrastavad meeskonnad lisavad sageli kohe pärast väljaandmist kolmanda, kärbitud käivitamise tootmiskeskkonna vastu.
Kuna konveier käivitab komplekti mitu korda päevas, peavad juhtumid olema mitte-interaktiivsed, isepuhastuvad ja sõltumatud. Iga juhtum, mis ootab inimese otsust või jätab testandmeid alles, peatab konveieri.
Suitsu testimise eelised
Siin on mõned suitsutestimise eelised.
- Lihtne teostada ja töötab kiiresti
- Kriitilisi vigu ja defekte on varajases staadiumis lihtne tuvastada ja parandada.
- Parandab süsteemi kvaliteeti
- Vähendab riski
- Edusamme on lihtsam hinnata.
- Säästab testimise vaeva ja aega
- Minimeerib integratsiooniriskid
⚠ Märkimist vääriv piirang: Läbimõeldud suitsutest näitab vaid, et ehitus on testitav. See puudutab peamisi funktsionaalsusi pealiskaudselt, seega jäävad väiksemad defektid, servajuhud ja harva kasutatavad funktsioonid varjatuks kuni funktsionaalse ja regressioonitestimiseni. Ärge kunagi käsitlege rohelist suitsu tulemust märgina, et ehitus on defektideta.
Suitsutestimine vs. mõistuse testimine vs. regressioonitestimine
Kõik kolm käivituvad pärast koodi muutmist, mistõttu neid sageli segamini aetakse. Need erinevad ulatuse, sügavuse ja igaühe vastuse poolest.
Koodi testimine arenduskeskkonnas, et tagada rakenduse õigsus enne versiooni avaldamist kvaliteedikontrolli osakonnas, on tuntud kui mõistlikkuse testimine. See on protsess, mis kontrollib, kas arendatav rakendus vastab oma põhilistele funktsionaalsetele nõuetele.
Terve mõistuse testimine määrab arendusfaasi lõpuleviimise ja teeb otsuse, kas läbida või mitte läbida tarkvaratoode edasise testimisetapi jaoks.
| ALUS | SUITSU TESTIMINE | MÕISTLIKU TERVISE KONTROLL | Regressioonitestimine |
|---|---|---|---|
| Ulatus | Lai ja madal | Kitsas ja sügav | Lai ja sügav |
| Küsimusele vastati | Kas see konstruktsioon on testimiseks piisavalt stabiilne? | Kas see konkreetne parandus toimib? | Kas midagi, mis varem töötas, katki läks? |
| Jada | Esiteks, iga ehituse puhul | Pärast suitsutesti läbimist | Pärast mõistuse kontrollimist |
| Tüüpiline kestus | 10 kuni 15 minutit | 30 kuni 60 minutit | Hours päevade kaupa |
| Automaatika sobivus | Väga kõrge | Mõõdukas, sageli käsitsi tehtav | Väga kõrge |
Praktikas toimivad need järjekorras: suitsutestimine ehituse vastuvõtmiseks, mõistlikkuse testimine esitatud muudatuse kontrollimiseks ja regressioonitestimine, kui ajakava lubab.
Näidissuitsu katsejuhtumite näide
Allolev tabel dokumenteerib lühikest suitsukomplekti, üks rida kriitilise tee kohta.
| T.ID | TESTSTSENAARIUMID | KIRJELDUS | KATSETAMINE | OODATUD TULEMUS | TEGELIK TULEMUS | STATUS |
|---|---|---|---|---|---|---|
| 1 | Kehtivad sisselogimismandaadid | Testige veebirakenduse sisselogimise funktsionaalsust veendumaks, et registreeritud kasutajal on lubatud kasutajanime ja parooliga sisse logida | 1.Käivitage rakendus 2. Navigeerige sisselogimislehel 3.Sisestage kehtiv kasutajanimi 4.Sisestage kehtiv parool 5. Klõpsake sisselogimisnupul |
Sisselogimine peaks õnnestuma | ootuspäraselt | Sooritama |
| 2 | Kauba funktsionaalsuse lisamine | Võimalik lisada üksus ostukorvi | 1. Valige kategooriate loend 2. Lisage toode ostukorvi |
Kaup tuleks lisada ostukorvi | Kaupa ei lisata ostukorvi | Fail |
| 3 | Väljalogimise funktsioon | Kontrollige väljalogimise funktsioone | 1. valige väljalogimise nupp | Kasutajal peaks olema võimalik välja logida. | Kasutaja ei saa välja logida | Fail |


