Hola que tal, pues para todos aquellos que están interesados en adentrarse en el roll de tester, aquí le dejos los términos que deben entender, son términos muy básicos, pero fundaménteles, voy a ir nutriendo poco a poco este post, para ir generando un tema mucho más interesante, si alguien quiere contribuir con información, será bienvenida, gracias y comencemos.

¿ Qué es el software de "calidad" ?

Software de calidad es razonablemente un software libre de errores, entregado a tiempo y dentro del presupuesto, cumple con los requerimientos y/o expectativas y es mantenible.

¿ Qué es la verificación y qué es la validación ?

Verificación implica normalmente estudios y reuniones para evaluar documentos, planos, código, requerimientos y especificaciones. Esto se puede hacer con listas de control (checklist), listado de issues, guías y reuniones de inspección. La validacion implica típicamente las pruebas reales y tiene lugar después de que la verificación fue completada.

¿ Qué es una inspección ?

Una inspección es más formal que una "guía", por lo general de 3-8 personas incluyendo al moderador, el lector (autor de lo que sea que se este revisando) y una persona que tome notas. El tema de la inspección suele ser un documento ya sea el de especificación de requerimientos o un plan de pruebas y el objetivo es encontrar los problemas y ver lo que falta y no para arreglar algo.

¿ QA y Testing ? Diferencias

La garantia de calidad en el software(QA) involucra todo el PROCESO de desarrollo, el monitoreo y mejoras en los procesos, asegurándose de que las normas y procedimientos se siguieron al pie de la letra, garantizando que los problemas son econtrados y tratados. Esto es orientado a la prevención.Testing implica el funcionamiento de un sistema o aplicación bajo condiciones controladas y la evaluación de los resultados (ej. si el usuario esta en la interfaz A de la aplicación mientras utiliza el hardware B y no el harware C, entonces D debe ocurrir). Las condiciones controladas, deben incluir tato condicionones normales como anormales. El Testing debe intencionalmente intentar que las cosas vayan mal para determinar si las cosas suceden cuando no deben de suceder o cosas q no suceden cuando debiesen. Esto es orientado a la detección.

Ciclo de vida del Proceso de Testing

Los siguientes son algunos de los pasos a considerar:

  • Obtener los requerimientos, diseño funcional, especificaciones de diseño interno y otros documentos necesarios.
  • Obtener calendario de requerimientos.
  • Identificar al personal relacionado con el proyecto y sus responsabilidades, reporte de requerimientos, standars y procesos requeridos (tales como procesos de liberación, procesos de cambio, etc).
  • Identificar aspectos de alto riesgo de la aplicación, establecer prioridades y determinar el alcance y las limitaciones de las pruebas.
  • Determinar los enfoques y métodos de las pruebas, unitarias, funcional, de sistema, de carga, pruebas de usabilidad, etc.
  • Determinar el entorno de pruebas necesario (hardware, software, comunicaciones, etc.).
  • Determinar el testware necesarios (herramientas de registro/reproducción, analizadores de cobertura, pruebas de rastreo, rastreo de problemas/fallos, etc.).
  • Determinar las pruebas de entrada de datos.
  • Identificar tareas y los responsables de tareas.
  • Establecer calendario de estimaciones, timelines y milestones.
  • Determinar las clases de equivalencia de entrada, análisis de los limites de valor, clases de error.
  • Peparar el documento del plan de testing, que haya tenido revisiones y aprobaciones.
  • Escribir casos de pruebas.
  • Revisiones / inspecciones / aprobaciones de los casos de pruebas.
  • Preparar el ambiente de testing y de testware, es necesario obtener manuales de usuario / documentos de referencia / guías de configuración, crear pruebas de seguimiento a procesos, crear logs y procesos de archivo, crear u obtener datos prueba de entrada.
  • Obtener e instalar liberaciones del sistema
  • Realizar las pruebas
  • Evaluar y reportar resultados
  • Rastrear problemas/errores y correcciones.
  • Re Probar tantas veces sea necesario
  • Mantener actualizado el plan de testing, casos de pruebas, ambiente de prueba y testware a través del ciclo de vida.
Como veran esto es un tema bastante extenso, espero poder actualizarlo constantemente, hasta pronto.