Estrategias para probar IE en diferentes plataformas

Podría creer que los desarrolladores web que usan Windows como su sistema operativo principal lo tienen fácil, al probar Internet Explorer; simplemente haga clic en la "E" azul y vaya a la ciudad. Eso podría ser cierto si solo tuvieran que preocuparse por la versión de IE en su PC, pero todos sabemos que ese no es el caso. Dependiendo de las necesidades de su proyecto, es posible que deba garantizar la compatibilidad de IE6 a IE10, lo que sin duda plantea algunos desafíos. Cómo nos enfrentamos a esto?

Ahora, si estás en Windows, definitivamente tienes una ventaja porque al menos, puedes probar de forma nativa una versión específica de IE, pero es un juego de pelota completamente diferente si estás en una caja de Mac o Linux.

Lo que quiero hacer es explorar las diversas formas de probar Internet Explorer en plataformas populares y ofrecer sugerencias sobre cómo reducir la fricción de las pruebas para varias versiones del navegador..


Versiones, Versiones, Versiones…

Todos sabemos que las pruebas son difíciles.

Internet Explorer tiene varias versiones en uso, cada una con su propio nivel de peculiaridades y compatibilidad con funciones. Si bien sería genial si solo tuviéramos que apuntar a IE10, en realidad, muchos usuarios y compañías simplemente no han actualizado sus navegadores o sistemas operativos. Esto significa que, dependiendo de lo que esté creando, su matriz de prueba puede tener que incluir hasta cinco versiones diferentes de IE. Puedo escuchar los gemidos ahora.

Afortunadamente, IE9 e IE10 tienen un fuerte soporte para los estándares, e IE6 está empezando a seguir el camino del ave Dodo (aunque lentamente). De hecho, muchos de los sitios principales han eliminado por completo el soporte para IE6 e IE7, un gran paso adelante, especialmente en comparación con donde estábamos hace solo dos años. Y cuando Microsoft declara públicamente que IE10 llegará a Windows 7, espero que IE10 + ayude a minimizar la cantidad de versiones compatibles en un futuro próximo.

Dicho esto, estas versiones siguen planteando un dilema de prueba porque no puede ejecutar varias versiones de Internet Explorer en la misma PC. Esto significa que tenemos que buscar soluciones alternativas como:

  • Maquinas virtuales
  • Sesiones de navegador virtualizadas

Voy a tocar cada uno de estos y discutir posibles soluciones..


Mi primera herramienta Goto para pruebas

Cuando necesito probar un sitio en Internet Explorer, mi primera herramienta es F12 Developer Tools en IE10. El conjunto de herramientas incluye la capacidad de cambiar los modos de navegador y documento para emular IE7 a IE10.

Básicamente, me brinda una cobertura de prueba completa para las versiones más utilizadas de Internet Explorer en un solo navegador. Se convierte en una simple cuestión de elegir el modo de mi navegador para que pueda trabajar con el soporte de funciones específicas y luego elegir el modo de representación para mi página.

La razón por la que digo que esta es mi primera línea de prueba es porque me ayuda a encontrar muchos problemas comunes. Es una gran herramienta para identificar y probar problemas de manera interactiva, como la falta de prefijos de proveedores o si una página se está mostrando en forma de peculiaridades en lugar de estándares. Y diré que después de haber usado esto ampliamente, me ha ayudado a resolver una serie de problemas en el sitio sin necesidad de cargar una máquina virtual o usar otra PC..

Sin embargo, para ser claros, definitivamente no es un reemplazo para las pruebas en una versión real de Internet Explorer.

El equipo de ingeniería de IE hace todo lo posible para realizar una copia de seguridad de la funcionalidad, pero hacerlo es un esfuerzo bastante masivo y no siempre a prueba de errores. Para tener la experiencia de prueba más confiable, deberá tener varias PC (físicas o virtuales) que ejecuten diferentes versiones de Windows / IE. A menos que tengas dinero quemando un agujero en tu bolsillo, creo que la ruta de VM es probablemente la mejor opción.


Maquinas virtuales

Realmente me gusta usar máquinas virtuales porque me da la oportunidad de probar no solo navegadores, sino diferentes sistemas operativos desde mi propia PC. Por mucho que me gustaría tener un montón de dispositivos para probar y jugar, creo que mi esposa podría no estar contenta una vez que reciba la factura de la electricidad. He tenido máquinas virtuales en algún momento para todas las versiones principales de Windows y Ubuntu . Sería genial poder ejecutar OSX, pero entiendo que hay problemas técnicos y de licencia para hacerlo..

