Ittestjar tat-tagħbija bħala servizz CI għall-iżviluppaturi

Ittestjar tat-tagħbija bħala servizz CI għall-iżviluppaturi

Waħda mill-problemi li spiss jiffaċċjaw il-bejjiegħa tas-softwer b'ħafna prodotti hija d-duplikazzjoni tal-kompetenzi tal-inġiniera - żviluppaturi, testers, u amministraturi tal-infrastruttura - fuq kważi kull tim. Dan japplika wkoll għal inġiniera għaljin - speċjalisti fil-qasam tal-ittestjar tat-tagħbija.

Minflok ma jagħmlu dmirijiethom diretti u jużaw l-esperjenza unika tagħhom biex jibnu proċess ta’ ttestjar tat-tagħbija, jagħżlu metodoloġija, metriċi ottimali u jiktbu awtotestijiet skont il-profili tat-tagħbija, l-inġiniera spiss ikollhom jużaw infrastruttura tat-test mill-bidu, jikkonfiguraw għodod tat-tagħbija, u jintegrawhom. infushom fis-sistemi CI, jistabbilixxu monitoraġġ u pubblikazzjoni tar-rapporti.

Tista' ssib soluzzjonijiet għal xi problemi organizzattivi fl-ittestjar li nużaw f'Teknoloġiji Pożittivi fi artiklu ieħor. U f'dan wieħed, se nitkellem dwar il-possibbiltà li nintegra testijiet tat-tagħbija f'pipeline CI komuni bl-użu tal-kunċett ta '"ttestjar tat-tagħbija bħala servizz" (ittestjar tat-tagħbija bħala servizz). Int titgħallem kif u liema immaġini docker tas-sorsi tat-tagħbija jistgħu jintużaw fil-pipeline CI; kif tgħaqqad is-sorsi tat-tagħbija mal-proġett CI tiegħek billi tuża mudell tal-bini; kif jidher il-pipeline demo għat-tmexxija tat-testijiet tat-tagħbija u l-pubblikazzjoni tar-riżultati. L-artikolu jista 'jkun utli għall-inġiniera tal-ittestjar tas-softwer u l-inġiniera tal-awtomazzjoni fis-CI li qed jaħsbu dwar l-arkitettura tas-sistema tat-tagħbija tagħhom.

L-essenza tal-kunċett

Il-kunċett ta 'ttestjar tat-tagħbija bħala servizz jimplika l-abbiltà li tintegra l-għodod tat-tagħbija Apache JMeter, Yandex.Tank u l-oqfsa tiegħek stess f'sistema ta' integrazzjoni kontinwa arbitrarja. Id-demo se tkun għal GitLab CI, iżda l-prinċipji huma komuni għas-sistemi CI kollha.

L-ittestjar tat-tagħbija bħala servizz huwa servizz ċentralizzat għall-ittestjar tat-tagħbija. It-testijiet tat-tagħbija jitmexxew f'pools ta' aġenti ddedikati, ir-riżultati huma ppubblikati awtomatikament f'GitLab Pages, Influx DB u Grafana jew f'sistemi ta' rappurtar tat-test (TestRail, ReportPortal, eċċ.). L-awtomazzjoni u l-iskala huma implimentati bl-aktar mod sempliċi possibbli - billi jiżdiedu u jiġu parametrizzati l-mudell tas-soltu gitlab-ci.yml fil-proġett GitLab CI.

Il-vantaġġ ta’ dan l-approċċ huwa li l-infrastruttura CI kollha, l-aġenti tat-tagħbija, l-immaġini docker tas-sorsi tat-tagħbija, il-pipelines tal-ittestjar u r-rapporti tal-pubblikazzjoni jinżammu minn dipartiment tal-awtomazzjoni ċentralizzata (inġiniera DevOps), filwaqt li l-inġiniera tal-ittestjar tat-tagħbija jistgħu jiffokaw l-isforzi tagħhom fuq l-iżvilupp tat-test. u analiżi tar-riżultati tagħhom, mingħajr ma jittrattaw kwistjonijiet ta' infrastruttura.

