Últimamente, en varias listas de correo y foros variados, estabamos comentando la necesidad de probar, todo lo que hacemos y desarrollamos desde el principio.
Y cuando decimos desde el principio, decimos desde la primera línea de código, y es que no debería de haber ni una sóla línea de código sin una prueba, no voy a discutir si usar TDD o cualquier otra técnica, da igual, pero no debería de haber ni una sóla línea de código sin una prueba. Con esto nos aseguramos, entre otras muchas cosas, que cuando metamos mano a ese código, podamos estar seguros de que lo dejamos funcionando, y que cuando venga alguien y vea ese código pueda estar seguro de que funciona.
En esta primera categoría entran pruebas unitarias y de integración, y pueden sernos de gran ayuda tanto las propias herramientas de Visual Studio 2010, como los frameworks tipo nUnit o Gallio.Con esto ya tenemos nuestra primera capa de pruebas creada.
OJO, aquí sólo estamos asegurando los componentes y/o su integración entre ellos, aún no estamos asegurando que la aplicación haga lo que tiene que hacer, mucho cuidado, que esto no es suficiente aún.
Y es que ¿cómo sabemos que cierta característica de la aplicación está terminada? aquí entran las pruebas funcionales y de aplicación, que tienen que describir, para cada caracterísitca, que condiciones se tienen que dar para que aporte valor, y esto es importante, que aporten valor al cliente, este es el objetivo último de lo que quiera que estemos construyendo, que aporte valor, y esto lo tenemos que describir (junto con el cliente), tanto para el sistema completo, como para cada una de sus características, y que no haya duda razonable de cuando está “hecho” algo.
Para esto, podemos apoyarnos en herramientas como las nuevas herramientas de testing de Visual Studio 2010, con el Test Manager, y también, usando técnicas como Behaviour Driven Development, que intentan promover la colaboración entre desarrolladores, departamento de QA, y gente de nivel de negocio, y que por ejemplo a nivel técnico, podemos implementar usando MSpec.
Vale, hasta aquí con estas dos capas de pruebas, que no es poco, vamos bien, por supuesto luego hay más pruebas que muchos productos tienen que pasar, como por ejemplo pruebas de accesibilidad para pasar la AAA, pruebas de usabilidad para ver como se adaptan los usarios al software, pruebas de rendimiento, de escalabilidad, etc.
Y ¿por qué saco todo esto sin más?, pues porque recientemente, y gracias a mi operadora, me han regalado un iPhone 4, si ese que si lo agarras “mal” pierde cobertura, y la verdad es que tenía intriga por ener uno entre mis manos y ver la realidad del tema, ya que incluso en foros por ahí, hablan de que Apple, había sacado otro modelo sin el fallo de diseño y sin hacerlo público, claro, como si cambiar una línea de producción fuese rápido y barato, en fin …
Por supuesto, lo primero que hice cuando tuve mi nuevo cacharro en las manos, fue probar el tema del famoso agarre, y sorpresa, es perfectamente reproducible, especialmente en sitios dónde la cobertura no es óptima. Y esto me lleva a preguntarme ¿cómo hacen las pruebas los señores de Apple?, porque está claro que nadie ha probado que un móvil, al ser agarrado, no pierda su principal valor, que es la cobertura o bien dicho la capacidad de llamar con la mejor calidad posible.
Tampoco veo que hayan hecho pruebas de usabilidad en ese sentido, ya que cualquier persona que lo hubiese cogido con ánimo de probarlo, se habría dado cuenta.
¿Entonces?, la verdad es que el iPhone 4, en otros términos es un buen producto, la pantalla es muy buena, la funcionalidad es buena, etc., pero han fallado en algo básico, y esto ha hecho que se desate, y con razón, toda la red con comentarios negativos. si, es cierto que los usuarios más acérrimos lo negarán, pero es algo que ocurre, que está ahí y que es reproducible, y que pueden dar al traste, y dejar mal sabor de boca, a un producto que no es malo (hasta que venga Windows phone 7 y le de un repaso jejeje).
Por tanto ¿cómo probáis vuestras aplicaciones?¿cumplís con el valor que tienen aportar?¿tenéis claro cúal es ese valor que tienen que aportar? … ahí dejo eso, os dejo que creo que me llaman … vaya al coger el móvil he perdido cobertura