BLOG RumboITIL

    ¿Quieres enviarnos un post y que lo publiquemos? Envíalo a info@rumboitil.net

    Metodologías de pruebas

    - Comentar(0)

    Las etapas de ciclo de vida del software, se nutre de la toma de requisitos, Análisis, diseño, desarrollo, pruebas, implantación y mantenimiento.
    Vamos a ver como se desarrolla la etapa de pruebas y cuales son sus metodologías más convencionales.

    El término “Prueba” viene utilizándose  dando nombre  a diferentes estrategias y objetivos en su aplicación. Pruebas unitarias, de integración, se sistema o de aceptación. Se presentan como una actividad que se desarrolla para evaluar la calidad de un producto. En actividades, se identifican los errores, y se solventan mejorando el producto.


    Las pruebas se aplican en diferentes fases del proceso de desarrollo, y en ocasiones  mediante diferentes probadores.


    1. Metodologías convencionales


    En este tipo de metodología, que es la mayormente utilizada, la actividad de ejecución de las pruebas no empieza hasta que la etapa de desarrollo es finalizada. Esto requiere un entorno de desarrollo, un entorno de certificación (ambos entornos iguales) donde se realizarían los casos de prueba (unitarias, de integración, se sistema o de aceptación, las pruebas de integración no podrían iniciarse hasta que finalizasen las unitarias) y se certificaría su funcionalidad como correcta o incorrecta. En el caso de ser correcta, se abriría una ventana de implantación en producción, y se implantaría el desarrollo con un porcentaje del 100% de acierto en la funcionalidad en este entorno.

    La parte negativa de este método es que si las pruebas resultaban erróneas, se vuelve a la etapa de desarrollo, se corrigen los errores y se vuelve de nuevo a la etapa de pruebas, esto obviamente retarda mucho las subidas de nuevos desarrollos a producción que en muchos casos podría ser un desarrollo estratégico para la organización.
    Estos flujos, han ido evolucionando y ahora,  las pruebas se consideran como una actividad que debe estar integrada en todo el proceso de desarrollo.
    En las metodologías convencionales, los ingenieros de pruebas definen los casos de pruebas y los probadores son los responsables de ejecutarlos.



    2.Metodologías ágiles


    La evolución del mercado hace ineficientes los cambios usando las metodologías convencionales y se requiere una progresiva reducción del tiempo requerido su implantación en producción.
    Las metodologías ágiles intentan incrementar la calidad del producto y reducir el coste derivado de los cambios en los requisitos.

    Las pruebas tienen objetivos diferentes, la idea es que los requisitos sean traducidos a pruebas, así, cuando las pruebas sean correctas se garantiza que el software cumple con los requisitos que se han establecido. En las metodologías ágiles los encargados de realizar las pruebas, son los propios desarrolladores, ellos conocen el código y su estructura y pueden subsanar el error en tiempo real. Estas pruebas serán unitarias son los desarrolladores los encargados de ejecutar este tipo de pruebas mediante pruebas unitarias, y los casos de pruebas serán creados por ellos mismos.

    Las metodologías ágiles, abogan por que las pruebas y el desarrollo estén completamente integradas y presentan distintos enfoques del proceso de desarrollo que vienen determinados por los tipos de pruebas que se están realizando. Utilizan las pruebas unitarias y de aceptación como principales herramientas para dar soporte a los enfoques de pruebas.

    En la estrategia Test-driven development (TDD), se toma como base las pruebas unitarias. En primer lugar, se detalla una prueba y se verifica, si falla se implementa el código que hace que la prueba sea correcta, re-factorizando el  código escrito logrando un código limpio que funcione.


    2.1 Ciclo de pruebas:


    - Elección del requisito
    - Escribir una prueba.
    - Verificar que la prueba falla
    - Escribir código.
    - Ejecutar las pruebas automatizadas.
    - Refactorización.
    - Validación en la lista de requisitos.


    La estrategia Acceptance Test Driven Development (ATDD) ayuda a coordinar los proyectos de software y de esta forma entregar al cliente lo que realmente desea. Las pruebas de aceptación son especificaciones de comportamiento y funcionalidad deseados para un sistema. Este enfoque toma como punto de referencia al usuario, y una vez que las pruebas de aceptación están definidas, el equipo de desarrollo comienza a escribir el código fuente necesario para superar los criterios de aceptación.

    El objetivo de ATDD es  probar la funcionalidad del sistema mientras que TDD tiene como objetivo que el sistema se construya de acuerdo a la funcionalidad determinada por el usuario. ATDD se lleva a cabo en colaboración con el usuario y en un lenguaje que usuario pueda entender.


    2.2 Ejemplo prueba de aceptación (ATDD):


    - Propiedad del cliente.
    - Escrito con los usuarios, desarrolladores y analistas de pruebas.
    - Basándose en el “Qué” y no el “Cómo”.
    - Lenguaje entendible por el usuario.
    - Conciso y preciso.


    En resumen...

    Mientras en las metodologías convencionales, las pruebas no se ejecutarán hasta que se haya finalizado el desarrollo, en las metodologías  ágiles las pruebas se escriben antes comenzar el desarrollo y sólo se escribe el código necesario para superar las pruebas guiando así el proceso de desarrollo.










    7 May 2014 - admin @ 14:56 | Comentar(0)

    Todavía no se ha escrito ningún comentario

    Archivos

    July - 2017 - Ver todos
    November - 2014 - Ver todos
    October - 2014 - Ver todos
    September - 2014 - Ver todos
    August - 2014 - Ver todos
    July - 2014 - Ver todos
    June - 2014 - Ver todos
    May - 2014 - Ver todos
    April - 2014 - Ver todos