Testing Proud

Post on 09-Jul-2015

137 views 0 download

description

Introduction to testing and QA

Transcript of 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

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

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.

El rol del tester

Falacias sobre QA

Falacias sobre QA

PROGRAMADORES TESTER

Falacias sobre QA

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

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.

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

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

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

El día a día de un QA

3

2

1

Let’s Go!

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.

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

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

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)

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 |

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.

Ejecutamos!

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.

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

FrontEnd

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

0 Probamos el login / pwd de Gmail?

Recomendación

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

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?

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

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 | |

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

Skills

Ok! Me has convencido…

Que necesito?

Testing Skills

0Hard Skills

0 Soft Skills

0Bussiness skills

Hard SkillsConocimientos sobre testing

Lenguajes de programación

Herramientas

Management

ALM

Conocimientos testing

Desarrollo de software

0 Lenguajes de programación

0Modelado de software

0Diseño de software

0 Configuración

0Application Life Cycle

Herramientas

0Automatización

0 SCM

0 Performance

0 Seguridad

0Management

0Defect Tracking

Soft SkillsComunicación

Observación

Pensamiento crítico

Creatividad

Análisis

Team player

Comunicación

0 Interlocutores entre varios miembros del equipo.

Active listener Speaking and writting

Observación

0Una de las principales misiones del tester es encontrar defectos

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

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.

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.

Continuos learning

0Aplicar una cultura de feedback.

0Aprender de los aciertos y de los errores.

0 Importante para crecer como profesional.

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.

Perfiles de testing

0 Funcionales / Automatizadores0 FrontEnd

0 BackEnd

0 SAP

0 Moviles

0 …

0 Performance

0 Seguridad

0Usabilidad

0Managers

Algunos números

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

Algunos datos más

Encuesta salarios

OK, Me has convencido

Por donde empiezo?

Libros

0Testing ComputerSoftware

0Agile Testing

0Lessons Learned in Software Testing

0A Practitioner's Guide to Software Test Design

Cursos

0Webinars en EuroStar

0Udacity

0Materiales de cursos de pago disponibles:

0Syllabus ISTQB

0Rapid Software Testing

0BBST

Learning By Doing

Weekend Testing

Testing Dojos

Ayudar en proyectos Open Source

Preguntas

Contacto

0Antonio Robres Turón

0Twiiter: @twiindan

0Email: twiindan@gmail.com

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

0Web: www.softqatest.com

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