Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Testing ágil

11/29
Recursos

Involucra a todos, no solo en al tester, todos en el equipo son tester. La persona con este rol se asegura de la mayor cobertura de pruebas tomando en cuenta todas las necesidades que cada uno de los miembros del equipo también esta intentando hacer que funcione. El tester tiene que definir si se esta cumpliendo con los requerimientos funciones y los del equipo.

Estrategias Ágiles:

  • El testing es de ““todo el equipo””
  • El testing puede ser independiente
  • Integración continua
  • Testing guiado por pruebas (Test Driven Development)
  • Desarrollo guiado por comportamiento (Behaviour Driven Development)
  • Desarrollo guiado por las pruebas de aceptación (Acceptance Test Driven Development)

Aportes 71

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Testing guiado por pruebas (Test Driven Development) está mal traducido, es Desarrollo Guidado por Pruebas.

Desarrollo guiado por pruebas de software, o **Test-driven development (TDD) **es una práctica de ingeniería de software que involucra otras dos prácticas:

  • Escribir las pruebas primero (Test First Development), y

  • Refactorización (Refactoring).

Para escribir las pruebas generalmente se utilizan las pruebas unitarias (unit test en inglés).

  • En primer lugar, se escribe una prueba y se verifica que las pruebas fallan.

  • A continuación, se implementa el código que hace que la prueba pase satisfactoriamente y seguidamente

  • se refactoriza el código escrito.

El propósito del desarrollo guiado por pruebas es lograr un código limpio que funcione. La idea es que los requisitos sean traducidos a pruebas

de este modo, cuando las pruebas pasen**_ se garantizará que el software cumple con los requisitos que se han establecido._**

En la prueba de aceptación pienso en algo como la extensión y resolución:

-Que la imagen cumpla ciertos píxeles de resolución (dimensiones)
-Que dicha imagen corresponda a cierto tipo de extensiones (.jpg, .PNG)

Dentro de aceptación de usuario agregaría casos como:

  1. Formato de la foto
  2. Tamaño y resolución de la foto
  3. Tiempos
  4. Si al actualizar la foto se elimina la anterior o la guarda parcialmente
  5. Si queda algún registro de actualizaciones que se han realizado, etc.

Como aporte sobre TDD y BDD:

  • BDD y TDD no son técnicas de testing, ambas son estrategias de desarrollo.
  • Un Tester si puede utilizar estas estrategias pero debe escribir los escenarios antes de escribir código.
  • TDD y BDD tienen el mismo objetivo(Red Green Refactor) la diferencia es que cada uno está enfocado a describir el escenario a diferentes roles, TDD es muy técnico y obliga al lector a saber interpretar código mientras que BDD ofrece una capa donde podemos describir las funcionalidades de forma que cualquier persona pueda entender(Gherkin)

Aceptación de usuario.

  1. Si se pide un correo electrónico único.
    1.1) Agregar correo.
    1.2) Consultar en la DB si el correo existe.
    1.3) Enviar un mensaje con link de validación al correo.
    1.3.1) El link de validación agrega el usuario a la base de datos.
    1.3.2) El link de validación caduca? de ser cierto hay que testear. Porque puede darse el caso de que si el link no caduca y agrega un correo a la base de datos. Pero alguien lo ingreso o uso ese correo en el tiempo posterior a la consulta de si existía o no ese correo, entonces podríamos estar dando una entrada repetida en nuestra basa de datos.
  2. La contraseña
    2.1) Caracteres especiales, Extencion, etc.
    2.2) repetir contraseña y coincidencia.
    2.3) cambiar contraseña
    2.4) notificación al correo de que se cambio la contraseña
    2.5) Volver contraseña atrás.
    2.6) Olvido de contraseña y permiso para cambiarla
  3. Se pide un username o Alias?
    3.1) Alias único en la base de datos.
    3.2) Alias no obsceno.
    3.3) Alias que no implique usurpación de identidad.
    3.3.1) Similitud con otro usuario preexistente.
    3.3.2) Similitud con lista de famosos etc.

no se se me ocurrieron que esas son cosas que uno hace en las redes sociales para validar a los usuarios. También esta la tilde al famoso [conozco y acepto los términos del contrato de servicio]