Hay dos formas de obtener Windows en una máquina virtual para probar. Lo primero es comprar una licencia para cada versión de Windows que probarás. De hecho, tengo copias con licencia de Windows XP, Windows 7 y Windows 8 que compré para mis propias pruebas personales. El costo a largo plazo era pequeño, y lo consideré una inversión como desarrollador web profesional. Esto me permite instalar el sistema operativo y activarlo sin tener que preocuparme por la infame bomba de tiempo de Microsoft. Puedo obtener todas las actualizaciones, y básicamente me da una versión real de trabajo de Windows.

Sé que no todos piensan de la misma manera, y no todos querrán hacer la inversión.

Para aquellos de ustedes en el lado más frugal, Microsoft ofrece las imágenes de VPC de compatibilidad de aplicaciones de Internet Explorer que proporcionan una versión preinstalada de Windows con una versión específica del navegador. Estas imágenes le permiten trabajar con las versiones 6 a 9 de Internet Explorer de forma casi indefinida, pero con una gran limitación. Lo siguiente lo resume:

Mi primera herramienta es F12 Developer Tools en IE10.

Puede activar hasta dos "rearms" (escriba slmgr -rearm en el símbolo del sistema) que extiende la prueba por otros 30 días cada vez, o simplemente cierre la imagen VPC y descarte los cambios que haya hecho desde los discos de deshacer para reiniciar La imagen vuelve a su estado inicial. Al usar cualquiera de estos métodos, técnicamente puede tener una imagen base que nunca caduca, aunque nunca podrá guardar ningún cambio de forma permanente por más de 90 días.

Por lo tanto, debería poder utilizar cualquiera de las imágenes VPC de forma indefinida, pero después de 90 días, se borrarán todos los ajustes de configuración que haya guardado en la imagen. Considero esto como un pequeño precio a pagar por tener una imagen gratuita para usar en las pruebas. Sé que cuando los he usado, lo hice explícitamente para probar IE, por lo que perdí un mínimo o ningún cambio en la configuración. La única imagen que se comporta de manera diferente es la imagen WinXP / IE6; se apaga completamente en una fecha específica. A partir de este escrito, sería el 14 de febrero de 2013, así que asegúrese de no darlo como regalo a su persona especial para el Día de San Valentín..

Si está utilizando Windows 7, deberá obtener una copia de Virtual PC, que le permite crear máquinas virtuales y ejecutar VHD existentes. Windows 8 Pro incluye el administrador de máquinas virtuales Hyper-V. No está activado de forma predeterminada, por lo que deberá ingresar en "Panel de control-> Programas-> Activar o desactivar las características de Windows" para habilitarlo:

Una vez instalado, debería poder ejecutar las imágenes VPC que descargó del sitio de Microsoft. Descargué la imagen de WinXP / IE6. Viene en forma de un archivo .exe autoextraíble que descarga el archivo .vhd para que lo use. El archivo .vhd es tu disco duro virtual.

Inicia sesión en Virtual PC y selecciona "Crear máquina virtual", que abre un cuadro de diálogo para comenzar:

A continuación, especifique cuánta memoria desea asignar para la VM y luego, lo más importante, seleccione que desea usar un disco duro virtual existente para poder usar la VPC que descargó:

La máquina virtual ahora se creará y se mostrará en Virtual PC. Al hacer doble clic en él, se inicia la máquina virtual y le da acceso a Windows XP. Se le pedirá que lo active, pero simplemente cancele la solicitud:


OSX y Linux

Si no está en Windows, aún puede usar las imágenes VPC, pero los pasos serán un poco más complicados. En OSX, uso VMWare Fusion. Creo que es el mejor software de VM para esa plataforma, y ​​tiene un gran soporte para el usuario. Un ejemplo es el hecho de que tienen una herramienta llamada VMWare vCenter Converter, que le permite cambiar los tipos de formato de VM a una versión compatible con los productos de VMWare. Debido a que las imágenes de IE VPC no son compatibles, necesitaba convertirlas, y vCenter Converter lo hizo increíblemente indoloro (aunque es solo para Windows). Los pasos eran fáciles. Instalé la aplicación:

Una vez instalado, lo ejecuté y comencé el proceso de conversión. Lo primero que tenía que hacer era especificar el archivo fuente para convertir. El convertidor encontrado "Windows XP.vmc":

A continuación, especifiqué el destino donde crearía los archivos compatibles con VMWare:

