domingo, 27 de septiembre de 2015

Pruebas de Software

Para poder hablar de las "Pruebas de Software", primero es necesario conocer el proceso mediante el cual son desarrollados los softwares, a este proceso que no solo incluye su periodo de desarrollo, sino también su implementación y manutención, se le llama "Ciclo de Vida del Software" y puede resumirse en la siguiente ilustración:


Pruebas.

Ya una vez conociendo en qué momento de la vida del software se llevan a cabo las pruebas, se puede hablar de que las pruebas pueden entenderse como actividades que se planean con anticipación y se llevan a cabo de forma sistemática, pero al aplicarse al software, necesitan de un plan de pruebas de software, Éstos son procesos en el que se ejecuta un programa con la intención de encontrar un error que aún  o se descubre.


Verificación y Validación.

Cuando se está desarrollando un software y se van aplicando las pruebas, algo que nunca debe perderse de vista es que constantemente debe de llevarse a cabo validaciones y verificaciones, pero ¿Qué significan estos dos conceptos?
  • Validación: En el ámbito del software, la validación es el proceso de revisión al que se somente un programa para comprobar que cumple con sus especificaciones. Esto se realiza con la intención de confirmar que el programa permita llevar a cabo las tareas que sus potenciales usuarios esperan de ella. Éste concepto puede sintetizarse con la pregunta: ¿Se está construyendo el producto correcto?
  • Verificación: Tiene su raíz en el latin "Veriticare" que está compuesto por dos partes: "veritas" (verdadero), y "facere" (hacer). Con esto se entiende que verificación es la acción de verificar, que es comprobar o examinar la verdad de algo, y suele ser un proceso que se realiza para revisar si una determinada cosa está cumpliendo con los requisitos y normas previstos, se puede sintetizar con la siguiente pregunta: ¿Se está construyendo correctamente el producto?

Tipos de Pruebas:
  • Pruebas de Unidad:
    • Son pruebas que lo que hacen es probar una unidad estructural de un código y tienen las siguientes características:
      • Unitarias: Prueban únicamente pequeñas cantidades del código.
      • Independiente: No debe depender ni afectar a otras pruebas unitarias.
      • Prueba métodos públicos: De otra manera la prueba sería frágil a cambios en la implementación y no se podría utilizar en pruebas de regresión.
      • Automatizable: La prueba no debería requerir intervención manual.
      • Repetición y Predecible: No debe incidir el orden y las veces que se repita la prueba, el resultado debe ser siempre el mismo.
      • Profesionales: Deben tener la misma importancia y cuidado que el mismo código.
  • Pruebas de Integración:
    • Su propósito es probar grupos de unidades relacionadas para verificar su operación conjunta, por lo que su énfasis está en la interacción de las partes, no en cada parte individual, gracias a esto son capaces de identificar problemas de interfaces entre unidades y la falta de coherencia entre lo que se espera de una unidad y lo que se ofrece.
  • Pruebas de Validación:
    • Como su nombre lo indica, son pruebas cuyo objetivo es validar lo que se está haciendo, en este caso el software o proyecto, y esta validación debe de llevarse a cabo con la persona que quiere ese software, es decir el cliente para que éste confirme o desmienta que el software en desarrollo cumpla con sus requerimientos y especificaciones.
  • Pruebas de Sistema:
    • Como dice su nombre, el propósito de este tipo de pruebas es poner a prueba el sistema ya en su totalidad, con todas las partes que deben de intervenir en él, tanto la parte de codificación y funcionamiento de cada uno de sus módulos, pasando por la integración de éstos para que funcionen como uno solo, hasta la parte de la interacción de los usuarios con el sistema, podría decirse que lo se hace es probar al sistema en su "ambiente natural".

No hay comentarios.:

Publicar un comentario