OrdinadorsProgramari

Mètodes de proves de programari i els comparen. Mètode d'assaig de la prova de "requadre negre" i el mètode de "caixa blanca"

proves de programari (SW) identificar les llacunes, les deficiències i els errors en el codi que cal abordar. També es pot definir com el procés d'avaluar la funcionalitat i la correcció del programari amb l'ajuda de l'anàlisi. Els mètodes bàsics d'integració i proves d'aplicacions de programari i garantir la qualitat és posar a prova l'especificació, disseny i codificació, avaluació de la fiabilitat, la validació i verificació.

mètodes

L'objectiu principal de les proves de programari - confirmació de la qualitat del sistema de programari a través de la depuració d'aplicacions sistemàtiques sota condicions acuradament controlades per determinar la seva integritat i exactitud, així com la detecció d'errors ocults.

Els mètodes de verificació de programes (de prova) es poden dividir en estàtica i dinàmica.

Els primers inclouen informal, el seguiment i la revisió tècnica, inspecció, anàlisi pas a pas, d'auditoria, així com l'anàlisi de flux de dades estàtiques i gestió.

tècniques dinàmiques són:

  1. proves de caixa blanca. Aquest és un estudi detallat de la lògica interna i l'estructura del programa. És necessari el coneixement del codi font.
  2. proves de caixa negre. Aquesta tècnica no requereix cap coneixement sobre el funcionament intern de l'aplicació. Tenim en compte només els aspectes bàsics del sistema, no relacionats o associats amb alguns de la seva estructura lògica interna.
  3. mètode de la caixa gris. Combina dos enfocaments anteriors. Depuració amb coneixement limitat del funcionament intern de l'aplicació es combina amb el coneixement dels aspectes bàsics del sistema.

prova transparent

Les mètode de la caixa utilitzant scripts de prova blancs controlen l'estructura del disseny de procediment. Aquesta tècnica permet revelar errors d'implementació, com la mala gestió del sistema de codi mitjançant l'anàlisi d'una part dels treballs interns de programari. Aquests mètodes d'assaig són aplicables als nivells d'integració, mòduls i sistemes. El provador ha de tenir accés al codi font i utilitzar-lo per esbrinar quina unitat es comporta de manera inadequada.

Programes de proves de caixa blanca té les següents avantatges:

  • Que permet detectar un error en el codi ocult traient línies innecessàries;
  • l'ús d'efectes secundaris;
  • la cobertura màxima s'aconsegueix escrivint un script de prova.

desavantatges:

  • procés d'alt cost, el que requereix depurador expert;
  • moltes vies romanen inexplorades causa comprovació exhaustiva de tots els possibles errors ocults és molt complex;
  • una part del codi es passarà desapercebuda.

proves de caixa blanca es denomina de vegades assajant una caixa transparent o oberta, proves estructurals, lògics, basat en el codi font, i de l'arquitectura lògica.

Les principals varietats:

1) provar el control de flux - estratègia estructural utilitzant el model de flux de control de programa i com afavorint formes més simples a menys més complex;

2) La branca està dissenyat per estudiar la depuració de cada opció (veritables o falses) de cada operador de control, que també inclou una solució combinada;

3) la prova de la ruta principal, que permet que el provador per establir projecte de procediment lògic mesura de complexitat per a l'aïllament d'un conjunt base de rutes d'execució;

4) el control del flux de dades - l'estratègia de control de flux de la investigació per les anotacions de comptar amb informació sobre l'anunci i l'ús de les variables del programa;

5) cicles d'assaig - totalment centrat en el correcte funcionament dels processos cíclics.

la depuració del comportament

proves de caixa negre tracta el programari com un "requadre negre" - informació sobre el funcionament intern del programa no es compten, i es comprova només els aspectes bàsics del sistema. En aquest cas, el provador ha de conèixer l'arquitectura del sistema sense accés al codi font.

Els avantatges d'aquest enfocament:

  • eficiència de segment de codi gran;
  • facilitat d'provador de la percepció;
  • perspectiva de l'usuari està clarament separada des de les perspectives de desenvolupador (programador i provador són independents els uns dels altres);
  • més ràpida creació de la prova.

proves de programari mètode de la caixa negre té les següents desavantatges:

  • de fet realitzat un selecte nombre de casos de prova, el que resulta en una coberta limitada;
  • la falta d'una especificació clara difícil desenvolupar scripts de prova;
  • baixa eficiència.

Altres noms per a aquesta tecnologia - no transparent, de comportament, proves funcionals i el mètode de depuració d'una caixa tancada.

Aquesta categoria pot incloure les següents tècniques de proves de programari:

1) equivalent a la partició, que pot reduir el conjunt de dades de prova com a dades de mòdul de programari d'entrada es descompon en parts separades;

2) anàlisi de valor límit se centra en la verificació dels límits o valors límit extrems - el mínim, màxim, i els valors típics d'error;

3) formació de borrissol - utilitzat per implementar la recerca mitjançant la introducció d'errors o poluiskazhennyh dades corruptes en manera automàtica o semi-automàtic;

4) recompte de causalitat - una tècnica basada en la creació de gràfics i la determinació de la relació entre l'acció i les seves raons: la identitat, la negació, OR lògica i lògica I - els quatre personatges principals, que expressa la relació entre la causa i efecte;

5) Verificació de matrius ortogonals s'aplica a problemes amb una relativament petita àrea d'entrada superior a la possibilitat d'una investigació exhaustiva;

6) prova de tots els parells de - una tècnica on un conjunt de valors de prova comprèn tots els possibles combinacions binàries de cada parell de paràmetres d'entrada;

7) de transició d'estat de depuració - una tècnica útil per comprovar l'estat de la màquina, així com per navegar a través de la interfície gràfica de l'usuari.

Negre proves de caixa: Exemples

tècnica de requadre negre es basa en les especificacions, documentació, i les descripcions de la interfície de programari o sistema. A més, pot utilitzar models (formal o informal), que representa el comportament esperat del programari.

Normalment, aquest mètode s'utilitza per a la depuració d'interfície d'usuari i requereix la interacció amb l'aplicació mitjançant la introducció d'una col·lecció de dades i resultats - de la pantalla, a partir dels informes o impressions.

El provador, per tant, interactua amb el programari introduint, en actuar sobre els interruptors, botons o altres interfícies. L'elecció de les dades d'entrada, l'ordre d'administració o seqüència d'accions pot donar lloc a un nombre total enorme d'combinacions, com es mostra en el següent exemple.

Quantes proves han de fer per tal de comprovar tots els possibles valors de la bandera 4 finestres i de camp d'una sola vegada, estableixi el temps en segons? En primer càlcul vista és simple: 4 camps amb dos estats possibles - 24 = 16, que ha de ser multiplicat pel nombre de posicions possibles entre 00 i 99, és a dir, 1600 possibles proves.

No obstant això, aquest càlcul és erroni: podem determinar que el camp de dos punts també pot contenir un espai, és a dir, que consisteix en dues posicions alfanumèrics i pot incloure caràcters alfanumèrics, caràcters especials, espais, etc. Per tant, si .... sistema és un ordinador de 16 bits, al seu torn 216 = 65536 un per a cada posició en els 4294967296 casos de prova resultants que han de ser multiplicat per 16 combinacions de banderes que dóna un total de 68.719.476 736. Si realitzen en 1 de prova per segon, el cont total de olzhitelnost prova és de 2 177,5 anys. Per als sistemes de 32 o de 64 bits, la durada encara més.

Per tant hi ha una necessitat de reduir aquest període a un nivell acceptable. Per tant, les tècniques s'han d'aplicar per reduir el nombre de casos de prova, sense reduir l'abast de les proves.

partició d'equivalència

La partició equivalent és un mètode senzill que és aplicable per a qualsevol variable que estan presents en el programari, si els valors d'entrada o sortida, simbòlic, numèric, i altres. Es basa en el principi que totes les dades d'un equivalent de la partició seran tractats de la mateixa manera i per la mateixes instruccions.

Durant les proves, seleccionat un representant de cada partició d'equivalència particular. Això li permet reduir sistemàticament el nombre de possibles casos de prova sense pèrdua de la cobertura de comandaments i funcions.

Una altra conseqüència d'aquesta divisió és reduir l'explosió combinatòria entre les diferents variables i la reducció associada de casos de prova.

Per exemple, a (1 / x) 1/2 utilitzant tres seqüències de dades, 3 partició equivalent:

1. Tots els números positius seran tractats de la mateixa manera i han de donar resultats correctes.

2. Tots els números negatius es manegen de la mateixa manera amb el mateix resultat. Això és incorrecte, perquè l'arrel d'un nombre negatiu és imaginari.

3. Zero seran manejades per separat i donar la "divisió per zero" error. Aquesta és una secció amb un sol valor.

Per tant, veiem tres seccions diferents, una de les quals es redueix a un sol valor. Hi ha una secció de "correcta", el que dóna resultats fiables, i dos "dolent" amb resultats incorrectes.

anàlisi del valor límit