Għas-sempliċità tad-deskrizzjoni, se nassumu li l-applikazzjoni fil-mira jew is-server taħt test diġà ġew skjerati u kkonfigurati minn qabel (jistgħu jintużaw skripts awtomatizzati f'Python, SaltStack, Ansible, eċċ. għal dan). Imbagħad il-kunċett kollu tal-ittestjar tat-tagħbija bħala servizz jidħol fi tliet stadji: preparazzjoni, ttestjar, pubblikazzjoni ta' rapporti. Aktar dettalji fuq id-dijagramma (l-istampi kollha jistgħu jiġu kklikkjati):

Ittestjar tat-tagħbija bħala servizz CI għall-iżviluppaturi

Kunċetti bażiċi u definizzjonijiet fl-ittestjar tat-tagħbija

Meta nwettqu testijiet tat-tagħbija, nippruvaw naderixxu magħhom Standards u metodoloġija ISTQB, uża t-terminoloġija xierqa u l-metriċi rakkomandati. Se nagħti lista qasira tal-kunċetti u d-definizzjonijiet ewlenin fl-ittestjar tat-tagħbija.

Aġent tat-tagħbija - magna virtwali li fuqha se titnieda l-applikazzjoni - is-sors tat-tagħbija (Apache JMeter, Yandex.Tank jew modulu tat-tagħbija miktub minnu nnifsu).

Mira tat-test (mira) - server jew applikazzjoni installata fuq is-server li tkun soġġetta għal tagħbija.

Xenarju tat-test (każ tat-test) - sett ta' passi parametrizzati: azzjonijiet tal-utent u reazzjonijiet mistennija għal dawn l-azzjonijiet, b'talbiet u tweġibiet fissi tan-netwerk, skont il-parametri speċifikati.

Profil jew pjan tat-tagħbija (profil) - fi metodoloġija ISTQB (Taqsima 4.2.4, p. 43) il-profili tat-tagħbija jiddefinixxu metriċi li huma kritiċi għal test partikolari u għażliet għat-tibdil tal-parametri tat-tagħbija matul it-test. Tista 'tara eżempji ta' profili fil-figura.

Ittestjar tat-tagħbija bħala servizz CI għall-iżviluppaturi

Test — skript b'sett predeterminat ta' parametri.

Pjan tat-test (pjan tat-test) - sett ta' testijiet u profil tat-tagħbija.

Testran (testrun) - iterazzjoni waħda tat-twettiq ta' test wieħed b'xenarju ta' tagħbija esegwit bis-sħiħ u r-rapport riċevut.

Talba għan-netwerk (talba) — Talba HTTP mibgħuta minn aġent lil mira.

Rispons tan-netwerk (rispons) — Risposta HTTP mibgħuta mill-mira lill-aġent.
Kodiċi ta 'rispons HTTP (istatus ta' tweġibiet HTTP) - kodiċi ta 'rispons standard mis-server tal-applikazzjoni.
Tranżazzjoni hija ċiklu komplut ta' talba-rispons. Tranżazzjoni tingħadd mill-bidu li tintbagħat talba (talba) sat-tlestija li tirċievi tweġiba (rispons).

L-istatus tat-tranżazzjoni - jekk kienx possibbli li jitlesta b'suċċess iċ-ċiklu ta' talba-rispons. Jekk kien hemm xi żball f'dan iċ-ċiklu, allura t-tranżazzjoni kollha titqies li ma rnexxietx.

Ħin ta' rispons (latenza) - iż-żmien mit-tmiem tat-talba (talba) sal-bidu tar-riċeviment ta' tweġiba (rispons).

Tagħbija metriċi — il-karatteristiċi tas-servizz mgħobbi u l-aġent tat-tagħbija determinati fil-proċess tal-ittestjar tat-tagħbija.

Metriċi bażiċi għall-kejl tal-parametri tat-tagħbija

Uħud mill-aktar komunement użati u rakkomandati fil-metodoloġija ISTQB (p. 36, 52) il-metriċi huma murija fit-tabella hawn taħt. Metriċi simili għall-aġent u l-mira huma elenkati fuq l-istess linja.

Metriċi għall-aġent tat-tagħbija
Metriċi tas-sistema fil-mira jew l-applikazzjoni li qed tiġi ttestjata taħt tagħbija

