Proves De Programari

Artefactes de prova de programari: guia detallada

30 d'octubre de 2021

Taula de continguts

  • Artefactes de prova de programari
  • 1. Pla de proves
  • Tipus de plans de proves
  • Plantilla de pla de prova
  • Directrius del pla de proves
  • 2. Suite de proves
  • Què és un Test Suite?
  • Què significa Suite? Explicat per exemple
  • Tipus de suites de proves
  • Característiques de Test Suites
  • Plantilles de suites de proves
  • Diferència entre l'escenari de prova, el conjunt de proves, el pla de prova i el cas de prova
  • Conclusió
  • 3. Cas de prova
  • Què és un cas de prova?
  • Com escriure bons casos de prova?
  • Plantilla de cas de prova
  • Exemple de cas de prova Format de casos de prova estàndard
  • Eines de gestió de casos de prova
  • 4. Test Script
  • Què és el Test Script?
  • Prova el llenguatge de script amb exemple
  • Quin tipus de codi s'utilitza?
  • Com crear un script de prova?
  • Com executar un script de prova?
  • 5. Dades de prova
  • Què són les dades de prova?
  • Importància de les dades de prova
  • Tipus de dades de prova
  • Dades de prova en proves
  • Bones propietats de dades de prova
  • Tècniques de preparació o generació de dades d'assaig
  • Enfocaments per a la generació de dades de prova
  • Eines de generació de dades de prova
  • Gestió de dades de prova (TDM)
  • Limitacions de les dades de prova
  • Conclusió
  • Articles recomanats

4. Test Script

Què és el Test Script?

img 617dd4e96d22c

L'script de prova es defineix com un conjunt d'instruccions escrites en llenguatge humà (manual) o de programació/programació (automatitzat) per verificar que el sistema a prova funciona com s'espera.

És una part d'un cas de prova que pot tenir diversos scripts de prova.

Un motor d'execució de proves, juntament amb un dipòsit d'scripts de prova, s'anomenen arnès de prova.

Un únic cas de prova pot tenir diversos scripts de prova quan:

  • Els casos de prova poden ser manuals i mitjançant scripts automatitzats.
  • Cada script de prova proporciona un escenari de prova diferent per provar el cas de prova.

Un codi d'script de prova normalment realitzarà el següent una o dues vegades:

  1. Identifiqueu els elements d'entrada de la IU
  2. Navegueu fins al component d'IU i espereu i verifiqueu els elements d'entrada que es mostren.
  3. Simulació d'entrada d'usuari.
  4. Identificació d'elements de sortida
  5. Espereu i verifiqueu els elements de sortida per mostrar el resultat.
  6. Llegeix el resultat de l'element de sortida.
  7. L'afirmació del valor de sortida és igual al valor esperat.

Prova el llenguatge de script amb exemple

Les proves automatitzades es poden fer utilitzant els idiomes següents:

  • TCL
  • Python
  • JavaScript
  • VBScript
  • Perl
  • Rubí
  • Unix Shell Script

Algunes eines d'automatització de proves o marcs que tenen el seu llenguatge de script poden generar scripts de prova sense codificació real.

Exemple: Sikuli, que és una eina automatitzada de GUI, utilitza Python per provar els casos de prova. Per exemple, el següent és un exemple d'un script de prova en Python:

|_+_|

Exemple de guió de prova

Considerem les proves automàtiques per a la funció d'afegir en un lloc web de comerç electrònic. L'script de prova del lloc web farà el següent:

  1. Especifiqueu com localitzar el botó Afegeix el producte al carretó a la pàgina del carretó. Per exemple. utilitzant els ID d'elements CSS.
  2. Carregueu la pàgina d'inici del lloc web, feu clic a la icona del carretó, comproveu que apareix la pàgina del carretó i mostreu que el carretó està buit a la pantalla.
  3. Cerca qualsevol article del catàleg de productes. Per exemple, afegeix un vestit. A continuació, premeu Afegeix al carret.
  4. Especifiqueu com es mostrarà a l'usuari l'article afegit al carretó.
  5. Espereu i comproveu si l'article s'ha afegit correctament amb els detalls adequats visibles a la pantalla del carretó.
  6. Llegeix la pàgina del carretó.
  7. Assegureu-vos que el nom del producte i els seus detalls són visibles

