Você está na página 1de 8

Kevin Jess Fernndez Mejia C.I.

18604682

Pruebas Unitarias

Resumen General

Las pruebas en general dentro del proceso desarrollo de software constituyen un punto focal durante este, las pruebas representan una serie de pasos que contribuye en y a la vez permite verificar la calidad de un producto de software final. Existen distintos tipos de prueba que son aplicados en distintos escenarios y etapas del desarrollo de una aplicacin. Dentro de estos tipos de prueba se encuentran las pruebas unitarias, las cuales son las apropiadas para verificar y probar el correcto funcionamiento de uno o varios mdulos de cdigo en la programacin del producto. Una prueba unitaria exitosa debe ser aquella que sea automatizable, que abarque la completitud del cdigo o en su defecto la mayor cantidad de cdigo posible, de la misma manera debe ser una prueba que aporte en ocasiones futuras y pueda ser reutilizable. Es importante conocer que hoy en da se manejan diferentes frameworks para o entornos para llevar a cabo las pruebas unitarias dependiendo del lenguaje de programacin. En la actualidad son utilizados JUnit, un entorno para llevar pruebas unitarias bajo el lenguaje Java. PHPUnit es el framework utilizado para realizar las pruebas en lenguaje PHP, para los lenguajes C y C++ se tiene el framework CPPUnit, para la plataforma .NET se ejecutan pruebas unitarias entre otros entornos utilizados por los principales lenguajes de programacin en la actualidad bajo el framework NUnit. Es importante tener en consideracin que la ejecucin de pruebas unitarias no develara todos los inconvenientes o errores que presente el desarrollo de una aplicacin o producto de software, estas pruebas deben ser integradas y complementadas con pruebas funcionales, pruebas de integracin, pruebas de carga, pruebas de aceptacin entre otras para abarcar la totalidad de escenarios y asegurar que se tenga un producto final aceptado.

Art. 1

Gutirrez, J. Villadiego, D. Escalona, M., Mejas, M. Aplicacin de la Programacin Orientada a Aspectos en el diseo e implementacin de pruebas funcionales. Recuperado el 19 de abril de 2012. http://www.google.co.ve/url?sa= t&rct=j&q=pruebas%20unitarias %20paper&source=web&cd=19 &ved=0CFUQFjAIOAo&url=htt p%3A%2F%2Fquercusseg.unex. es%2Fjuanmamu%2FDSOA04 %2Fpapers%2Fgutierrezlladiego-escalonamejias.doc&ei=SzSQT5z1CJGJ 0QHvsIiUBQ&usg=AFQjCNEe cI3IIro_z0a0n7hAb5Eo0UD4Gg Polo, M. Pruebas de Sistemas de Informacin. http://es.scribd.com/doc/876084 75/10/Un-modelo-de-procesopara-pruebas-unitarias

Se explica bsicamente cmo debe ser aplicada la programacin orientada a aspectos para realizar pruebas unitarias. Se explica la estrategia ms utilizada para disear y escribir las pruebas y se identifican y describen un conjunto de diferentes escenarios, donde se propone la aplicacin de tcnicas de programacin orientada a aspectos para el desarrollo de pruebas unitarias adecuadas.

Art. 2

Art. 3

Polo, M. Piattinim, M. (2006) Automatizacin del proceso de pruebas unitarias. Recuperado el 19 de abril de 2012. http://in2test.lsi.uniovi.es/pris200 6/PRIS2006-PoloPiattini.pdf

Art. 4

Vallespir, D. Bogado C. Moreno, S. Herbert, J. Comparando las tcnicas de verificacin todos los usos y cubrimientos de sentencias. Recuperado el 19 de abril de

En el trabajo se toca como tema principal las pruebas que se realizan en el desarrollo de sistemas de informacin, presentndose un modelo de proceso para las pruebas unitarias en donde intervienen tanto las pruebas de caja negra como las pruebas de caja blanca de forma complementaria. Se explica a travs de una serie de pasos las funciones que debe cumplir un proceso que combine dichas pruebas. Se describe un ejemplo de generacin automtica de cdigo de pruebas unitarias, basado en tcnicas de reflexin aplicadas sobre el cdigo original. Se demuestra el trabajo realizado en la integracin de diferentes tcnicas ya existentes, pero que no haban sido utilizadas anteriormente en aras de automatizar el proceso. Este artculo se presenta un experimento formal que compara el comportamiento de las tcnicas de pruebas Cubrimiento de sentencias y Todos los usos. Se trata del diseo de un experimento con dos alternativas. Se explica bsicamente que

