testear videojuegos con unity3d

26
Unity3D: Testear videojuegos #FourSessions Adrià Freixas Grimalt

Upload: techdencias

Post on 23-Jan-2018

123 views

Category:

Technology


1 download

TRANSCRIPT

Unity3D: Testear videojuegos#FourSessions

Adrià Freixas Grimalt

Adrià Freixas

@adriafreixas

Senior Developer

[email protected]@

Adrià Freixas

Departamento de Tecnología e Innovación @ Pasiona

Licenciatura en Bellas Artes, UB. Máster en Image Synthesis and Computer Animation,

UIB. Miembro de comunidades:

Techdencias Netsaimada Mallorca Software Craftsmanship Agile IB

• Miastenia Gravis• Enfermedad neuromuscular• Estrés precursor de episodio

• Replanteamiento del proceso• Buenas Prácticas• Gestión de Proyecto• Calidad de código

Diversidad funcional

Un poco más de mi

Érase una vez …

Bernardo, el agricultor emprendedor mallorquín

Palma: política de inserción laboral Burbuja del emprendimiento:

Desconocimiento del campo Desprecio del proceso y calidad

Business Model Generation Farándula

Bernardo suele ir al bar del pueblo a jugar a Poker con sus amigotes y, le gustaría innovar en su aplicaciónfavorita, 10 Pin Shuffle, abriendo un servicio online de apuestas.Le mostramos las herrramientas para atacar con éxito la tarea.

Un hombre hecho a sí mismo

Bernardo pide ayuda

Agile

Manifesto

We are uncovering better ways of developingsoftware by doing it and helping others do it.Through this work we have come to value:

Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items onthe right, we value the items on the left more.

Agile vs Waterfall Equipos horizontales Facilitadores: Scrum Master, Product Owner Métricas Democratización

Definition of done, acceptance criteria, planningpoker

Retrospectiva

Proteger al equipo

Scrum

Software Craftsmanship

Manifesto

As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value: Not only working software, but also well-crafted software. Not only responding to change, but also steadily adding value. Not only individuals and interactions, but also a community of

professionals. Not only customer collaboration, but also productive partnerships.That is, in pursuit of the items on the left we have found the items on the right to be indispensable.

Promover la colaboración en el equipo. Revisión de código. Consensos para producir valor. Calidad de software.

Valores

Software Craftsmanship

Lean Startup

Buenas Prácticas

Bernardo empieza a trabajar

El proceso de Bernardo

Bernardo nos pasa las siguientes tareas (él es el jefe): Juego de Póker Juego de Bolos Apuestas Online

Intentamos desgranar tareas. Disparidad de opiniones. Incertidumbre. Aplicaremos Example mapping.

Scrum Planning

División de tareas

Example mapping

Tarea

Reglas de negocios

Dudas

Ejemplos

Desgranando dudas

Gestión de

identidadPagos?

Países de despliegu

e?

Fraude monetari

o

Servidores o

Nube?

Pagos terceros (Paypal?)

Redes sociales?

Proveedor de

identidad

Tipos de eventos

Integración con

terceros

Eventos bank-roll

Promociones

Leyes de juego

Protección de

datos

Pasarela de pago

Conversión de divisas

Gestión no

conexión

Desgranando

Reducimos los tiempos de planificación

Predominio: Azul: Demasiadas reglas = subdividir tarea Rojo: Desestimar tarea falta consultar con el cliente

Verde: Sin tener que llegar a un consenso sobre las dudas entre

el equipo las sesiones se reducen sensiblemente

Recordemos

El proyecto de Bernando

Desgranado de tareas

Después de revisar la tareas: Las hemos descartado todas por dudas Emos salvado un caso que teníamos claro,

reconocer las manos de póker

Juego de Póker Juego de Bolos Apuestas Online

StrangeIOC para Unity3D

Inyección y bus común de eventos?

StrangeIOC Alternativa a las aplicaciones monolíticas en unity3D Ideal para organizar el código para que sea fácilmente

testable

• Gratuito y de fácil acceso• Inyección de dependencias• Dos modalidades de publicación:

• EventDispatcher• Signal

• Potente Motor de binding para Unity3D• Arquitectura testeada

Caraterísticas

StrangeIOC framework

Testear en unity 3D

Testear videojuegos?

Unit testing integrado en Unity3D Documentación

Varios frameworks de testing N-unit VS(Default)

Integración con control de versiones Root namespace

• Sin Unity tools for Visual Studio regenera la solución cada vez, excluyendo los proyectos

de test• Aquí podéis encontrar como instalar las Tools

para VS2017

Cómo crear nuestro proyecto de test

Demo

TDD

Programar contra casos extremos

Reducimos el margen de error cubriendo los casos extremos

Dejamos las pruebas en los Unit tests en lugar de contaminar el código con investigaciones

Estructura de un test triple A: Arrange Act Assert

Escribes el test antes que la clase Red: el test no nos va Green: escribimos el mínimo de código para que

pase Refactor: mejoramos nuestro código para cubrir

mas casos

Control de versión

TDD (Metodo)

Adrià Freixas

@adriafreixas

[email protected]@

Q&Afotosilueta

GRACIAS