Processament en les fronteres de la partició equivalent es pot fer de manera diferent del que s'esperava. Investigació dels valors límit - un mètode ben conegut d'analitzar el comportament del programari en tals àrees. Aquesta tècnica fa que sigui possible identificar aquest tipus d'errors:

  • l'ús incorrecte d'operadors relacionals (<,>, =, ≠, ≥, ≤);
  • error únic;
  • problemes en cicles i iteracions,
  • tipus incorrectes o mida de les variables utilitzades per a l'emmagatzematge de la informació;
  • limitacions artificials associats amb els tipus de dades i variables.

prova translúcida

mètode de la caixa grisa augmenta la cobertura de la prova, que pugui centrar-se en tots els nivells de dificultat de sistema a través d'una combinació de tècniques de blanc i negre.

Usant aquesta tècnica, el provador per al desenvolupament dels valors de prova ha de tenir coneixement de les estructures de dades i algoritmes interns. Exemples de mètodes de prova de color gris-box són els següents:

  • model arquitectònic;
  • Unified Modeling Language (UML);
  • model d'estat (màquina d'estats finits).

En el mètode de la caixa gris per desenvolupar casos de prova estudiat mòduls en els codis d'enginyeria blanques, i la prova real es realitza en les interfícies dels programes de tecnologia de color negre.

Aquests mètodes de prova tenen les següents avantatges:

  • combinació d'avantatges caixes negres i blanques tècnic;
  • Tester es basa en la interfície i especificació funcional, i no el codi font;
  • depurador pot fer grans casos de prova;
  • comprovació es realitza des del punt de vista de l'usuari, no el dissenyador del programa;
  • crear un desenvolupament personalitzat de prova;
  • objectivitat.

desavantatges:

  • cobertura de la prova està limitada perquè no hi ha accés al codi font;
  • la complexitat dels defectes en les aplicacions distribuïdes;
  • molts aspectes romanen sense explorar;
  • si el desenvolupador de programari ha posat en marxa la prova, llavors una investigació addicional pot ser excessiu.

Un altre nom per a les tècniques de caixa gris - depuració translúcid.

Aquesta categoria inclou tals mètodes d'assaig:

1) matriu ortogonal - l'ús d'un subconjunt de totes les combinacions possibles;

2) la depuració matriu utilitzant l'estat de les dades de programa;

3) Inspecció regressiva dut a terme en els nous canvis en el programari;

4) Prova de plantilla que analitza el disseny i l'arquitectura d'una bona aplicació.

Comparació de les tècniques de proves de programari

L'ús de mètodes dinàmics condueix a una explosió combinatòria del nombre de proves que necessiten ser desenvolupat, implementat i portat a terme. Cada tècnica s'ha d'utilitzar de manera pragmàtica, tenint en compte les seves limitacions.

L'únic mètode que no existeix, no hi ha més que aquelles que s'adapten millor al context específic. enginyeria estructural ens permet trobar un codi maliciós o inútils, però són complexos i no són aplicables als grans programes. Els mètodes basats en les especificacions - els únics que són capaços d'identificar el codi que falta, però no poden identificar una persona aliena. Algunes tècniques són més adequats per a un determinat nivell de prova, el tipus d'error o context que altres.

A continuació es presenten les principals diferències entre les tres tècniques de proves dinàmiques - es dóna una taula de comparació entre les tres formes de depuració de programari.

aspecte

El mètode de la caixa negre

mètode de la caixa grisa

Mètode de caixa blanca

La disponibilitat d'informació sobre la composició del programa

Examina només els aspectes bàsics de

El coneixement parcial sobre l'estructura interna del programa

El ple accés al codi font

Grau de fragmentació del programa

sota

central

alt

Qui produeix la depuració?

Usuaris finals, desenvolupadors i provadors

Usuaris finals, desenvolupadors i depuradors

Els desenvolupadors i provadors

base

La prova es basa en les situacions d'emergència externs.

base de dades de diagrames, diagrames de flux de dades, estat de coneixement intern de l'algoritme i l'arquitectura

El dispositiu intern és plenament conscient

El grau de cobertura

Menys ampli i requereix un mínim de temps

central

Potencialment, el més complet. consumeix temps

Les dades i les fronteres internes

Depuració únicament per assaig i error

Es poden comprovar els dominis de dades i vores interns, si es coneixen

Els millors dominis de dades de prova i vores interns

algoritme de prova d'idoneïtat

no

no

si

automatització

Mètodes automàtics de proves de programari és molt simplifiquen el procés d'inspecció, amb independència de l'entorn tècnic i el context de la. S'utilitzen en els dos casos:

1) per automatitzar les tasques tedioses, repetitives o meticulosos com a comparació d'arxius a diversos milers de files per tal d'alliberar temps per a la concentració del provador punts més importants;

2) per a realitzar el seguiment o tasques que no poden ser realitzades fàcilment per persones com ara la verificació del rendiment o temps de resposta d'anàlisi que pot ser mesurat en centèsimes de segon.

