Caixa negra (sistemes)


La prova de caixa negra, test funcional o prova comportamental, és un tipo de prova de software directa, la finalitat de la qual és analisar la compatibilitat ent les interfaços de cada u dels components del software. No té en consideració la llògica interna del sistema. Permet la revisió final de les especificacions i codificació d'un programa. La prova és considerada acceptable quan la seua eixecució comporta una provabilitat elevada de trobar un error i és satisfactòria quan ho detecta.
El propòsit és reduir el número de casos de prova, pero mantenint l'efectivitat d'esta, és dir, conseguir localisar el major número d'errors possible. Açò es conseguix per mig de l'exhaustiva elecció de les condicions d'entrada i eixida vàlides i no vàlides, que cobrixen totes les funcionalitats del sistema.
Este tipo de prova detecta les següents tipologies d'errors: funcions incorrectes o absents, errors d'inicialización i terminació, de rendiment, errors en estructures de senyes o accessos a bases de senyes i en l'interfaç.
Existixen tres tècniques principals: particions d'equivalència, anàlisis de valors llímits i conjectura d'errors. La prova de caixa negra supon un compendio de tots estos métodos.
Particions d'equivalència
[editar | editar còdic]Es consideren classes d'equivalència a partir de les condicions d'entrada descrites en les especificacions del sistema. Es considera com a classe d'equivalència al conjunt de senyes d'entrada que s'encarrega de definir els estats vàlits i no vàlits del sistema, considerant com a classe vàlida aquella que genera el valor esperat.
Les condicions d'entrada poden ser estructures de senyes de diversos tipos, tant un valor específic, com un interval, un conjunt de valors o una condició llògica.
El procés a seguir consta dels següents passos:
- Identificar les classes d'equivalència: per cada condició d'entrada es deuen identificar classes de equivalència vàlides i no vàlides. En funció del tipo d'entrada, existixen una série de criteris per a generar les classes d'equivalència.
| Condició entrada | Classes vàlides | Classes no vàlides | ||||||
|---|---|---|---|---|---|---|---|---|
| Interval | 1 interval comprés en l'interval inicial | 2 intervals fòra de ranc, un per davall i un atre per
damunt |- |
Valor específic | 1 classe que posseïxca eixe valor | 2 classes, un valor per davall i un atre per
damunt |- |
Conjunt de senyes | 1 classe per cada element del conjunt | 1 classe d'un element que no pertanyga al conjunt |
| Condició llògica | 1 classe que complixca la condició | 1 classe que no complixca la condició |
- Definir els casos de prova: els casos de prova es deuen afegir de manera que cobrixquen el major número de classes d'equivalència vàlides. Per cada classe d'equivalència no vàlida es deu generar un cas de prova. És imprescindible que cada classe estiga coberta en, a lo manco, un cas de prova.
Per a clarificar, les particions d'equivalència aplicades a un cas de test concret es visualisen de la forma següent: Donada un interfaç subjecte als vínculs
- x és un sancer comprés entre 5 i 10
- V[ ] és un array de n sancers, n comprés entre 1 i 5
- C és un conjunt que pot prendre els valors {Rojo, Vert}
Les classes d'equivalència llavors engloben
| Element | Classes equivalència vàlides | Classes equivalència no vàlides |
|---|---|---|
| x | [5,10] | (-,4]
[11, ) |
| V[ ] | array que complixca llongitut(V) = n | array tal que llongitut(V) != n |
| n | [1,5] | (-,0]
[6, ) |
| C | {Rojo}
{Vert} |
conjunt al que no pertanyga cap dels anteriors valors |
I d'esta forma els casos de test es corresponen en
| x | n | V[ ] | C | Validea |
|---|---|---|---|---|
| 7 | 2 | V[1,2] | Rojo | Vàlit |
| 7 | 2 | V[1,2] | Vert | Vàlit |
| 1 | 2 | V[1,2] | Rojo | No vàlit |
| 15 | 2 | V[1,2] | Rojo | No vàlit |
| 7 | 2 | V[1,2,3] | Rojo | No vàlit |
| 7 | 0 | V[ ] | Rojo | No vàlit |
| 7 | 7 | V[1,1,2,1,3,2,1] | Rojo | No vàlit |
| 7 | 2 | V[1,2] | Groc | No vàlit |
Anàlisis de valors llímit
[editar | editar còdic]Esta tècnica es basa en l'evaluació de les condicions llímits, és dir, els valors immediatament per damunt i per baix dels màrgens de les classes d'equivalència. La base d'este argument es fonamenta en l'evidència experimental de que la provabilitat d'aparició dels errors és major en els extrems dels camps d'entrada.
Les classes d'equivalència seguixen el mateix esquema que el procés anterior. Mentres que els casos de prova d'este método es generen de manera que cobrixquen totes les condiciones llímits de les classes d'equivalència.
| Condició d'entrada | Casos de prova vàlits | Casos de prova no vàlits |
|---|---|---|
| Interval | 2 casos, un en el valor màxim i un atre en el valor mínim | 2 casos, un que eixecuta el valor just per damunt del màxim, i un atre just per damunt del mínim |
| Valor numèric | 1 cas que eixecute el valor concret | 2 casos, un just per damunt del valor i un atre just per davall |
| Estructura de senyes | 2 casos que eixecuten el primer i últim element de l'estructura |
Seguint esta evaluació, els casos de prova de l'eixemple anterior es correspondrien en
| x | n | V[ ] | C | Validea |
|---|---|---|---|---|
| 5 | 1 | V[1] | Rojo | Vàlit |
| 10 | 5 | V[1,3,2,3,2] | Vert | Vàlit |
| 4 | 1 | V[1] | Rojo | No vàlit |
| 11 | 1 | V[1] | Rojo | No vàlit |
| 5 | 0 | V[ ] | Rojo | No vàlit |
| 5 | 6 | V[1,2,3,1,2,1] | Rojo | No vàlit |
Vore també
[editar | editar còdic]- Teoria de sistemes
- Modularidad
- Interfaç
- Interfaç d'usuari
- Disseny estructurat
- Proves de software
- Caixa blanca (sistemes)
- Abstracte i Abstracció
- Cajanegrizar
- Este artícul conté una traducció derivada de «Caja negra (sistemas)» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.