2012. http://www.fing.edu.uy/inco/gru pos/gris/wiki/uploads/Proceedin gs/CompTecVerifTUyCU.pdf

la realizacin de este y otros experimentos que se mencionan en el artculo buscan facilitar la decisin de que tcnica utilizar al momento de llevar a cabo pruebas unitarias, en relacin a la efectividad y costo de cada tcnica. Se realiza una comparacin entre las metodologas convencionales, tradicionales y agiles en busca de analizar las tcnicas de pruebas que son empleadas en estas metodologas. Se hace una revisin de cmo desarrolladas las pruebas unitarias en cada una de las metodologas mencionadas en el artculo.

Art. 5

Yague, A. Garbajosa, J. (2009). Comparativa prctica de las pruebas en entornos tradicionales y giles. Revista Espaola de Innovacin, Calidad e Ingeniera del Software, Vol. 5, No. 4. Recuperado el 19 de abril de 2012. http://www.ati.es/IMG/pdf/Yagu eVol5Num4-2.pdf Bertrand, J. Rodrguez, F. (2009). Generador automtico de casos de prueba unitarios para Jnuit. Recuperado el 19 de abril de 2012. http://eprints.ucm.es/11272/1/Ge nerador_automatico_de_casos_d e_prueba_unitarios_para_Junit.p df

Art. 6

Uno de los objetivos de este trabajo fue la generacin automtica de casos de prueba partiendo de un byte code de java (JBC). Adicionalmente tambin est relacionado con las pruebas unitarias y con Junit, framework que permite realizar la ejecucin de clases Java de manera controlada, permitiendo evaluar si el funcionamiento de cada uno de los mtodos de la clase se comporta como se espera. Un objetivo adicional del articulo y/o trabajo presentado radica en aadir a Pet la funcionalidad de crear automticamente un archivo Junit con todos los mtodos de prueba necesarios, automatizando por completo el trabajo del testing unitario y ahorrando mucho tiempo y esfuerzo al desarrollador del software. En este artculo se presenta informacin sobre una metodologa para el desarrollo de objetos de aprendizaje (OA.s), la cual se utiliz para la elaboracin de OA.s en la materia de Ingeniera de Software de la Universidad Veracruzana (UV) (Mexico), dentro de este mismo marco se

Art. 7

Navarro, M. Garcia, A. Alvarez, F. Construccin de objetos de aprendizaje de pruebas unitarias de la Ingeniera de Software a travs de una metodologa ligera. Recuperado el 19 de abril de 2012.

Art. 8

Art. 9

http://investigacion.udgvirtual.ud incluye el contenido del tema de pruebas g.mx/eventos/tatoaje/07/docs/Na unitarias. Se busca dar un enfoque varroGuerrero-etal.pdf relacionado con pruebas unitarias de software y creacin de OA.s utilizando una metodologa ligera desarrollada por la la Universidad Autnoma de Aguascalientes (UAA), a la cual se le anexaron dos fases ms. Normar, K. Systematic Unit En este trabajo se propone una Testing in a Read-eval-print herramienta que es capaz de reunir, Loop. Recuperado el 19 de abril organizar y de 2012. volver a validar los casos de prueba http://people.cs.aau.dk/~normark unitaria, que se registran como /laml/papers/unit-testing.pdf expresiones. El uso de la herramienta proporciona una ayuda para la creacin de depsitos de ensayo, y lo es la intencin de catalizar un enfoque mucho ms sistemtico de las pruebas unitarias en un bucle. En el documento se discute el uso de un repositorio de pruebas para otros fines de la prueba. Rajendran, R. White paper on Se explica que las pruebas unitarias Unit Testing. Recuperado el 19 componen la primera etapa de pruebas de abril de 2012. y es la fase ms eficaz en http://www.mobilein.com/White relacin a la deteccin y eliminacin PaperonUnitTesting.pdf de defectos. En etapas posteriores de las pruebas, detectar y corregir defectos es ms difcil dado que que implica un mayor esfuerzo y tiempo. Sin embargo las pruebas unitarias tambin requieren de tiempo y esfuerzo. Las pruebas deben emplear tcnicas de anlisis funcional, estructural y heurstico para ser eficaz contra los diferentes errores que se encontraran. Se menciona que prometedoras herramientas de automatizacin de pruebas estn empezando a estar disponible en el mercado. Con el uso de tcnicas y con el apoyo de herramientas ms rpidas, las pruebas unitarias pueden ser muy eficaces y asequibles.