Quin tipus de codi s'utilitza?

El tipus de codificació per crear un script de prova pot ser dels tres tipus següents:

Gravació/Reproducció

No cal escriure codi si es registren les accions de l'usuari i l'script es genera automàticament.

Tanmateix, com que l'script es crea automàticament, és possible que el creador sovint hagi de comprovar l'script per ajustar el comportament de l'automatització o arreglar coses.

No obstant això, això és més senzill que escriure l'script des de zero, ja que l'script està just davant del provador i, generalment, està codificat en llenguatges simplificats com VBScript.

Un codi de llenguatge de programació real

Fins i tot si el provador pot tenir la capacitat d'enregistrar/reproduir el codi o generar codi de script senzill, és possible que els provadors hagin d'aprendre a codificar per si mateixos.

Els verificadors poden triar qualsevol llenguatge de programació, independentment del llenguatge de programació utilitzat per escriure el programari. Per exemple, fins i tot si el programa està escrit en java, però el verificador domina Python, poden escriure l'script de prova de Python.

Scripts basats en paraules clau/dades

Els verificadors, que desconeixen el codi subjacent, solen definir les proves amb l'ajuda de paraules clau. D'altra banda, els desenvolupadors implementen el codi de script de prova per a les paraules clau i les actualitzen.

Aquest mètode és útil per als provadors, però depèn molt del desenvolupament de recursos perquè les noves funcionalitats es puguin provar automàticament.

Com crear un script de prova?

Hi ha tres maneres de crear un script de prova:

1. Gravació/Reproducció

Per a principiants, eines com HP Professional de prova ràpida pot ajudar els professionals del control de qualitat a crear scripts de prova automatitzats.

Aquestes eines realitzen un conjunt d'accions en un lloc web o aplicació, registren les accions de l'usuari i generen scripts de prova per reproduir o repetir automàticament aquestes operacions.

Permeten editar i modificar les proves seleccionant objectes i especificant accions de l'usuari per simular-los.

La diferència entre simulació i validació en aquest mètode és:

    Simulació:La captura de la simulació del guió és fàcil mitjançant sistemes de gravació/reproducció. Els verificadors realitzen accions de l'usuari i el sistema genera un script relatiu utilitzant llenguatges de script simple com VBScript.Validació:Un cop feta la simulació, el següent pas és la validació, que és problemàtica. Es fa l'addició explícita de passos a l'script per identificar els elements de la interfície i comparar els valors esperats i reals. Aquestes validacions no es poden registrar ja que es realitzen seqüencialment mitjançant la GUI del sistema d'automatització.

2. Un codi de llenguatge de programació real

Els verificadors avançats, en comptes d'utilitzar la funcionalitat de gravació/reproducció, prefereixen escriure el seu codi. Frameworks com Appium, Microsoft Coded UI i Selenium permeten als provadors escriure scripts de prova des de zero utilitzant llenguatges com Java, C++, PHP o JavaScript.

Aquests idiomes poden ser o no semblants a l'idioma utilitzat a l'aplicació que s'està provant.

Els marcs proporcionen ordres especials, com ara identificar elements de pantalla, seleccionar opcions de menú, fer clic, escriure i més a l'aplicació que s'està provant actualment.

La majoria dels marcs d'automatització de proves també ofereixen suport per a scripts de gravació/reproducció.

La diferència entre simulació i validació en aquest mètode és:

    Simulació:Selenium ofereix ordres d'una sola línia per seleccionar objectes, fer clic, esperar o fer qualsevol altra operació d'IU. Per tant, si el provador coneix l'idioma, és relativament fàcil automatitzar-lo mitjançant aquestes ordres integrades.Validacions:Igual que amb la gravació/reproducció, també en el mètode d'escriptura de codi, aquesta secció és un repte. Tot i que Selenium ajuda a localitzar la interfície d'objectes de sortida del sistema, les afirmacions no són compatibles. Això vol dir que els provadors hauran d'escriure el codi pel seu compte per comprovar els valors esperats. A diferència de la simulació desenvolupada i mantinguda només una vegada per acció de l'usuari, el codi de validació té diverses parts per a cada element de la interfície que cal provar.

