Niveles de prueba de software

Las pruebas de software tienen varios niveles y se dividen en dos grandes categorías, las pruebas funcionales y las no funcionales. En el próximo capítulo veremos ambas categorías en detalle.

Panorama general de los niveles de prueba de software

Hay cuatro niveles de prueba.

  • Pruebas unitarias
  • Pruebas de integración
  • Pruebas de sistema
  • Pruebas de aceptación

Overview of Software Testing LevelsUnit TestTest an IndividualComponentIntegration TestTest ComponentGroupsSystem TestTest the IntegratedSystemAcceptance TestTest the FinalSystem
Abrir el diagrama a tamaño completo

Panorama general de los niveles de prueba de software

Pruebas unitarias

Una unidad es la parte independiente más pequeña del código fuente que se puede probar. Las pruebas unitarias son el primer nivel. Por lo general, las realizan quienes desarrollan el software o integrantes de su equipo, en lugar del personal de pruebas. Completa las pruebas unitarias antes de integrar las unidades. Es fundamental contar con un plan de pruebas unitarias y con casos bien definidos.

Las pruebas unitarias te permiten seguir con la integración con la confianza de que cada unidad funciona correctamente. Probar a la vez que desarrollas puede parecer lento al principio, porque se descubren defectos y es necesario cambiar el código. Con el tiempo, el código mejora y disminuyen los defectos. Esto crea una base más sólida y ayuda a avanzar más rápido en las etapas posteriores, lo que ahorra tiempo.

Unit Testing FlowWrite or ModifyYour CodeCreate UnitTest CasesCompile and ExecuteTestsCollect TestResultsEncountereda Failure?YesNoTestsPass
Abrir el diagrama a tamaño completo

Pruebas unitarias

Unas buenas pruebas unitarias también ahorran dinero. Por lo general, corregir un defecto al final del desarrollo cuesta mucho más que hacerlo en las primeras etapas.

Las pruebas unitarias cubren componentes pequeños. Por eso sus casos y datos no pueden comprobar todos los escenarios funcionales ni todos los flujos de información de una aplicación. Algunos escenarios solo se pueden probar después de combinar varias unidades en un componente mayor.

Pruebas de integración

Después de las pruebas unitarias, las de integración comprueban cómo interactúan dos o más unidades y qué resultados producen en distintos escenarios. Un especialista en ingeniería de pruebas de software realiza estas pruebas.

Las pruebas de integración revelan defectos funcionales, relacionados con los requisitos y de rendimiento. Las pruebas unitarias comprueban que los componentes funcionen por separado. Las de integración comprueban que funcionen como se espera al combinarlos. Los enfoques principales son los siguientes.

  1. Integración total (big bang)
  2. Integración descendente
  3. Integración ascendente
En la integración total, todos los módulos se combinan en el sistema completo y después se comprueba si el sistema presenta defectos.

Integration Testing ApproachesIntegration TestingTop DownIntegration TestingBottom UpIntegration Testing
Abrir el diagrama a tamaño completo

Pruebas de integración

La integración descendente empieza por los módulos de nivel superior y añade y prueba uno a uno los de nivel inferior. La integración ascendente invierte ese orden. Empieza probando los módulos inferiores y después añade los superiores de manera progresiva. Una secuencia habitual consiste en empezar con pruebas ascendentes y continuar con pruebas descendentes.

Top Down and Bottom Up Integration12345678Level OneLevel TwoLevel ThreeLevel FourBottom UpTop Down
Abrir el diagrama a tamaño completo

Pruebas de integración descendente y ascendente

En las pruebas descendentes, los módulos simulados, o stubs, sustituyen a los módulos o subprogramas inferiores que aún no están terminados o disponibles. En las pruebas ascendentes, un controlador, o driver, actúa como programa llamante cuando el programa superior necesario todavía no está disponible.

Pruebas de sistema

Una vez completada la integración, las pruebas de sistema examinan el sistema completo y sus componentes en funcionamiento conjunto. Comprueban el rendimiento, las especificaciones funcionales y técnicas, y los estándares de calidad de la organización. Un equipo de pruebas altamente capacitado debe realizarlas en un entorno lo más parecido posible al despliegue real.

