what is interface testing
Introducció a les proves d'interfície:
Quan es desenvolupa una aplicació, un programari o un lloc web, hi ha diversos components. Aquests components poden ser servidor, base de dades, etc.
La connexió que integra i facilita la comunicació entre aquests components es denomina interfície.
En termes senzills, una interfície és un programari que comprèn un conjunt d’ordres, missatges, etc.
Aquest tutorial us proporciona una visió general completa de les proves de la interfície, juntament amb la seva necessitat, tipus, estratègia, llista de comprovació i algunes de les seves eines en termes senzills per enriquir el vostre coneixement del concepte.
Què aprendreu:
- Introducció
- Quan i per què hem de provar una interfície?
- Tipus de proves d’interfície
- Estratègia o enfocament per provar la interfície
- Diferència entre la interfície, la integració i la prova de components
- Llista de comprovació per a la prova d’interfícies
- Les millors eines per provar interfícies
- Conclusió
- Lectura recomanada
Introducció
Per a un ordinador, una interfície pot ser API, serveis web, etc. La comunicació entre els diferents components d’un programari o una aplicació o un lloc web pot afectar el rendiment general, per tant, aquesta comunicació, és a dir, la interfície també ha de ser provada i verificada.
Les proves que es fan per verificar la funcionalitat de la interfície s’anomenen Interface testing.
Els dos components més comuns de les proves d'interfície són:
- Interfície de servidor web i servidor d'aplicacions.
- Interfície de servidor de bases de dades i servidor d'aplicacions.
Quan i per què hem de provar una interfície?
A continuació, esmenten les 3 fases de les proves de la interfície en un cicle de vida de la interfície:
1) Configuració i desenvolupament:
Quan la interfície està configurada i un cop comença el desenvolupament, cal verificar les configuracions segons el requisit.
2) Validació:
Un cop finalitzat el desenvolupament, cal validar i verificar la interfície, cosa que també es pot fer com a part de les proves d’unitats.
3) Manteniment:
com configurar un correu electrònic fals
Una vegada que tot el programari estigui llest, desplegat i funcionant, cal controlar la interfície pel seu rendiment i pels problemes nous introduïts a causa dels canvis realitzats o del deteriorament del rendiment.
Quan comencem a desenvolupar una interfície, hem d’assegurar-nos que no introduïm cap defecte al nostre codi i, per tant, cal que s’executin proves a la interfície per verificar que afegir codi nou no injecti defectes nous. Això us ajudarà a determinar si la interfície és lliure de defectes i segons el requisit.
Un cop estem satisfets amb la interfície, la validem per al flux de treball previst, les dades, etc. Podem executar el rendiment, fer proves de dades enormes i comprovar la resposta de la interfície. Això estalviarà molt de temps que es dedicarà a solucionar els defectes més endavant.
En poques paraules, les proves d’interfície es fan per:
- Per comprovar si l'execució del servidor és correcta.
- La gestió dels errors es fa correctament i es mostren els missatges d’error adequats per a les consultes realitzades per l’aplicació o el programari.
- Per comprovar el resultat quan es restableix una connexió amb el servidor.
- Per comprovar l'aspecte de seguretat quan els components es comuniquen dins d'ells mateixos.
- Per comprovar l'impacte d'un error de xarxa en la comunicació entre els components.
Tipus de proves d’interfície
Les proves d'interfície es fan bàsicament a la capa de missatgeria de l'arquitectura del sistema. Es tracta principalment de provar l’API REST o el servei web SOAP amb format JSON o XML.
Les proves d'interfície solen implicar les pràctiques següents:
- Proves unitàries: Prova de la funcionalitat de cada operació individual (en una funció).
- Proves funcionals : Provar la funcionalitat d’escenaris més amplis que impliquen la creació, validació, regressió de casos de proves, etc.
- Prova de càrrega: Validació del rendiment sota càrrega, principalment mitjançant casos de proves funcionals.
- Proves de seguretat : Provar el mecanisme de seguretat i inclou proves de penetració, així com validar el control d’accés, xifratge, etc.
- Detecció d'errors en temps d'execució: Supervisió d'una aplicació per a problemes com ara la cursa d'execució, la fuita de recursos, etc.
- Proves de flux de treball: Això es fa per assegurar-vos que el motor de la interfície gestiona el vostre flux de treball com s'esperava.
- Sistemes individuals: Aquesta prova es realitza per verificar la individualitat de cada sistema. Igual que el sistema de facturació i el sistema de gestió d’inventaris haurien de ser capaços de funcionar individualment.
Estratègia o enfocament per provar la interfície
Igual que qualsevol altra prova, la prova de la interfície és igualment important, ja que garanteix un funcionament, un rendiment, etc. de diverses aplicacions i sistemes basats en dades, verificant la comunicació entre la base de dades, les xarxes i els sistemes.
Les proves d’interfície esdevenen més importants quan comprovem les dependències de l’aplicació amb altres aplicacions.
A continuació es detallen alguns passos que garanteixen que les proves de la interfície tinguin èxit:
1) Definiu el vostre requisit:
Abans de crear les proves d’interfície, és essencial entendre l’aplicació. Per tant, intenteu trobar respostes a preguntes com quin és el propòsit de la interfície? Quin és el flux de treball del sistema o de l'aplicació? Quines són les funcions i característiques de la interfície?
Definir totes aquestes respostes us ajudarà a entendre el requisit, a conèixer els punts complicats de l’aplicació i, a continuació, a crear els casos de prova en conseqüència. Sovint, els QA no troben a faltar això i, més endavant, provoquen confusió sobre el requisit o proves incorrectes.
2) Sortida esperada:
Ara, coneixem i entenem molt bé el requisit, és el moment de finalitzar el resultat que esperarem de les proves. No només un Pass o Fail, poden ser algunes dades, trucar a una altra API, etc. No només pot ser complicat sinó també arriscat mesurar el resultat del resultat esperat.
Per tant, intenteu esbrinar quin pot ser el resultat discutint amb els desenvolupadors.
3) Comenceu en petit:
Amb les proves de la interfície, no podem continuar directament amb la creació de casos de prova grans, la creació de casos de prova petits o trucades és relativament senzill. Com a mínim, en funcions petites, creeu un codi de prova petit i verifiqueu si la sortida és l’esperada o no.
4) Proveu d’automatitzar:
Escriure codis per provar una interfície pot ser avorrit.
No només dedicareu temps a escriure el codi, sinó que, juntament amb això, també haureu de dedicar temps a entendre el format, l’estil, el llenguatge de codificació utilitzat per al desenvolupament i, com a guinda del pastís, us haureu d’assegurar que el vostre codi no crea cap problema a l'aplicació o al codi del sistema.
Per tant, és millor investigar i trobar algunes eines d'automatització que us estalvien el dia. Serà molt més fàcil i un procés d’estalvi de temps també.
5) Definiu els punts d'inici i aturada:
Abans d’iniciar l’execució d’una prova, sempre decidim l’inici (entrada) i el punt d’aturada (sortida) de la prova, així com decidim com s’iniciarà i finalitzarà tot el procés de prova. De la mateixa manera, també hem de mesurar el nivell de rendiment de les proves de la interfície.
Per fer-ho, hem de trobar les respostes a les dues preguntes següents:
- Quin és el temps previst per completar una prova d'interfície?
- Quin és el temps real de realització d'una prova d'interfície?
Aquest pas d’implicació dels punts d’entrada i sortida d’una prova d’interfície us ajudarà a trobar el nivell de rendiment de les proves. Això també us ajudarà a prendre una decisió sobre el calendari de proves previst.
Diferència entre la interfície, la integració i la prova de components
A continuació es presenten algunes diferències:
S.No. | Proves de components | Proves d'interfície | Proves d’integració |
---|---|---|---|
1 | Provar un component individualment per verificar el resultat esperat s’anomena prova de components | La prova d’una interfície per verificar el resultat esperat s’anomena prova de la interfície. | Quan tots o alguns mòduls o components estan integrats per funcionar col·lectivament; a continuació, les proves fetes per verificar la funcionalitat dels components integrats s'anomenen proves d'integració. |
2 | Un component pot ser qualsevol cosa com una pantalla, un mòdul d’inici de sessió, etc. | Les interfícies són àmpliament serveis web, API, cadenes de connexió, etc. | La integració pot ser un cas d'ús complet, com per a una aplicació bancària, iniciar la sessió i afegir el vostre 'beneficiari', etc. |
3 | Aquesta prova és relativament fàcil. | Aquestes proves són complicades i tedioses. | Aquesta prova és poc fàcil, però dura. |
4 | Manual i automatització són aplicables. | Sobretot automatització. | Manual i automatització són aplicables. |
5 | Aquesta prova és aplicable tant al codi com a la GUI de l'aplicació o del sistema. | Aquesta prova només es fa amb el codi; no hi ha cap GUI. | Aquesta prova és aplicable tant al codi com a la GUI de l'aplicació o del sistema. Però principalment és una interfície gràfica d’usuari. |
Llista de comprovació per a la prova d’interfícies
A continuació es detallen alguns indicadors de llista de comprovació que s'han de tenir en compte per a les proves d'interfície:
- S'han d'incloure els errors 4xx i 5xx a les proves perquè us ajudaran a verificar la gestió d'errors del servidor i del client, idealment s'hauria de mostrar un missatge adequat en lloc d'un error de codi.
- Validació de l'usuari mitjançant l'autenticació HTTP.
- Verifiqueu tots els mètodes que s’utilitzen a l’API o als serveis web com GET, PUT, POST, etc.
- Verifiqueu la conversió del format JSON al format XML i viceversa.
- Verifiqueu si les operacions massives d'una interfície obtenen el resultat esperat.
- Verifiqueu si la zona horària de l'API coincideix amb l'especificació de la zona horària d'una àrea geogràfica.
- Verifiqueu si l'accés no autoritzat a la interfície provoca un missatge d'error adequat.
- Verifiqueu si les interrupcions de la connexió es gestionen correctament.
- Verifiqueu si alguns components s’eliminen de l’aplicació, la interfície ja no interactua amb aquests components, etc.
Les millors eines per provar interfícies
Preguntes i respostes de l'entrevista bootstrap per a usuaris experimentats
A mesura que les empreses avancen cap a DevOps, Integration Continuous (CI) i Continuous Deployment (CD), la retroalimentació de les proves ha de ser més ràpida que mai. Abans de preparar-vos per enviar la vostra aplicació, heu d'assegurar-vos que les interfícies estan ben provades. Provar manualment la interfície pot ser molt tediós, complicat i també requereix molt de temps.
El millor mètode per realitzar proves d’interfície és utilitzar l’automatització i incloure les proves d’interfície al vostre pla d’automatització.
Per tant, a continuació es mostra una llista de les eines que us ajudaran a completar la prova de la vostra interfície el més ràpidament possible. Tanmateix, personalment recomanaria utilitzar SoapUI (he utilitzat aquesta eina en el meu projecte per fer proves de serveis web), però tots els requisits són diferents, per tant, fem una ullada a les 5 millors eines.
Les 5 eines principals inclouen:
1) REST-assegurat
Per a les persones que treballen amb Java, Estigues segur és l'eina més preferida. De fet, és la millor eina per provar API amb Java, ja que és bastant difícil verificar els serveis web REST a Java. Està dissenyat amb finalitats de prova, de manera que es pot integrar fàcilment amb qualsevol marc basat en Java.
Té moltes funcions cuites, de manera que no haureu de codificar les coses des del principi. Aquesta eina s’integra bé amb el framework Serenity i podeu generar informes de proves impressionants.
2) Carter
A alguns provadors no els agrada utilitzar el mateix llenguatge de codificació que l'IDE. Per a aquestes persones, Postman és una bona opció per a l'automatització. Aquesta també és una bona opció per provar una interfície exploratòria.
Carter és un client REST senzill i es pot començar a aprofitar ràpidament el seu connector Chrome. Té disponible una versió nativa, que es pot utilitzar per a Mac, Linux i Windows. Té una interfície d’usuari que ajuda a crear sol·licituds i a comprovar la resposta rebuda.
3) SoapUI
Si el vostre equip només fa proves d’API, SABÓ pot ser una gran opció. És una completa eina de proves funcionals dedicada a la prova d'API. També admet proves basades en dades on es poden passar les dades en format CSV o excel. També té una versió de pagament anomenada SoapUI Pro que ofereix funcions encara millors i millorades per a la prova de serveis web.
Si voleu afegir codi addicional per a un flux de treball o una funcionalitat específica, utilitzeu Groovy per a la vostra creació de scripts. També podeu crear una configuració de variable global i utilitzar totes aquestes variables a les proves en lloc d'inicialitzar-les individualment per a cada prova.
4) JMeter
JMeter s'utilitza àmpliament per a proves de càrrega i també es pot utilitzar per provar interfícies. JMeter té suport de gravació i reproducció i genera informes HTML fàcils de llegir i entendre. Com que JMeter és compatible amb fitxers CSV, això us permetrà crear paràmetres exclusius per provar-los.
Es pot integrar fàcilment amb Jenkins perquè les vostres proves es puguin incloure al CI. Si voleu utilitzar la mateixa eina per provar una interfície i carregar, JMeter serà una opció digna.
5) violinista
Violinista us ajuda a comprovar i utilitzar (de nou) les sol·licituds HTTP. Té moltes funcions que us ajuden a depurar els problemes del lloc web, amb les seves extensions, i podeu fer molt més. També és una bona eina per fer proves de seguretat, ja que es pot configurar per desxifrar la sol·licitud xifrada i, a continuació, modificar-les amb finalitats de prova.
Una de les extensions de Fiddler és l'extensió APITest, que ajuda a verificar el comportament web d'una interfície. Per fer proves de interfície més intenses, podeu provar d'utilitzar FiddlerCore.Net biblioteca per crear la vostra infraestructura de proves d'interfície.
Conclusió
Les proves d'interfície són una part molt important de les proves per a aplicacions a gran escala i és imprescindible fer-ho. Fins i tot en les aplicacions on se segueix CI amb regularitat, esdevé important realitzar proves d’interfície.
Les proves d'interfície són bastant complicades i no són senzilles, per tant s'hauria de dissenyar una estratègia adequada per realitzar aquestes proves. A més, recordeu prendre les aportacions de l’equip de desenvolupament perquè entenguin millor el codi.
La millor i més senzilla manera de realitzar aquestes proves és automatitzar i integrar el conjunt de proves al CI de manera que s’estalviarà molt de temps i s’aconseguiran els resultats a un ritme més ràpid.
Heu realitzat proves d'interfície? No dubteu a compartir les vostres experiències i feu-nos saber quina eina i estratègia vau implementar.
Lectura recomanada
- Les millors eines de prova de programari 2021 [Eines d'automatització de proves de control de qualitat]
- Proves alfa i proves beta (guia completa)
- Tutorial de proves GUI: una guia completa de proves de la interfície d'usuari (UI)
- Tipus de proves de programari: diferents tipus de proves amb detalls
- Prova de descàrrega de llibres electrònics
- Tipus de riscos en projectes de programari
- 11 millors eines d'automatització per provar aplicacions d'Android (eines de prova d'aplicacions d'Android)
- Guia completa de proves funcionals amb els seus tipus i exemples