Numru  vCPU u memorja RAM,
Disk - karatteristiċi tal-"ħadid" tal-aġent tat-tagħbija
CPU, Memorja, użu tad-disk - id-dinamika tas-CPU, il-memorja u t-tagħbija tad-disk
fil-proċess tal-ittestjar. Normalment imkejla bħala persentaġġ ta '
valuri massimi disponibbli

throughput tan-netwerk (fuq l-aġent tat-tagħbija) - throughput
interface tan-netwerk fuq is-server,
fejn l-aġent tat-tagħbija huwa installat.
Normalment imkejjel f'bytes kull sekonda (bps)
throughput tan-netwerk(fuq mira) - bandwidth tal-interface tan-netwerk
fuq is-server fil-mira. Normalment imkejjel f'bytes kull sekonda (bps)

Utenti virtwali- in-numru ta' utenti virtwali,
implimentazzjoni ta’ xenarji ta’ tagħbija u
jimitaw azzjonijiet reali tal-utent
Status tal-utenti virtwali, Għadda/Falla/Total — numru ta' suċċess u
status ta' utenti virtwali mingħajr suċċess
għal xenarji ta' tagħbija, kif ukoll in-numru totali tagħhom.

Ġeneralment huwa mistenni li l-utenti kollha setgħu jlestu
il-kompiti kollha tiegħek speċifikati fil-profil tat-tagħbija.
Kwalunkwe żball se jfisser li utent reali mhux se jkun kapaċi
issolvi l-problema tiegħek meta taħdem mas-sistema

Talbiet kull sekonda (minuta)- in-numru ta' talbiet tan-netwerk kull sekonda (jew minuta).

Karatteristika importanti ta 'aġent tat-tagħbija hija kemm jista' jiġġenera talbiet.
Fil-fatt, din hija imitazzjoni ta 'aċċess għall-applikazzjoni minn utenti virtwali
Tweġibiet kull sekonda (minuta)
- in-numru ta' tweġibiet tan-netwerk kull sekonda (jew minuta).

Karatteristika importanti tas-servizz fil-mira: kemm
tiġġenera u tibgħat tweġibiet għal mistoqsijiet ma
aġent tat-tagħbija

Stat tar-rispons HTTP— numru ta' kodiċijiet ta' rispons differenti
mis-server tal-applikazzjoni riċevut mill-aġent tat-tagħbija.
Pereżempju, 200 OK tfisser sejħa b'suċċess,
u 404 - li r-riżors ma nstabx

Latenza (ħin tar-rispons) - ħin mit-tmiem
tibgħat talba (talba) qabel tibda tirċievi tweġiba (rispons).
Normalment imkejjel f'millisekondi (ms)

Ħin tar-rispons tat-tranżazzjoni— ħin ta’ tranżazzjoni waħda kompluta,
tlestija taċ-ċiklu talba-rispons.
Dan huwa l-ħin mill-bidu li tintbagħat it-talba (talba)
sakemm jitlesta li tirċievi tweġiba (rispons).

Il-ħin tat-tranżazzjoni jista' jitkejjel f'sekondi (jew minuti)
f'diversi modi: ikkunsidra l-minimu,
massimu, medja u, pereżempju, id-90 perċentil.
Il-qari minimu u massimu huwa estremi
l-istatus tal-prestazzjoni tas-sistema.
Id-disgħin perċentil huwa l-aktar użat komunement,
kif turi ħafna mill-utenti,
joperaw bil-kumdità fil-limitu tal-prestazzjoni tas-sistema

Tranżazzjonijiet kull sekonda (minuta) - in-numru ta' kompluti
tranżazzjonijiet kull sekonda (minuta),
jiġifieri kemm l-applikazzjoni kienet kapaċi taċċetta u
tipproċessa t-talbiet u toħroġ tweġibiet.
Fil-fatt, dan huwa t-throughput tas-sistema

L-istatus tat-tranżazzjoni , Għadda / Falla / Total - numru
suċċess, bla suċċess u n-numru totali ta 'tranżazzjonijiet.

