Todo lo que necesita saber sobre los métodos de prueba de software

Autor: Laura McKinney
Fecha De Creación: 6 Abril 2021
Fecha De Actualización: 16 Mayo 2024
Anonim
Problemas a la vesícula: La importancia de operar a tiempo | Clínica Alemana
Video: Problemas a la vesícula: La importancia de operar a tiempo | Clínica Alemana

Contenido

Antes de que el software se envíe para uso público o comercial, los programadores pasan horas solucionando cada error, y el producto permanece en el limbo hasta que todos los interesados ​​estén satisfechos.

Los gigantes del software de Silicon Valley como Google y Facebook a menudo envían productos populares al mercado a pesar de los errores de baja prioridad en su software. Los inversores y millones de usuarios leales tolerarán las actualizaciones de software y los problemas temporales con los productos gratuitos que ofrecen estas empresas, incluso cuando estos errores provoquen violaciones de datos y mala publicidad.

La mayoría de las compañías de software no tienen este lujo. Los clientes esperan que los productos hagan lo que dicen en la página de ventas, y están legítimamente alarmados por la vulnerabilidad de la propiedad intelectual y los datos confidenciales de sus negocios. Con tantas opciones de desarrollo de software disponibles, los clientes no piensan dos veces antes de abandonar el barco si el producto apesta a pérdida de tiempo y dinero. Por lo tanto, las empresas de software deben realizar pruebas rigurosas en sus productos antes de lanzarlas a los clientes. Estas pruebas ofrecerán las siguientes ideas:


  • Destaque las diferencias entre el concepto original y el resultado final.
  • Verifique que el software funciona como los diseñadores planearon.
  • Evaluar características y calidad.
  • Valide que el producto final cumpla con los requisitos del cliente.

Las pruebas siguen un plan estricto para optimizar la carga de trabajo, el tiempo y el dinero, al tiempo que proporcionan a los interesados ​​información esencial para hacer avanzar el producto. El objetivo es facilitar una experiencia positiva para el usuario final manteniendo un programa completo de garantía de calidad (QA). Dadas las altas apuestas para los desarrolladores, los gerentes de control de calidad son algunos de los que más ganan en la industria de la tecnología. Las pruebas generalmente siguen estos pasos:

  1. Análisis de requisitos, donde los gerentes delinean un plan para implementar una estrategia de prueba adecuada.
  2. Las pruebas comienzan y los resultados se someten a análisis.
  3. Se corrige cualquier defecto y el software pasa por una prueba de regresión (un sistema para verificar que el programa aún funciona después de las modificaciones).
  4. Un informe de cierre de prueba que detalla el proceso y los resultados.

Las personas pueden convertirse en probadores de software certificados a través de organizaciones como BCS, The Chartered Institute for IT, ISTQB® (International Software Testing Qualifications Board) y ASQ (anteriormente American Society for Quality).


Métodos de prueba de software

Las pruebas de caja en blanco y negro son dos métodos fundamentales para juzgar el comportamiento y el rendimiento del producto, pero también hay otros métodos:

  • Prueba de caja negra: También llamado prueba funcional o basada en especificaciones, este método se enfoca en la salida. Los probadores no están preocupados por los mecanismos internos. Solo verifican que el software hace lo que se supone que debe hacer. El conocimiento de la codificación no es necesario, y los evaluadores trabajan en el nivel de la interfaz de usuario.
  • Prueba de caja blanca: Este método utiliza la experiencia de codificación como parte del procedimiento de prueba. Cuando un producto falla, los probadores profundizan en el código para encontrar la causa. Los desarrolladores de software lo harán ellos mismos, ya que se les encomienda determinar cómo debería funcionar el producto. La prueba de caja blanca también se conoce como prueba "basada en estructura" o "caja de vidrio".
  • Prueba estática: Los evaluadores examinan el código fuente y cualquier documentación que lo acompañe, pero no ejecutan el programa. Las pruebas estáticas comienzan temprano en el desarrollo del producto durante el proceso de verificación.
  • Prueba dinámica: El software se ejecuta con varias entradas y los evaluadores comparan las salidas con el comportamiento esperado.
  • Prueba de interfaz gráfica de usuario (GUI): Probar características como el formato de texto, cuadros de texto, botones, listas, diseño, colores, fuentes, tamaños de fuente, etc. Las pruebas de GUI requieren mucho tiempo, y las empresas de terceros a menudo asumen la tarea en lugar de los desarrolladores.

Niveles de prueba

