Entorns de Desenvolupament PDF - Tema 03 Part I

Document Details

ScenicAlder

Uploaded by ScenicAlder

IES Dr. Lluís Simarro

Tags

programari proves desenvolupament informàtica

Summary

El document digital ofereix un estudi sobre el disseny i la realització de proves de programari. Aborda temes com la planificació de les proves, la importància de les proves al llarg del cicle de vida d'un projecte, i els diferents tipus de proves. Inclou exemples i descripcions sobre l'execució correcta de les proves.

Full Transcript

Entorns de Desenvolupament TEMA 03 – PART I Disseny i realització de proves de programari 1. Introducció 2. Les proves en el cicle de vida d’un projecte 3. Procediments, tipus i casos de proves 3.1. Planificació de les proves ...

Entorns de Desenvolupament TEMA 03 – PART I Disseny i realització de proves de programari 1. Introducció 2. Les proves en el cicle de vida d’un projecte 3. Procediments, tipus i casos de proves 3.1. Planificació de les proves Curs Entorns de Desenvolupament 24/25 1r CFGS DAM I E S D R. L L U Í S S I M A R R O 1. Introducció Les proves són necessàries en la fabricació de qualsevol producte industrial i, de forma anàloga, en el desenvolupament de projectes informàtics. Una aplicació informàtica no pot arribar a les mans d’un usuari final amb errades, i menys si aquestes són prou visibles i clares com per haver estat detectades pels desenvolupadors. Es donaria una situació de manca de professionalitat i reduiria la confiança per part dels usuaris, que podria minvar oportunitats futures. Quan cal dur a terme les proves? Què cal provar? Totes les fases establertes en el desenvolupament del programari són importants. La manca o mala execució d’alguna d’elles pot provocar que la resta del projecte arrossegue un o diversos errors que seran determinants per al seu l’èxit. Com més prompte es detecte un error, menys costós serà de solucionar. També seran molt importants les proves que es duran a terme una vegada el projecte estiga finalitzat. És per això que la fase de proves del desenvolupament d’un projecte de programari es considera bàsica abans de fer la transferència del projecte a l’usuari final. Qui donaria un cotxe per construït i finalitzat si en intentar arrencar-lo no funcionara? Qualsevol membre de l’equip de treball d’un projecte informàtic pot cometre errades. Les errades, a més, es podran donar a qualsevol de les fases del projecte (anàlisi, disseny, codificació, etc.). Algunes d’aquestes errades seran més determinants que d’altres i tindran més o menys implicacions en el desenvolupament futur del projecte. Les fases de desenvolupament d’un projecte són: presa de requeriments, anàlisi, disseny, desenvolupament, proves, finalització i transferència. Per exemple, un cap de projecte, a l’hora de planificar les tasques de l’equip, estipula el disseny de les interfícies en 4 hores de feina per a un únic dissenyador. Si, una Tema 03 Disseny i realització de proves de programari – Part I Pàgina 2/10 Curs Entorns de Desenvolupament 24/25 1r CFGS DAM I E S D R. L L U Í S S I M A R R O vegada executada aquesta tasca del projecte, la durada ha estat de 8 hores i s’han necessitat dos dissenyadors, la repercussió en el desenvolupament del projecte serà una desviació en temps i en cost, que potser es podrà compensar utilitzant menys recursos o menys temps en alguna tasca posterior. En canvi, si l’errada ha sigut del dissenyador de la base de dades, que ha obviat un camp clau d’una taula principal i la seua vinculació amb una segona taula, aquesta pot ser molt més determinant en les tasques posteriors. Si es creen les interfícies a partir d’aquesta base de dades errònia i es comença a desenvolupar el programari sense identificar l’errada, és possible que al cap d’unes quantes tasques es detecte l’errada i que, per tant, calga tornar al punt d’inici per solucionar-la. Un error no detectat a l’inici del desenvolupament d’un projecte pot arribar a necessitar cinquanta vegades més esforços per ser solucionat que si és detectat a temps. En un projecte de desenvolupament de programari està estipulat que es dedica entre un 20% i un 40% del cost de tot el projecte a la fase de proves. Amb aquesta dada ens podem adonar de la importància de les proves dins un projecte. Els resultats de les proves podran influir en la percepció que tindrà el client final en relació amb el producte (programari) lliurat i la seua qualitat. Precisament, és l’objectiu d’aquestes proves: l’avaluació de la qualitat del programari desenvolupat durant tot el seu cicle de vida, validant que fa el que ha de fer i que ho fa tal com es va dissenyar, a partir dels requeriments. Tema 03 Disseny i realització de proves de programari – Part I Pàgina 3/10 Curs Entorns de Desenvolupament 24/25 1r CFGS DAM I E S D R. L L U Í S S I M A R R O 2. Les proves en el cicle de vida d’un projecte A cada una de les fases del cicle de vida d’un projecte, caldrà que el treball dut a terme siga validat i verificat. En l’esquema de la figura.1 podem veure com encaixen les proves en el cicle de vida del programari. Figura 1. Cicle de vida en V: fases de prova Alhora que s’avança en el desenvolupament del programari es van planificant les proves que es faran a cada fase del projecte. Aquesta planificació es concretarà en un pla de proves que s’aplicarà a cada producte desenvolupat. Quan es detecten errors en un producte s’ha de tornar a la fase anterior per depurar-lo i corregir-lo; això s’indica amb les fletxes de tornada de la part esquerra de la figura.  Els depuradors (debuggers) són unes aplicacions o eines permeten l’execució controlada d’un programa o un codi, seguint el comandament executat i localitzant els errors (bugs) que puguen contenir. Tema 03 Disseny i realització de proves de programari – Part I Pàgina 4/10 Curs Entorns de Desenvolupament 24/25 1r CFGS DAM I E S D R. L L U Í S S I M A R R O Hi ha eines CASE que ajuden a dur a terme aquests processos de prova; concretament, es coneixen com a depuradors els encarregats de depurar errors en els programes. Com es pot observar a la figura.1, el procés de verificació cobrirà les fases de disseny i implementació del producte. Les persones implicades en la seua execució seran els desenvolupadors o programadors i l’enginyer de proves. Els desenvolupadors faran proves sobre el codi i els diferents mòduls que l’integren, i l’enginyer, sobre el disseny del sistema. Validació és el terme que es fa servir per avaluar positivament si el producte desenvolupat compleix els requisits establerts en l’anàlisi. Les persones encarregades de fer les proves de validació són els enginyers de proves. La verificació del programari garanteix que "s’ha creat bé" i confirma que el producte, tal com es disposa, compleix els plans dels desenvolupadors. La validació del programari assegura que "s’ha creat el que es demanava" i confirma que el producte, tal com es disposa, compleix l'ús i els objectius previstos del client. Finalment, el client ha de donar el vistiplau al producte, raó per la qual es faran les proves d’acceptació en funció de les condicions que es van signar al principi del contracte. 3. Procediments, tipus i casos de proves En cada una de les fases d’un projecte s’haurà de dedicar un temps considerable a desenvolupar les tasques i els procediments referents a les proves. És per això que alguns autors consideren que els procediments relacionats amb les proves són com un xicotet projecte englobat dins el projecte de desenvolupament. Tema 03 Disseny i realització de proves de programari – Part I Pàgina 5/10 Curs Entorns de Desenvolupament 24/25 1r CFGS DAM I E S D R. L L U Í S S I M A R R O Aquest projecte de proves requerirà d’una planificació, un disseny del pla de proves, una execució de les mateixes i una avaluació dels resultats, per tal d’analitzar els errors i poder aplicar les accions necessàries. A la figura.2 es mostra un esquema amb els procediments que caldrà dur a terme i la documentació que s’haurà d’adjuntar. Aquest esquema servirà com a índex per a aquest apartat. Figura 2. Procés de proves L’esquema s’inicia amb una planificació de les proves, que té com a punt de partida l’anàlisi funcional, diagrames de casos d’ús… del producte a desenvolupar. En la planificació s’estimaran els recursos necessaris per a l’elaboració de les proves i la posterior validació del programari, i s’obtindrà un pla de proves com a eixida. Tema 03 Disseny i realització de proves de programari – Part I Pàgina 6/10 Curs Entorns de Desenvolupament 24/25 1r CFGS DAM I E S D R. L L U Í S S I M A R R O Partint del pla de proves i del codi font que s’haja desenvolupat, es durà a terme el disseny de les proves identificant quin tipus de proves s’efectuarà per a cada una de les funcionalitats, i s’obtindran, com a eixida, els casos de prova i procediments. A partir d’aquest moment, es crea un bucle on s’executaran les proves, s’avaluaran els resultats de les proves efectuades detectant els errors, es depurarà el codi aplicant les correccions pertinents i es tornaran a executar les proves. En finalitzar el bucle, es farà l’anàlisi de l’estadística d’errors. Aquesta anàlisi permetrà fer prediccions de la fiabilitat del programari, així com detectar les causes més habituals d’error, amb la qual cosa es podran millorar els processos de desenvolupament. 3.1 Planificació de les proves La planificació de les proves és una tasca que cal anar desenvolupant al llarg de totes les fases del projecte informàtic. No cal esperar la fase de programació per crear aquest pla de proves; a la fase d’anàlisi i a la fase de disseny ja es tenen prou dades per tal de poder començar a establir les primeres línies del pla de proves. És important tenir present que, com més prompte es detecte una errada al projecte informàtic, més fàcil serà contrarestar i solucionar aquest error. El cost de la resolució d’un problema creix exponencialment a mesura que avancen les fases del projecte en les quals es detecte. Però, com succeeix en molts aspectes de la vida, una cosa és la teoria i una altra de molt diferent la realitat. En moltes consultories especialitzades en desenvolupament del programari, així com en altres empreses més xicotetes o, fins i tot, per part de programadors independents que creen el seu propi programari, es consideren les proves com un procés que es tracta al final del projecte, una vegada la major part del codi ha estat desenvolupat. Tema 03 Disseny i realització de proves de programari – Part I Pàgina 7/10 Curs Entorns de Desenvolupament 24/25 1r CFGS DAM I E S D R. L L U Í S S I M A R R O  La planificació de les proves té com a objectiu arribar a la creació d’un pla d’actuació que es referisca a quan i com es duran a terme les proves. Però per a això cal dur a terme una anàlisi minuciosa del sistema i dels seus elements. El pla de proves ha de contenir totes les funcions, les estratègies, les tècniques i els membres de l’equip de treball implicats. Una bona guia inicial per determinar què contindrà un bon pla de proves es pot obtenir de la normativa IEEE 829-2008 “Standard for Software and System Test Documentation”. Aquest estàndard estableix com haurà de ser la documentació i els procediments que s’utilitzaran en les diferents etapes de les proves del programari. Més endavant aquest document va ser substituït per l’estàndard ISO/IEC/IEEE 29119: Enginyeria de programari i sistemes: proves de programari, que consisteix en una sèrie de cinc estàndards internacionals per a les proves de programari. El seu objectiu era unificar i integrar la literatura normativa sobre les proves que oferien diferents creadors d’estàndards. Part 1: Conceptes i definicions (2013) Part 2: Model de processos de prova (2013) Part 3: Documentació de la prova (2013) Part 4: Tècniques de prova (2015) Part 5: Proves dirigides per paraules clau (2016) En general, alguns dels continguts que ha de tenir el pla de proves són: Identificador del pla de proves. És l’identificador que s’assignarà al pla de proves. És important per poder identificar fàcilment quin abast té el pla de proves. Per exemple, si es volen verificar les interfícies i procediments relacionats amb la gestió de clients, el seu pla de proves es podria dir PlaClients. Descripció del pla de proves. Defineix l’abast del pla de proves, el tipus de prova i les seues propietats, així com els elements del programari que es volen provar. Tema 03 Disseny i realització de proves de programari – Part I Pàgina 8/10 Curs Entorns de Desenvolupament 24/25 1r CFGS DAM I E S D R. L L U Í S S I M A R R O Elements del programari a provar. Determina els elements del programari que s’han de tenir en compte en el pla de proves, així com les condicions mínimes que s’han de complir per dur-ho terme. Elements del programari que no s’han de provar. També és important definir els elements que no s’hauran de tenir en compte al pla de proves. Estratègia del pla de proves. Defineix la tècnica a utilitzar en el disseny dels casos de prova, com per exemple la tècnica de caixa blanca o de caixa negra, així com les eines que s’utilitzaran o, fins i tot, el grau d’automatització de les proves. Definició de la configuració del pla de proves. Defineix les circumstàncies sota les quals el pla de proves podrà ser alterat, finalitzat, suspès o repetit. Quan s’efectuen les proves, s’haurà de determinar quin és el punt que provoca que se suspenguen, ja que no tindria molt de sentit continuar provant el programari quan aquest es troba en un estat inestable. Una vegada els errors han sigut corregits, es podrà continuar efectuant les proves; és possible que s’inicien des del principi del pla o des d’una determinada prova. Finalment, es podrà determinar la finalització de les proves si aquestes han superat un determinat llindar. Documents a lliurar. Defineix els documents que cal lliurar durant el pla de proves i en finalitzar-lo. Aquesta documentació ha de contenir la informació referent a l’èxit o fracàs de les proves executades amb tot tipus de detall. Alguns d’aquests documents poden ser: resultats dels casos de proves, especificació de les proves, subplans de proves… Tasques especials. Defineix les taques necessàries per preparar i executar les proves. Però hi ha algunes tasques que tindran un caràcter especial, per la seua importància o per la seua dependència amb d’altres. Per a aquest tipus de tasques, serà necessari efectuar una planificació més detallada i determinar sota quines condicions es duran a terme. Tema 03 Disseny i realització de proves de programari – Part I Pàgina 9/10 Curs Entorns de Desenvolupament 24/25 1r CFGS DAM I E S D R. L L U Í S S I M A R R O Recursos. Per a cada tasca definida dins el pla de proves, s’haurà d’assignar un o diversos recursos, que seran els encarregats de dur-la a terme. Responsables i Responsabilitats. Es defineix el responsable de cadascuna de les tasques previstes en el pla. Calendari del pla de proves. En el calendari queden descrites les tasques que s’hauran d’executar, indicant les seues dependències, els responsables, les dates d’actuació i la durada, així com les fites del pla de proves. Una eina molt utilitzada per representar aquest calendari del pla de proves és el Diagrama de Gantt. Un error típic és tractar la planificació de proves com una activitat puntual, limitada al període de temps en què s’elabora una llista d’accions per ser desenvolupades durant els propers dies, mesos… La planificació és un procés continu i no puntual; per tant, cal treballar-lo al llarg de tot el projecte, i per a això és necessari: ➔ Gestionar els canvis: no és d’estranyar que, al llarg del cicle de vida del projecte, i amb major probabilitat quan més llarga és la seua durada, es presenten canvis en l’abast del projecte. Serà necessari adaptar el pla de proves a les noves especificacions. ➔ Gestionar els riscos: un risc es podria definir com un conjunt de situacions que poden provocar un impediment o retard en el pla de proves. Els riscos s’hauran d’identificar al més prompte possible i analitzar la probabilitat que hi ha que succeïsquen, tot aplicant mesures preventives, si es considera oportú, o disposar d’un pla de contingència en cas que el risc sorgira. Es pot afirmar que tota planificació ha de ser viva i s’ha d’anar revisant i controlant de forma periòdica. En cas de desviació, s’han d’analitzar les causes que l’han provocat i com afecta a la resta dels projectes. Tema 03 Disseny i realització de proves de programari – Part I Pàgina 10/10

Use Quizgecko on...
Browser
Browser