Għal utenti reali mingħajr suċċess
it-tranżazzjoni fil-fatt se tfisser
inabbiltà li taħdem mas-sistema taħt tagħbija

Dijagramma Skematika tal-Ittestjar tat-Tagħbija

Il-kunċett tal-ittestjar tat-tagħbija huwa sempliċi ħafna u jikkonsisti fi tliet stadji ewlenin, li diġà semmejt: Ipprepara-Test-Rapport, jiġifieri, it-tħejjija tal-għanijiet tat-test u l-iffissar tal-parametri għas-sorsi tat-tagħbija, imbagħad tesegwixxi testijiet tat-tagħbija u, fl-aħħar, tiġġenera u tippubblika rapport tat-test.

Ittestjar tat-tagħbija bħala servizz CI għall-iżviluppaturi

Noti skematiċi:

  • QA.Tester huwa espert fl-ittestjar tat-tagħbija,
  • Target hija l-applikazzjoni fil-mira li għaliha trid tkun taf l-imġieba tagħha taħt tagħbija.

Klassifikatur ta 'entitajiet, stadji u passi fid-dijagramma

Stadji u passi
X'qiegħed jiġri
X'hemm fid-daħla
X'inhu l-output

Ipprepara: stadju ta 'preparazzjoni għall-ittestjar

LoadParameters
L-issettjar u l-inizjalizzazzjoni
utent
parametri tat-tagħbija,
għażla tal-metriċi u
preparazzjoni tal-pjan tat-test
(profil tat-tagħbija)
Għażliet personalizzati għal
inizjalizzazzjoni tal-aġent tat-tagħbija
Pjan tat-test
Għan tal-ittestjar

VM
Skjerament tal-cloud
magna virtwali ma
karatteristiċi meħtieġa
Settings tal-VM għall-aġent tat-tagħbija
skripts awtomazzjoni għal
Ħolqien tal-VM
VM konfigurat fi
sħab

Ibgħat
OS setup u preparazzjoni
ambjent għal
xogħol aġent tat-tagħbija
Issettjar tal-ambjent għal
aġent tat-tagħbija
skripts awtomazzjoni għal
settings ambjentali
Ambjent ippreparat:
OS, servizzi u applikazzjonijiet,
meħtieġa għax-xogħol
aġent tat-tagħbija

Aġenti tat-Tagħbija
Installazzjoni, konfigurazzjoni u parametrizzazzjoni
aġent tat-tagħbija.
Jew iniżżel immaġni docker minn
sors tat-tagħbija konfigurat minn qabel
Tagħbija immaġni docker tas-sors
(YAT, JM jew qafas miktub minnu nnifsu)
Settings
aġent tat-tagħbija
Imwaqqaf u lest
biex jaħdem aġent tat-tagħbija

Test: stadju tal-eżekuzzjoni tat-testijiet tat-tagħbija. Is-sorsi huma aġenti tat-tagħbija skjerati f'pools ta' aġenti ddedikati għal GitLab CI

tagħbija
Jibda l-Aġent tat-Tagħbija
bi pjan tat-test magħżul
u l-parametri tat-tagħbija
Għażliet tal-Utent
għall-inizjalizzazzjoni
aġent tat-tagħbija
Pjan tat-test
Għan tal-ittestjar
Zkuk ta' eżekuzzjoni
testijiet tat-tagħbija
zkuk tas-sistema
Dinamika tal-bidliet fil-metriċi tal-għan u l-aġent tat-tagħbija

Mexxi Aġenti
Aġent Eżekuzzjoni
tagħbijiet ta 'skripts tat-test
skond
profil tat-tagħbija
Interazzjoni tal-Aġent tat-Tagħbija
għall-iskop ta' ttestjar
Pjan tat-test
Għan tal-ittestjar

Zkuk
Ġbir ta 'zkuk "nejjin".
waqt l-ittestjar tat-tagħbija:
rekords tal-attività tal-aġent tat-tagħbija,
l-istat tal-mira tat-test
u l-VM li tmexxi l-aġent

Zkuk ta' eżekuzzjoni
testijiet tat-tagħbija
zkuk tas-sistema

Metrics
Il-ġbir ta' metriċi "prima" waqt l-ittestjar

