www.sgcampus.com.mx @sgcampus
www.sgcampus.com.mx
@sgcampus
Grisel Ancona Martínez
Importancia del testing en los proyectos
www.sgcampus.com.mx @sgcampus
Importancia del testing
El estudio de Standish Group indica que se producen graves
consecuencias en la calidad del software por no
implementar el proceso de pruebas en los proyectos.
“Los bugs de software cuestan $59,5 mil
millones de dólares anuales a la economía de
EE.UU.“
www.sgcampus.com.mx @sgcampus
Importancia del testing
El testing de software es una de las etapas
fundamentales de cualquier «buen» ciclo de
desarrollo.
www.sgcampus.com.mx @sgcampus
Modelos tradicionales
www.sgcampus.com.mx @sgcampus
Modelos tradicionales
www.sgcampus.com.mx @sgcampus
Ciclo de entrega ágil
www.sgcampus.com.mx @sgcampus
Importancia del testing
Un proyecto de desarrollo software sin actividades
de QA en cada una de sus fases, desde el inicio
hasta el final, disparará considerablemente su
coste, exigirá un esfuerzo mayor en la fase de
Pruebas.
www.sgcampus.com.mx @sgcampus
Importancia del testing
•Es absolutamente esencial para identificar los
errores que se han cometido en las fases de
desarrollo.
•Garantiza que el software es fiable y asegura la
satisfacción del cliente.
•Garantiza la calidad del producto, lo que en última
instancia permite fidelizar al cliente.
www.sgcampus.com.mx @sgcampus
Niveles de pruebas
•Pruebas Unitarias o de Componente: este tipo
de pruebas son ejecutadas normalmente por el
equipo de desarrollo.
•Pruebas de Integración: este tipo de pruebas son
ejecutas por el equipo de desarrollo y consisten en
la comprobación de que elementos del software
que interactúan entre sí, funcionan de manera
correcta.
www.sgcampus.com.mx @sgcampus
Niveles de pruebas
• Pruebas de Sistema: este tipo de pruebas deben
ser ejecutadas idealmente por un equipo de
pruebas ajeno al equipo de desarrollo.
• Ejecución de actividades de prueba en donde se
debe verificar que la funcionalidad total de un
sistema fue implementada de acuerdo a los
documentos de especificación definidos en el
proyecto.
www.sgcampus.com.mx @sgcampus
Niveles de pruebas
• Pruebas de Aceptación: son pruebas que se
realizan con el cliente, en donde el comprueba que
se ha realizado sus procesos de negocio
establecidos en los requerimientos.
www.sgcampus.com.mx @sgcampus
Equipo de QA
•QA detecta errores, bugs o cualquier condición
que haga fallar nuestro software.
www.sgcampus.com.mx @sgcampus
Equipo de QA
En el equipo de QA debemos ser capaces de:
• Entender los aspectos funcionales y técnicos del
negocio sobre el cual se aplica el software que
tenemos que testear.
•Comprender las limitaciones y restricciones de la
tecnología.
www.sgcampus.com.mx @sgcampus
Equipo de QA
• Poder comunicarse de forma efectiva y eficaz
(tener mucho tacto a la hora de hablar con los
equipos de desarrollo, a nadie le gusta que le
digan que su trabajo está mal hecho)
www.sgcampus.com.mx @sgcampus
Clasificación de incidencias
Puedes definir tus criterios de clasificación, los mas
comunes son:
• Alta: Bugs que se consideran que alteran de forma
importante o detienen los flujos principales del proceso:
–Uno o más de los flujos principales del sistema no se completa
–Los cálculos finales no son los correctos
–El sistema no finaliza el proceso según el requerimiento
–El sistema no cumple con normas, legislaciones o políticas internas
que son necesarias para salir a producción
www.sgcampus.com.mx @sgcampus
Clasificación de incidencias
• Media
– Hay que ejecutar más pasos de los necesarios para obtener el
resultado
– El sistema no se comporta como es requerido o esperado
– Problemas en la presentación de información
– Falta de controles y validaciones
www.sgcampus.com.mx @sgcampus
Clasificación de incidencias
• Baja: Orientados a presentación, diseño y navegabilidad, este tipo de
bugs se tratan más de aquellos que no afectan ni un flujo principal, ni
un flujo alternativo pero que puede ser algo molesto en la mayoría de
los casos:
–Colores no corresponden al estándar de colores del sistema
–Navegabilidad no es la esperada
–Alineación de los campos en pantallas o reportes
–Posición de los objetos en pantallas o reportes
www.sgcampus.com.mx @sgcampus
Incidencias más comunes
• Validación o falta de campos
• No funciona el algún navegador
• Reparar algo y no verificar que afecte en otro
módulo
• No analizar bien el requerimiento
• Dejar alerts
www.sgcampus.com.mx @sgcampus
Tester vs Desarrollador
•Los desarrolladores están conectados
emocionalmente con lo que ellos escriben (es muy
difícil ser objetivo con lo que tú mismo has hecho)
•El trabajo de desarrollo está basado en tomar
escenarios positivos y hacerlos posibles en el
producto.
www.sgcampus.com.mx @sgcampus
Tester vs Desarrollador
• Una de las tareas cotidianas de un tester es la de
pensar en escenarios complejos para hacer fallar
al sistema y así identificar los fallos.
• Tomamos algo sencillo y buscamos formas en
que lo podamos complicar.
• La mayoría de los desarrolladores se centran en
un componente o funcionalidad en particular de su
producto.
www.sgcampus.com.mx @sgcampus
Tester vs Desarrollador
•De los testers se espera que tengan una
perspectiva mucho más amplia de los productos,
se nos exige que los entendamos y los probemos
como un todo, usando técnicas que nos permitan
simular la forma en que los usuarios
eventualmente trabajarán con ellos en la vida real.
www.sgcampus.com.mx @sgcampus
Tester vs Desarrollador
• Un tester experimentado ve un formulario y
automáticamente empieza a pensar en los errores
y fallos más comunes que puede encontrar en él,
tras lo cual se pone a hacer testing con ellos.
•El testing de un desarrollador añade un montón de
valor al proceso general de testing.
www.sgcampus.com.mx @sgcampus
Tester vs Desarrollador
www.sgcampus.com.mx @sgcampus
Hay empresas de desarrollo de software donde si
QA dice que el producto no puede ser liberado
porque aun hay errores que pueden afectar el
comportamiento el sistema ¡No se libera!.
www.sgcampus.com.mx @sgcampus
Caso 1
El software A se envió a QA para probar, de 115
casos de prueba se detectaron 97 incidencias.
¿Qué hubiera pasado si se le presentaba al cliente
de esa manera?
www.sgcampus.com.mx @sgcampus
Caso 2
El software B no fue enviado a QA y tenían entrega
con el cliente, al estar presentando falló el 70%
¿Qué hubiera pasado si QA hubiera revisado el
software?
www.sgcampus.com.mx @sgcampus
Entonces …
¿QA tiene la última palabra para
liberar?

