what is infrastructure testing
Aquesta guia completa de proves d'infraestructura cobreix els seus avantatges, reptes, eines i metodologies de prova d'infraestructures:
La infraestructura es comparteix entre molts projectes. Les proves d’infraestructura són les proves de dependències de maquinari i programari necessàries per executar productes de programari. Ajuda a cobrir els riscos del producte relacionats amb la infraestructura objectiu.
Aquest tutorial us ajudarà a aprendre les proves d’infraestructura des de zero. Tractarem detalls complets, com ara beneficis i reptes, qui pot realitzar-se, quan realitzar-la i tècniques per realitzar aquesta prova. Les eines de proves d'infraestructura també es tracten en aquest tutorial.
Què aprendreu:
- Què és la infraestructura?
- Què són les proves d'infraestructura?
- Metodologies de proves d’infraestructures
- Eines de proves d'infraestructures
- Conclusió
Què és la infraestructura?
L’ecosistema d’infraestructura de TI inclou plataformes de sistemes operatius (com Windows, UNIX, Linux, macOS), plataformes de maquinari informàtic (com Dell, IBM, Sun, HP, Apple), plataformes d’Internet (com Apache, Cisco, Microsoft IIS, .NET ), Gestió i emmagatzematge de dades (com ara IBM DB2, Oracle, SQL Server, MySQL) i Aplicacions de programari empresarial (com SAP, Oracle, Microsoft).
Què són les proves d'infraestructura?
Tots els programes requereixen una infraestructura per dur a terme les seves accions. La prova d’infraestructura és el procés de prova que cobreix el maquinari, el programari i les xarxes. Implica provar qualsevol codi que llegeixi els valors de configuració de diferents coses del marc de TI i els compare amb els resultats previstos.
Redueix els riscos de fracàs. Aquesta prova incorpora exercicis de prova, procediments per garantir que les aplicacions de TI i la infraestructura fonamental s’ajusten a l’execució, l’adaptabilitat, la qualitat inquebrantable, l’accessibilitat, el rendiment i l’escalabilitat. L’objectiu és provar la infraestructura entre entorns de prova, eines de prova i entorns d’oficina.
Per què cal fer proves d'infraestructura?
Les organitzacions gasten molts dòlars per assegurar-se que les seves aplicacions comercials es posen a prova a la perfecció. Tanmateix, la base bàsica, és a dir, la infraestructura que allotja i transmet aquestes aplicacions, es prova de tant en tant i, en general, es subestima.
implementació de pila en c ++ mitjançant matriu
Cal fer proves d'infraestructura per mitigar el risc de fallada de qualsevol component de maquinari o programari. Quan es prepara un nou disseny d’infraestructura per al programari, es fa necessari realitzar aquestes proves. Cal assegurar-se que la nova funcionalitat d'infraestructura funcioni de la manera prevista. Els problemes sorgeixen amb més probabilitat quan s’integra un nou mòdul d’infraestructura amb el projecte.
Les falles d’infraestructura es produeixen quan no hi ha previstes proves en infraestructures escalables. Per tant, per evitar interrupcions i problemes d’última hora, cal fer aquesta prova.
Aquesta prova és necessària per identificar defectes que no es van trobar de manera eficient durant els diferents processos de prova. Es fa important analitzar l’aplicació de programari sempre que es canvien els recursos de maquinari i programari. Es fa per analitzar l'eficiència i el rendiment del sistema.
Es requereix una implementació oportuna d’aquest tipus de proves perquè els projectes suposen un cost elevat en infraestructures. Per tant, cal un bon coneixement d’aquestes proves per minimitzar el cost que comporten els riscos del projecte. Per evitar errors, cal fer aquestes proves com a estàndard del sector.
Quins avantatges té la prova d’infraestructures?
L'enfocament planificat i exhaustiu de les proves d'infraestructura proporciona molts avantatges tant a un producte de programari com a les organitzacions.
A continuació, es detallen alguns dels beneficis:
- Reducció dels fracassos de producció.
- Millora de la identificació de defectes abans de l'execució de la producció. Actualitzeu la qualitat de la infraestructura amb un defecte zero a la producció.
- Execució ràpida de les proves, que permeten la publicació anticipada.
- Ajuda a estalviar costos anuals tant en operacions com en empreses.
- Confirmeu que el programari funciona en un procediment sistemàtic i controlat.
- Reducció del temps d'inactivitat.
- Millora de la qualitat del servei.
- Disponibilitat d'entorns estables.
- Reducció del cost de riscos.
- Millor experiència d'usuari.
Reptes de les proves d’infraestructura
Vegem alguns reptes als quals s’enfronten les empreses quan intenten adoptar proves d’infraestructures.
# 1) Entorn remot
Els entorns o recursos de prova es col·loquen en llocs topogràficament remots, cosa que fa que els equips de prova confiïn en grups de suport de la zona per gestionar els desafiaments relacionats amb equips, components de maquinari, components de programari, xarxes, etc. retards, sobretot quan els equips es troben en diferents zones horàries.
# 2) Absència d’un equip dedicat
La manca de coneixement entre l’equip és un repte important per realitzar aquestes proves. Es requereix un equip dedicat per mantenir la informació relacionada amb totes les activitats, inclosos els horaris, els plans, la cobertura i els informes d'estat.
# 3) Investigació de problemes d'entorn de prova
Moltes vegades no s'han pogut resoldre problemes d'entorn de prova i cal investigar-los. Es requereix coordinació amb els equips interessats fins que es resolgui el problema.
# 4) Mantenir entorns en un sol lloc
Mantenir un magatzem comú d’entorns de prova, la seva compatibilitat antiga, així com les darreres versions, suposen un repte important a l’hora de realitzar aquestes proves. Els detalls de la connectivitat i les configuracions de totes les versions no es mantenen.
# 5) Treball manual
Poques activitats relacionades amb aquesta prova requereixen treball manual, ja que no hi ha eines disponibles. Això provoca errors humans i retards en el procés.
# 6) Manca de definició estàndard per a la prova d’infraestructures
La majoria de la gent encara no és conscient de la implementació i dels processos. Un coneixement i una comprensió inadequats sovint comporten dificultats en la implementació. Sorgeixen molts problemes nous que poden afectar el procés per ser estable.
# 7) Equips aïllats
Hi ha una gran bretxa entre les ubicacions dels equips. Això sol conduir a una manca de transparència i a un mal treball en equip.
Qui pot realitzar proves d'infraestructura?
Diversos equips participen en aquest tipus de proves. A continuació, s’expliquen:
# 1) Equip de proves d'infraestructures
L’equip de proves d’infraestructura té un bon munt de coneixements relacionats amb aquestes proves. També participen amb l'equip de garantia de qualitat. Aquest equip sap provar la infraestructura de TI. Aquest equip sap dissenyar casos de prova per a aquest tipus de proves.
# 2) Equip d'administrador del sistema
L'equip d'administrador del sistema sol provar la infraestructura a nivell de xarxa. Disseny d’equips i documentació de casos basats en la seva experiència. Són responsables de garantir que les aplicacions no es vegin afectades després de qualsevol canvi a la xarxa.
# 3) Equip de manteniment d’infraestructures
Aquest equip té un paper molt important. Estan involucrats en una etapa inicial i s’encarreguen d’establir entorns de prova segons els requisits. Participen en la planificació de proves i el manteniment d’entorns d’infraestructura.
# 4) Equip de garantia de qualitat
L’equip de control de qualitat és el responsable d’executar la prova de regressió. També participen en proves d’integració. Realitzen proves en diferents entorns de prova que es creen segons la infraestructura diferent.
# 5) Cap de projecte
El responsable del projecte és responsable de gestionar el projecte. Participen en la planificació, el disseny i la documentació dels casos de prova necessaris per a aquest tipus de proves. Un gestor de projectes està sincronitzat amb tots els equips.
Quan es realitzen proves d'infraestructures?
Hi ha una necessitat urgent de realitzar aquestes proves sempre que s’introdueixen canvis relacionats amb la infraestructura.
Alguns exemples d’aquests canvis són:
- Es desenvolupa qualsevol nou pedaç del sistema.
- S’experimenta qualsevol nova actualització del sistema.
- Qualsevol actualització del sistema operatiu.
- La versió / estructura de la base de dades s’actualitza.
- Quan hi ha una actualització de la memòria per als servidors.
- Implementació de la nova eina.
- Correccions de seguretat.
- Actualització de software.
De vegades, aquest tipus de prova esdevé més important quan es produeix la migració de bases de dades o centres de dades. Es necessita més atenció quan hi ha canvis diversos i ràpids en l’aplicació i quan es tracta de migracions d’infraestructures.
També es realitza quan s’introdueix el suport de nous dispositius per a programari.
Exemple:
- Nous ordinadors portàtils / ordinadors de sobretaula
- Dispositius mòbils nous
- Noves eines de tercers
Metodologies de proves d’infraestructures
Tenim diferents mòduls en això. Poques d'elles es detallen a continuació:
- Infraestructura de servidor / client
- Migració de dades
- Proves d’infraestructures al núvol
- Proves a nivell de xarxa
- Instal·lació / desinstal·lació / desplegament
- Infraestructura de l'entorn de prova
- Enfocament TDD
# 1) Infraestructura de servidor / client
Els servidors inclouen servidors web, servidors de fitxers, servidors de correu, servidors proxy, servidors virtuals i servidors físics al maquinari. El client inclou SO, aplicacions, configuració d'usuari, etc. Els servidors executen diferents serveis i aquests serveis els poden utilitzar els clients.
L’objectiu principal és provar la qualitat dels servidors, escriptoris, sistemes operatius i maquinari. Es proven els components del servidor / client per garantir que el rendiment de la infraestructura es millora a l’entorn de producció. També inclou proves d’instal·lació o desinstal·lació d’aplicacions, proves de compatibilitat del navegador, proves d’integració amb diferents versions del sistema operatiu i configuració de l’usuari.
Procediment:
- El més important és recollir els requisits dels grups d'interès.
- Dissenyeu un pla de prova segons la comprensió de la infraestructura necessària.
- A continuació, es dissenyen casos de prova que cobreixen el suport dels sistemes operatius, escenaris d’actualització, l’abast de les proves d’infraestructura del servidor / client i també les proves de funcionalitat.
- Després de l’aprovació dels casos de prova, QA Team executa cada escenari i els casos de prova corresponents.
Tots els canvis relacionats amb el servidor / client, com ara els canvis de configuració i de pujada, ja es proven a les configuracions de control de qualitat, de manera que es garanteix que hi haurà un menor impacte possible a l'entorn de producció. A més, es provaran diferents versions del sistema operatiu abans de desplegar-les a la producció. A més, si alguna cosa ha fallat en la producció, els procediments alternatius es comproven prèviament per garantir la còpia de seguretat.
# 2) Migració de dades
La migració de dades inclou dades migrades de la versió antiga a la nova, dades migrades d’un servidor a un altre i també dades migrades a diferents configuracions.
L’objectiu principal de les proves de migració de dades és provar les migracions de dades en diverses versions, servidors i noves versions. Proveu l'aplicació per certificar que no hi ha cap impacte a causa de la migració. També es realitzen proves de migració de dades per verificar el rendiment i la latència de l'aplicació.
Procediment:
- Proveu l'aplicació abans i després de la migració.
- Proveu els servidors abans i després de la migració de dades per assegurar-vos que no s’observin canvis.
- Comproveu que no s'observen canvis en el rendiment de l'aplicació després de la migració de dades.
- Proveu l'aplicació amb diferents versions de la base de dades
- Proveu que la nova versió és compatible amb totes les versions de la base de dades.
- Proveu diferents paràmetres de configuració del servidor amb versions de bases de dades diferents
Amb l'ajut de les proves de migració de dades, es poden descobrir configuracions del servidor que no coincideixen. Qualsevol problema de construcció de servidor si existeix durant la migració de dades es pot resoldre abans del desplegament de producció. Les proves de migració de dades milloren la qualitat i l’estabilitat del producte. Aquestes proves posteriorment ajuden a provar la instal·lació mentre es desplega l'aplicació a l'entorn de producció.
# 3) Proves d'infraestructura al núvol
La informació i les dades s’emmagatzemen majoritàriament en servidors virtuals i aquests servidors són guardats i gestionats per proveïdors de cloud computing com AWS.
L’objectiu principal és certificar els serveis Cloud per a diferents versions d’aplicacions. Proveu l'arquitectura de l'aplicació al núvol. Es simula una aplicació real al núvol i es prova el rendiment i l’escalabilitat de les aplicacions.
Procediment:
- Proveu la càrrega de l'aplicació amb diferents configuracions.
- Realitzeu proves de regressió i assegureu-vos que l'aplicació no afecti les proves de càrrega.
- Comproveu si una aplicació és compatible amb un navegador en un entorn de núvol.
- Prova la instal·lació de l'aplicació al núvol.
- Comproveu si l'aplicació funciona com s'esperava en diferents entorns de núvol.
Les proves d’infraestructura al núvol garanteixen la implementació sense errors de l’aplicació a l’entorn de producció. Ajuda a conèixer el rendiment, l’escalabilitat i l’estabilitat de l’aplicació. Ajuda a utilitzar els recursos que es troben al núvol, com ara qualsevol maquinari, programari i infraestructura.
# 4) Proves a nivell de xarxa
La xarxa és la part més important de la infraestructura de l'aplicació. La xarxa ajuda a la comunicació entre servidors, clients i altres xarxes. Les xarxes tenen diferents mòduls, com ara servidors proxy, infraestructures per a la connectivitat a Internet.
L’objectiu principal és controlar i gestionar qualsevol problema a nivell de xarxa, com ara un ús excessiu de recursos, temps d’inactivitat del servidor, configuració del sistema, la infraestructura necessària per a les operacions, pegats del sistema operatiu.
Procediment:
- Proveu la capa de xarxa per a futures actualitzacions de l'aplicació.
- Prova de procediments alternatius en cas de fallada a l’entorn de producció.
- Realitzeu proves de sistema, proves UAT i proves de seguretat.
- Dissenyar casos de prova i preparar dades de proves.
- Assegureu-vos que els serveis de servidor o de xarxa no es vegin afectats després de qualsevol versió nova.
- Prova de la xarxa aïllada.
- Proveu l'impacte en el rendiment de l'aplicació en diverses xarxes com VPN, Wi-Fi, LAN, etc.
Les proves d’infraestructura a nivell de xarxa milloren el temps de recuperació. Assegura la còpia de seguretat i restaura els mecanismes. També ajuda a la seguretat de les aplicacions.
# 5) Instal·lació / desinstal·lació / desplegament
L’objectiu principal de provar la infraestructura mentre es realitza la instal·lació és assegurar-se que sempre que un nou client utilitza l’aplicació, no sorgeixen problemes en instal·lar l’aplicació per primera vegada. La desinstal·lació de l'aplicació es realitza per provar el procés de sortida de l'aplicació.
Procediment:
- Proveu els paquets d’instal·lació necessaris per instal·lar l’aplicació.
- Prova de biblioteques addicionals, crea paquets.
- Proveu el temps necessari per instal·lar i desinstal·lar l'aplicació.
- Instal·leu l'aplicació en diferents sistemes operatius.
- Es necessita una prova d’espai en disc.
- Comproveu si tots els fitxers s’eliminen després de la desinstal·lació de l’aplicació.
La prova d’infraestructura durant la instal·lació / desinstal·lació / desplegament garanteix que l’aplicació es pugui instal·lar a la xarxa en un moment concret. Assegura que qualsevol pedaç es pot instal·lar posteriorment o no. Ajuda a millorar l’emmagatzematge requerit per l’aplicació.
# 6) Prova d'infraestructura d'entorn
Un entorn de prova és una col·lecció de maquinari, programari, eines i processos. Per executar les proves amb precisió i eficiència, és necessari l'entorn de la prova. L'entorn de prova també inclou el lloc de treball on es proporciona una bona xarxa, PC i font d'alimentació als provadors perquè puguin realitzar el seu treball.
L’objectiu principal és comprovar la instal·lació del programari, la configuració de la configuració de l’aplicació, triar les eines de prova adequades que admetin la planificació de proves, l’execució de les proves. També garanteix la continuïtat de l'execució de la prova.
Procediment:
- Configureu un entorn de prova per a les versions regulars del projecte.
- Creeu un entorn de prova per a versions de revisions.
- Creeu solucions per gestionar problemes d’entorn de servidor i client.
- Finalitzeu les eines de prova per al pla de prova, el disseny i l'execució de les proves.
- Decidiu eines per depurar i informar dels errors.
- Creeu un document per configurar l'entorn de prova.
L’ús d’eines i entorns de prova té múltiples avantatges. S’observa una major qualitat. La productivitat augmenta amb l’ús d’eines. Les activitats de prova es realitzen de manera processada. La documentació de l’entorn de prova ajuda els nous membres de l’equip a entendre millor.
# 7) Enfocament TDD
El marc basat en proves o desenvolupament TDD és un mètode per escriure casos de prova primer basats en els documents de requisits i després implementar la funcionalitat segons la prova.
L’objectiu principal és conèixer els recursos d’infraestructura necessaris per al projecte. La finalitat és definir i organitzar la infraestructura per a la seguretat, les operacions i la producció.
Procediment:
- Document de disseny per als requisits d'infraestructura.
- Dissenyar un pla de proves que cobreixi la infraestructura necessària per a l'aplicació.
- Dissenyar casos de proves que impliquin proves d'infraestructura.
- Prova de diferents configuracions.
L’enfocament TDD ajuda a millorar la complexitat del projecte. Qualsevol canvi a la infraestructura es prova abans de passar a la producció. Es poden implementar diferents configuracions possibles ja que les proves ja estan dissenyades.
Eines de proves d'infraestructures
Xef, Titella, i Ansible són eines diferents que tenen el mateix propòsit. Aquestes eines s’utilitzen per desplegar i configurar diferents servidors necessaris per a una aplicació. Aquestes eines serveixen de gran ajuda quan hi ha tasques complexes relacionades amb la infraestructura. Es fa fàcil per a l'equip executar tasques en diversos servidors junts mitjançant aquestes eines.
L’equip que utilitza aquestes eines desplega diverses aplicacions, dependències i biblioteques ràpidament. Altres activitats inclouen servidors, fitxers binaris, fitxers de registre, mecanismes de recuperació, actualització de versions, gestió de bases de dades.
# 1) Xef
Característiques: El xef admet idiomes específics de domini de Ruby. Per tant, resulta difícil per als no desenvolupadors aprendre aquesta eina. Tot i ser difícil per al suport lingüístic, aquesta eina està molt disponible. El xef segueix la configuració mestre-esclau. En el mecanisme mestre-esclau, el servidor principal, és a dir, el xef-servidor es pot substituir pel servidor de còpia de seguretat si es produeix un error.
Podem desplegar aplicacions, configurar infraestructures i també configurar la xarxa amb Chef. No està molt assegurat.
Preu: És menys car que Puppet, però més car que Ansible. El seu preu és d'aproximadament 13,5 milers de dòlars / any fins a 100 nodes.
Lloc web: Cap
# 2) Titella
diferències entre c ++ i java
Característiques: Puppet està construït amb Ruby i admet DSL i Embedded Ruby. Un programador només pot gestionar la configuració si el Puppet està seleccionat per utilitzar-lo. L’equip d’administradors del sistema també és conscient de les configuracions d’aquesta eina. Segueix l'arquitectura mestre-mestre. Si un mestre actiu experimenta un fracàs, un altre mestre el pot substituir.
Puppet és útil en l’escalabilitat de les màquines, en configurar diferents configuracions per a cada host. Si es fa algun canvi a la configuració, aquesta eina ajuda a fer canvis a nivell global. Tampoc és una eina tan segura.
Preu: El seu preu és el més alt, aproximadament entre 11.000 i 20.000 euros / any fins a 100 nodes.
Lloc web: Titella
# 3) Ansible
Característiques: Ansible s’escriu a Python i també admet scripts d’ordres YAML. Python és llegible per humans i, per tant, aquesta eina és ideal per a administradors de sistemes. Funciona amb un sol node actiu, però en cas de fallades, també té un node secundari.
Ansible és altament escalable, és a dir, podria gestionar un gran nombre de nodes sense cap problema. En comparació amb Puppet, Ansible és més convenient quant a escalabilitat. A diferència de Chef and Puppet, és una eina molt segura amb SSH.
Preu: El seu preu és molt inferior al de Puppet and Chef aproximadament 10.000 dòlars / any fins a 100 nodes.
Lloc web: Ansible
Conclusió
Les proves d’infraestructura són necessàries per al cicle de vida del desenvolupament de programari, ja que les empreses tenen un cost elevat en infraestructures. En aquest tutorial es tracten diversos temes com els beneficis, els reptes, les tècniques i les persones que participen en aquest tipus de proves. També es cobreix una ullada a les eines de prova d’infraestructures.
Lectura recomanada
- Supervisió del rendiment de l'aplicació i de la infraestructura de TI mitjançant l'eG Enterprise Tool (revisió pràctica)
- Tipus de proves de programari: diferents tipus de proves amb detalls
- Proves d'aplicacions: els fonaments de la prova de programari.
- Què és la prova de gamma? Fase de proves finals
- Què són les proves de conformitat (proves de conformitat)?
- Prova de rendiment vs Prova de càrrega vs Prova d’estrès (diferència)
- Proves exploratòries vs proves amb guió: Qui guanya?
- Què és la prova d'escalabilitat? Com provar l’escalabilitat d’una aplicació