Dinamika tal-bidliet fil-metriċi tal-għan
u aġent tat-tagħbija

Rapport: stadju tat-tħejjija tar-rapport tat-test

Ġeneratur
Ipproċessar miġbur
sistema tat-tagħbija u
sistema ta' monitoraġġ "prima"
metriċi u zkuk
Formazzjoni ta’ rapport fi
forma li tinqara mill-bniedem
possibbli bl-elementi
analisti
Zkuk ta' eżekuzzjoni
testijiet tat-tagħbija
zkuk tas-sistema
Dinamika tal-bidliet fil-metriċi
mira u aġent tat-tagħbija
Zkuk "nejjin" ipproċessati
f'format adattat għal
uploads għal ħażna esterna
Rapport tat-tagħbija statika,
jinqara mill-bniedem

Publish
Pubblikazzjoni tar-rapport
dwar it-tagħbija
ittestjar fl-esterno
servizz
Ipproċessat "nej"
zkuk f'format xieraq
għall-ħatt għall-estern
repożitorji
Ffrankati f'estern
rapporti dwar il-ħażna
tagħbija, addattat
għall-analiżi tal-bniedem

Konnessjoni ta' Sorsi tat-Tagħbija f'Mudell CI

Ejja ngħaddu għall-parti prattika. Irrid nuri kif fuq xi proġetti fil-kumpanija Teknoloġiji Pożittivi implimentajna l-kunċett tal-ittestjar tat-tagħbija bħala servizz.

L-ewwel, bl-għajnuna tal-inġiniera DevOps tagħna, ħloqna ġabra dedikata ta 'aġenti f'GitLab CI biex inwettqu testijiet tat-tagħbija. Sabiex ma nħalltuhomx f'mudelli ma 'oħrajn, bħal pools ta' assemblaġġ, aħna żidna tikketti ma 'dawn l-aġenti, tags: tagħbija. Tista 'tuża kwalunkwe tags oħra li tinftiehem. Huma jistaqsu waqt ir-reġistrazzjoni GitLab CI Runners.

Kif issir taf l-enerġija meħtieġa mill-ħardwer? Il-karatteristiċi tal-aġenti tat-tagħbija - numru suffiċjenti ta 'vCPU, RAM u Disk - jistgħu jiġu kkalkulati abbażi tal-fatt li Docker, Python (għal Yandex.Tank), l-aġent GitLab CI, Java (għal Apache JMeter) għandhom ikunu qed jaħdmu fuq l-aġent. . Għal Java taħt JMeter, huwa rakkomandat ukoll li tuża minimu ta' 512 MB ta' RAM u, bħala limitu ta' fuq, 80% memorja disponibbli.

Għalhekk, abbażi tal-esperjenza tagħna, nirrakkomandaw li tuża mill-inqas 4 vCPUs, 4 GB RAM, 60 GB SSD għall-aġenti tat-tagħbija. It-throughput tal-kard tan-netwerk huwa ddeterminat abbażi tar-rekwiżiti tal-profil tat-tagħbija.

Aħna nużaw prinċipalment żewġ sorsi ta 'tagħbija - immaġini tad-docker Apache JMeter u Yandex.Tank.

Yandex.Tank hija għodda open source minn Yandex għall-ittestjar tat-tagħbija. L-arkitettura modulari tagħha hija bbażata fuq il-ġeneratur tat-talba HTTP asinkroniku ta 'prestazzjoni għolja ta' Phantom. It-tank għandu monitoraġġ integrat tar-riżorsi tas-server taħt test permezz tal-protokoll SSH, jista 'awtomatikament iwaqqaf it-test taħt kundizzjonijiet speċifikati, jista' juri r-riżultati kemm fil-console kif ukoll fil-forma ta 'graffs, tista' tqabbad il-moduli tiegħek lilha biex tespandi l-funzjonalità. Mill-mod, użajna t-Tank meta ma kienx għadu mainstream. Fl-artiklu "Yandex.Tank u awtomazzjoni tal-ittestjar tat-tagħbija» tista’ taqra l-istorja ta’ kif għamilna l-ittestjar tat-tagħbija magħha fl-2013 PT Applikazzjoni Firewall huwa wieħed mill-prodotti tal-kumpanija tagħna.

