Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Módulo 1 / Encuentro 1/20 Principios y ciclo de vida del testing OBJETIVOS DEL MÓDULO 1 ¿Qué habilidades desarrollarás? ● Aprendizaje cooperativo entre pares ● Atención al detalle ● Fundamentos de la lógica de programación ● Manejo y priorización de la información ● Herramientas mínimas de seguridad de la información ¿Qué herramientas técnicas aprenderás? ● Comprensión sobre el mundo del testing ● Principios generales del testing ● Proceso de testing ● Ciclo del testing ● Terminología específica de la disciplina. *No es necesario solicitar permiso de edición del documento, si deseas puedes crear una copia �Archivo > Crear una copia]* Introducción + icebreaker1 ¡Te damos la bienvenida a nuestras guías de trabajo! En cada encuentro, tendrás una guía como esta que te acompañará durante tu avance en el aprendizaje de los temas. En los primeros encuentros, verás que nuestras guías te indican cómo usar el tiempo de estudio, te ofrecen ideas sobre cómo interactuar en las salas de grupos pequeños (breakout rooms) y cómo solicitar ayuda a otros estudiantes. A medida que avances en el recorrido, ya no tendremos tanto para indicarte y tendrás suficiente autonomía para tomar decisiones acerca de tu propia administración del tiempo en relación al curso. ¡Demos comienzo a la actividad del día de hoy! 1. Presentación del equipo: Si no lo han hecho todavía o eres de las personas que prefiere que otro comience, te sugerimos que indiques tu nombre y lugar de dónde vienes. Lo puedes hacer en el chat o usando tu micrófono. Hoy compartes el encuentro con una pequeña porción de personas integrantes de una gran comunidad que irás conociendo poco a poco. 1Rompehielo = Icebreaker. Se denomina toda actividad dinamizadora que -generalmente -se utiliza al inicio de un proyecto o clase para introducir temas, activar conocimientos, promover la participación, entre otras. 2 Luego de haber cursado el módulo anterior ya tendrás una idea sobre algunas de las palabras claves de esta carrera. Les proponemos que redacten una definición para cada uno de los siguientes conceptos: a) Calidad b) Testing ➢ Recuerden sumar todos los aportes individuales. ➢ Cuando finalicen, compartan las definiciones de ambos términos en el chat dentro de la breakout room. Utilicen unos 10 minutos para intercambiar y leer las definiciones del resto del equipo. ¡Anímense! Fundamentos de la calidad de software Según lo analizado en el módulo anterior y en la actividad realizada hace unos minutos es posible deducir que la calidad está íntimamente ligada al proceso de testing. Veamos definiciones: Calidad es el grado en el cual un componente, sistema o proceso cumple con los requerimientos especificados y/o con las necesidades y expectativas del usuario o cliente. Accedé a la fuente de información aquí Visitá la siguiente página haciendo click en el enlace para leer otras definiciones y profundizar al respecto. Tip: ¡Podés añadir esta web a tus favoritos y visitarla periódicamente! A continuación, te invitamos a ver el siguiente video sobre los fundamentos de la calidad del software. Pueden hacerlo todos juntos o de manera individual. 3 https://glossary.istqb.org/en/term/quality-2 https://softwaretestingfundamentals.com/software-quality/ TIP: Tomen nota y registren los key concepts. ¿Tienes dudas? Velas con tu equipo Ver video “Los fundamentos de la calidad del software” Repasamos nuevamente estas imágenes que aparecen en el video. Nos referimos a la historieta y al meme. ¿Entienden su significado? ¿Cómo se relacionan con el testing y la calidad? Fuentes: https://dev.to/codemouse92/turning-bugs-into-features-48gl ¡MANOS A LA OBRA! Entrada en calor: 4 https://youtu.be/beYoGWOU_bk https://youtu.be/sMsMDlPlKkc https://dev.to/codemouse92/turning-bugs-into-features-48gl Ejercicio #1 ¡Vayamos entrando en calor! Piensen en productos que hayan comprado y no se hayan ajustado a la descripción o que no ofreciera las funcionalidades que debieran tener. Recuerden compras online, electrodomésticos, viajes, ropa, alimentos, bebidas, hardware, equipamiento tecnológicos, etc. ¿Listo? ¿Cómo manejaron esa situación? Rol de QA y Rol del desarrollador: ¿todo junto o separado? Aquí te proponemos tres razones que fundamentan la existencia de roles diferenciados: 1. En procesos de creación (como el desarrollo de software) suele ser difícil tomar distancia crítica sobre el producto creado. Se torna complejo -para el creador (es decir, el desarrollador)- encontrar sus propias fallas. Por esa razón es más efectivo la diferenciación de roles, siendo los especialistas en QA quienes testean y prueban el producto creado. 2. El programador/desarrollador no puede simular el lugar de usuario final y probar todos los escenarios y combinaciones de uso posibles para su desarrollo. En primer lugar porque no es su función primordial, en segundo porque de ser así le insumiría mucho tiempo que podría destinar a desarrollar mejoras en las funcionalidades del producto. 3. El tester QA desarrolla una estrategia para testear el producto y luego lleva a cabo todas las pruebas posibles. Propone una cuarta razón para comentar con tu equipo y no olvides compartirla en el chat del encuentro en vivo. 5 Entrada en calor: Ejercicio #2� Simulación de un “plan de pruebas” Objetivo: Testear Gmail (bandeja de correo de Google) ¿Cómo? mediante escenarios de prueba ¿De qué manera? Ordenando los escenarios por prioridad A continuación deberás diseñar escenarios que podrían simular un “plan de pruebas”. Hazlo de forma individual y escribe tantos como consideres ¿Cuál de ellos probarían primero? Aplicando este criterio ya estás listo para comenzar.. Puedes utilizar la siguiente plantilla Al finalizar, vas a utilizar una metodología de evaluación para descubrir si tu plan de pruebas es correcto. Esta metodología se denomina” peer to peer” y seguramente la utilices en tu futuro laboral. Hacé una búsqueda online para investigar de qué se trata… ¿Listo? ¡Comencemos! Paso 1: Revisar al menos 2 (dos) planes de pruebas de un compañero de tu equipo. Utiliza la siguiente guía de evaluación para dejar tu huella en el plan de pruebas que recibirás. Evaluación peer to peer 1. Claridad: ¿Los escenarios están descritos claramente? ¿Son de fácil comprensión? ¿Es un escenario realmente? Se comprende “qué” es lo que se debe probar en cada uno? 2. Comportamiento: ¿Cada escenario refleja correctamente el comportamiento esperado? 3. Orden: ¿El orden establecido es el correcto? ¿Cumple con el requisito de “orden por prioridad”? ¿Vos hubieses propuesto otra manera? 4. Gaps: ¿Están todos los escenarios de prueba clave? ¿Faltó alguno importante? 5. Redundancia: ¿Algún escenario es innecesario? ¿Se repiten o son muy similares? Paso 2: Ofrecer y registrar comentarios, feedback, dudas, preguntas y correcciones. Cada Plan de prueba debe contener al menos tres huellas visibles: a) La del creador b) La del primer evaluador del equipo 6 https://docs.google.com/document/d/1Q_7DiWWWjl29CSNf_SxfWI8vt3NQxIAHFUIuTNWCDw8/edit?usp=sharing c) La del segundo evaluador. Paso 3� Puesta en común ¿Cómo resultó el ejercicio anterior? ¿En algún caso el plan de pruebas no recibió ninguna corrección? ¿A qué creen que se debe? MATERIAL DE LECTURA El crecimiento del área de desarrollo de software puso de manifiesto la necesidad de contar con un profesional que asumiera la responsabilidad de analizar y testear los productos creados. Es así, que el área de QA adquiere relevancia para la industria IT. El programador desarrolla teniendo en cuenta los requerimientos y especificaciones solicitadas. Sin embargo, en cualquiera de las etapas de su trabajo (creación de un programa o cambios en productos ya en funcionamiento) existen variables que podrían generar errores en el funcionamiento del producto. Por eso, es fundamental la presencia de profesionales que revisen (testeen) la funcionalidad desde la definición solicitada, hasta su implementación en el código. Todo esto debe realizarse antes de colocarel producto en el mercado. Es decir, mientras antes se evalúen los posibles errores, mejor. ¿NECESITAS UN EJEMPLO? En la industria IT, se testea antes de que un producto o sistema avance a la etapa de producción detectando errores y comprobando que cumpla con los requisitos solicitados. ¿Qué tipos de problemas te imaginás que sucederían si no se hiciese testeo antes de la producción? ¿Cómo afecta eso al negocio -en caso de tratarse de una empresa- o a la reputación de un profesional independiente? 7 Comenten entre el equipo las respuestas a estas interrogantes👆 Podés seguir profundizando en estas notas de interés: ● The true cost of a software bug at each phase of the SDLC ● https://brainhub.eu/library/strategies-for-managing-bugs Al testear, se podrían encontrar con defectos que son productos de gaps o faltas de definiciones. Analicemos su definición: ● Gap o Falta de definición: Algo que no funciona o funciona de manera errática. El escenario que da lugar a ese funcionamiento puede no haber sido considerado al momento de definir los requerimientos y/o especificaciones del sistema. En resumen: El objetivo del testing es asegurar que los requerimientos funcionales y no funcionales sean analizados antes de que un sistema entre en servicio para que cualquier defecto encontrado, sea reportado al equipo de desarrollo y pueda corregirse. Los test a un sistema permiten medir aspectos relacionados a la calidad. Responde las siguientes preguntas: El testing por sí solo eleva la calidad del producto por proponer opciones de mejora. El testing por sí solo no eleva la calidad pero contribuye a la mejora en la calidad. Debatan entre ustedes y comenten sus respuestas. Pueden llamar a un mentor para revisar sus respuestas. Super pro tip: Testing y riesgo. Desde tu rol, siempre deberás preguntarte: ¿Cuál sería el impacto de encontrar un fallo en el sistema testeado? ¿Qué probabilidad de que ese error suceda? IMPACTO + PROBABILIDAD� RIESGO Tendría sentido mencionar que a mayor riesgo, mayor cantidad y complejidad de las pruebas de testeo. 8 https://www.celerity.com/insights/the-cost-implications-of https://brainhub.eu/library/strategies-for-managing-bugs Sabemos que has hecho un gran esfuerzo hoy. Tomaste contacto nuevamente con todos los entornos de aprendizaje cooperativo, conociste estudiantes como tú, recuperaste contenidos vistos anteriormente y has asimilado definiciones de palabras nuevas. Estamos para pedirte un último esfuerzo. ¡Un ejercicio más para hoy! Ejercicio #3� Lean las siguientes definiciones. Les servirá para comprender algunos temas de los próximos encuentros. Pueden comentarlas y leerlas en grupo para consultar dudas Requerimientos funcionales: Son requerimientos que especifican y/o describen funciones que debería llevar a cabo el sistema o componente. Es decir: describen en detalle qué es lo que debería hacer el sistema o componente en cada situación. Requerimientos no funcionales: Todos los requerimientos que debe cumplir un sistema y que no son parte del comportamiento del sistema. 9 Extra credits ¿Escuchaste hablar del ciclo virtuoso de deming? Investiga y relaciona con el proceso de testing y calidad. Luego, realiza la puesta en común para socializar con tu equipo. MATERIAL DE LECTURA Profundicemos un poco más en el tema calidad. Existen normas2 que se usan para medir la calidad se software. Algunas de ellas son: 1� CALIDAD ISO / IEC 9126 2 Normas de calidad 10 Super TIP� A continuación te dejamos el mismo gráfico pero en su versión original. Es importante que puedas aprender vocabulario específico en inglés ya que -como mencionamos en el curso anterior- es el idioma predominante en la industria IT. Fuente: Abran, Alain & Al-Qutaish, Rafa. �2010�. ISO 9126� Analysis of Quality Models and Measures. 10.1002/9780470606834.ch10. Puedes profundizar más aquí 2 - ISO / IEC 25010 SQuaRE— System and Software Quality Requirements and Evaluation. Para conocer más sobre esta norma, te invitamos a leer el siguiente artículo 11 https://www.verity.cl/que-es-norma-iso-iec-9126-2001/ https://iso25000.com/index.php/normas-iso-25000/iso-25010 Fuente Ambas normas abarcan los mismos aspectos. Sin embargo existen algunas diferencias: ● En el gráfico ISO 9126, seguridad y compatibilidad (e interoperabilidad) están considerado dentro de la rama de Funcionalidad ● En el gráfico ISO 25010 esos mismos aspectos aparecen separados y algo más desglosados. Secreto de la industria: Sabemos que en IT la actualización constante es fundamental para ponerse al día con los cambios tecnológicos. Es importante que dediques un tiempo diario o semanal a revisar múltiples fuentes, páginas, foros y comunidades de expertos para estar al día y ofrecer un servicio profesional acorde a la velocidad que caracteriza a la industria. 12 https://normeno.medium.com/iso-25010-y-el-desarrollo-de-software-112393a4b341 Es importante tener en cuenta estas normas referidas a la calidad de software a la hora de desarrollar las tareas de testing: desde el análisis de los requerimientos hasta el diseño del plan de pruebas. ¿Cómo se organiza el área de testing? Entrada en calor: Ejercicio #4� a) Les asignan su primer trabajo: Evaluar y testear un e-commerce. La compañía te pide que realices las pruebas de evaluación siguiendo y cumpliendo las normas de calidad Iso 9126. ¿Qué pruebas harían?. b) Clasifiquen las pruebas según su Tipo. ¿Son todas funcionales? Recordá las clasificaciones de las normas ISO9126 y las definiciones que les ofrecimos anteriormente c) Descarguen la siguiente plantilla y compartan solo a su equipo. Solución 13 https://docs.google.com/document/d/1_Feh-F5mUtePN9P0ncBUDhC_mD6aDAL6jY_1zzIqTXU/edit?usp=sharing7dfjTa-jyz-TU/edit https://docs.google.com/document/d/1raGMxh7d17L892rVwGnfa2glLa6gvXblb8C7nKaNQMw/edit ¡Hora de cerrar! ¡Lo hemos logrado! Has llegado al final del primer encuentro. Tómense 15 minutos como equipo para conversar sobre los riesgos que podría ocasionar no realizar testing. Les dejamos algunas preguntas disparadoras: 1. ¿Cuáles son las habilidades blandas que debería desarrollar un tester para cumplir con su rol efectivamente? 2. ¿Cómo viene tu aprendizaje? ¿Cómo aprovechas la cooperación para aprender? Recuerda que los equipos cambian en cada encuentro. En el próximo, no necesariamente te encontrarás con el mismo de hoy. ¡Gran momento para recordar qué son los pulsos. ¿Te gustaría recibir pulsos? no olvides cooperar, dar lo máximo en cada encuentro y colaborar con todos los integrantes. Este breve video les recuerda cómo se utilizan los pulsos para armar los equipos en el futuro. Ver Video sobre Pulsos 14 https://youtu.be/beYoGWOU_bk
Compartir