Contenido Introducción ............................................................................................................. 2 Importancia de las pruebas de software. ................................................................. 2 Objetivos ................................................................................................................. 3 Roles ....................................................................................................................... 4 Descripción.............................................................................................................. 5 Vista general ........................................................................................................... 6 Conclusión............................................................................................................... 7 Referencias ............................................................................................................. 7 Introducción Hoy en día hemos experimentado de una manera creciente y más acelerada el uso de software para varios aspectos de la vida cotidiana, a comparación de otros años (Fernández, 2021). Como bien sabemos este crecimiento no es algo nuevo, sino algo que hemos podido observar desde hace ya varios años, pero no podemos poner en duda que, en nuestro contexto actual, en donde aún más personas han tenido que hacer uso de softwares de manera diaria, debemos priorizar la calidad de los productos de modo que no se presenten fallas críticas con su uso continuo. Esto no se limita solo a aplicaciones software pequeñas y personales sino a todo aquel software que sea usado por empresas, para que funcionen los procesos que se llevan a cabo. Por esta principal razón es que debemos aprender la importancia de las Pruebas de software. En el presente ensayo vamos a tratar este tema, incluyendo su importancia, objetivos, los roles que existen y su descripción. Importancia de las pruebas de software. Como ya hemos podido percatarnos, gracias al actual consumo de software, esta actividad pasó de ser un proceso “artesanal”, a convertirse en “una actividad programada, planificada y con un ciclo de vida definido lo que otorga un carácter formal”. (Valdivia Espinosa & Valdivia Espinosa, 2005) A pesar de ser un medio por el cual podemos asegurar la calidad de los productos software y de verificar que todo funcione correctamente parece ser que uno de los aspectos que más se descuida es el de las pruebas. Esto es un punto crítico ya que el proceso de pruebas de software no se trata de algo menor, si no que cuenta con la misma importancia que todo el conjunto de procesos. (Sommerville, 2011, 206) Entonces, podemos decir que las pruebas nos aseguran una optimización del negocio, así como un menor costo de mantenimiento que se deba realizar en el futuro, la confianza en la usabilidad del software y garantizar que el cliente tenga una buena experiencia. Objetivos En síntesis, podemos decir que las pruebas buscan que un software efectivamente realice la actividad para la que fue desarrollado, al mismo tiempo que se descubren algunos errores que puedan presentarse. Con este propósito es que se ejecuta un programa “con pruebas artificiales” y se verifican los resultados obtenidos “para buscar errores, anomalías o información de atributos no funcionales del programa.” De un modo más específico, trataremos los siguientes puntos que resultan ser objetivos de las pruebas de software. (León, n.d.) • Conocer el nivel de calidad de productos intermedios: De esta manera se logra actuar a tiempo ante alguna adversidad, lo que se traduce en una administración más realista del tiempo. • No pagar por un producto de software sino hasta que alcance el nivel de calidad pactado: Esto aumenta la confianza del comprador de software y también hace que los riesgos se minimicen. • Disminuir la labor de soporte: Con la correcta implementación de pruebas de software se evita lanzar un producto incompleto, esto otorgará una mejor imagen a la compañía encargada del desarrollo. • Reducir costos de mantenimiento: El mantenimiento es una de las etapas más costosas del proceso de desarrollo, realizar pruebas y comprobar los requerimientos sin duda hará que exista una mejora en este aspecto. • Obtener información concreta acerca de fallas: Esto será de utilidad para la mejora de los procesos y también como un apoyo para los desarrolladores. Roles Dentro del proceso de desarrollo y más específicamente en el de pruebas es necesario que especifiquemos roles para llevar un orden y control adecuados. Se mencionan los siguientes roles: Líder de pruebas La persona encargada de este rol será aquella que conozca a profundidad cada detalle del proceso de pruebas, los datos y características de estas. Diseñará e informará el resultado de dichas pruebas hacia los productos de software.(TesterHouse, 2019) Algunas de sus tareas son : ● Definir la estrategia de pruebas ● En la fase de toma de requisitos es responsable de que el arquitecto defina el producto o funcionalidad correctamente desde el punto de vista de ingeniería de pruebas. ● Después de la entrega del producto, el líder de pruebas recibirá retroalimentación del cliente y habitualmente gestionará el mantenimiento. Analista de pruebas Será quien conocerá toda la arquitectura y tecnología utilizada en las pruebas, deben de conocer las normas definidas por la estrategia de pruebas para el desarrollo del proyecto. Algunas de sus tareas son: ● Son los encargados de crear el documento de “Análisis de Prueba” en el que deberán definir en detalle todo lo relacionado con cómo va a ser el plan de pruebas del proyecto. ● Ser capaz de ver qué requisitos se pueden automatizar. ● Seguimiento de los datos obtenidos de la ejecución de las pruebas durante el proyecto. Este seguimiento permitiría realizar correcciones en la estrategia de pruebas si fuera necesario. Tester Es quien se encargará (bajo la supervisión de los analistas de pruebas) de escribir y ejecutar las pruebas. Algunas de sus tareas: ● Escritura de las pruebas de la prueba plan. ● Ejecución de la prueba. ● Descubrimiento y reporte de fallos dentro del software Descripción Sin duda es importante que conozcamos a profundidad los tipos de pruebas existentes, sin embargo, el objetivo del presente ensayo es el de introducirnos a las pruebas de software, razón por la cual solo se dará la descripción de algunas pruebas de software. (Verity, n.d.) ● Pruebas de humo: Es una de las primeras pruebas que se realizan, en resumen, este tipo de pruebas se encarga de verificar las funcionalidades principales del sistema funcionen correctamente, al finalizar las pruebas de humo será posible validar si el software es lo suficientemente estable para afrontar otro tipo de pruebas. ● Pruebas unitarias: Este tipo de pruebas se encargan de validar el funcionamiento de las partes más pequeñas de un sistema, al verificar las unidades de código. Reducen drásticamente los problemas y tiempos dedicados a la integración y permiten probar o depurar el código sin necesidad de disponer del sistema completo ● Pruebas de integración: En las pruebas de integración se identifica el funcionamiento del sistema uniendo los componentes y códigos unitarios, el objetivo es validar que el software se comporte de una manera esperada al cambio de distintas interfaces. ● Pruebas de regresión: Las pruebas de regresión nos harán estar seguros de que, al avanzar en el proyecto, las correcciones realizadas no interfieran de una manera negativa en las funciones principales del sistema. ● Pruebas de aceptación: Esta es una de las últimas etapas, se realizan tomando en cuenta escenarios reales y se relaciona directamente con el usuario del software para validar el funcionamiento. Vista general Ya que conocimos algunos de los aspectos principales refiriéndonos a las pruebas de software me gustaría destacar un punto que considero de mucha importancia. Podemos estar seguros de que el realizar pruebas de software no resulta una tarea sencilla y mucho menos barata. Según algunos estudios estadísticos realizados por el Centro Internacional de Ciencia y Tecnología (ISTC), el presupuesto utilizado en las pruebas puede componerse hasta de un 50%, yo creo que este punto ha llevado a que (hablando de nuestra industria nacional del software) muchas empresas no les den la importancia debida a las pruebas de software derivando esto en la mala calidad y aumento del costo futuro del desarrollo de los sistemas. Con esto quiero llegar a que, considerando que la industria en nuestro país es relativamente joven (González & González, n.d.) es de vital importancia que los futuros desarrolladores y líderes de proyectos de software se enfoquen en las pruebas de software como una manera de economizar y elevar la calidad de los proyectos. Conclusión Ya conocimos lo que son las pruebas de software, su importancia y roles, con esto debemos enfocarnos en lo que es importante, la calidad, sin esta nos encontraríamos con un problema enorme en nuestra sociedad actual, al no poder confiar en algo con lo que prácticamente convivimos día a día. Es necesario que conozcamos aún más a fondo todo lo relacionado a las pruebas de software y no solo quedarnos con lo básico esto ayudará enormemente a poder trabajar en proyectos de software que sean de calidad y nos ahorrará varios problemas en el futuro Referencias Fernández, C. (2021, March 30). Incremento de uso del software educativo en tiempos de pandemia. EDUforics. Retrieved February 24, 2022, from https://www.eduforics.com/es/incremento-de-uso-del-software-educativo-entiempos-de-pandemia/ González, D. L., & González, D. L. (n.d.). Industria Mexicana del Software. Un estudio en cifras. Software Guru. Retrieved February 26, 2022, from https://sg.com.mx/revista/9/industria-mexicana-cifras León, L. V. (n.d.). Fundamentos de la Prueba de Software: conceptos, justificación y alcance. Software Guru. Retrieved February 26, 2022, from https://sg.com.mx/revista/4/fundamentos-prueba-software-conceptos-justificaciony-alcance Sommerville, I. (2011). Software Engineering (Novena ed.). Pearson. TesterHouse. (2019, September 23). Roles dentro del equipo de pruebas de software. Tester House. Retrieved February 26, 2022, from https://testerhouse.com/procesos-testing/roles-en-el-proceso-de-pruebas/ Valdivia Espinosa, D. R., & Valdivia Espinosa, E. G. (2005). Estándares de calidad para pruebas de software. Cybertesis. Retrieved February 26, 2022, from http://cybertesis.unmsm.edu.pe/bitstream/handle/20.500.12672/272/Valdivia_ee.pd f?sequence=1&isAllowed=y Verity. (n.d.). 5 pruebas funcionales que todo software necesita | Verity. Verity Consulting. Retrieved February 26, 2022, from https://www.verity.cl/blog/5pruebas-funcionales-que-todo-software-necesita Poore,Jesse H. «ISTC,» [En línea]. Available: http://istc.int/en/institute/12374#. [Último acceso: 16 03 2021].