Apache JMeter hija għodda ta' ttestjar tat-tagħbija ta' sors miftuħ minn Apache. Jista 'jintuża ugwalment tajjeb għall-ittestjar kemm ta' applikazzjonijiet tal-web statiċi kif ukoll dinamiċi. JMeter jappoġġja għadd kbir ta' protokolli u modi biex jinteraġixxu ma' applikazzjonijiet: HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, eċċ.), Servizzi tal-Web SAPUN / REST, FTP, TCP, LDAP, SMTP(S), POP3( S) ) u IMAP(S), databases permezz ta' JDBC, jistgħu jeżegwixxu kmandi tal-qoxra u jaħdmu ma' oġġetti Java. JMeter għandu IDE għall-ħolqien, id-debugging u l-eżekuzzjoni tal-pjanijiet tat-test. Hemm ukoll CLI għall-operat tal-linja tal-kmand fuq kwalunkwe sistema operattiva kompatibbli Java (Linux, Windows, Mac OS X). L-għodda tista' tiġġenera b'mod dinamiku rapport tat-test HTML.

Għal faċilità ta 'użu fi ħdan il-kumpanija tagħna, għall-kapaċità tat-testers infushom li jbiddlu u jżidu l-ambjent, għamilna bini ta' stampi docker ta 'sorsi ta' tagħbija fuq GitLab CI b'pubblikazzjoni għall-intern. docker reġistru f'Artifactory. Dan jagħmilha aktar mgħaġġla u aktar faċli biex jgħaqqduhom f'pipelines għal testijiet tat-tagħbija. Kif tagħmel docker push għar-reġistru permezz ta 'GitLab CI - ara istruzzjonijiet.

Ħadna dan il-fajl docker bażiku għal Yandex.Tank:

Dockerfile 
1 | FROM direvius/yandex-tank
2 | ENTRYPOINT [""]

U għal Apache JMeter dan wieħed:

Dockerfile 
1 | FROM vmarrazzo/jmeter
2 | ENTRYPOINT [""]

Tista' taqra kif taħdem is-sistema ta' integrazzjoni kontinwa tagħna fl-artiklu "Awtomazzjoni tal-proċessi ta 'żvilupp: kif implimentajna l-ideat DevOps f'Teknoloġiji Pożittivi".

Mudell u pipeline

Eżempju ta 'mudell għat-twettiq ta' testijiet tat-tagħbija huwa disponibbli fil-proġett tagħbija demo. Fil fajl readme Tista' taqra l-istruzzjonijiet għall-użu tal-mudell. Fil-mudell innifsu (file .gitlab-ci.yml) hemm noti dwar għalxiex huwa responsabbli kull pass.