El proceso para convertir la imagen de Microsoft VPC tomó tres minutos. Copié esos archivos en una memoria USB y los llevé a mi Mac. Lancé VMWare Fusion y creé una nueva máquina virtual basada en una imagen existente, apuntándola a la imagen que acabo de crear y elegí hacer una copia local de la imagen en mi disco duro:

Entonces me pidieron que actualizase al formato más nuevo. No lo hagas. Si lo haces, tu máquina virtual no funcionará. No sé por qué, pero te lo digo por experiencia..

VMWare Fusion ejecutará el proceso de importación y luego le permitirá configurar los ajustes de su máquina virtual. Tendrá que modificar configuraciones como la memoria y las opciones de video según las capacidades de su máquina. Luego ejecuté la máquina virtual y me presentaron el inicio de sesión de Windows XP.

Al iniciar sesión, me recibió el aluvión estándar de mensajes de hardware nuevo encontrado. Simplemente ignore esos, junto con el indicador de activación, y debería poder usar el sistema operativo:


¿Qué pasa con Parallels y VirtualBox??

Tanto Parallels como VirtualBox son excelentes soluciones de VM. VirtualBox, específicamente, es un software de código abierto y está disponible bajo una licencia GPL. No he usado Parallels, así que no tengo pasos para que sigas y me siento muy bien recomendándote. Sin embargo, si por casualidad usas VirtualBox, Jon Thorton ha hecho un gran trabajo al proporcionar una explicación paso a paso de cómo usar las imágenes VPC con VirtualBox. Es un poco complicado, pero funciona. También he escuchado a muchos desarrolladores hablar sobre los scripts de ievms; le permiten descargar las imágenes VPC y convertirlas a un formato que acepta VirtualBox. El proceso es bastante automatizado y parece ser una mejor alternativa..


BrowserStack.com

El método más nuevo que he estado recomendando, con mucha emoción que podría agregar, es un servicio basado en navegador, llamado BrowserStack. Le permite probar su sitio utilizando sesiones de navegador virtual, todo dentro de su navegador favorito. Utiliza Flash para proporcionar la sesión virtualizada y puede seleccionar cualquier versión de sistema operativo y navegador. Por ejemplo, si quisiera probar varios navegadores en Windows XP, es tan fácil como elegir ese sistema operativo y seleccionar el navegador de destino:

La clave es que no es una captura de pantalla de tu sitio; Es un navegador totalmente funcional con el que puedes interactuar..

Si observa en la imagen, he hecho clic en el menú desplegable de la pestaña "Seguridad" y en la siguiente imagen, estoy usando las herramientas de desarrollo de Internet Explorer F12 para depurar.

Este es un sistema muy poderoso porque:

  • El servicio es barato ($ 20 / mes)
  • Vamos a probar todas las versiones principales de cada navegador en todos los sistemas operativos principales
  • Vamos a especificar diferentes tamaños de pantalla
  • Proporciona soporte de túneles para pruebas locales

El último punto es importante porque su código de desarrollo normalmente no se colocará en un servidor web disponible públicamente (a menos que, por supuesto, sea un vaquero de codificación y una producción dev ===). El túnel local utiliza Java para establecer la conexión, y la configuración es realmente fácil. El equipo de BrowserStack ha hecho un buen trabajo explicando cómo configurar las cosas..

Si bien este artículo trata sobre la prueba de IE, lo que me encanta de BrowserStack es la amplitud de soporte de navegador y sistema operativo que ofrecen, hasta las herramientas para desarrolladores. Aunque los navegadores están virtualizados, eso no significa que no incluyan sus respectivas herramientas de desarrollador.


Las pruebas son difíciles

El método más nuevo que he estado recomendando es un servicio basado en navegador, llamado BrowserStack.

Todos sabemos que las pruebas son difíciles, y tener que preocuparse por las múltiples versiones de IE lo hace más difícil. Sería fantástico si llegamos al punto en el que podamos centrarnos únicamente en la versión más reciente de IE, pero por ahora, las demandas de los clientes y los proyectos tienden a dictar qué versiones de IE necesitamos admitir. Afortunadamente, tenemos soluciones que nos permiten realizar pruebas a un costo mínimo y, en algunos casos, como BrowserStack, sin ningún impacto en el hardware.

La prueba de IE es importante. Es uno de los navegadores más utilizados en el mundo y las versiones más recientes tienen un excelente soporte para estándares estables. Pero OldIE todavía está disponible, y asegurarse de que los usuarios tengan una gran experiencia es vital.

Espero que las opciones que presenté te ayuden. Para mí, voy a usar BrowserStack para aquellos casos en los que necesito retroceder en el tiempo.