System Testing through the Software Development Life CycleTestingStrategyUnitTestingIntegrationTestingSystemTestingUser AcceptanceTestingCompletion ofTestingTesting RequirementSoftwareDevelopmentLife CycleTest DependentSoftwareDevelopmentSoftwareChange ControlSoftware IsReady forImplementation
Abrir el diagrama a tamaño completo

Pruebas de sistema

Las pruebas de sistema son exclusivamente de caja negra. Comprueban los requisitos del sistema desde la perspectiva del usuario, incluidos el comportamiento de la aplicación, su diseño y las expectativas de quienes la usarán. Verifican y validan tanto la arquitectura de la aplicación como los requisitos del negocio del cliente.

Pruebas de aceptación

Después de las pruebas unitarias, de integración y de sistema, las pruebas de aceptación examinan la calidad y la exactitud con escenarios y casos predefinidos. El equipo de aseguramiento de la calidad revisa el sistema desde varias perspectivas, como su apariencia y funcionamiento interno. Esta fase es fundamental porque la aceptación del cliente depende también de los requisitos legales y contractuales. Estas son las pruebas de aceptación.

  1. Pruebas de aceptación de usuario. Los usuarios reales prueban el software antes de aceptarlo, en sus propias instalaciones o en las de la organización que lo desarrolló.
  2. Pruebas de aceptación operativa. Comprueban que existan los procesos y procedimientos necesarios para usar y mantener el sistema.
  3. Pruebas de aceptación contractual y regulatoria. Verifican el cumplimiento de los requisitos contractuales y de las normas gubernamentales, legales y de seguridad aplicables.
  4. Pruebas alfa. Comprueban la calidad general del producto y preparan las pruebas beta cerca del final del desarrollo, cuando se puede probar el sistema completo. Quienes realizan las pruebas y otros integrantes del equipo examinan la calidad y los aspectos técnicos desde la perspectiva del cliente. Esto puede llevar un tiempo considerable.
  5. Pruebas beta. Después de las pruebas alfa, usuarios reales prueban el producto en condiciones reales para mejorar la calidad y comprobar que cumple sus requisitos. Se realizan unos días o semanas antes del lanzamiento y pueden durar unos días. Pueden ser más cortas que las pruebas alfa porque en esta etapa es relativamente poco probable encontrar defectos.

User Acceptance Testing Process01PlanUAT02Identify TestingScenarios03ExecuteTests04Verify DefectsAfter Fixing05ReportResults06End ofUAT
Abrir el diagrama a tamaño completo

Pruebas de aceptación



¡Te garantizamos que con tu formación gratuita en línea aprobarás el examen de certificación en pruebas de software!

  1. 01

    Inscríbete en línea

    Elige tu certificación acreditada y completa la inscripción.

  2. 02

    Recibe tu código de acceso

    Recibirás tu código personal de acceso al examen de inmediato por correo electrónico.

  3. 03

    Prepárate y haz el examen

    Estudia con tu formación gratuita y responde en línea a 50 preguntas de opción múltiple.

  4. 04

    Obtén tu credencial de por vida

    Recibe tu certificado válido en todo el mundo y una insignia digital verificable.

Ejemplo de Accredited Software Test Manager Certification™
Inscríbete para certificarte

TU FORMACIÓN PRÉMIUM GRATUITA EN LÍNEA

Ya tienes disponible la segunda edición de Software Testing Revealed.

Preparamos esta formación con un grupo de reconocidos líderes empresariales y de equipos, formadores, mentores, expertos y referentes en pruebas de software de todos los sectores principales. Cualquier persona que visite International Software Test Institute™ puede acceder a ella. Encuentra los materiales en las secciones Tu libro gratuito de pruebas de software y Tu formación prémium gratuita en pruebas de software del menú superior.

Estos materiales son propiedad intelectual de International Software Test Institute™ y están protegidos por derechos de autor. Los compartimos gratuitamente con todos porque poner nuestra experiencia al alcance de los profesionales de pruebas de software ayuda a que el sector avance.

Tu examen de certificación consta de preguntas de opción múltiple. Estudia la formación en línea para adquirir los conocimientos que necesitas para aprobar el examen y obtener tu certificación en pruebas de software.

¡Te garantizamos que con tu formación prémium gratuita en línea aprobarás el examen de certificación en pruebas de software!