Pruebas en dispositivos reales vs simuladores
Cuando hablamos de web, los clientes frecuentemente requieren que sus páginas web sean probadas en múltiples navegadores y dispositivos móviles como tablets o celulares, el equipo no decide que navegadores o dispositivos se deben probar, sin embargo, si el cliente no sabe mucho acerca de esto y no tiene métricas para saber que navegadores deben ser soportados, siempre se debe proponer en que navegadores, sistemas operativos y dispositivos móviles probar, basado en su uso mundial, por supuesto, esto lo aprueba unicamente el cliente.
Hay ocasiones en que los navegadores más usados a nivel mundial no le importan al cliente, ellos quiren que sus páginas web funcionen en los navegadores o dispositivos que los usuarios usan para acceder el sitio, así que puede llegar el caso en el que al ser QA, termine probando en navegadores viejos que a nivel mundial tienen un uso casi nulo como por ejemplo versiones muy viejas de Internet Explorer y sistemas operativos viejos, créanme, me ha pasado. Ahora bien, digamos que solo hay un Mac como equipo de trabajo, pero el cliente pide probar en Internet Explorer 10, Internet Explorer 11, Edge, Chrome y Firefox, ¿qué haría? la respuesta correcta es: se tiene que probar en todos los navegadores porque el cliente está pagando por esto, ahora bien, también se pueden sugerir cambios en cuanto a que probar y también darle un nivel de profundiad de pruebas a cada navegador, si es test completo o solo smoke test, dependiendo del uso del navegador, en todo caso, el cliente decide el alcance del proyecto y se debe cumplir esa meta. Más importante que el "qué haría?" es el como lo haría, hay muchas respuestas aqui: usar simuladores, usar Browserstack, usar maquinas virtuales, usar las maquinas reales con el sistema operativo y navegador correctos. La mejor respuesta es usar navegadores reales, sin embargo, esto no es siempre posible, hay compañías que no van a gastar dinero en maquinas tan viejas y obsoletas, si me lo preguntan a mi, si no tengo las maquinas reales, siempre utilizo maquinas virtuales porque estoy probando en un sistema operativo real que instalé basado en una imagen de disco, además estoy probando el navegador funcionando en el sistema operativo real, creo que es la solución más real y confiable a parte de las maquinas reales, sin embargo, si hablamos de maquinas virtuales, yo prefiero utlizar Virtual Box y no VM Ware, he encontrado muchas diferencias entre lo que muestra VM Ware y lo que muestra la realidad y Virtual Box y los errores de VM Ware son terribles. Browserstack también es genial y no necesita muchas herramientas para utilziarlo, yo me quedo con Virtual Box.
Ahora pasemos a dispositivos móviles, pienso igual, se debe probar en dispositivos reales y la compañía y a veces el cliente es el encargado de garantizar la compra de estos dispositivos para que se garantice la calidad del proyecto, sin embargo, si no hay un presupuesto para esto, la unica forma de probar en celulares y tablets es usando simuladores (no me gusta mucho), si me lo preguntan, el mejor simulador que conozco y he usado para probar iOS es el que viene con X Code (solo en Mac), en mis pruebas he visto que lo que se ve en X Code es 95% igual a lo que se ve en dispositivos reales con iOS, por eso creo que es el mejor simulador. Para Android, siempre se puede bajar el Android Studio y ahí descargar diferentes dispositivos (no están todos), en mi experiencia, Android Studio es bueno, pero he visto discrepancias respecto al simulador y el dispositivo real, solo por eso no lo recomiendo tanto como el simulador de X Code, claro está, que si no se tienen más alternativas, esta es la mejor y mostrará muchas cosas reales que también pasan en el dispositivo físico.
Siempre voy a preferir dispositivos móviles y navegadores reales a simuladores o herramientas que ayuden a verlos, sin embargo, hay herramientas que son útiles cuando no se tienen los recursos para poder probar todo como se debería hacer, siempre se debe mencionar que no se cuenta con las herramientas necesarias de trabajo en los reportes y hacerle saber al cliente sobre los hallazgos y donde se probó en caso de que no se tengan dispositivos reales o navegadores para que entienda que pueden haber cosas que pasan realmente y no pasan en los simuladores, así, se le está dando visibilidad al cliente y al equipo que se hizo lo que se pudo con lo que había y que pueden haber errores o puede que no porque no se está 100% seguro de como se ve y funciona el sistema en los dispositivos y navegadores reales.
@LuchoAgileQA
Comentarios
Publicar un comentario