3. Scripts basats en paraules clau/dades

En algunes eines de prova, com ara Robot Framework, els verificadors especifiquen les paraules clau per generar automàticament un script perquè el sistema en prova realitzi les accions desitjades.

Una variant similar a aquest enfocament és l'enfocament basat en dades. La mateixa prova es repeteix diverses vegades, i cada vegada amb diferents valors de dades o operacions d'usuari. Per exemple, comprar diferents articles cada vegada amb diferents opcions i després analitzar els resultats.

En aquest cas, s'oferirà una taula per part del verificador que especificarà el conjunt complex de proves amb les operacions i dades respectives.

El principal avantatge d'aquest tipus de generació d'scripts de prova és que no cal simular les operacions de l'usuari repetidament per a cada script de prova. En comptes d'això, es defineixen en un sol lloc perquè el verificador les utilitzi en diversos scripts de prova.

Considerem un exemple de pagament mitjançant l'opció de pagament amb targeta de dèbit:

La compra de paraules clau especifica que l'script ha d'anar a la pàgina del carretó i permetre que l'usuari introdueixi detalls de pagament. A continuació, un desenvolupador escriu el codi per implementar aquesta funcionalitat. La taula proporcionada pel provador serà:

Número de targeta Caducitat CVV Nom a la targeta
Introduïu les dades de pagament 1234-1234-1234-12342/20***Joan

El verificador també pot proporcionar línies de text com:

  • Obriu la pàgina del carretó i feu clic a la pestanya de detalls de pagament.
  • Introduïu el número de targeta
  • Introduïu la data de caducitat de la targeta
  • Introduïu CVV
  • Introduïu el nom a la targeta
  • Aneu a la passarel·la de pagament

Es generarà un script de prova que sap com implementar les línies de text anteriors.

La diferència entre simulació i validació en aquest mètode és:

    Simulació:Aquesta part de l'script es pot gestionar fàcilment mitjançant una paraula clau que defineix l'acció de l'usuari.Validació:Aquesta part requereix diverses paraules clau i valors de dades esperats per a cada part de la IU que s'ha de validar. No és gaire difícil per al provador especificar paraules clau diferents per a diferents funcionalitats, però això vol dir que els provadors tindran opcions de validació limitades i hauran de dependre del desenvolupament per afegir més opcions.

Com executar un script de prova?

Un verificador no pot produir un script de prova genèric per executar-se en cap sistema d'automatització ni portar les proves d'un sistema a un altre sense conformar-se amb el marc de prova.

Els marcs d'automatització, de vegades anomenats arnesos de prova, executen scripts de prova.

Aquests marcs (Selenium, Appium, HP QTP i Robot Framework) poden prendre un script escrit segons les especificacions i carregar la interfície d'usuari, simular les accions de l'usuari a la interfície i informar dels resultats.

Per executar les proves, s'utilitzen els mètodes següents:

    Entorn d'integració contínua:Si els desenvolupadors creen el programari automàticament mitjançant eines com Jenkins o Teamcity, els scripts de prova automàtics es poden executar com a part del procés de creació.

Així, s'executaran proves automatitzades específiques de la interfície d'usuari i informaran dels resultats de cada nova compilació. Es pot utilitzar per a proves lleugeres com les proves unitàries.

    Marc basat en GUI:En un marc basat en GUI com HP UFT, els verificadors poden seleccionar les proves d'una llista i fer clic a un botó per executar-les o programar-les en diferents moments.Marc basat en codi:En marcs basats en codi, els provadors obren l'IDE (com ara seleni) , compilar i executar-lo. Quan el codi s'executa, parts del marc de prova s'activen i realitzen les accions necessàries de la interfície en prova.