Proves De Programari

Tutorial de proves de Black Box per a principiants

30 d'octubre de 2021

Black Box Testing és un dels mètodes de prova de programari que comprova la funcionalitat de l'aplicació en funció de les especificacions disponibles.

Bàsicament, en aquest tipus de proves, el verificador no coneix l'estructura/disseny/implementació interna de l'element que es prova. Les proves de caixa negra també es coneixen com a proves basades en especificacions, proves de comportament, proves de caixa opaca, proves de caixa tancada i proves oculars. Aquest mètode de prova és aplicable a tots els nivells de prova de programari.

Prova de la caixa negra

Taula de continguts

Exemple:

Prenguem un exemple de pantalla d'inici de sessió d'una aplicació. La pantalla d'inici de sessió té dos camps, nom d'usuari i contrasenya. Com que es tracta d'una prova de caixa negra, no tindrà en compte les especificacions del codi, de manera que provarà el nom d'usuari i la contrasenya per iniciar la sessió al compte.

Passos per iniciar les proves de la caixa negra

  1. Conèixer les especificacions dels requisits de l'aplicació
    Això es pot fer amb l'ajuda dels documents SRS
  2. Convocatòria per a l'avaluació de les entrades i escenaris de prova vàlids
  3. Prepara el casos de prova
  4. Executeu els casos de prova per generar la sortida
  5. Els passos que solen fallar es marquen i s'envien a l'equip de desenvolupament per solucionar-los
  6. Torneu a provar el sistema per assegurar-vos que defecte La correcció funciona bé i no hi ha més defectes

Tipus de proves de caixa negra

Hi ha tres tipus de proves de caixa negra i s'esmenten a continuació:

    Prova funcional
    Prova de caixa negra prova les funcions específiques del programari durant el procés de prova. Les proves funcionals se centren en els aspectes més crítics del programari i en la integració entre components clau.
  • No funcional T estant
    Les proves de caixa negra no només s'utilitzen per comprovar les característiques i la funcionalitat, sinó que poden anar més enllà i comprovar els aspectes addicionals del programari.
    Una prova no funcional comprova si el programari pot realitzar una acció específica o no en lloc de comprovar com realitza aquesta acció.
  • Prova de regressió
    Les proves de caixa negra són útils per comprovar si una nova versió del programari presenta algun defecte d'una versió a una altra. Les proves de regressió es poden aplicar tant a aspectes funcionals com no funcionals del programari.

EINES PER A LA PROVA DE LA CAIXA NEGRA

Per a proves funcionals i de regressió

    UFT – és un producte de Micro Focus (anteriorment HP) i ho representa Prova funcional unificada . Ajuda al verificador a realitzar una prova automatitzada sense monitoritzar un cop finalitzat el desenvolupament de l'script. Compara els resultats i els informes en el resum executiu. Seleni - és una suite de proves d'automatització de la interfície d'usuari de codi obert. Es pot implementar fàcilment en plataformes com Macintosh, Windows, Linux i molt més.

Per a proves no funcionals

    LoadRunner – és un producte de MicroFocus. S'utilitza per provar aplicacions i mesurar el comportament del sistema. També analitza el rendiment dels components clau de l'aplicació. JMeter – és una eina de prova que s'utilitza per analitzar i mesurar el rendiment de les aplicacions. Té una GUI amigable i és independent de la plataforma. També es pot integrar amb Selenium.

Nivells aplicables a les proves de la caixa negra

Les proves de caixa negra són aplicables als nivells següents

    Proves d'integració : és un nivell de proves de programari on es combinen unitats individuals i es posen a prova com a grup. L'objectiu és exposar falles entre unitats integrades. És el segon nivell de prova que es realitza després de les proves unitàries i abans de les proves del sistema.
    Prova del sistema : Nivell de proves de programari on es prova un programari integrat. L'objectiu és avaluar el compliment del sistema. És el tercer nivell de proves realitzades després de les proves d'integració i abans de les proves d'acceptació.
    Prova d'acceptació : Nivell de proves de programari on es prova l'acceptabilitat d'un sistema. L'objectiu principal és avaluar el compliment del sistema amb els requisits empresarials. Les proves d'acceptació són l'últim nivell de proves de programari realitzades després de les proves del sistema.

Tècniques de prova de caixa negra

Aquestes són les tècniques de prova de la caixa negra:

    Anàlisi del valor límit Partició d'equivalència Prova de la taula de decisions Proves de transició estatal Error en endevinar