Els instruments d'assaig es poden classificar de diferents maneres. La següent divisió es basa en les tasques que donen suport:

  • gestió de proves, que inclou el suport a projectes de gestió, versions, configuracions, anàlisi de riscos, el seguiment de la prova, errors, defectes, i eines d'informació;
  • gestió de requisits, que inclou requisits d'emmagatzematge i especificacions, visita ells per a la integritat i l'ambigüitat, la seva prioritat i la traçabilitat de cada assaig;
  • revisió crítica i l'anàlisi estàtica, incloent el control de flux, i les tasques, registre i emmagatzematge dels comentaris, la detecció de defectes i previstos enllaços de gestió de correccions a les llistes de comprovació i regles, el seguiment dels documents font de comunicació i l'anàlisi estàtic de codi per detectar defectes, el que garanteix el compliment de les normes de l'escriptura de codi, anàlisi de les estructures i dependències, el càlcul dels paràmetres de mètriques de codi i l'arquitectura. A més, utilitzar compiladors, analitzadors, generadors i relacions de referències creuades;
  • modelatge, que inclou eines per al modelatge el comportament empresarial i posar a prova els models;
  • desenvolupament de proves assegura la generació de les dades esperats sobre la base de condicions i models d'interfície d'usuari i el codi, aconsegueixen crear o modificar arxius i bases de dades, missatgeria, la validació de dades sobre la base de les normes de gestió, l'anàlisi estadística de les condicions i riscos;
  • una visió crítica mitjançant la introducció de les dades a través d'una interfície d'usuari, API, línia gràfica d'ordres fent servir comparadors per ajudar a identificar les proves amb i sense èxit;
  • entorn de depuració de suport que li permet reemplaçar el maquinari o el programari que falta, al Vol. h. Equip de simulació basat en el subconjunt determinat de sortida, emuladors de terminal, telèfons mòbils i equips de xarxa, el medi ambient per al control d'idiomes, sistemes operatius i maquinari mitjançant la substitució del controlador components que falten, fictícia mòduls, etc., així com eines per capturar i modificar el US sol·licita la limitació de simulació de CPU, RAM, ROM, o xarxa.;
  • .. Una comparació d'arxius de dades, bases de dades, comprovar els resultats esperats durant i després de la prova s'ha completat, inclòs dinàmic i comparació per lots, automàtic "oracles";
  • el recobriment de mesurament per a la localització de fuites de memòria i el sistema d'estimació del seu comportament de regulació incorrecta en virtut simulats aplicacions de càrrega de generació de càrrega, bases de dades, xarxes o servidors en un escenari realista de creixement per al mesurament, anàlisi i verificació d'informe de recursos del sistema;
  • la seguretat;
  • proves de rendiment, càrrega i anàlisi dinàmica;
  • altres eines, al Vol. h. Per a comprovar l'ortografia i la sintaxi, seguretat de xarxa, la disponibilitat de totes les pàgines del lloc web i altres.

perspectiva

Amb les tendències canviants de la indústria del programari, el procés de depuració és també subjecte a canvis. Hi ha nous mètodes de proves de programari, com ara una arquitectura de serveis-orientirovannae (SOA), les tecnologies sense fils, serveis de telefonia mòbil, i així successivament. E., han obert noves formes de proves de programari. Alguns dels canvis que s'esperen en la indústria en els propers anys s'enumeren a continuació:

  • emprovadors proporcionaran un model lleuger que els desenvolupadors seran capaços de controlar el codi;
  • el desenvolupament de mètodes de prova, incloent la visualització i modelatge de programes en una etapa primerenca, eliminarà moltes de les contradiccions;
  • presència de prova múltiples intercepcions escurçarà el temps de detecció d'errors;
  • analitzador estàtic i mitjans de detecció per a ser més àmpliament utilitzat;
  • l'ús de matrius minerals, com ara la cobertura de la memòria descriptiva, l'abast del model i el codi de cobertura de determinar el desenvolupament de projectes;
  • eines combinatòries permeten als emprovadors per determinar les àrees prioritàries per a la depuració;
  • emprovadors oferirà un servei més intuïtives i valuosos en tot el procés de desenvolupament de programari;
  • depuradors poden crear eines i mètodes de prova de programari escrits en i interactuar amb una varietat de llenguatges de programació;
  • experts de depuració seran capacitats de manera més professional.

Serà reemplaçat per un nou mètodes de proves de programari orientades als negocis, per canviar la manera d'interacció amb els sistemes i la informació que proporcionen alhora que redueix els riscos i augmentar els beneficis dels canvis del negoci.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ca.atomiyme.com. Theme powered by WordPress.