Tenía muchas ganas de evaluar Xstudio. A simple vista apuntaba alto en lo que espero de una buena herramienta de gestión de casos de test, además de ir apareciendo progresivamente en los foros y blogs (como comentaba ektwp en el post sobre Testlink) sobre temas de calidad como una herramienta a considerar en lo que a gestión de TCs se refiere.
Antes que nada, una consideración: Xstudio NO es una herramienta opensource. La herramienta en sí misma es gratuïta pero no de código abierto, distribuyendo bajo licencia LGPL algunos complementos como los launchers de tests automáticos o los templates de reports. El negocio de Xqual (empresa que distribuye la herramienta) proviene de la venta de servicios y complementos alrededor de la misma, en concreto soporte (con varios niveles de atención y tiempo de respuesta), formación, consulting y comercialización de plugins sobre el paquete básico (más reports, ampliación para lanzamiento y monitorización de pruebas de carga…).
La «comercialidad» detrás de Xstudio se nota al acceder a su site, mucho más cuidado y marketiniano que el de sus compañeras de código abierto. Solamente atendiendo a los features presentados en la página parece cumplir con los requisitos que exijo a este tipo de herramientas: gestión de TCs manuales, integración con tests automáticos mediante lanzadores (launchers) especificos de varios frameworks como Selenium, JUnit, AutoIT…, gestión de requerimientos, gestión de especificaciones, integración con herramientas de bugtracking… Una maravilla, oiga.
Después de dejarme llevar momentáneamente por la imaginación y perder la objetividad por unos minutos, me lanzo al vacío y me descargo la demo de la herramienta. Sí sí, he dicho «descargo», porque XStudio es una herramienta de escritorio en JWS. La primera impresión de Xstudio vuelve a ser marketiniana, con una interfície mucho más visual y cuidada que las herramientas de código abierto, aunque rápidamente la emoción se torna confusión, y es que Xstudio va mucho más allá de la gestión de casos de test, se trata prácticamente de una herramienta de gestión del ciclo de vida de las aplicaciones (salvando la parte de código), ya que permite gestionar empresas, usuarios y calendario, SUTs, requerimientos, especificaciones, releases, tests, bugs, proyectos, sprints…
Esta visión maximalista impresiona, pero tiene dos grandes inconvenientes:
- Todas estas entidades están vinculadas entre sí (para crear usuarios debes crear compañías, para testear hay que crear campañas de test, para crear sprints hay que crear proyectos…), de tal manera que si el alcance de la herramienta es demasiado amplio para lo que se necesita, no es posible saltarse áreas para concentrarse en lo necesitado, hay que pasar por todo el ciclo.
- La usabilidad es mala. Me refiero en términos ámplios, la aplicación es difícil de entender y manejar. Puedo aceptar el punto anterior, pero solamente si este es aceptable, y no lo es.
Como agravante al punto 2 anterior, la documentación disponible es poca y demasiado simplista, no ayuda demasiado a hacer funcionar la aplicación correctamente (tal vez por eso una de las principales ofertas comerciales de la empresa sea el soporte a la herramienta).
Pero no todo son cosas malas, el área de diseño de tests es muy completa, permitiendo crear tests (equivalentes a test plans) con test cases dentro e incluso indicar dependencias entre tests. Además, la creación de un test case refleja realmente (por fin!) la complejidad de esta tarea: Xstudio permite crear casos de test de ejecución manual por pasos, con la posibilidad de indicar en cada paso los parámetros a usar y los checks a validar, estableciendo condicionalidades entre pasos, etcétera. Adicionalmente ofrece la funcionalidad de combinar por pares los diferentes parámetros de una funcionalidad, para optimizar los casos de test a diseñar / ejecutar; sin embargo, la ejecución de estos casos de test manuales no es por pasos, admitiendo un único resultado por ejecución de caso de test. Igualmente, hay tal vez un exceso de complejidad en este área (y en general en la herramienta), haciendo muy difícil llegar hasta el punto de ejecutar los casos de test (por ejemplo en mi investigación no lo conseguí, tuve que usar casos de test creados por otros usuarios de la demo compartida).
La ejecución de casos de test tiene otros puntos interesantes: el primero es la integración con tests automáticos, mediante lanzadores desarrollados para las aplicaciones robot más conocidas, tanto opensource como propietarias (QTP, Squish, Selenium, AutoIT, JUnit, PyUnit…). Además, repito, ofrece al usuario la posibilidad de desarrollar su propio lanzador que sirva para otra aplicación o librería. Este punto tampoco es de fácil comprobación en la demo, puesto que requiere instalarse un paquete de ficheros, aunque es un punto a favor poder incluir la ejecución de tests automáticos desde una misma herramienta, gestionando los resultados de manera conjunta. Otro aspecto interesante son las ejecuciones estructuradas en sesiones (llamadas «campañas» de testing), registrando la actividad del usuario durante las mismas. Por último, las ejecuciones permiten la creación de bugs en el área de bugtracking de la herramienta; pudiéndo integrarse la misma con herramientas de bugtracking más establecidas en el mercado como Jira, Mantis o Trac (la nuestra), aunque en ninguna parte indica como se vinculan estas herramientas en términos prácticos.
Para terminar con lo general y antes de pasar a la evaluación concreta, Xstudio consta con muchas áreas de reporting y estadísticas sobre las entidades que se van creando (especificaciones que cubren requerimientos, tests que cubren especificaciones, bugs encontrados en campañas…) que permiten mantener una visión concreta de la situación en un área determinada, lo que evita perderse entre tanta pestaña y objeto.
Puntuaciones concretas en los aspectos establecidos para evaluar:
- Principalmente…
- Creación, gestión y ejecución de test cases – OK (muy completa)
- Creación, gestión y ejecución de test plans – KO (paga la complejidad y falta de documentación general, no es evidente)
- Gestión de resultados de ejecuciones – OK (muchas áreas de reporting por defecto)
- Vinculo entre test cases y use cases / user stories / requerimientos – OK (primera herramienta que separa requerimientos de especificaciones)
- Más en segundo término…
- Integración con la herramienta de bugtracking implantada en la empresa: Trac – KO (área de defects propia, será desarrollo a medida no documentado)
- Gestión de recursos asociados a un test case – OK (se pueden adjuntar documentos a nivel general o en tests concretos)
- Facilidad de instalación y mantenimiento como herramienta – KO (documentación casi inútil, el hecho de que se ofrezca soporte de pago parece decir que lo va a necesitar)
- Gestión de N proyectos por M usuarios, idealmente con permisos distintos (creación, ejecución, consulta…) – OK (se puede gestionar hasta la dedicación y vacaciones de estos usuarios)
- Ejecuciones iterativas sobre un mismo test plan – OK (mediante campañas de test)
- Y en último lugar…
- Integración con tests automáticos – OK
- Test cases, test plans y resultados imprimibles / exportables – KO (no existe o no he sido capaz de encontrar nada parecido)
Siguiendo los criterios establecidos, esta evaluación se queda en un 8 sobre un máximo de 24, empatada con RTH. Me esperaba bastante más, qué decepción.