Drupal Arendus Testimine

Miks teeme Drupal töid võimalikult automatiseeritult

🎧 Kuula kõiki artikleid järjest

Hea Drupal-projekt ei sõltu ainult koodi kvaliteedist. Sama oluline on see, kuidas muudatus liigub arendaja arvutist testkeskkonda ja sealt turvaliselt tootmiskeskkonda.

Drupal-projektides on lihtne jõuda olukorda, kus väikesed parandused tehakse otse serveris, failid liiguvad käsitsi ja keegi ei mäleta enam täpselt, mis millal muutus. Alguses võib see tunduda kiire lahendus, kuid ärikriitilise veebiplatvormi puhul muutub see kiiresti riskiks.

Seetõttu püüame WebPros teha võimalikult palju tööd automatiseeritud ja korratava töövoona. Eesmärk ei ole inimest protsessist eemaldada, vaid vähendada käsitsi tehtavaid samme, mis põhjustavad kõige rohkem vigu.

Miks automatiseerimine on oluline

Veebiplatvorm ei koosne ainult koodist.

Iga muudatus peab:

  • olema jälgitav;
  • olema vajadusel tagasi pööratav;
  • jõudma testkeskkonda enne avalikku veebi;
  • läbima minimaalsed kvaliteedikontrollid.

Mida rohkem protsess sõltub inimeste mälust, seda suurem on vigade tõenäosus.

Automatiseerimine aitab muuta töö korratavaks ja ennustatavaks.

Git annab muudatustele ajaloo

Git ei ole ainult arendajate tööriist.

See on projekti ajalugu.

Iga muudatuse kohta on näha:

  • kes muudatuse tegi;
  • millal see tehti;
  • mida muudeti;
  • miks muudatus vajalik oli.

See aitab vältida olukordi, kus:

  • parandused tehakse otse serveris;
  • kellegi töö kirjutatakse kogemata üle;
  • arendus-, test- ja tootmiskeskkonnad on erinevas seisus.

Kui projekt kasutab Git töövoogu korrektselt, saab muudatusi üle vaadata, vajadusel tagasi pöörata ja siduda need konkreetsete tööülesannete või otsustega.

Composer hoiab sõltuvused kontrolli all

Kaasaegne Drupal-projekt peaks kasutama Composerit.

Composer haldab:

  • Drupali tuuma;
  • mooduleid;
  • PHP teeke;
  • muid sõltuvusi.

Oluline ei ole ainult composer.json, vaid ka composer.lock, mis fikseerib täpselt kasutatavad versioonid.

See aitab vältida olukorda, kus:

  • arendaja arvutis töötab üks versioon;
  • testkeskkonnas teine;
  • tootmiskeskkonnas kolmas.

Samuti muudab Composer uuenduste planeerimise ja auditid oluliselt lihtsamaks.

Lisainfo:

Testkeskkond vähendab tootmisriski

Kui veeb töötab, ei tohiks arendus seda ootamatult katkestada.

Seetõttu kasutame tavaliselt mitmeastmelist töövoogu:

  1. muudatus tehakse kohalikus arenduskeskkonnas;
  2. muudatus liigub testkeskkonda;
  3. tehakse vajalikud kontrollid;
  4. alles seejärel avaldatakse muudatus tootmiskeskkonda.

Drupal-projektides tähendab see sageli ka:

  • Composer uuendusi;
  • andmebaasi uuendusi;
  • vahemälu puhastamist;
  • konfiguratsiooni importi;
  • varukoopia loomist enne avaldamist.

Kõik projektid ei vaja sama ranget protsessi, kuid põhimõte jääb samaks: mida olulisem süsteem, seda vähem peaks töö sõltuma käsitsi tehtavatest sammudest.

Testid muudavad avaldamise turvalisemaks

Automatiseerimine ei tähenda ainult avaldamist.

See tähendab ka kontrollimist.

Näiteks saavad Playwright testid:

  • avada veebilehti päris brauseris;
  • täita vorme;
  • kontrollida kasutajateekondi;
  • tuvastada nähtavaid vigu pärast uuendusi.

Sageli piisab juba väikesest testikomplektist:

  • avaleht avaneb;
  • teenuselehed töötavad;
  • kontaktivorm saadab päringuid;
  • ostu- või päringuteekond läbib kriitilised sammud;
  • mobiilivaade ei lagune.

Testid ei taga, et vigu kunagi ei teki. Need aitavad avastada suure osa probleemidest enne, kui kasutajad neid näevad.

AI aitab, kuid vastutus jääb inimesele

AI-tööriistad võivad aidata:

  • logide analüüsimisel;
  • testide koostamisel;
  • koodi ülevaatamisel;
  • migratsioonide planeerimisel;
  • dokumentatsiooni loomisel.

Need võivad säästa aega, kuid ei asenda tehnilisi otsuseid.

Lõplik vastutus jääb inimesele, kes tunneb projekti, mõistab riske ja teab kliendi eesmärke.

Hea töövoog lihtsustab ka partnerivahetust

Automatiseeritud töövoog annab veel ühe eelise: projekt ei sõltu ühest konkreetsest inimesest.

Kui olemas on:

  • Git ajalugu;
  • Composer konfiguratsioon;
  • dokumenteeritud avaldamisprotsess;
  • testkeskkond;
  • automaattestid;

on projekti lihtsam üle võtta, auditeerida või vajadusel teisele partnerile üle anda.

See vähendab niinimetatud tarnijalukustuse riski.

Kokkuvõte

Git, Composer, testid ja kontrollitud avaldamine ei ole eesmärk omaette.

Need on tööriistad, mis aitavad muuta Drupal-projektid:

  • turvalisemaks;
  • prognoositavamaks;
  • lihtsamini hooldatavaks;
  • paremini auditeeritavaks.

Alguses võib selline töövoog tunduda aeglasem kui käsitsi muudatuste tegemine. Pikas perspektiivis säästab see aega, vähendab vigade hulka ja muudab veebiplatvormi arendamise oluliselt rahulikumaks.

Avalik Drupal audit aitab hinnata veebi tehnilist seisu väljastpoolt. Töövoo kvaliteedi hindamiseks tuleb aga vaadata ka Git ajalugu, Composer seadistust, testkeskkonda ja avaldamisprotsessi.

Kaido Toomingas, WebPro tehniline juhtWebPro Company OÜ Tehniline juht: Kaido Toomingas

Vajad Drupal abi?

Kui artikkel puudutab sinu olukorda, ei pea kõike lõpuni lugema. Sinuga suhtleb päris inimene ja aitab järgmise sammuni jõuda.