Se utilizan diferentes niveles de prueba para identificar áreas de debilidad y superposición en cada fase del ciclo de vida de desarrollo de software.


  • Examen de la unidad: Los desarrolladores prueban las partes más básicas del código, como clases, interfaces y funciones / procedimientos. Saben cómo debe responder su código y pueden hacer ajustes dependiendo de la salida.
  • Prueba de componentes: Este paso también se conoce como prueba de "módulo" o "programa". Es similar a las pruebas unitarias, pero contiene un mayor nivel de integración. Los módulos del software se prueban en busca de defectos para verificar su función individual.
  • Pruebas de integración: Esto identifica errores cuando los módulos están integrados. Los diferentes métodos para las pruebas de integración incluyen "ascendente", "descendente" e "incremental funcional".
  • Prueba del sistema: Los componentes de un proyecto se prueban como un todo en diferentes entornos. Las pruebas del sistema se incluyen en el método de recuadro negro y es una de las pruebas finales del proceso. Determinará si el sistema está preparado para satisfacer las necesidades comerciales y de los usuarios.
  • Prueba alfa: El personal interno prueba el software en el sitio del desarrollador en un entorno simulado o real. Después de eso, los desarrolladores rectifican errores y otros problemas.
  • Prueba beta: También conocido como prueba de campo, los clientes prueban el producto en sus propios sitios en condiciones reales. Los clientes pueden ofrecer a un grupo de usuarios finales la oportunidad de probar el software a través de versiones preliminares o versiones beta. Los comentarios sobre posibles mejoras se envían al desarrollador.
  • Test de aceptación: También bajo el alcance de las pruebas de caja negra, los clientes prueban el software para averiguar si el desarrollador ha desarrollado completamente el programa para ajustarse a las especificaciones deseadas.

Tipos de prueba

Los diferentes tipos de pruebas de software están diseñados para centrarse en objetivos específicos:

  • Prueba de instalación: El ingeniero de pruebas y el administrador de configuración realizan esta prueba para garantizar que el usuario final pueda instalar y ejecutar el programa. Cubre áreas como archivos de instalación, ubicaciones de instalación y privilegios administrativos.
  • Pruebas de desarrollo: Esto implementa una variedad de estrategias sincronizadas para detectar y prevenir defectos. Incluye análisis de código estático, revisiones de código de pares, trazabilidad y análisis de métricas. El objetivo es reducir los riesgos y ahorrar costos.
  • Pruebas de usabilidad: La experiencia del usuario se destaca con esta prueba. Mide qué tan bien la facilidad de uso de la GUI. La prueba verifica la precisión y eficiencia de las funciones y las respuestas emocionales de los sujetos de prueba.
  • Prueba de cordura: Esto indica si el software vale la pena el tiempo y el costo para continuar más pruebas. Si hay demasiados defectos, no se realizarán pruebas más agresivas.
  • Prueba de humo: Las pruebas de humo revelan fallas básicas que son lo suficientemente graves como para evitar su liberación. Cuando esto se lleva a cabo en una nueva compilación, se denomina prueba de "verificación de compilación".
  • Pruebas de regresión: Cuando el sistema sufre modificaciones, las pruebas de regresión monitorean el comportamiento inesperado. Señala efectos adversos en módulos o componentes.
  • Pruebas destructivas: Los probadores ingresan entradas anormales y perciben la capacidad del software para administrar entradas inesperadas. Esto muestra a los desarrolladores cuán robusto es el programa en la gestión de errores.
  • Prueba de recuperación: Cuando el hardware u otras funciones fallan, esta prueba muestra qué tan bien el software puede recuperarse y continuar operando.
  • Pruebas automatizadas: Esto realiza funciones difíciles de implementar manualmente. Utiliza software específico para ejecutar pruebas y proporcionar datos sobre resultados reales versus resultados esperados.
  • Pruebas de compatibilidad: El software debe ejecutarse en diferentes entornos informáticos, por lo que esto verifica la compatibilidad con diferentes sistemas. Por ejemplo, probar el software con varios sistemas operativos y navegadores web.
  • Pruebas de rendimiento: Esta es una prueba en profundidad que examina el rendimiento del software en diferentes escenarios. Se recopila información sobre capacidad de respuesta, estabilidad, asignación de recursos y velocidad. Las subpruebas como el volumen, la capacidad y las pruebas de pico desempeñan un papel en este proceso.
  • Pruebas de seguridad: Esto mide la capacidad del software para proteger la seguridad de los usuarios. Esto significa funciones de autorización, autenticación, confidencialidad, integridad, disponibilidad y no repudio.
  • Pruebas de accesibilidad: Esto no es lo mismo que las pruebas de usabilidad. Esto determina la medida en que los usuarios de diferentes capacidades, aprendizaje y discapacidades físicas incluidas, pueden usar el software.
  • Pruebas de internacionalización y localización: Los resultados muestran cómo el software puede adaptarse a diferentes idiomas y demandas regionales. Esto incluye agregar componentes para ubicaciones específicas y traducción de texto.