Niveles de pruebas

Pruebas unitarias

(Rodríguez, 2017)
El proceso de validación del software de suma importancia para el aseguramiento de su calidad, y las pruebas son parte por excelencia de ese proceso de validación. Las pruebas poseen distintos niveles, entre los cuales se encuentran las pruebas unitarias, posteriormente las integrales, pruebas del sistema, de humo, las alpha, las beta y finalmente las de aceptación.

En este artículo abordaremos las pruebas unitarias de software.

(Rodríguez, 2017)


Éstas también son nombradas como pruebas de caja blanca o modulares, por la cualidad que tienen de permitir verificar (mediante ejecuciones de casos de prueba) si un módulo de cualquier programa está terminado correctamente. (Calidadysoftware, 2017) Éstas poseen las siguientes características:

  • Se concentran en probar cada componente para asegurar el funcionamiento unitario.
  • Aplican técnicas de prueba que recorren caminos específicos en las pruebas estructurales.
  • Para probar cada módulo es requerido un módulo controlador y de uno o más módulos simulados (stub).
(Rodríguez, 2017)











Un factor imprescindible por ser tomado en cuenta es el tamaño del módulo por probar, debido a que es recomendable que si el módulo es muy grande, se separe en 2 o 3 módulos más sencillos. Cabe destacar que, este nivel de pruebas debe ser ejecutado por los especialistas en el campo, haciendo uso de herramientas de depuración y pruebas. A continuación se enlistarán una serie de herramientas utilizadas para ejecución de pruebas unitarias:

  • JUnit

Resultado de imagen para junit logo
(JUnit, 2017)
Esta es una herramienta utilizada para realizar pruebas unitarias en Java. Además, algunas características de esta herramienta son:
    • Soporta la ejecución de pruebas en modo batch o mediante GUI.
    • Todas las pruebas tienen sólo dos tipos: pasa/falla.
    • Mensajes de error y la pila de ejecución aciertan donde se originan los errores.
    • Para probar una clase se escribe una clase de prueba.
    • Cada prueba unitaria está compuesta de un método de prueba.
    • Los métodos de inicialización y finalización son nombrados bajo las anotaciones @Before y @After.
    • Los métodos de inicialización y finalización que aplican a la clase de prueba entera son nombrados bajo las anotaciones @BeforeClass @AfterClass.

  • TestNG

    Resultado de imagen para testng logo
    (TestNG, 2017)
    Esta herramienta es una librería que permite implementar (así como JUnit) pruebas unitarias y de integración en Java. (Juandeandalucia.es, 2017) Posee las siguientes características:

      • Ofrece una mayor granulidad en estos métodos de inicialización (@Before/AfterSuite, @Before/AfterTest, @Before/AfterGroup).
      • La prueba de excepciones se realiza con los métodos @Test(expectedExceptions = MyException.class).
      • Usa el fichero "testmg.xml", donde se indican las pruebas por ejecutar.
      • Se pueden especificar los parámetros con un "@DataProvider".
      • Permite indicar que una prueba depende de su ejecución.
    • PHPUnit

    Resultado de imagen para phpunit logo
    (PHPUnit, 2017)
    Esta herramienta es un framework para PHP, que permite la creación de clases de pruebas sobre aplicaciones desarrolladas en el lenguaje de programación PHP. (Juandeandalucia.es, 2017) (Juan) Posee las siguientes características:
      • Almacena los resultados de las pruebas en una base de datos de prueba.
      • Se puede integrar con varias aplicaciones de pruebas.
      • Forma parte de los frameworks de xUnit.
      • Soporta objetos Mock (jMocks).

    • NUnit


    Resultado de imagen para Nunit logo
    (NUnit, 2017)
    Esta herramienta es un framework de código abierto utilizado para ejeuctar pruebas unitarias de sistemas con la plataforma Microsoft.NET. Cabe destacar que fue desarrollado completamente en el lenguaje de programación C#, y pertenece a los frameworks denominados xUnit, por haber sido heredados de JUnit. A continuación se enumerarán algunas características sobresalientes de esta herramienta:
    1. Soporta los lenguajes: C#, J#, Visual Basic y C++.
    2. Es proveedora de dos interfaces para la ejecución y administración de pruebas: interfaz gráfica y de consola.
    3. Provee 2 tipos de funcionamientos:
      1. Atributos personalizados que le indican al framework de NUnit cómo interpretar y ejecutar pruebas implementadas en el método o clase.
      2. Aserciones usadas para comprobar y comparar valores.
    4. Detecta automáticamente los cambios de los ensamblados.
    5. Ejecuta diversos ensambladores.
    6. Puede ser integrado con Visual Studio en cualquiera de sus versiones.

    Referencias

    • Anon, (2017). [online] Available at: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgegOsUELdiujgwAWPpoMmNDqUyqO7YYgT1yi4XRAY_JunusAWCk7OIIeGeUKbceY66AnS-DU3cL3Zb1Yqx28o8iDZMXUhVhwREuTGyfCiQchypaJnxi2eR1kdFmIW9U611yliimr8DUtqm/s640/Pruebas+de+caja+negra+-+Pruebas+de+casos+de+uso+orig.png [Accessed 4 Sep. 2017].
    • 1.bp.blogspot.com. (2017). Citar un sitio web - Cite This For Me. [online] Available at: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMqtkmzI_SfQ95fWELG1V_J-05GviXAQLQVYP9UwRXzuKJzAPp3wqmM0nJiogGzhYTzQu__q8vYO8mQee-H5Xwq_utsQ7u_XeuhxZ98wFvmcTXB3NLX76N-LP8Ew4oXI_tVm1L6Uc43Q7C/s400/EstructuraHistoriaDeUsuarioTarjeta.jpg [Accessed 4 Sep. 2017].
    • Calidadysoftware.com. (2017). Pruebas Unitarias Cap 1 - Software Testing and QA - Pruebas Unitarias. [online] Available at: http://www.calidadysoftware.com/testing/pruebas_unitarias1.php [Accessed 9 Sep. 2017].
    • TestNG. (2017). [image] Available at: https://s-media-cache-ak0.pinimg.com/originals/7f/60/db/7f60db65eac12c8d02e45280dd53381a.jpg [Accessed 9 Sep. 2017].
    • PHPUnit. (2017). [image] Available at: http://blog.fclement.info/sites/default/files/2016-06/phpunit.png [Accessed 9 Sep. 2017].
    • Código, N. (2017). TestNG | |. [online] Notodocodigo.com. Available at: http://www.notodocodigo.com/blog/testng/ [Accessed 9 Sep. 2017].
    • Juntadeandalucia.es. (2017). PHPUnit | Marco de Desarrollo de la Junta de Andalucía. [online] Available at: http://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/273 [Accessed 9 Sep. 2017].
    • Ecured.cu. (2017). NUnit - EcuRed. [online] Available at: https://www.ecured.cu/NUnit#Caracter.C3.ADsticas_de_NUnit [Accessed 9 Sep. 2017].
    • Rodríguez, E. (2017). Pruebas unitarias. [online] Available at: http://www.tamps.cinvestav.mx/~ertello/swe/sesion15.pdf [Accessed 9 Sep. 2017].

    Comentarios

    Entradas populares de este blog

    Ejecución de pruebas

    Propiedad intelectual y licenciamiento