Art. 10

Mackinnon, T. Freeman, S. Craig, P. (2000). Endo Testing: Unit Testing with mock objects. Recuperado el 19 de abril de 2012. http://www.betgenius.com/mock objects.pdf

Las pruebas unitarias vienen siendo una prctica fundamental en la programacin extrema, pero la mayora del cdigo no trivial resulta ser difcil de probar de forma aislada. Es difcil evitar la escritura de conjuntos de pruebas que son complejas, incompletas, y difciles de mantener e interpretar. El uso de Mock Objects para las pruebas unitarias mejora tanto nombres de dominio como los conjuntos de prueba. Permiten que las pruebas unitarias sean desarrolladas para todo, simplificando la estructura de la prueba, y evitando la contaminacin de cdigo de dominio con las pruebas de la infraestructura.

Art. 11

Hong, S. Patrick, A. Hall, V. Jhon, H. R, May. Software Unit Test Coverage and Adequacy. Recuperado el 19 de abril de 2012. http://laser.cs.umass.edu/courses /cs521621/papers/ZhuHallMay.pdf

Art. 12

En el artculo se hace un estudio de los trabajos de investigacin relacionadas a la calidad de las pruebas unitarias. La idea de los criterios de adecuacin se examina junto con su papel con el software dinmico de pruebas. Una revisin de los criterios de clasificacin es seguida por un resumen de los mtodos para la comparacin y evaluacin de los criterios. Koning, T. Junemann, K. Se presenta un enfoque genrico para las Burger, M. (2010). RUnit A pruebas unitarias de software para Unit Test Framwork for R. el lenguaje R empleando modelos Recuperado el 19 de abril de de ejemplos exitosos 2012. como JUnit, CPPUnit, y PerlUnit. El http://cran.robjetivo del artculo es facilitar el project.org/web/packages/RUnit/ desarrollo de la confianza en vignettes/RUnit.pdf paquetes de software y proporcionar un conjunto de herramientas para analizar y reportar el estado del software de calidad. El marco que se presenta es completamente implementado dentro de Ry no depende de herramientas externas u otros sistemas de lenguaje.

Art. 13

Vallespir, D. (2004). Generacin Automtica de Casos de Prueba Unitarios para Objetos. Recuperado el 19 de abril de 2012. http://www.fing.edu.uy/~dvalles p/wiki/uploads/Research/gacpuo. pdf

En este trabajo se hace uso de dos tcnicas diferentes dentro del rea de pruebas de software, una propuesta por Binder y otra propuesta por McGregor y Sylkes. Para lograr obtener mejores casos de prueba, se extienden cada una de las tcnicas con el uso de las tcnicas de particin en clases de equivalencia y valor lmite. El objetivo principal del artculo va dirigido a la generacin automtica de casos de prueba y en la ejecucin automatizada de estos. Se demuestra que la generacin automtica de casos de prueba no solo ayuda a contrarrestar el problema de la psicologa de pruebas sino que tambin apoya de manera eficiente en la generacin de un gran nmero de casos de prueba. Se expone un proceso para implementar casos de prueba a partir de casos de uso, utilizando como base arquitectura Xunit, patrones, entre otros propios de las pruebas unitarias. Se demuestra que los modelos utilizados en la automatizacin de pruebas unitarias pueden ser trasladados y ser utilizados bajo otros enfoques de pruebas en la ingeniera de software.

Art. 14

Gutierrez, J. Escalona, M. Mejias, M. Torres, A. Torres, J. (2007). Generacin e implementacin de pruebas del sistema a partir de casos de uso. Revista Espaola de Innovacin, Calidad e Ingeniera del Software, Vol. 3, No. 3. Recuperado el 19 de abril de 2012. http://redalyc.uaemex.mx/pdf/9 22/92230303.pdf De Rojas, A. Marn, B. (2009). Experiencias de una PYME en la mejora de procesos de prueba. Revista Espaola de Innovacin, Calidad e Ingeniera del Software, Vol. 5, No. 2. Recuperado el 19 de abril de 2012. http://www.ati.es/IMG/pdf/Rojas Vol5Num2.pdf

Art. 15