En la parte de Componentes agregaría el método para Subir la foto:

  • Si permite Drag and Drop o si debe abrir una ventana de explorador de archivos para poderla seleccionar.
  • También agregaría si la foto debe cumplir con un tamaño mínimo y máximo para que se pueda acotar correctamente al área de la foto.

Apuntes:

Testing ágil

Testing ágil involucra a todos los miembros de un equipo ágil multifuncional, en el cual el rol del tester es el de un experto multifuncional, que garantiza se entregue el valor de negocio deseado al cliente a un ritmo sostenible y continuo.

Estrategias ágiles

• El testing es de “todo el equipo”
• El testing puede ser independiente (opcional)
• Integración continua
• Testing guiado por pruebas (Test Driven Development - TDD)
• Desarrollo guiado por comportamiento (Behaviour Driven Development - BDD)
• Desarrollo guiado por pruebas de aceptación (Acceptance Test Driven Development - ATDD)

Pruebas de aceptación podría ser:
*El tamaño de la foto
*La extensión del documento que se está incluyendo como foto
*Si se requiere eliminar o editar, el sistema debe almacenar la foto que ha sido modificada o eliminada?

En cuanto a la aceptación de usuario, yo probaría esto:

Un criterio de aceptación es que permita subir la foto de acuerdo a los pixeles y resolución que defina el usuario para su foto de perfil.

Testing ágil involucra a todos los miembros de un equipo ágil multifuncional, en el cual el rol del tester es el de un experto multifuncional, que garantiza se entregue valor de negocio deseado al cliente a un ritmo sostenible y continuo.

  • El testing es de “todo el equipo”
  • El Testing puede ser independiente (opcional)
  • Integración continua
  • Desarrollo guiado por pruebas (Test Driven Development - TDD)
  • Desarrollo guiado por comportamiento (Behaviour Driven Development - BDD)
  • Desarrollo guiado por pruebas de aceptación (Acceptance Test Driven Development - ATDD)

Ejemplo de historias:

Sesión de usuario: Nueva característica -> El usuaro puede agregar una foto a su perfil

  • Sesión de usuario
    • Componentes
      • Hay foto
      • No hay foto
      • Actualizaciones
      • Eliminar
      • Editar
    • Integraciones
      • Repositorio
      • Accesos internos
      • Accesos externos
    • Aceptación de usuario
      • Formatos de imagen (jpe, jpeg, png)
      • Resolución y/o peso máximo

Caso: Sesión de usuario

Descripción: El usuario puede agregar su foto de perfil.

Pruebas unitarias

  • Hay foto.
  • No hay foto.
  • Hay foto no valida.
  • Mensajes que deben mostrarse en los 3 casos.
  • Eliminar.
  • Editar.

Pruebas de integración

  • Accesos de red.
  • Permisos.

Pruebas de aceptación

  • Se puede cargar la foto.
  • Se guarda la foto.
  • Se elimina la foto.
  • Se edita la foto.
  • Hay mensajes en caso de errores.
  • Se puede cargar desde el botón o arrastrando la foto.
  • ¿Qué pasa si se carga algo que no sea una imagen?

Aceptación de Usuario:

  1. Visualizar la foto
  2. Resolución permitida
  3. Formato permitido
  4. Formato invalido
  5. Cargar la foto por Drop o arrastrarla al campo

Pruebas de aceptación para la story “El usuario puede agregar foto a su perfil”:
Subir fotos de distintos formatos.
Salvar foto en formato esperado.
Salvar foto con un size definido.
Salvar foto con un size superior al definido.

pruebas de estress o volumen

Para las pruebas de aceptación se deben de tomar los casos derivados de las historias de usuario(criterios de aceptación).

Para una prueba de aceptación, podría ser:

El usuario puede subir una foto de forma temporal especificando el tiempo que debe aparecer la foto antes de caducar y regresar a la primer foto subida.

Testing ágil
involucra a todos los miembros de un equipo agil multifuncional, en el cual el rol del tester es el de un experto multifuncional que garantiza se entregue el valor de negocio deseado al cliente a un ritmo sostenible y continuo
Estretegias agiles
El testing es de todo el equipo
El testing puede ser independiente (opcional)
Integracion continua
Desarrollo guiado por pruebas (Test Driven Development - TDD)
Desarrollo guiado por comportamiento (Behaviour Driven Development - BDD)
Desarroolo guiado por pruebas de aceptación (Acceptance Test Driven Development - ATDD)

