continuous testing devops
Què és la canonada de proves contínues i proves contínues a DevOps?
Espero que tots hagueu gaudit de l'últim tutorial Desplegament continu a DevOps .
Sabem la importància de fer proves en qualsevol lliurament de programari i que DevOps sigui un cicle curt de lliuraments, és impossible executar tots els casos de prova dissenyats cada vegada manualment, quan s’actualitza una sola línia de codi a l’eina de control de versions i és aquí on és continu les proves i la canonada automàtica de proves contínues entren a la imatge a DevOps.
Lectura suggerida => Tutorial de formació DevOps des de Scratch
implementant una cua de prioritat a Java
Avantatges de la TC:
-
- La qualitat i la rapidesa són els enormes beneficis de la TC.
- Comentaris més ràpids i ràpids sobre el codi.
- Augmenta la confiança de l’equip i els anima a millorar contínuament.
VÍDEO Part 3 Bloc 4: Proves contínues- 14 minuts 39 segons
Transcripció:
En aquest bloc, coneixerem Prova contínua i canalització de proves contínues en detall.
Les proves contínues són un altre procés important de la canonada de lliurament continu juntament amb la integració contínua, en una canonada, que inclou: diverses fases de proves on es realitzen les proves automatitzades junt amb les portes de qualitat automatitzades entremig.
Per tant, les proves contínues són, executant proves automatitzades, de manera contínua i repetida contra la base de codi i els diversos entorns de desplegament.
Principalment, les proves unitàries, l’anàlisi de codi estàtic, l’anàlisi de codi de seguretat, les proves d’integració, les proves de càrrega i rendiment són una part de les proves contínues que s’executen en una canonada de proves contínues automatitzades.
Com que la integració contínua i el desplegament continu s’anomenen CI, CD, les proves contínues s’anomenen més sovint CT.
Si veieu aquest diagrama, que és una canonada de lliurament continu, aquesta canalització inclou dues canalitzacions, una és una canonada de construcció que és una canalització CI o canalització d’integració contínua, que consisteix en un activador de compilació, compilació, construcció i desplegament automatitzats.
L’altre és un gasoducte de proves, que és un gasoducte de proves contínues
Ara veurem més informació sobre les proves contínues.
Sabem la importància de provar, provar cada línia de codi ... .. provar cada vegada ... i provar en diferents etapes i és gairebé impossible executar totes les proves dissenyades cada vegada manualment quan una línia de codi s’actualitza al control de versions.
Aquí és on apareixen les proves contínues.
Per tant, tret que el codi que accedeixi a la canonada integrada contínua automatitzada, es provi a fons i garanteixi la qualitat requerida, no serveix per alliberar el programari als clients. Vull dir que no es pot garantir la qualitat a no ser que es provi a fons el codi.
Per tant, les proves contínues, tal com es van definir anteriorment, consisteixen a executar diversos tipus de proves, contínuament a la base de codi i en diferents entorns en què es desplega, tal com es defineixen i es dissenyen a la canalització de lliurament continu.
Tal com veieu a la imatge, les proves d’unitats es produeixen al propi servidor CI, que prova cada unitat del sistema de forma aïllada.
Les proves d’integració es realitzen a l’entorn d’integració que bàsicament verifica els components integrats junts. Proves del sistema a l’entorn de proves del sistema on es prova el sistema BIG amb tots els components i interfícies integrats mitjançant escenaris de nivell de sistema en un entorn de proves del sistema, etc.
I la profunditat de les proves sovint progressa a mesura que la simulació de l’entorn s’acosta a la producció.
Les proves contínues es fan cada vegada més dures i més llargues amb la progressió cap a l’entorn de producció, ja que hem d’afegir poc a poc una sèrie de proves i proves més complicades a mesura que el codi madura i avança la complexitat de l’entorn.
No és que s’executin els mateixos casos de prova, els casos de prova s’han d’actualitzar cada vegada en diferents fases i s’actualitzen els scripts automatitzats, a mesura que el codi es madura, avança cap a un nivell d’entorn més alt, on també hi ha configuracions i infraestructures. avançar, fins que entri en producció.
Per tant, fins i tot el temps necessari per executar les proves augmenta a mesura que la prova avança cap al punt de llançament, com ara que les proves unitàries triguen molt menys a executar-se, mentre que algunes proves d’integració o algunes proves del sistema o proves de càrrega poden trigar poques hores a executar-se pocs dies per córrer.
En aquest cas, les proves contínues executarien principalment els casos de proves automatitzats automàticament amb un activador. Però, tal com hem definit anteriorment, el lliurament continu també implica certes proves i portes manuals, en què certes proves es duen a terme manualment, abans de passar a la producció.
Aquestes portes de qualitat intermèdia en cada etapa de les proves augmenten la confiança en el codi.
Per tant, el gasoducte de proves contínues com a tal inclou proves unitàries juntament amb verificacions preliminars de seguretat automatitzades. A continuació, entra en un nivell d’integració de proves, on s’executen proves d’integració automàtiques, i després passen a un nivell de sistema on s’escenifiquen i s’executen els escenaris a nivell de sistema.
Aquí també es duen a terme certs escenaris de proves de rendiment.
A continuació, aneu a la 'Prova d’acceptació', que inclou bàsicament els casos de proves d’acceptació de llocs automàtics i, finalment, a la 'Prova d’acceptació d’usuaris', que podria ser una execució manual i inclou la participació de l'usuari final per dur a terme les proves i això serà una mena d’inici de sessió final al producte o una característica, on s’invoca la porta manual i finalment es desplega al lloc de producció.
Així, bàsicament, a mesura que avança la prova contínua, la complexitat de les proves i de l’entorn de la prova augmenta i arriba a l’entorn més proper a la producció com la simulació.
quants proveïdors de correu electrònic hi ha
No he de mencionar específicament que totes aquestes etapes de proves inclouen proves de verificació de la construcció, proves de seny, proves de fum i proves de regressió, de nou, com ja he dit, depèn del que dissenyem en la canalització de proves i lliurament continu.
Aquesta és la canonada típica de proves contínues, bé pot ser dissenyada per l’equip en funció del tipus de producte i dels diferents nivells de proves i tipus de proves que requereix el producte.
Les proves contínues requereixen integrar el marc d’automatització amb el control de versions i l’eina CI i les diverses eines automatitzades per dur a terme les proves funcionals i no funcionals en diferents fases de proves, com ara:
- Sonar per a l'anàlisi de codi estàtic,
- Fortify per a l'anàlisi de codi segur,
- Seleni per a proves funcionals,
- Corredor de càrrega per a proves de càrrega, etc.,
Microsoft TFS, Jenkins, xef, titella són algunes de les eines disponibles al mercat per dissenyar la canonada CI-CD.
Però el cas és que és possible que aquestes eines no admetin l’automatització completa d’extrem a extrem, depenent de l’eina de control de versions que s’utilitzi, de manera que poques organitzacions poden preferir desenvolupar els seus propis marcs d’automatització, cosa que permet l’automatització d’extrem a extrem de la canonada de lliurament a partir del codi es compromet a lliurar el codi.
Per tant, les proves contínues, que són una part molt crucial de les proves, garanteixen la qualitat del producte o del llançament i s’ha de tenir molta cura en la selecció d’una eina, marc, etc., que determina principalment la qualitat i la rapidesa de lliurament.
Per tant, configurar una canonada de proves contínues adequada triga una mica més de temps a la canonada de lliurament continu. No només a la part de l'eina i el marc, sinó també a la de casos de prova. Les proves contínues també inclouen la definició de canonades de desplegament dins.
Com que CT requereix el desplegament automatitzat de la compilació a diversos entorns en diferents fases, cosa que requereix automatitzar el desplegament i configurar els entorns mitjançant scripts automatitzats.
Aquests scripts automatitzats que inclouen la configuració d’infraestructures i configuracions d’entorn com a codi es comproven a l’eina de control de versions i la canonada de lliurament la recull de l’eina de control de versions per dur a terme el desplegament. Això s’anomena pipeline de desplegament.
Ara arribem als avantatges de la TC,
Assolir qualitat i velocitat és l’avantatge més gran de les proves contínues.
A diferència de les anteriors, on les proves solien fer-se al final, les proves generals són el concepte de proves contínues i, per tant, les proves contínues en una canonada de lliurament, permeten a l’equip introduir portes de qualitat a qualsevol lloc i qualsevol nombre de portes de qualitat que vulguin. per aconseguir el grau de qualitat que necessiten.
Per tant, si és que el codi falla per provar-lo en qualsevol punt o porta determinada d’una canonada, l’equip pot tornar enrere i fallar automàticament tot el desplegament fins a aquest punt.
Això dóna una clara indicació a l’equip de Dev i Ops que hi falta alguna cosa i que l’equip pot treballar per solucionar-ho. Per tant, aquest és l’avantatge i la flexibilitat de les canonades de proves contínues.
Per tant, la introducció de portes de qualitat en diverses fases de prova regeix millor la qualitat del codi a la canonada.
Com més sigui el nombre de portes que passi el codi, més serà la confiança de l’equip en el codi que pot arribar a la producció a un nivell de qualitat més alt.
Per tant, les proves contínues augmenten la confiança de l’equip i els animen a millorar contínuament.
En general, si l’equip no descuida realment cap de les falles de les proves en cap fase de prova o portes de qualitat a la canonada, les proves contínues definitivament seran un avantatge per assolir objectius d’alta qualitat.
Per tant, per concloure amb proves contínues, des de les proves unitàries que s’executen durant l’etapa preliminar a través de les proves d’acceptació, proves de rendiment i fins i tot certes proves manuals que s’executaran, són MOLT MOLT crítics per definir les proves contínues a la canonada DevOps.
Això completa el nostre debat sobre temes de la Part3 d’integració contínua, lliurament continu i proves contínues.
Al nostre proper tutorial, en parlarem més sobre Gestió de configuracions, gestió de versions i supervisió del rendiment de les aplicacions.
Lectura recomanada
- Desplegament continu a DevOps
- Lliurament continu en DevOps
- Top 10 d'eines de prova contínua per a proves DevOps (Llista 2021)
- Les millors eines de prova de programari 2021 (Eines d'automatització de proves de control de qualitat)
- Tutorial de proves DevOps: com impactarà DevOps en les proves de control de qualitat?
- Recapitulació de tutorials de vídeo DevOps
- Integració contínua en DevOps
- Prova de descàrrega de llibres electrònics