Los sistemas de software hoy en día son parte importante e integral en nuestras actividades diarias; ejemplo de ello son los cajeros automáticos, los vehículos, los teléfonos inteligentes, las tablets, los portátiles, relojes, televisores y muchos otros.
Se debe tener en cuenta que los sistemas o aplicaciones son creadas, desarrolladas e implementadas por seres humanos y por ende en cualquiera de sus etapas de creación se puede presentar una equivocación, al generarse esa equivocación se puede llevar a un defecto, como la mala digitación, distracción al codificar, entre otras. “Si no se ha identificado ese defecto y la o las aplicaciones se ejecutan, hay un alto riesgo de que la aplicación no haga lo que debería hacer o el objeto para lo cual fue creada, es decir se genera un fallo o desperfecto” [1].
Las pruebas son necesarias porque con ellas se puede ayudar a reducir los riesgos en las aplicaciones, y lograr de esta manera que se identifiquen los defectos antes de que se ejecuten, con esto se previenen los fallos [2].
El Proceso de pruebas, a grandes rasgos
Muchas empresas de desarrollo de software tienen una tendencia a pensar que el proceso de las pruebas de software se debe realizar en la última etapa para consolidar la calidad de su producto. Esa tendencia debe dejarse a un lado, ya que las pruebas tienen que estar alineadas al proceso de desarrollo; es clave entonces afirmar que es importante realizar un proceso de pruebas que incluya: “Revisión de los requerimientos, realización de análisis documentales, identificación de defectos, pruebas funcionales y no funcionales, pruebas dinámicas y estáticas, pruebas de integración, informes de confianza en el nivel de calidad, información para la toma de decisiones, planes de mejora continua”. [3]
Las actividades de un proceso de pruebas deben cumplir con lo siguiente: planificar y controlar; seleccionar las condiciones de la prueba; diseñar y ejecutar casos de prueba; comprobar los resultados; evaluar los criterios de resultados; elaborar informes del proceso y la aplicación objeto de las pruebas, incluyendo bitácoras de experiencia [4].
Es importante que en el proceso se elabore un plan y una matriz de pruebas para que al ejecutar los casos de prueba se pueda dictaminar si el caso funciona adecuadamente, y así establecerlo como una conformidad; en el evento de que un caso de prueba al ejecutar el producto software no funcione de forma adecuada, se relacionará como una no conformidad. A estas métricas se les define un nivel o puntuación acorde a la clasificación, las técnicas y la matriz que se utilicen.
Las métricas ayudan a estimar los tiempos, esfuerzos y asignaciones; determinan también los niveles de riesgo para que el equipo de desarrollo pueda ajustar los flujos de actividades y optimizar así los recursos y el talento de los equipos de desarrollo. Por tanto, la implementación de un proceso de pruebas brinda las pautas para definir objetivos, analizar y viabilizar los requerimientos, diseñar, detallar, programar, implementar y asegurar la calidad de un producto de desarrollo software.
Bibliografía
Artículo Análisis del proceso de pruebas de calidad de software Julián Andrés Mera-Paz
[1] A. Bertolino, “Software Testing Research: Achievements, Challenges, Dreams”, en Future of Software Engineering. L. Briand y A. Wolf, Eds. Washington: ieee Computer Society, 2007, pp. 85-103 [en línea]. Disponible en: http://dl.acm.org/citation. cfm?id=1254712
[2] B. Hetzel, The Complete Guide to Software Testing, Estados Unidos: John Wiley & Sons
[3] T. Müller, Libro Programa de Estudio de Nivel Básico para Probador Certificado, istqb, Version 2013, p. 14. Disponible en: http://www.istqb.org/downloads/send/2-foundation-level-documents/3-foundation-level-syllabus-2011.html4
[4] International Software Testing Qualifications Board [istqb], “Certified Tester Foundation Level Syllabus. Released version 2013”, 2013 [en línea]. Disponible en: http://www.istqb.org/downloads/syllabi/ foundation-level-syllabus.html