Todo esto tiene relación con la metodología Scrum?

Testing ágil:

  • Promueve el trabajo en equipo.
  • Amplitud en las ideas.

Prueba de aceptación del usuario (UAT)
Las pruebas de aceptación del usuario se realizan para verificar la funcionalidad del sistema en su conjunto por parte de un usuario final.
UAT se puede realizar utilizando 5 metodologías (pruebas alfa y beta, pruebas de aceptación de contrato, pruebas de aceptación de regulaciones, pruebas de aceptación operativa y pruebas de caja negra).

Para la etapa de aceptación de usuarios podemos tener los siguientes Test:

  • Correo (datos) valido.
  • Cuenta verificada.
  • Cifrar la información persistente y sensible del usuario.

sesión de usuario-aceptación de usuario:
*formato de la imagen
*resolución de la imagen
*tamaño de la imagen
*cantidad de fotos que puede agregar al mismo tiempo

esto fue lo único que se me ocurrió, mas no se si estoy bien.

En aceptación de usuario pondría: tamaño y formato de la foto . eliminación de la foto anterior en caso de querer cambiar la imágen

Ejemplo de testing ágil

Un tester en la estrategia Agile Testing se define como una figura dentro del desarrollo de un software que se dedica a comprobar si el resultado final funciona de acuerdo a su especificación.

El Agile Testing es una una práctica de pruebas de software que sigue los principios de desarrollo ágil. Esta estrategia se basa en involucrar a todos los miembros de un equipo ágil multifuncional, en el cual el rol del “tester” será que el equipo entregue los valores del negocio deseados por el cliente, trabajando a un ritmo sostenible y continuo.

Es importante mencionar que lo que se busca es que el método Agile Testing se adapte a la empresa, y no que sea al revés, ya que, de esta manera, los colaboradores no sentirán que su metodología de trabajo cambia de forma abrupta.

Esta metodología ágil involucra diversas prácticas, por ejemplo, Testing de “todo el equipo”, Testing independiente (opcional), Integración continua, Testing guiado por pruebas (Test Driven Development – TDD), Desarrollo guiado por comportamiento (Behaviour Driven Development – BDD), Desarrollo guiado por pruebas de aceptación (Acceptance Test Driven Development – ATDD), entre otros.

Aceptación del usuario
Subir la foto desde: pc, movil etc
Tamaño de foto
Formato de la imagen
Calidad de imagen

para la aceptación de usuario puede ser si la imagen puede tener algún tipo de movimiento, la calidad en resolución de la imagen, marcos en imagen

Testibg ágil involucra a todos los miembros de un equipo ágil multifuncional, en el cual el rol del tester es el de un experto multifuncional, que garantiza se entregue el valor de negocio deseado al cliente a un ritmo sostenible y continuo.

Estrategias Agiles
-El Testing es de “todo el equipo”
-El testing puede ser independiente (opcional)
-Integración continua
-Testing guiado por pruebas
-Desarrollo guiado por comportamiento
-Desarrollo guiado por pruebas de aceptación

Para los casos de aceptación de usuario se podria tener en cuenta: el tipo extensión de la imagen es decir en que formatos la puede cargar, donde se refleja a lo largo del sofware por ejemplo en la parte superior derecha.

Se me hace importante el considerar los diferentes formatos y tamaños que se deben de poder subir.

  1. Si se les avisa a los usuarios cuáles son y el tamaño. (Ej: JPG y PNG menores a 70kb).
  2. Que el sistema los pueda subir correctamente.

Buenas tardes ,otra prueba que se podría realizar para el nivel de aceptación de usuario , seria la del ingreso y reconocimiento de la huella dactilar .

el tono de voz es muy bajo y desde el celular no es facil de entenderle. Posdata: el celular está al Máximo de volumen

Inncluiria:
-Tamaño
-Resolucion
-Manera de agregra la foto? Drag and Drop?
-En caso de actualizar la foto anterior se almacena en base de datos? por cuanto tiempo se guardaria? cuantas actualizaciones se guardarian por usuario?

Buenas Noches.

Puede alguien indicarme por favor si el Cargo o Rol de un analista de pruebas no funcional (Agile Tester) realiza pruebas a API´s donde usa herramientas como por ejemplo POSTMAT.

Muchas Gracias.

