Testing Proud

56

description

Introduction to testing and QA

Transcript of Testing Proud

Page 1: Testing Proud
Page 2: Testing Proud

¿Que es calidad?

0 La calidad es el valor a alguna persona

0 Es subjetiva

0 Diferentes clientes perciben del mismo producto diferentes niveles de calidad

0 La gente de calidad buscan cosas diferentes para los diferentes clientes

Page 3: Testing Proud

Software Testing

0 Investigación

0Empirica

0Tecnica

0 Llevada a cabo para proporcionar a los interesados

0 Con información

0 Sobre la calidad

0Del producto que se esta probando o del servicio

Page 4: Testing Proud

Software Testing

0 Encontrar bugs

0 Evaluar la calidad del producto

0 Ayudar a los managers / Product owners a evaluar el producto y ayudar en la toma de decisión de liberar el producto

0 Ayudar a predecir y controlar los costes del soporte del producto

0 Evaluar la interoperabilidad con otros productos

0 Certificar productos para normativas legales

0 Confirmar que el sistema cumple con las expectativas de los clientes.

Page 5: Testing Proud

El rol del tester

Page 6: Testing Proud

Falacias sobre QA

Page 7: Testing Proud

Falacias sobre QA

PROGRAMADORES TESTER

Page 8: Testing Proud

Falacias sobre QA

Page 10: Testing Proud

Tareas del testing

0Diseñar la arquitectura de testing

0Diseñar los tests

0Automatizar si es posible

0Ayudar a los programadores a realizar su código

0 Evitando los errores de comunicación entre PO / desarrollo

0 Ayudándoles a hacer tests unitarios

0Dar información a POs sobre la calidad del producto

0Revisar las métricas sobre la calidad del producto

Page 11: Testing Proud

Sprint planning0 Planificar las diferentes tareas de

testing

0Dar al equipo diferentes puntosde vista sobre las historias de usuario.

0Ayudar a definir los criterios de aceptación mediante preguntas

0Definir los escenarios que luegoguiaran el desarrollo.

Page 12: Testing Proud

Retrospectiva0 Promover la mejora continua del

equipo.

0 La gente de QA puede exponer lasdiferentes deficiencias que hanencontrado durante el desarrollo del sprint

0Dan feedback a todo el equipo sobrela calidad del producto

0Obtener feedback del resto del equipo sobre el trabajo del equipo de calidad

Page 13: Testing Proud

Demonstración

0 Ayudar a la preparación de la demostración a los ProdutoOwners mediante los escenarios diseñados

0 Pueden resolver o solventar las diferentes dudas quetengan los clientes sobre el producto

Page 14: Testing Proud

Durante el sprint

0Acabar de diseñar los escenarios y los diferentes casos de prueba

0Automatizar los casos de prueba

0 FrontEnd

0 BackEnd

0Mantener el sistema de integración continua

0Revisar las métricas de desarrollo

Page 15: Testing Proud

El día a día de un QA

3

2

1

Let’s Go!

Page 16: Testing Proud

Sprint Planning

0 Google API sobre codificación Geográfica:

0 Queremos ofrecer un producto que nos ayude a mejorar nuestros conocimientos de Geografía.

0 Como usuario necesitamos un producto que cuando le indiquemos una ciudad nos devuelva el país al que pertenece.

0 A parte necesitamos guardar si la petición se realiza desde un dispositivo con un sensor de localización para usos futuros.

Page 17: Testing Proud

Sprint Planning

La historia de usuario podría ser:

Como usuarioQuiero saber el código del país de una localizaciónPara mejorar mis conocimientos de Geografía

Page 18: Testing Proud

Sprint Planning

0Empezamos a construir y pensar escenarios para definir los criterios de aceptación:

0 Que pasa si le damos una ciudad que no existe?

0 Que pasa si no le damos ninguna localización?

0 Que pasa si le damos una ciudad mal deletreada?

0 Que pasa si no le damos un valor en el sensor?

0 Hay auntenticación

Page 19: Testing Proud

Sprint Planning

0 La gente de programación hace una aproximación técnica de la solución:

0 API:

0http://maps.googleapis.com/maps/api/geocode/output?parameters

0 Como parámetros

0address (ciudad de la que queremos saber el código del país)

0Sensor (indica si la solicitud de codificación geográfica procede de un dispositivo con un sensor de ubicación)

Page 20: Testing Proud

Creamos los escenarios

Scenario Outline: Retrieve the geolocation with city name given and without sensor

Given a <city> nameWhen I request the geoencoding of the cityThen I obtain the <city> name with the <country_code>

Examples:| city | country_code || Barcelona | ES || Paris | FR || San+Francisco | US |

Page 21: Testing Proud

Programamos los escenarios

0 Cada uno de los pasos se corresponde a una función.

0 Cada función tiene los pasos necesarios para ejecutar el comportamiento definido por la función

0 Given: Pasos para hacer setting de las precondiciones

0 When: Las acciones que se deben realizar dentro del escenario

0 Then: Se realizan las comprobaciones necesarios para comprobar el comportamiento de la funcionalidad.

Page 22: Testing Proud

Ejecutamos!

Page 23: Testing Proud

Refactor

0Vamos obteniendo y dando feedback de los programadores y Product Owners

0Refactorizamos nuestros tests para que aumentar la reutilización de código y mejorar el mantenimiento

0Aumentamos el número de tests para cubrir más escenarios.