Parlem-ne amb detall.

    Anàlisi del valor límit:Aquesta tècnica identifica els defectes dels valors d'entrada en lloc de centrar-se en el rang de valors d'entrada. També ajuda a fer front a valors de sortida extrems. També és útil mentre feu particions d'equivalència.
Prova de la caixa negra
ProsContres
Funciona bé amb variables
Menys costós en la creació de proves
Es pot utilitzar a tots els nivells de prova
Genera un gran nombre de casos de prova
No es pot utilitzar per a variables booleanes
No es pot utilitzar per a variables lògiques
No és útil per a idiomes forts
    Partició d'equivalència: Aquesta tècnica s'utilitza principalment per escriure casos de prova. En això, dividiu els casos de prova en diferents parts que es consideren iguals. Es pot aplicar a tots els nivells de proves com ara unitat, integració i sistema. Per exemple: si esteu provant un quadre d'entrada que accepta números de l'1 al 50, no serveix de res escriure 100 casos de prova per als 100 números d'entrada vàlids. Per tant, utilitzant el mètode de partició d'equivalència, els casos de prova es poden dividir en quatre conjunts de dades d'entrada anomenats classes.
Prova de la caixa negra

A l'exemple anterior, podeu dividir els casos de prova en quatre classes d'equivalència d'algunes entrades vàlides i no vàlides.

ProsContres
Ofereix proves completes
Permet grans dominis d'entrades i sortides
Evita la redundància de la prova
Orientat a processos
No es poden gestionar errors de valor de límit
Consumeix temps
    Prova de la taula de decisions: Quan heu de provar el comportament del sistema per a diferents combinacions, la tècnica de prova de programari que s'utilitza és la prova de la taula de decisions. És un enfocament sistemàtic on les diferents entrades i el comportament del sistema es registren en forma de taula. Això també s'anomena taula causa-efecte.
    Per exemple: a continuació es mostra el diagrama de flux d'una pantalla d'inici de sessió empresarial.
Prova de la caixa negra
  • El primer pas és posar nom a totes les branques i fulles.
  • a,b,c són les branques mentre que 1,2,3 són fulles.
Prova de la caixa negra
ProsContres
Les eines proporcionen una cobertura completa dels casos de prova
Funciona iterativament
Té una totalitat
Si augmenta el nombre d'entrades, la taula resulta una mica més complicada
Proves de transició estatal

La prova de transició d'estat és una tècnica de prova de caixa negra on les proves estan dissenyades per executar transicions d'estat vàlides i no vàlides.

Prova de la caixa negra

Diagrama de transició d'estats

Mostra com canvia el sistema en determinades entrades. Té quatre components principals:

  • Estat
  • Transició
  • Esdeveniment
  • Acció

Estats en transició

    Canvia el mode:Quan està activat, el mode de visualització es mou d'una data a una altra.Hora establerta:Quan està activat, el mode de visualització canvia de tant en tantData fixada:Quan està activat, el mode de visualització canvia d'alterar la data a la dataRestableix:Quan el mode de visualització és l'hora o la data, els configura perquè alterin l'hora o la data
ProsContres
Permet que els verificadors cobreixin estats no vàlids
Ofereix una representació adequada del comportament del sistema
Cobreix totes les condicions
No es pot fer a tot arreu
No és fiable

Error en endevinar: Aquest tipus de tècnica de prova només es pot aprendre si teniu experiència. En aquesta tècnica, l'analista utilitza la seva experiència per endevinar els problemes dins de l'aplicació.

Per exemple: Si un analista troba errors en una pàgina d'inici de sessió, els verificadors escriuran els casos de prova centrant-se en la pàgina d'inici de sessió.

ProsContres
Complementa altres enfocaments de prova
Fa que les proves siguin molt més efectives i eficients
Ràpidament exposa els defectes
Un requereix experiència de prova
Es basa en la intuïció dels provadors

Pros i contres de les proves de Black Box

ProsContres
Eficaç quan s'utilitza en sistemes grans.
Els provadors poden ser de formació no tècnica.
La prova es fa des del punt de vista de l'usuari.
La prova t'ajuda a identificar contradiccions.
Els casos de prova es poden dissenyar un cop s'estableixin les especificacions funcionals.
Les proves són equilibrades i sense prejudicis.
Els casos de prova no són fàcils de dissenyar sense tenir especificacions funcionals.
Moltes possibilitats de tenir camins no identificats durant el procés de prova.
Escriure casos de prova és lent i difícil.

Quina és la millor prova de caixa negra o prova de caixa blanca?