frontend testing
Este artículo les puede aportar más información también https://medium.com/@poloo.p3/what-is-frontend-testing-and-how-do-i-have-tested-it-540e12335317

Involucra a todos, no solo en al tester, todos en el equipo son tester. La persona con este rol se asegura de la mayor cobertura de pruebas tomando en cuenta todas las necesidades que cada uno de los miembros del equipo también esta intentando hacer que funcione. El tester tiene que definir si se esta cumpliendo con los requerimientos funciones y los del equipo.

Estrategias Ágiles:

    - El testing es de “todo el equipo”
    - El testing puede ser independiente
    - Integración continua

|
|

  • Desarrollo guiado por pruebas (Test Driven Development (TDD)):

TDD es una técnica para diseñar software que se centra en tres pilares fundamentales:

        - La implementación de las funciones justas que el cliente necesita y no más.
        - La minimización del número de defectos que llegan al software en fase de producción.
        - La producción de software modular, altamente reutilizable y preparado para el cambio.

Es una práctica que involucra otras dos:

				-Escribir las pruebas primero (Test First Development)
				-Refactorización (Refactoring).

Para escribir las pruebas generalmente se utilizan las pruebas unitarias (unit test en inglés).
se usa un ciclo de desarrollo que consta de 3 partes principales:

        - La prueba debe fallar
        - La prueba debe pasar
        - Se debe refactorizar el código

El propósito del desarrollo guiado por pruebas es lograr un código limpio que funcione. La idea es que los requisitos sean traducidos a pruebas
de este modo, cuando las pruebas pasen se garantizará que el software cumple con los requisitos que se han establecido.
|
|
- Desarrollo guiado por comportamiento (Behaviour Driven Development(DGC)):

El desarrollo guiado por el comportamiento (Behavior Driven Development) usa conceptos del DDD (Domain Driven Design) para mejorar el enfoque de TDD.
Las pruebas de BDD se escriben en un lenguaje casi natural, donde priman las palabras clave que definen el proceso que da valor al usuario. Una prueba de BDD tiene un aspecto similar al siguiente:

            Scenario:   Añadir un producto a la cesta de compra
            Given       Estoy viendo la página del artículo
            When        Pulso el botón “añadir a la cesta”
            Then        El contador de la cesta de compra incrementa
            And         El artículo aparece en la cesta de la compra

BDD facilita al desarrollador determinar el alcance de sus pruebas, ya no se trata de probar métodos o clases, sino de garantizar que una funcionalidad se comporta como el usuario se espera.
Es una potente herramienta capaz de generar valor real para el usuario centrando las pruebas en el producto final como un todo y no en el código.
|
|

  • Desarrollo guiado por las pruebas de aceptación (Acceptance Test Driven Development):

          son el criterio escrito de que el software cumple los requisitos de negocio que el cliente demanda. Son ejemplos escritos por el dueño del producto.

¿que tipo de prueba es, permitir solo imágenes?

Involucra a todos, no solo en al tester, todos en el equipo son tester. La persona con este rol se asegura de la mayor cobertura de pruebas tomando en cuenta todas las necesidades que cada uno de los miembros del equipo también esta intentando hacer que funcione. El tester tiene que definir si se esta cumpliendo con los requerimientos funciones y los del equipo.

Estrategias Ágiles:

El testing es de ““todo el equipo””
El testing puede ser inpendiente
Integración continua
Testing guiado por pruebas (Test Driven Development)
Desarrollo guiado por comportamiento (Behaviour Driven Development)
Desarrollo guiado por las pruebas de aceptación (Acceptance Test Driven Development)

Tal Vez el test de aceptación que es la última de las pruebas que debe atravesar una aplicación dentro de un plan de QA, una vez que ya se ha probado que cada módulo funciona bien por separado, que la aplicación puede utilizarse bajo condiciones de operación extremas, que todos los módulos se integran correctamente y que el software ofrezca las funciones esperadas, llega el momento de escuchar la opinión del impulsor del proyecto, el usuario final.

Testing ágil
involucra a todos los miembros de un equipo, en el cual el rol del tester es el de un experto que garantiza se entregue el valor de negocio deseado al cliente
Estratrgias Agiles:

  • El testing es de todo el equipo
  • El testing puede ser independiente
  • Integración continua
  • Desarrollo guiado por pruebas
  • Desarrollo guiado por comportamiento
  • Desarrollo guiado por pruebas de aceptación