Importancia del testing en los proyectos

  • 1.
    www.sgcampus.com.mx @sgcampus www.sgcampus.com.mx @sgcampus Grisel AnconaMartínez Importancia del testing en los proyectos
  • 2.
    www.sgcampus.com.mx @sgcampus Importancia deltesting El estudio de Standish Group indica que se producen graves consecuencias en la calidad del software por no implementar el proceso de pruebas en los proyectos. “Los bugs de software cuestan $59,5 mil millones de dólares anuales a la economía de EE.UU.“
  • 3.
    www.sgcampus.com.mx @sgcampus Importancia deltesting El testing de software es una de las etapas fundamentales de cualquier «buen» ciclo de desarrollo.
  • 4.
  • 5.
  • 6.
  • 7.
    www.sgcampus.com.mx @sgcampus Importancia deltesting Un proyecto de desarrollo software sin actividades de QA en cada una de sus fases, desde el inicio hasta el final, disparará considerablemente su coste, exigirá un esfuerzo mayor en la fase de Pruebas.
  • 8.
    www.sgcampus.com.mx @sgcampus Importancia deltesting •Es absolutamente esencial para identificar los errores que se han cometido en las fases de desarrollo. •Garantiza que el software es fiable y asegura la satisfacción del cliente. •Garantiza la calidad del producto, lo que en última instancia permite fidelizar al cliente.
  • 9.
    www.sgcampus.com.mx @sgcampus Niveles depruebas •Pruebas Unitarias o de Componente: este tipo de pruebas son ejecutadas normalmente por el equipo de desarrollo. •Pruebas de Integración: este tipo de pruebas son ejecutas por el equipo de desarrollo y consisten en la comprobación de que elementos del software que interactúan entre sí, funcionan de manera correcta.
  • 10.
    www.sgcampus.com.mx @sgcampus Niveles depruebas • Pruebas de Sistema: este tipo de pruebas deben ser ejecutadas idealmente por un equipo de pruebas ajeno al equipo de desarrollo. • Ejecución de actividades de prueba en donde se debe verificar que la funcionalidad total de un sistema fue implementada de acuerdo a los documentos de especificación definidos en el proyecto.
  • 11.
    www.sgcampus.com.mx @sgcampus Niveles depruebas • Pruebas de Aceptación: son pruebas que se realizan con el cliente, en donde el comprueba que se ha realizado sus procesos de negocio establecidos en los requerimientos.
  • 12.
    www.sgcampus.com.mx @sgcampus Equipo deQA •QA detecta errores, bugs o cualquier condición que haga fallar nuestro software.
  • 13.
    www.sgcampus.com.mx @sgcampus Equipo deQA En el equipo de QA debemos ser capaces de: • Entender los aspectos funcionales y técnicos del negocio sobre el cual se aplica el software que tenemos que testear. •Comprender las limitaciones y restricciones de la tecnología.
  • 14.
    www.sgcampus.com.mx @sgcampus Equipo deQA • Poder comunicarse de forma efectiva y eficaz (tener mucho tacto a la hora de hablar con los equipos de desarrollo, a nadie le gusta que le digan que su trabajo está mal hecho)
  • 15.
    www.sgcampus.com.mx @sgcampus Clasificación deincidencias Puedes definir tus criterios de clasificación, los mas comunes son: • Alta: Bugs que se consideran que alteran de forma importante o detienen los flujos principales del proceso: –Uno o más de los flujos principales del sistema no se completa –Los cálculos finales no son los correctos –El sistema no finaliza el proceso según el requerimiento –El sistema no cumple con normas, legislaciones o políticas internas que son necesarias para salir a producción
  • 16.
    www.sgcampus.com.mx @sgcampus Clasificación deincidencias • Media – Hay que ejecutar más pasos de los necesarios para obtener el resultado – El sistema no se comporta como es requerido o esperado – Problemas en la presentación de información – Falta de controles y validaciones
  • 17.
    www.sgcampus.com.mx @sgcampus Clasificación deincidencias • Baja: Orientados a presentación, diseño y navegabilidad, este tipo de bugs se tratan más de aquellos que no afectan ni un flujo principal, ni un flujo alternativo pero que puede ser algo molesto en la mayoría de los casos: –Colores no corresponden al estándar de colores del sistema –Navegabilidad no es la esperada –Alineación de los campos en pantallas o reportes –Posición de los objetos en pantallas o reportes
  • 18.
    www.sgcampus.com.mx @sgcampus Incidencias máscomunes • Validación o falta de campos • No funciona el algún navegador • Reparar algo y no verificar que afecte en otro módulo • No analizar bien el requerimiento • Dejar alerts
  • 19.
    www.sgcampus.com.mx @sgcampus Tester vsDesarrollador •Los desarrolladores están conectados emocionalmente con lo que ellos escriben (es muy difícil ser objetivo con lo que tú mismo has hecho) •El trabajo de desarrollo está basado en tomar escenarios positivos y hacerlos posibles en el producto.
  • 20.
    www.sgcampus.com.mx @sgcampus Tester vsDesarrollador • Una de las tareas cotidianas de un tester es la de pensar en escenarios complejos para hacer fallar al sistema y así identificar los fallos. • Tomamos algo sencillo y buscamos formas en que lo podamos complicar. • La mayoría de los desarrolladores se centran en un componente o funcionalidad en particular de su producto.
  • 21.
    www.sgcampus.com.mx @sgcampus Tester vsDesarrollador •De los testers se espera que tengan una perspectiva mucho más amplia de los productos, se nos exige que los entendamos y los probemos como un todo, usando técnicas que nos permitan simular la forma en que los usuarios eventualmente trabajarán con ellos en la vida real.
  • 22.
    www.sgcampus.com.mx @sgcampus Tester vsDesarrollador • Un tester experimentado ve un formulario y automáticamente empieza a pensar en los errores y fallos más comunes que puede encontrar en él, tras lo cual se pone a hacer testing con ellos. •El testing de un desarrollador añade un montón de valor al proceso general de testing.
  • 23.
  • 24.
    www.sgcampus.com.mx @sgcampus Hay empresasde desarrollo de software donde si QA dice que el producto no puede ser liberado porque aun hay errores que pueden afectar el comportamiento el sistema ¡No se libera!.
  • 25.
    www.sgcampus.com.mx @sgcampus Caso 1 Elsoftware A se envió a QA para probar, de 115 casos de prueba se detectaron 97 incidencias. ¿Qué hubiera pasado si se le presentaba al cliente de esa manera?
  • 26.
    www.sgcampus.com.mx @sgcampus Caso 2 Elsoftware B no fue enviado a QA y tenían entrega con el cliente, al estar presentando falló el 70% ¿Qué hubiera pasado si QA hubiera revisado el software?
  • 27.
    www.sgcampus.com.mx @sgcampus Entonces … ¿QAtiene la última palabra para liberar?