En este artculo se describe los resultados en la mejora de los procesos de prueba que ha obtenido la empresa Clave Informtica, una PYME de la comunidad Valenciana (Valencia, Espaa) que se dedica a disear y comercializar aplicaciones de produccin, gestin comercial y financiera, todas ellas integradas con servicios ISP/IDC de alta disponibilidad y seguridad. En el artculo se describe la experiencia de esta empresa y se menciona como dentro de una PYME pueden llevarse a cabo mejoras a las pruebas unitarias.

Art. 16

Mattu, B. Shankar, R. (2007). Test driven desing methodology for component based system. Recuperado el 19 de abril de 2012. http://www.cvsi.fau.edu/downlo ad/attachments/267/Test_Driven _Design_Methodology.pdf

Art. 17

Art. 18

Lamancha, B. Reales, P. GarciaRodriguez, I. Polo, M. (2008). Propuesta para pruebas dirigidas por modelos usando el perfil de pruebas de UML 2.0. Revista Espaola de Innovacin, Calidad e Ingeniera del Software, Vol. 4, No. 4. Recuperado el 22 de abril de 2012. http://www.ati.es/IMG/pdf/Perez Vol4Num4.pdf Lazzarini, O. Rizzi, A. Maldonado, J. Masiero, P. Teste de unidade de programas orientados a aspectos. Recuperado el 22 de abril de 2012. http://www.lbd.dcc.ufmg.br/cole coes/sbes/2004/005.pdf

Art. 19

Sen, K, Darlo, M. Agha, G. Cute: A concolic unit testing engine for C. Recuperado el 22 de abril de 2012 http://www.cis.upenn.edu/~alur/ CIS670/cute.pdf

En este artculo, se expone un enfoque gradual para la metodologa denominada Test Driven Design (TDD). Se explica que el ciclo de desarrollo comienza con la especificacin de requisitos por lo que las capturas de defectos vienen dadas mucho ms temprano en el ciclo de desarrollo. Asi mismo se explica que TDD requiere que ningn cdigo de produccin sea escrito hasta no haya sido escrita una prueba unitaria. En este artculo se presenta una propuesta para pruebas en el contexto de la ingeniera de software dirigida bsicamente por modelos. Los modelos vienen dados a partir de los modelos de diseo del sistema en UML, y se propone realizar transformaciones o modificaciones a modelos de pruebas basados en el perfil de UML. Adicionalmente se busca una generacin de casos de prueba de forma automatizada. En este artculo, se presenta un enfoque a la unidad de pruebas estructurales, en donde se incluyen las pruebas unitarias de los programas orientados a aspectos. Se presenta un modelo de flujo de control orientado a aspectos a partir de bytecode (cdigo de objetos Java) que resulta del proceso de compilacin de programas desarrollados en lenguaje AspectJ, el cual es una extensin del lenguaje Java para la programacin de orientada a aspectos, y de los criterios de pruebas que se derivan de este modelo. Se describe que en las pruebas unitarias, un programa se descompone en unidades que son conjuntos de funciones. Una parte de la unidad puede ser probada mediante la generacin de insumos para una funcin de entrada nica. Se

Art. 20

Simmons, A. Thomson, C. Benchmarking Effectiveness for Object-Oriented Unit Testing. Recuperado el 22 de abril de 2012. https://personal.cis.strath.ac.uk/ marc.roper/TESTBENCH08/Pap ers/simons.pdf

explica que una funcin de entrada puede contener los argumentos de puntero, en cuyo caso las entradas a la unidad de memoria son grficas. El documento direcciona el problema de la automatizacin de las pruebas unitarias, con grficos de memoria como entradas. El enfoque utilizado en el artculo se basa en un trabajo realizado con anterioridad por el autor combinando la ejecucin simblica y concreta, y ms especficamente, utilizando una combinacin generar pruebas de entrada, para explorar todos los caminos de ejecucin viables. Se explica el desarrollo de un mtodo de que captura el comportamiento de la ejecucin simblica de una unidad con las grficas de memoria de entrada. En este artculo se propone un punto de referencia para las pruebas unitarias orientadas a objetos, llamado la respuesta del comportamiento. Las mtricas que se presentan se aplican a manuales expertos de pruebas utilizando JUnit, y pruebas semi automatizadas con JWalk, poniendo a prueba el nivel de las clases que imitan a la evolucin de los componentes.

Você também pode gostar