Il-mudell huwa sempliċi ħafna u juri t-tliet stadji tal-ittestjar tat-tagħbija deskritti fid-dijagramma ta 'hawn fuq: it-tħejjija, l-ittestjar u l-pubblikazzjoni ta' rapporti. Responsabbli għal dan istadji: Ipprepara, Ittestja u tirrapporta.

  1. Stadju Ipprepara għandhom jintużaw biex jiġu kkonfigurati minn qabel il-miri tat-test jew tivverifika d-disponibbiltà tagħhom. L-ambjent għas-sorsi tat-tagħbija m'għandux għalfejn jiġi kkonfigurat, huma mibnija minn qabel bħala immaġini docker u stazzjonati fir-reġistru docker: speċifika biss il-verżjoni mixtieqa fl-istadju tat-Test. Imma tista 'terġa' tibnihom u tagħmel l-immaġini modifikati tiegħek stess.
  2. Stadju Test użat biex jispeċifika s-sors tat-tagħbija, iwettaq testijiet, u jaħżen l-artifacts tat-test. Tista 'tagħżel kwalunkwe sors ta' tagħbija: Yandex.Tank, Apache JMeter, tiegħek, jew kollha flimkien. Biex tiddiżattiva sorsi mhux meħtieġa, sempliċement ikkummenta jew ħassar ix-xogħol. Punti tad-dħul għas-sorsi tat-tagħbija:

    Nota: Il-mudell tal-konfigurazzjoni tal-assemblaġġ jintuża biex tiġi stabbilita l-interazzjoni mas-sistema CI u ma timplikax it-tqegħid tal-loġika tat-test fiha. Għat-testijiet, il-punt tad-dħul huwa speċifikat, fejn jinsab l-iskript tal-bash tal-kontroll. Il-metodu tat-tmexxija tat-testijiet, il-ġenerazzjoni tar-rapporti, u l-iskripts tat-test infushom għandhom jiġu implimentati minn inġiniera tal-QA. Fid-demo, għaż-żewġ sorsi ta 'tagħbija, it-talba tal-paġna ewlenija ta' Yandex tintuża bħala l-aktar test sempliċi. L-iskripts u l-parametri tat-test jinsabu fid-direttorju ./testijiet.

  3. Fl-istadju rapport trid tiddeskrivi kif tippubblika r-riżultati tat-test miksuba fl-istadju tat-Test għal ħażniet esterni, pereżempju, għal Paġni GitLab jew sistemi ta 'rappurtar speċjali. GitLab Pages jeħtieġ li d-direttorju ./public ma jkunx vojt u jkun fih mill-inqas fajl index.html wara li jkunu spiċċaw it-testijiet. Tista 'taqra dwar l-sfumaturi tas-servizz tal-Paġni GitLab. по ссылке.

    Eżempji ta' kif tesporta data:

    Istruzzjonijiet dwar is-setup tal-istazzjonar:

Fl-eżempju demo, il-pipeline b'testijiet tat-tagħbija u żewġ sorsi ta 'tagħbija (tista' tiddiżattiva dak mhux meħtieġ) jidher bħal dan:

Ittestjar tat-tagħbija bħala servizz CI għall-iżviluppaturi

Apache JMeter jista 'jiġġenera rapport HTML innifsu, għalhekk huwa aktar profittabbli li tissejvjah f'GitLab Pages billi tuża għodod standard. Hekk jidher ir-rapport Apache JMeter:

Ittestjar tat-tagħbija bħala servizz CI għall-iżviluppaturi

Fl-eżempju demo għal Yandex.Tank, tara biss rapport ta' test falz fit-taqsima għall-Paġni GitLab. Waqt l-ittestjar, it-Tank jista 'jiffranka r-riżultati fid-database InfluxDB, u minn hemm jistgħu jintwerew, pereżempju, fi Grafana (il-konfigurazzjoni ssir fil-fajl ./tests/example-yandextank-test.yml). Hekk jidher ir-rapport ta’ Tank fi Grafana:

Ittestjar tat-tagħbija bħala servizz CI għall-iżviluppaturi

Sommarju

Fl-artiklu, tkellimt dwar il-kunċett ta '"ttestjar tat-tagħbija bħala servizz" (ittestjar tat-tagħbija bħala servizz). L-idea ewlenija hija li tuża l-infrastruttura ta’ gruppi ta’ aġenti tat-tagħbija kkonfigurati minn qabel, immaġini docker ta’ sorsi ta’ tagħbija, sistemi ta’ rappurtar u pipeline li jgħaqqadhom f’GitLab CI ibbażat fuq mudell sempliċi .gitlab-ci.yml (eżempju по ссылке). Dan kollu huwa appoġġjat minn tim żgħir ta 'inġiniera tal-awtomazzjoni u replikat fuq talba ta' timijiet tal-prodott. Nittama li dan jgħinek biex tipprepara u timplimenta skema simili fil-kumpanija tiegħek. Grazzi tal-attenzjoni!

PS Irrid ngħid grazzi kbir lill-kollegi tiegħi, Sergey Kurbanov u Nikolai Yusev, għall-assistenza teknika fl-implimentazzjoni tal-kunċett tal-ittestjar tat-tagħbija bħala servizz fil-kumpanija tagħna.

Awtur: Timur Gilmullin - Deputat Kap tat-Teknoloġija u l-Proċessi ta’ Żvilupp (DevOps) f’Teknoloġiji Pożittivi

Sors: www.habr.com

Żid kumment