Per això, necessiteu saber una mica sobre les proves de caixa blanca

Prova de caixa blanca

És un proves de programari mètode en què l'estructura/disseny/implementació de l'element és coneguda pel provador. El verificador tria les entrades i determina les sortides adequades.

Altres noms per a les proves de caixa blanca són proves de caixa de vidre, proves de caixa clara, proves estructurals.

Prova de caixa blanca

Per exemple:

|_+_|
  • Primer, assigneu el valor de A i B. suposem A=60 i B=50.
  • En segon lloc, ara C se li assigna el valor de A+B, A=60, B=50, per tant, C=110.
  • En tercer lloc, comprovarem si C>100 i en aquest cas és cert, per tant, obtindrem el resultat FET.

Passos per iniciar les proves de la caixa blanca

  • Identifiqueu la característica a provar.
  • Traceu tots els camins al gràfic de flux.
  • Identifiqueu tots els camins possibles per al gràfic de flux.
  • Escriu casos de prova per a cada gràfic.
  • Executar, esbandir i repetir.

Tècniques de prova de caixa blanca

    Cobertura de la declaració: Assegura si cada línia s'executa almenys una vegada.Cobertura de la sucursal: Assegura que s'executa cada branca des de cada punt de decisió.Cobertura del camí: Assegura que cada camí es recorre almenys una vegada.

Tipus de proves de caixa blanca

Hi ha tres tipus de proves de caixa blanca i s'esmenten a continuació:

    Proves d'unitat Caixa Blanca Prova de penetració Prova de fuites de memòria Prova de mutació de la caixa blanca

Eines per a les proves de la caixa blanca

    JsuNit.net: és una eina de prova de JavaScript que s'utilitza per a proves de caixa blanca. És un programari de codi obert, la qual cosa significa que també es pot utilitzar amb finalitats comercials.
    CppUnit: CppUnit forma part de JsuNit. L'eina pot donar sortida en forma de text sense format o en format XML, però depèn totalment del programador com el vulgui.
    Codi Vera: És un programari propietari i s'utilitza per provar alguns llenguatges potents com . NET , C++, JAVA i molt més.

Pros i contres de les proves de la caixa blanca

ProsContres
Aviseu el verificador quan s'hagi fet la prova.
Les tècniques són relativament fàcils d'automatitzar.
L'optimització es fa fàcil per al programador.
És una mica fàcil eliminar la part del codi que no és necessària per a la funcionalitat del programa.
És relativament més costós.
No és possible provar cada condició del codi.
No es pot trobar la funcionalitat que falta del programa.

Diferència entre les proves de caixa blanca i caixa negra

BaseProva de la caixa negraProva de caixa blanca
DEFINICIÓ S'utilitza per provar el programari sense el coneixement de l'estructura interna.L'estructura interna del programari és coneguda pel provador.
ALTRES NOMS Proves basades en especificacions, proves de comportament, proves de caixa opaca, proves de caixa tancada i proves oculars.proves de caixa de vidre, proves de caixa clara, proves estructurals.
BASE DE PROVA La prova es basa en expectatives externes.El programador coneix el funcionament intern.
ÚS Adequat per a un alt nivell de proves.Adequat per al baix nivell de proves.
LLENGUATGE DE PROGRAMACIÓ No cal un llenguatge de programació.Es requereix el llenguatge de programació.
CONEIXEMENTS DE LA IMPLEMENTACIÓ No es requereix a les proves de caixa negra.Es requereix una comprensió completa de la implementació.
AUTOMATITZACIÓ Difícil d'automatitzar.Fàcil d'automatitzar.
OBJECTIU L'objectiu és comprovar la funcionalitat del sistemaL'objectiu és comprovar la qualitat del codi.
PROVA PER Realitzat pel provador, usuari final.Normalment ho fan el provador i els desenvolupadors.
GRANULARITAT La granularitat és baixa.La granularitat és alta.
MÈTODE DE PROVA Basat en mètodes d'assaig i error.Els límits interns es poden provar.
TEMPS Menys temps.Més temps.
CODI D'ACCÉS L'accés al codi no és necessariCal accedir al codi.

CONCLUSIÓ

Tant les proves de la caixa negra com les proves de la caixa blanca són necessàries i es complementen. Les proves de caixa blanca garanteixen la funcionalitat del codi i un alt nivell de proves, mentre que les proves de caixa negra milloren les experiències dels usuaris finals. Com a provador, cal tenir un bon coneixement de les proves de caixa negra perquè pugueu fer les proves adequades.