[go: up one dir, main page]

0% encontró este documento útil (0 votos)
11 vistas3 páginas

Preguntas Testing

Cargado por

Juan Tarletta
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas3 páginas

Preguntas Testing

Cargado por

Juan Tarletta
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

1. ¿Qué es testing? ¿Cuál es su importancia? ¿Cuáles son los pasos?

El testing es la tarea de demostrar que un programa realiza las funciones para


las cuales fue construido.
El testing es la tarea de probar que un programa realiza lo que se supone debe
hacer. Aun haciendo lo esperado, puede contener errores.
El testing es la ejecución de programas de software con el objetivo de detectar
defectos y fallas. Esto se considera un proceso destructivo ya que puede afectar
la moral del equipo de desarrollo.

Los Beneficios de hacer Testing son:


o El testing ayuda a reducir costos al identificar y corregir defectos
tempranamente en el proceso de desarrollo. Cuanto más tarde se detecta un
error, más costoso es corregirlo.
o Al aplicar diferentes técnicas y niveles de prueba, se generar una Reducción de
defectos generados en etapas como Diseño y Codificación.
o Al ejecutar pruebas que validen el cumplimiento de los requisitos y la ausencia
de errores, se contribuye a garantizar que el producto final cumpla con los
estándares de calidad establecidos.
o El proceso de testing genera valiosa información en forma de métricas que
pueden ser utilizadas para medir y mejorar el proceso de desarrollo.

Los pasos que debe contener una buena técnica de Testing son:
Identificación de requerimientos de Prueba, Planeamiento de la prueba,
Ejecución de la prueba, Clasificación de los errores, Mediciones, Seguimiento
de los errores y la Administración del proyecto de pruebas.
2. ¿Cuáles son los niveles de pruebas?
o Test Unitarios: el objetivo es detectar errores en los datos, lógica y
algoritmos. Los Participantes son los programadores y se realiza en el
ambiente de desarrollo para lo cual se usa el método de caja blanca.
o Test de Componentes o de Integracion: su objetivo es detectar errores
de interfaces y relaciones entre componentes. Tambien lo hacen los
Programadores durante el desarrollo y se usan los métodos de Caja
Blanca, Top Down y Bottom Up.
o Test de Sistema: se enfoca en detectar fallas en el cubrimiento de los
requerimientos. Lo realizan los Testers y Analistas durante el desarrollo
con el método Funcional.
o Test de Aceptación: su objetivo es detectar fallas en la implementación
del sistema. Lo realizan los Tester, Analista y el Cliente en el ambiente
Productivo con el método funcional.

3. ¿Cuándo es recomendable automatizar? ¿Que costo beneficio tiene? ¿Que


herramientas se usan?
Alguno de los casos en los que es recomendable automatizar las pruebas son:
tests que deban ser ejecutados muchas veces, tests que utilizan múltiples valores
de datos para los mismos casos, tests que requieren información detallada de
los estados internos del sistema (SQL, GUI, etc.), tests de stress o carga (Pruebas
no funcionales), test que requieran manejar altos volumenes de datos, test que
deban ser ejecutados en varios ambientes (browser / SO).

Es una decisión económica afrontar proyectos de automatización, por lo que


siempre se debe tener en cuenta el factor costo / beneficio.
La automatización del testing tiene un costo inicial alto, pero los beneficios a
largo plazo en términos de reducción de costos, mayor eficiencia, calidad y
productividad, la convierten en una inversión rentable para los proyectos de
tamaño mediano y grande de desarrollo de software.

Algunas de las herramientas más comunes utilizadas para automatizar el testing


de software incluyen:
Selenium: Para automatizar pruebas de interfaz de usuario web.
Appium: Para automatizar pruebas de aplicaciones móviles.
JUnit/TestNG: Frameworks de pruebas unitarias en Java.
Pytest: Framework de pruebas unitarias en Python.

4. ¿ Cuáles son los tipos de Pruebas No Funcionales?


o Test de Rendimiento: tiene como objetivo verificar que el sistema
soporta los volúmenes máximos definidos en la cuantificación de
requerimientos: Capacidad de Almacenamiento, Capacidad de
Procesamiento y Capacidad de Ancho de banda.
o Test de Seguridad: este se encarga a Nivel de la Aplicación: Verifica que
un actor solo pueda acceder a las funciones y datos que su usuario tiene
permitido y a Nivel del Sistema: Verificar que solo los actores con acceso
al sistema y a la aplicación están habilitados para accederla.
o Test de Estrés: Prueba el Sistema excediendo los límites de su capacidad
de procesamiento y almacenamiento. Teniendo en cuenta situaciones no
previstas originalmente.
o Test de Volumen: se centra en someter al software a grandes cantidades
de datos para ver si el sistema falla al llegar a los límites para los cuales
fue concebido. Verifica que el software se comporte amigablemente con
el usuario al aproximarse a los límites.
o Test de Regresión: El propósito de las pruebas de regresión es asegurar
que los casos de prueba que ya habían sido probados y fueron exitosos,
permanezcan así después de realizar cambios o actualizaciones en el
software.

5. ¿Cuáles son las Técnicas de Pruebas? caja negra, blanca y exploratorias


Las técnicas de prueba basadas en la estructura (Caja blanca) son:
o Pruebas de Sentencia: se diseñan para ejecutar al menos una vez todas
las sentencias de código, su objetivo es alcanzar el máximo de cobertura
con la menor cantidad de caso de prueba.
o Pruebas de Decision: se diseñan para ejecutar al menos una vez las
posibles salidas de los puntos de decisiones del código, su objetivo es
identificar un conjunto de pruebas que garantice que cada decisión fue
evaluada por verdadero y por falso al menos una vez.
o Pruebas de Condición: los caso de pruebas se diseñan para ejecutar al
menos una vez las posibles salidas de las distintas condiciones, su
objetivo es identificar un conjunto de pruebas que garantice que cada
condición fue evaluada por verdadero al menos una vez y por falso al
menos una vez.
o Pruebas de condición Multiple: se diseñan para ejecutar todas las
posibles combinaciones de las distintas condiciones.

Técnicas de prueba basadas en especificación (Caja negra):


o Técnica de Transición de estados: los casos de prueba son diseñados para
ejecutar transiciones de estados validas e invalidas, ayuda nuestros
esfuerzos de testing mediante la identificación de los estados, eventos y
transiciones que deban probarse. Su objetivo es visualizar los cambios
que sufren las entidades en el tiempo.
o Técnica de Casos de Uso: nos ayuda a identificar casos de prueba que
hagan uso de la todo el sistema transacción por transacción de principio
a fin. Cada caso de uso tiene un escenario más probable (principal) y otros
escenarios alternativos que abarcan casos especiales o condiciones
excepcionales (extensiones).

Técnicas basadas en la experiencia:


o El enfoque es hacer lo mínimo de planificación y lo máximo en ejecución
de prueba. La planificación consiste en decidir el tiempo que duraran las
pruebas y el alcance. El ciclo debe ser corto (una o dos horas). Como su
nombre lo indica se trata de explorar el sistema; lo que hace, lo que no
hace, lo que funciona y lo que no funciona. El tester está constantemente
tomando decisiones sobre qué explorar después y dónde gastar el tiempo
(limitado).

También podría gustarte