Creo que la definicion correcta de TDD es Desarrollo guiado por pruebas. Testing guiado por pruebas suena redundante.

Dentro de la aceptación de usuario, según los criterios de validación de aceptación, se podría tomar en cuenta igualmente los repositorios de usuarios y protocolos de seguridad, etc.

TDD: Desarrollo guiado por pruebas*

Red Green Refactor.

Testing agil es involucrar a todo el equipo

La verdad genial… incluso agrego una, validar la foto. Que tal si sube una foto que no es apropiada.

Un análisis mal efectuado puede provocar un aumento de hasta un 170% en costos adicionales del software.
.
Pruebas en el testing ágil
.

  1. Componentes: Ingresar, eliminar, editar, etc.
  2. Integraciones: Transmisión de datos- Repositorios, accesos internos y externos.
    3.Validaciones: Confirmación o comparación de los datos.

Tipo de archivo: que tal si no es un formato png ó jpg que la extención sea PDF o XML

Para las pruebas de aceptación del usuario, se tendría que indagar si:
es de fácil manejo,práctico,cómodo, seguro,cumple con cada requerimiento, multiplataforma.

Un tipo de prueba de aceptación podría ser:
-Que la imagen no supere cierto tamaño, no que sea demasiado pequeña.
-La imagen debe de ser de cierto tipo de extensión, por ejemplo que solo acepte jpg.

Aceptación de usuario

  • Cuantos usuarios usan la nueva función
  • Que opinan los usuarios sobre la función

Para la aceptación de usuario me basaría en los criterios de aceptación definidos en la historia de usuario

Buen día

Las otras pruebas que recomiendo para Aceptación de Usuario es utilizar inteligencia artificial para los siguientes escenarios:

Gracias

Para las pruebas de aceptación lo que haría sería irme al requerimiento y probar lo que pidieron, por ejemplo si solo era poder Agregar una foto de perfil sería:

  1. Entrar a la aplicación con credenciales válidas.
  2. Ir a la sección de Perfil
  3. Seleccionar opción para agregar foto
  4. Seleccionar foto desde mi local
  5. Subir la foto seleccionada
  6. Guardar
  7. Verificar que la foto se muestre donde debe ir.

Aceptación de Usuario

  • Pruebas de usuabilidad (si la interfaz y el sistema facilitan al usuario realizar el proceso)
  • Pruebas de dispositivo (si hay aplicacion movil, probar desde diversos dispositivos)

Hay alguna metodología tipo Scrum para esto?

Listo

Aceptación del usuario

  • Puede subir la foto desde su local
  • Poder reajustar el tamaño automáticamente, según el tamaño permitido
  • Permitir el formato jpg, png
  • Cambiar automáticamente el tipo de formato a uno permitido, conservando la calidad de la foto.

Claramente cada área tiene un gran sinfin de items para ser chequeado. De ahí va la destreza y el talento del QA que es quien lo va a desarrollar de la mejor manera posible. Veo que este curso se complementa mucho con el de Testing de Videojuegos de Ricardo Izquierdo.

¿Cómo se diferencian las pruebas de componentes con las de integración?

Ese curso de testing de aplicaciones esta excelente. ojala continuen ampliando la cantidad de este tipo se material.

Testing Ágil

  • Involucra a todos los miembros del equipo
  • Equipo multifuncional
  • Tester: Rol de experto multifuncional
    – Garantiza la entrega del valor de negocio
  • Ritmo sostenible y continuo

Estrategias agiles

  • Testing es de todo el equipo
  • Testing puede ser indepndiente
  • Integracion Continua
  • Test Driven Development
  • Behaviour Driven Development
  • Acceptance Test Driven Development

Algo muy importante es que incluso aunque todos sean testers (lo cual ahorra mucho tiempo, dinero y frustración) es recomendable hacer un testing al final, ya cuando todo se junta

Todos en el equipo son testers y el tester ya solo se asegura de que todos lo sean, para que este ya no haga nada

Sería un poco más enfocado al backend, pero la conexión con la base de datos. Que no se repita su correo o/y nombre de usuario, además de que su contraseña sea segura, ya saben, 8 caracteres como mínimo, mayúsculas y minúsculas, con al menos un número y un símbolo.