what is system integration testing
Què és la prova d'integració de sistemes?
Les proves d’integració de sistemes (SIT) són les proves generals de tot el sistema que es compon de molts subsistemes. L'objectiu principal de SIT és assegurar-se que totes les dependències dels mòduls de programari funcionin correctament i que es mantingui la integritat de les dades entre diferents mòduls de tot el sistema.
SUT (System Under Test) pot estar format per maquinari, base de dades, programari, una combinació de maquinari i programari o un sistema que requereixi interacció humana (HITL - Human in the Loop Testing).
Des del context de l’enginyeria de programari i les proves de programari, SIT es pot considerar com un procés de prova que comprova la coincidència del sistema de programari amb altres.
SIT té un requisit previ en el qual múltiples sistemes integrats subjacents ja han estat sotmesos a proves de sistemes. A continuació, SIT prova les interaccions necessàries entre aquests sistemes en conjunt. Els lliuraments de SIT es passen a la UAT (proves d’acceptació de l’usuari).
Què aprendreu:
- Necessitat de la prova d’integració del sistema
- La granularitat de SIT
- Com es realitzen proves d’integració del sistema?
- Prova de sistemes contra proves d’integració de sistemes
- Prova d’integració del sistema contra proves d’acceptació d’usuaris
- Exemple SIT
- Tècniques SIT
- Conclusió
- Lectura recomanada
Necessitat de la prova d’integració del sistema
La funció principal de SIT és fer proves de dependències entre diferents components del sistema i, per tant, les proves de regressió són una part important de SIT.
Per a projectes col·laboratius, SIT forma part de STLC (Software Testing Life Cycle). En general, el proveïdor de programari realitza una ronda prèvia a SIT abans que el client executi els seus propis casos de prova SIT.
A la majoria de les organitzacions que treballen en projectes de TI seguint el model Sprint Agile, l’equip de control de qualitat realitza una ronda de SIT abans de cada versió. Els defectes trobats al SIT es tornen a enviar a l’equip de desenvolupament i treballen en les solucions.
L’alliberament de l’MVP (Producte Viable Mínim) del sprint només passa quan passa per SIT.
SIT és necessari per exposar els errors que es produeixen quan es produeix la interacció entre els subsistemes integrats.
Hi ha diversos components que s’utilitzen al sistema i no es poden provar de manera individual. Fins i tot si la unitat es prova individualment, també hi ha la possibilitat que pugui fallar quan es combina al sistema, ja que hi ha molts problemes que sorgeixen quan els subsistemes interactuen entre ells.
Per tant, SIT és molt necessari per exposar i solucionar els errors abans de desplegar el sistema al final de l’usuari. SIT detecta els defectes en una fase inicial i, per tant, estalvia temps i costos per solucionar-los posteriorment. També us ajuda a obtenir comentaris anteriors sobre l'acceptabilitat del mòdul.
La granularitat de SIT
SIT es pot realitzar a tres nivells diferents de granularitat:
(i) Proves intra-sistema: Es tracta d’un nivell baix de proves d’integració que té com a objectiu combinar els mòduls per construir un sistema unificat.
(ii) Proves entre sistemes: Es tracta de proves d’alt nivell que requereixen la interfície de sistemes provats de forma independent.
(iii) Proves per parelles: Aquí només es proven dos subsistemes interconnectats a tot el sistema. Es tracta d'assegurar que els dos subsistemes poden funcionar bé quan es combinen junts, suposant que els altres subsistemes ja funcionen bé.
Com es realitzen proves d’integració del sistema?
La forma més senzilla de realitzar SIT és mitjançant el mètode basat en dades. Requereix un ús mínim d'eines de prova de programari.
diferència entre control de qualitat i garantia
En primer lloc, l'intercanvi de dades (importació i exportació de dades) es produeix entre els components del sistema i després s'examina el comportament de cada camp de dades dins de la capa individual.
Un cop integrat el programari, hi ha tres estats principals de flux de dades, tal com s’esmenta a continuació:
# 1) Estat de les dades dins de la capa d’integració
La capa d'integració actua com una interfície entre la importació i exportació de dades. La realització de SIT en aquesta capa requereix alguns coneixements bàsics sobre determinades tecnologies com l’esquema (XSD), XML, WSDL, DTD i EDI.
El rendiment de l'intercanvi de dades es pot examinar en aquesta capa mitjançant els passos següents:
- Valideu les propietats de les dades d’aquesta capa contra BRD / FRD / TRD (document de requisits empresarials / document de requisits funcionals / document de requisits tècnics).
- Comproveu la sol·licitud de servei web mitjançant XSD i WSDL.
- Executeu algunes proves unitàries i valideu les assignacions i sol·licituds de dades.
- Reviseu els registres de middleware.
# 2) Estat de les dades dins de la capa de base de dades
La realització de SIT en aquesta capa requereix un coneixement bàsic de SQL i procediments emmagatzemats.
El rendiment de l'intercanvi de dades en aquesta capa es pot examinar mitjançant els passos següents:
com fer un atac ddos a una IP
- Comproveu si totes les dades de la capa d'integració han arribat correctament a la capa de base de dades i s'han confirmat.
- Valideu les propietats de la taula i de la columna amb BRD / FRD / TRD.
- Valideu les restriccions i les regles de validació de dades aplicades a la base de dades segons les especificacions empresarials.
- Comproveu els procediments emmagatzemats per a qualsevol tractament de dades.
- Reviseu els registres del servidor.
# 3) Estat de les dades dins de la capa Aplicació
SIT es pot realitzar en aquesta capa mitjançant els passos següents:
- Comproveu si tots els camps obligatoris són visibles a la IU.
- Executeu alguns casos de prova positius i negatius i valideu les propietats de les dades.
Nota: Hi pot haver moltes combinacions corresponents a la importació i exportació de dades. Haureu d’executar SIT per obtenir les millors combinacions tenint en compte el temps disponible.
Prova de sistemes contra proves d’integració de sistemes
Diferències entre la prova del sistema i SIT:
SIT (proves d’integració de sistemes) | Proves del sistema |
---|---|
SIT es fa principalment per comprovar com els mòduls individuals interactuen entre si quan s’integren en un sistema en general. | Les proves del sistema es fan principalment per comprovar si tot el sistema funciona tal com s’esperava amb referència als requisits especificats. |
Es realitza després de la prova d’unitat i es farà cada vegada que s’afegeix un mòdul nou al sistema. | Es realitza al nivell final, és a dir, després de completar les proves d’integració i just abans de lliurar el sistema per a UAT. |
És una prova de baix nivell. | És una prova d’alt nivell. |
Els casos de prova SIT se centren en la interfície entre els components del sistema. | Els casos de prova, en aquest cas, se centren a simular els escenaris de la vida real. |
Prova d’integració del sistema contra proves d’acceptació d’usuaris
Heus aquí la diferència entre SIT i UAT:
SIT (proves d’integració de sistemes) | UAT (proves d’acceptació d’usuaris) |
---|---|
Aquesta prova es fa des de la perspectiva de la interfície entre mòduls. | Aquesta prova es fa des de la perspectiva dels requisits de l'usuari. |
SIT el fan desenvolupadors i provadors. | UAT el fan clients i usuaris finals. |
Fet després de la prova unitària i abans de la prova del sistema. | Aquest és l'últim nivell de proves i es realitza després de les proves del sistema. |
Generalment, els problemes trobats a SIT estarien relacionats amb el flux de dades, el flux de control, etc. | Els problemes que es troben a UAT solen ser com les funcions que no funcionen segons els requisits de l'usuari. |
La imatge següent sobre els nivells de proves us deixaria clar el flux de la prova unitària a la UAT:
Exemple SIT
Suposem que una empresa utilitza programari per emmagatzemar les dades del client.
Aquest programari té dues pantalles a la interfície d’usuari: pantalla 1 i pantalla 2, i té una base de dades. Les dades introduïdes a la pantalla 1 i la pantalla 2 s’introdueixen a la base de dades. A hores d’ara, la companyia està satisfeta amb aquest programari.
Tanmateix, uns anys més tard, la companyia troba que el programari no compleix els requisits i cal millorar-lo. Per tant, van desenvolupar una pantalla 3 i una base de dades. Ara, aquest sistema que té la pantalla 3 i una base de dades està integrat amb el programari anterior o existent.
Ara, les proves fetes a tot el sistema després de la integració s’anomenen prova d’integració del sistema. Aquí, es prova la coexistència d’un sistema nou amb un de ja existent per garantir que tot el sistema integrat funcioni bé.
Tècniques SIT
Principalment, hi ha 4 enfocaments per fer SIT:
- Enfocament de dalt a baix
- Enfocament de baix a dalt
- Enfocament Sandwich
- Enfocament del Big Bang
L’enfocament de dalt a baix i de baix a dalt és una mena d’enfocaments incrementals. Comencem la discussió primer amb l'enfocament de dalt a baix.
# 1) Enfocament descendent:
En aquest sentit, la prova comença només amb el mòdul superior d’una aplicació, és a dir, la interfície d’usuari que anomenem com a controlador de prova.
La funcionalitat dels mòduls subjacents es simula amb talons. El mòdul superior s’integra amb el mòdul inferior de nivell inferior un a un i posteriorment es prova la funcionalitat.
Un cop finalitzada cada prova, el taló es substitueix pel mòdul real. Els mòduls es poden integrar de manera amplada o profunditat. La prova continua fins que es crea tota l'aplicació.
L’avantatge d’aquest enfocament és que no hi ha necessitat de controladors i es poden especificar els casos de prova en funció de la funcionalitat del sistema.
El principal repte d’aquest tipus d’enfocament és la dependència de la disponibilitat de la funcionalitat del mòdul de nivell inferior. Hi pot haver un retard en les proves fins que els mòduls reals se substitueixen per talons. També és difícil escriure talons.
# 2) Enfocament ascendent:
Elimina les limitacions de l’enfocament de dalt a baix.
En aquest mètode, en primer lloc, s’assemblen els mòduls de nivell més baix per formar clústers. Aquests clústers serveixen com a subfunció de l'aplicació. A continuació, es crea un controlador per gestionar l'entrada i la sortida del cas de prova. Després d'això, es prova el clúster.
Un cop provat el clúster, s'elimina el controlador i es combina amb el següent nivell superior. Aquest procés continua fins que s'aconsegueix tota l'estructura de l'aplicació.
En aquest enfocament no hi ha cap necessitat de talons. Es simplifica a mesura que el processament avança cap amunt i es redueix la necessitat dels conductors. Aquest enfocament és recomanable per fer SIT per a sistemes orientats a objectes, sistemes en temps real i sistemes amb necessitats estrictes de rendiment.
Tanmateix, la limitació d’aquest enfocament és el subsistema més important, és a dir, es prova la interfície d’usuari al final.
# 3) Enfocament del sandvitx:
Aquí, es combinen els enfocaments de dalt a baix i de baix a dalt comentats anteriorment.
Es percep que el sistema té tres capes: la capa mitjana que és la capa objectiu, una capa per sobre de l'objectiu i una capa per sota de l'objectiu. Les proves es fan en les direccions i es concentren a la capa objectiu que hi ha al centre i això es mostra a la imatge següent.
Estratègia de proves de sandvitx
Un avantatge d’aquest enfocament és que la capa superior i la capa inferior del sistema es poden provar en paral·lel. No obstant això, la limitació d’aquest enfocament és que no prova exhaustivament els subsistemes individuals abans de la integració.
Per eliminar aquesta limitació, hem modificat les proves de sandvitx en què es prova la integració de les capes superior, mitjana i inferior en paral·lel mitjançant trossos i controladors.
# 4) Enfocament del Big Bang:
En aquest enfocament, la integració es fa una vegada que tots els mòduls de l'aplicació estan completament preparats. Les proves es realitzen després de la integració de tots els mòduls per comprovar si el sistema integrat funciona o no.
És un repte trobar la causa arrel del problema en aquest enfocament, ja que tot està integrat alhora a diferència de les proves incrementals. Aquest enfocament generalment s’adopta quan només es requereix una ronda de SIT.
Conclusió
En aquest article, hem après què és la prova d’integració de sistemes (SIT) i per què és important realitzar-la.
etapes del cicle de vida del desenvolupament de programari
Vam entendre els conceptes bàsics, les tècniques, els enfocaments i els mètodes implicats en la realització de SIT. També hem analitzat la diferència entre SIT i UAT i les proves del sistema.
Espero que us hagi agradat aquest excel·lent article !!
Lectura recomanada
- Què és la prova de components o la prova de mòduls (apreneu amb exemples)
- Què és la prova de comparació (apreneu amb exemples)
- Què és la prova d'integració (tutorial amb exemple de prova d'integració)
- Les millors eines de prova de programari 2021 (Eines d'automatització de proves de control de qualitat)
- Les diferències entre la prova unitària, la prova d’integració i la prova funcional
- Proves funcionals contra proves no funcionals
- Integració de seleni amb JMeter
- Spock per a la integració i proves funcionals amb seleni