Notas de clase DIA 1 - Arquisoft/VoteCounting_3a GitHub Wiki
Día 1

Centrarse mas en código arquitectónico correcto que en precisión legislativa,o de cualquier otra índole no informática. Amir tiene que conseguir esta vez el 100% de cobertura, no es una opción, es un deber. TDD - Pruebas unitarias y pruebas de integración (pruebas mas amplias probando un sistema entero).
BDD - Las pruebas de aceptación lo mas correcto seria hacerlas automatizadas. Demos molonas automáticas.
Existe nuevos sistemas para pasar las historias de usuario directamente a código para pruebas. Uno de esos sistemas es:
![]()
Las historias de usuario deben ser legibles por experto del dominio.
Tenemos en el código ejemplos de historias con cucumber en src/test/resources/features . ¡Mediante lenguaje natural se convierte a código!

Existe una grabadora de macros para selenium como plugin de firefox. Selenium IDE. Selenium
Esta bien saberlo después de entregar SDI. 
Si se realizan pruebas con selenium, usarlo con travis para no tener que esperar por el firefox.
Vote Counting: Notas tomadas por CARLOS
A Labra le interesa que hagamos la practica bien con buena arquitectura, buenos test y con buenos atributos de calidad a que tenga demasiada funcionalidad.(Es un prototipo) Atributos de calidad > funcionalidad
Hacer el codigo basado en pruebas(pruebas primero y luego codigo) TDD => pruebas unitarias => pasar pruebas => integracion continua y cobertura de codigo \ / pruebas de integración
(HASTA AQUI ERA EL PRIMER ENTREGABLE)
Evolucion de TDD => BDD(behaviour driven development) => son pruebas de aceptacion
las pruebas unitarias y de integracion las hace el equipo de desarrollo (smoke testing)
las pruebas de aceptacion => las pruebas las hace el cliente (sería una demo, una prueba para probar si el cliente lo acepta o no el proyecto. Sería cómo hacer el software para que lo acepte el cliente) La idea seria hacer las pruebas de aceptacion de forma automatizadas. Hacer historias de usuario y que sean aceptadas por el cliente.
Herramienta "cucumber" que hace que las historias de usuario pasen las pruebas. Historias de usuario breves, deben ser legibles y aprobadas.
Cucumber: Utiliza Gherkin que es el lenguaje para las historias de usuario http://cukes.info https://github.com/cucumber/cucumber-jvm http://cucumber.github.io/cucumber-eclipse/ (para ver colores) http:/www.mihai-nita.net/eclipse
Usar selenium para los tests junto a cucumber 5 o 6 historias de usuario
en votingSystem0 ejemplo de uso selenium junto a cucumber
Para enganchar selenium a travis, en .travis.yml cambiar before_cript a como esta en votingSystem0
en pom.xml las 4 lineas de 2.53.0 para que funcione en windows