Page 24: Testing Proud

Documentación

0 Los escenarios que hemos creado usando BDD son ejemplos de como funciona nuestra aplicación

0 Podemos utilizar los escenarios que hemos creado como documentación del proyecto

Page 25: Testing Proud

FrontEnd

0 Podemos realizar el mismo ejercicio si lo que tenemos que probar es un Front End:

0 Probamos el login / pwd de Gmail?

Page 26: Testing Proud

Recomendación

Page 27: Testing Proud

Sprint Planning

La historia de usuario podría ser:

Como usuarioQuiero entrar en la aplicación Gmail cuando introduzco mi usuario y contraseñaPara poder ver mis correos

Page 28: Testing Proud

Sprint Planning

0Empezamos a construir y pensar escenarios para definir los criterios de aceptación:

0 Que pasa si ponemos un usuario que no existe?

0 Que pasa si ponemos una combinación de usuario / contraseña no validos?

0 Que pasa si dejo alguno de los 2 campos vacíos?

0 Que pasa si accedo a la página por https?

0 Hay algún carácter prohibido en el username o el pwd?

Page 29: Testing Proud

Sprint Planning

0 Programadores / arquitectos definen la URL y los paramatros / identificadores de los elementos de la página:

0 URL:

0http://gmail.com

0 Como parámetros

0TextBox username: Email

0TextBox pwd: Passwd

0Button Sign In: signIn

Page 30: Testing Proud

Creamos los escenarios

Scenario Outline: Incorrect loginPrecondition: User created with username: testing and password: fib Given a <username> and <password>When I make a loginThen I obtain an error

Examples:| username | password || testing | testing1 || qa | fib || fib | testing || testing | |

Page 31: Testing Proud

Seguimos con el proceso

0Se programan los pasos necesarios

0Se ejecutan los tests diseñados utilizando mocks o cuando el código este disponible

0Refactorizamos

Page 32: Testing Proud

Skills

Ok! Me has convencido…

Que necesito?

Page 33: Testing Proud

Testing Skills

0Hard Skills

0 Soft Skills

0Bussiness skills

Page 34: Testing Proud

Hard SkillsConocimientos sobre testing

Lenguajes de programación

Herramientas

Management

ALM

Page 35: Testing Proud

Conocimientos testing

Page 36: Testing Proud

Desarrollo de software

0 Lenguajes de programación

0Modelado de software

0Diseño de software

0 Configuración

0Application Life Cycle

Page 37: Testing Proud

Herramientas

0Automatización

0 SCM

0 Performance

0 Seguridad

0Management

0Defect Tracking

Page 38: Testing Proud

Soft SkillsComunicación

Observación

Pensamiento crítico

Creatividad

Análisis

Team player

Page 39: Testing Proud

Comunicación

0 Interlocutores entre varios miembros del equipo.

Active listener Speaking and writting

Page 40: Testing Proud

Observación

0Una de las principales misiones del tester es encontrar defectos

0Observar todos los detalles del software para encontrar anomalías.

Page 41: Testing Proud

Creatividad0El 70 % de las pruebas

generalmente pueden ser diseñadas mediante técnicas de testingcomunes.

0 Permite encontrar pruebas “diferentes” no previstas por otros miembros del equipo.

Page 42: Testing Proud

Team Player

0Tester debe ser capaz de integrarse en el todo el equipo.

0 La calidad es responsabilidad de todos.

0 Participante activo en el equipo.

Page 43: Testing Proud

Continuos learning

0Aplicar una cultura de feedback.

0Aprender de los aciertos y de los errores.

0 Importante para crecer como profesional.

Page 44: Testing Proud

Bussiness skills0Dependen del sector

profesional

0Muy volátiles

0Necesitan una constante actualización.

0 Pueden afectar a niveles de diseño de software y de pruebas.

0No son reutilizables entre diferentes sectores.

Page 45: Testing Proud

Perfiles de testing

0 Funcionales / Automatizadores0 FrontEnd

0 BackEnd

0 SAP

0 Moviles

0 …

0 Performance

0 Seguridad

0Usabilidad

0Managers

Page 46: Testing Proud

Algunos números

Page 47: Testing Proud

Ofertas de trabajo

0En Infojobs

0 42 ofertas si buscamos por QA

0 142 ofertas si buscamos testing

0 Empresas como

0Edreams

0Softonic

0eMagister

0Thomson Reuters

0Zurich

Page 48: Testing Proud

Algunos datos más

Page 49: Testing Proud

Encuesta salarios

Page 50: Testing Proud

OK, Me has convencido

Por donde empiezo?

Page 51: Testing Proud

Libros

0Testing ComputerSoftware

0Agile Testing

0Lessons Learned in Software Testing

0A Practitioner's Guide to Software Test Design

Page 52: Testing Proud

Cursos

0Webinars en EuroStar

0Udacity

0Materiales de cursos de pago disponibles:

0Syllabus ISTQB

0Rapid Software Testing

0BBST

Page 54: Testing Proud

Learning By Doing

Weekend Testing

Testing Dojos

Ayudar en proyectos Open Source

Page 55: Testing Proud

Preguntas

Page 56: Testing Proud

Contacto

0Antonio Robres Turón

0Twiiter: @twiindan

0Email: [email protected]

0 Linkedin: http://es.linkedin.com/in/antoniorobres

0Web: www.softqatest.com

0Asociación: http://es.testqa.org/