Instalación de TFS 2010 Basic

Os contaba hace bien poquito el tema de la nueva versión de TFS Basic, como una nueva versión de TFS para todos, pero realmente, y por desconocimiento en ese momento, os mentía … pero no mucho.

La cosa es que los que os bajéis el nuevo TFS 2010 Beta 2, no os volváis locos buscando el paquete de TFS Basic, realmente es una opción de configuración a posteriori de la instalación.

Los que hayáis jugado un poco con el nuevo TFS 2010 Beta 1 (y si habéis sido rápidos con la Beta 2), ya sabréis que ahora, no se configura nada durante la instalación, y que es a posteriori, una vez acabada, cuando se nos muestra un wizard con las opciones de configuración, y es aquí dónde aparece la opción de configuración Basic:

image

Cuando terminéis de instalar (incluso en Windows 7), os aparecerá esta pantalla (bueno algo distinta que yo ya lo tengo configurado), y podéis seleccionar la opción Basic.

Como ya os dije, funciona sobre sistemas operativos de cliente y sobre SQL Server Express, lo que me ha gustado además del paquete de instalación, es que si no tienes instalado ni SQL Server Express, ni configurado tu IIS, durante el wizard de configuración te los instala y configura 🙂

Además, como podéis ver (la captura es de mi Windows 7 x64), también tenemos las Team Builds disponibles con el TFS Basic.

Así que nada, ya tenéis esta nueva versión de TFS para vuestros entornos locales de desarrollo.

Ya tenemos Beta 2 de Visual Studio 2010 o el rey ha muerto, viva el rey

image001

Siiiiiiiiiiii, ya la tenemos disponible 🙂 y con nuevo logo como podéis ver en la cabecera jeje.

Pues nada ahora a probar todo lo nuevo, y lo primero es el cambio de SKUs y es que tenemos nuevos nombres … Visual Studio 2010 Ultimate … que se correspondería con la “antigua” Visual Studio Team System.

Y como podéis ver el primer cambio es que ya no existe nada llamado Team System, así que el rey ha muerto, después de todo este tiempo Team System desaparece como nombre.

Aunque el ecosistema sigue estando hay, tenemos nuevos nombres de SKU:

  • Visual Studio Professional 2010 con MSDN, con las herramientas “básicas” de Visual Studio para Silverlight, Sharepoint, ASP.NET, etc., etc. Vaya lo que antes era la Professional.
  • Visual Studio Premium 2010 , en la que tenemos herramientas como las herramientas de profiling, de cobertura de código, las herramientas de DB Pro, métricas de código, análisis de código estático, etc (a ver si consigo el listado exacto)
  • Visual Studio Ultimate 2010  que es la equiparable a la antigua Team Suite, con todo el tema de IntelliTrace (depuración histórica), UI Test Automation, herramientas UML, ….
  • Visual Studio Test Elements 2010 , con la gestión de casos de test, testing manual etc, en definitiva las herramientas de gestión de casos de Tests
  • Visual Studio Team Lab Management 2010 , para la gestión de nuestros entornos de test virtuales de los que ya os iremos hablando.
  • Load Test Virtual User Pack 2010 (para los entornos de testing distribuidos)
  • Visual Studio Team Foundation Server 2010, que tendrá la opción de instalación completa o de la que ya hablé de TFS Basic Installation.

Como podéis ver es un cambio grande de nombres, esto no significa que Microsoft se aleje del ALM, sólo desaparece la denominación Team System, para pasar a ser simplemente Visual Studio ALM, así que … viva el Rey.

En fin, veremos como va avanzando esto y ya os iré contando más novedades según vayan saliendo. Yo por ahora tengo una opinión al respecto … pero a la espera de ver como se desarrollan los acontecimientos es reservada jejeje.

En cuanto a los suscriptorers de MSDN, los cambios afectan así:

  • Los que tengáis MSDN Professional y que actualmente tenéis VS Professional 2008, recibiréis Visual Studio Professional 2010
  • Si tenéis MSDN Premium y que actualmente tenéis VS Professional 2008, recibiréis Visual Studio Premium 2010.
  • Si tenéis MSDN con Team Suite o una Team Edition (creo que vale cualquiera pero tengo que confirmar), recibiréis Visual Studio Ultimate 2010

Así que ya sabéis, si queréis Ultimate y no tenéis ya una suscripción con Team Edition, actualizar a VSTS 2008 Development Edition, y conseguiréis la Ultimate.

Por ahora a descargar la Beta 2 (los que tengáis suscripción de MSDN la podéis descargar ya, el resto el día 21 de octubre) y a empezar a probar que tenemos, dónde lo tenemos y que tal funciona todo 🙂

Para ver más respecto a esto, podéis pasaros por el nuevo site de Visual Studio:

http://msdn.microsoft.com/en-us/vstudio/default.aspx (aún no aparecen los cambios, paciencia … no tardará mucho)

Ah y por cierto, una fecha … 22 de marzo 2010 … fecha de lanzamiento oficial de Visual Studio 2010 🙂

Ciclo de vida para todos con TFS Basic Installation

Hace poco, revisaba en un artículo de la revista Dotnetmania los 12 pasos para mejorar el software de Joel Spolsky. Estos pasos vienen a preguntarnos básicamente si trabajamos, entre otras cosas, en un entorno adecuado al desarrollo de software.

En estas, por orden de importancia además, nos cuestionan si tenemos un repositorio de código fuente, entornos de testing, y similares. Cuándo hablo acerca del ciclo de vida en charlas, o a veces tomando unas cervezas con colegas de profesión (si, a veces somos muy geeks), siempre surge el eterno dilema de “si todo eso está muy bien, pero sólo las grandes empresas tienen esa capacidad de infraestructura”.

Y en parte tienen razón, miremos el entorno de Visual Studio Team System, que como habréis podido adivinar es uno de mis preferidos. Hasta ahora necesitábamos un servidor Windows, un SQL Server, Sharepoint y Reporting, y comprar, instalar y mantener todo esto, no es trivial, por propia experiencia lo digo 🙂

Si, es cierto que hay otras opciones en el mercado, y que son muy buenas y más “baratas”, como puede ser SourceSafe, Subversion, Cruise Control.NET, Nant, nUnit, MbUnit, y seguro que muchos más que ni siquiera conozco.

Pero a veces, como me dice César de la Torre cuando vamos de tiendas de electrónica “lo barato sale caro”.

También tengo experiencia en bastantes de esas otras herramientas, y no voy a negar que algunas me gustan mucho, pero sin embargo, cuando salió a la luz Team Foundation Server como entorno que integraba muchas de estas funcionalidades en el propio Visual Studio me pareció un gran paso adelante y una gran apuesta de la Developer Division de Microsoft.

Pero como todos los inicios, la verdad es que montar TFS 2005 era un poco doloroso, con TFS 2008 la cosa mejoró, pero seguía siendo un entorno que iba para empresa media hacia arriba, por temas de costes principalmente.

Muchos de los desarrolladores que trabajan de modo autónomo no podían permitirse este entorno, si, se que existe TFS Workgroup, iniciativas como Bizspark de Microsoft que te dan licencias MSDN para start-ups, pero para alguien que trabaja en casa, que tiene uno o dos ordenadores, y (si es bueno), muchos proyectos, no podía permitirse montar y mantener un servidor aparte (con todo SQL Server, Sharepoint Services, etc) para manejar todo su ciclo de vida.

De ahí TFS Basic Installation, si, ya se ha hablado de el en muchos sitios, no estoy anunciando nada “nuevo”, pero quería dar mi visión personal de porque lo considero tan importante.

Y es que este nuevo TFS, del que todavía tienen que descubrirnos los precios de licencias, promete ser asequible para este tipo de perfil de desarrolladores autónomos y de pequeñas empresas, que no nos olvidemos, desarrollan software, y por tanto tienen las mismas necesidades de gestión de ciclo de vida que las empresas, aunque no manejen tanta información.

Además esta nueva versión se instala en sistemas operativos de cliente, con lo que no necesitamos montar un nuevo servidor, lo podemos montar en nuestra propia máquina de trabajo. Y no necesitamos pagar por un SQL Server, ya que funciona sobre SQL Server Express.

Por supuesto, tiene sus limitaciones, no disponemos de Sharepoint ni de Reporting, pero bueno, para un desarrollador autónomo y pequeñas empresas, esto no lo veo como una gran limitación la verdad.

Con este TFS Basic Installation, tenemos tanto control de código fuente, gestión de tareas (Work Items), y gestión de compilaciones (Team Builds), y todo integrado desde el propio entorno de Visual Studio Team System, lo cual para mi es una ventaja muy grande respecto a otros entornos, en los que, aunque todo se habla sin problemas, tenemos que hacer que se hablen entre ellos a mano.

No hay que olvidar también, que partimos de la base de un Team Foundation Server, con lo que si ese desarrollador autónomo, o esa pequeña empresa crece (ójala), no tenemos que migrar todo a un nuevo entorno, simplemente nos pasaremos aun TFS completo (pagando las correspondientes licencias claro), y mantendremos toda nuestra información histórica.

En fin, que no quería dejar pasar esta ocasión de recomendar a todos esos desarrolladores autónomos, pequeñas empresas, o gente que tenéis vuestros pequeños proyectos personales, que déis un vistazo (cuando esté disponible) a este nuevo TFS Basic Installation.

S itodo esto os interesa os recomiendo el post en el blog de Brian Harry (en inglés)

http://blogs.msdn.com/bharry/archive/2009/10/01/tfs-2010-for-sourcesafe-users.aspx

Integración de otros frameworks de pruebas unitarias en VSTS2010

Si vale, de acuerdo,el entorno de pruebas unitarias de Visual Studio Team System, no fue el primero, ni el único, ni quizá sea el más rápido ejecutando, aparte de todo el código existente que ya tengáis con Nunit o MbUnit por ejemplo.

Y esto es un poco problema a la hora de integrarlo todo con Visual Studio Team System, tener que ejecutar las pruebas desde otro entorno (bueno, para esto también hay otras soluciones), integrarlo con las Team Builds y publicar los resultados al Team Foundation Server, en fin, cosas que con la ejecución de test unitarios desde VSTS queda resuelta.

Bueno, una de las novedades de VSTS2010 trata sobre esto, y es la apertura a la integración de frameworks de pruebas unitarias de terceros. Esto es, poder ejecutar pruebas unitarias de VSTS, NUnit, MbUnit, y cualquier otro framework que se quiera aprovechar de esto, dentro del propio entorno de VSTS, y  publicando resultados al TFS.

¿Suena bien verdad?. Vamos a ver un pequeño ejemplo, por ahora, el único framework, que yo conozca, que está preparado para esto es Gallio/MbUnit en su versión 3.1.313: http://www.gallio.org/Downloads.aspx

Simplemente nos descargamos el framework de Gallio y nos lo instalamos.

A la hora de crear, lo podemos crear o bien del tipo habitual de pruebas de VSTS, o bien un proyecto de pruebas del framework Gallio, da igual, y esta es una de las ventajas, podemos crear un proyecto de pruebas de VSTS, y agregarle tanto pruebas de VSTS, como de Gallio, y todas se ejecutarán mediante VSTS.

Para mezclar pruebas, vamos a crear un proyecto de pruebas de  VSTS, ya sabéis, nuevo proyecto, en lenguaje el que queráis, en las plantillas de tipo

En la propia plantilla nos crea un método de pruebas, bueno, tampoco quiero enseñar aquí a hacer pruebas unitarias 🙂 así que simplemente dejad la prueba de ejemplo, y le ponemos simplemente un Assert.IsTrue(true) … ¿qué buen modo de hacer funcionar una prueba eh?

La ejecutamos, y bueno, lo esperado, se ejecuta y funciona todo ok.

Vale, ahora vamos a crear, dentro de este mismo proyecto, una clase vacía, y agregamos al proyecto, una referencia de .NET al Framework de Gallio (en referencias de .NET la que pone simplemente “Gallio” y la que pone “MbUnit”) .

En la clase agregamos la sentencia using: “using MbUnit.Framework;”

La clase la marcamos con el atributo de MbUnit que indica que es una clase de test: “[TestFixture”]”, y creamos un método nuevo, que será nuestro método de test, y le marcamos con el atributo “[Test”]”, dentro del método, la sintáxis es la misma que en los test de VSTS: Assert.IsTrue(true);

Lo primero que podemos ver, es que si vemos la lista de pruebas unitarias (y la refrescamos), nos aparecen dos, la de VSTS, y la de MbUnit, las dos juntitas 🙂 … pero sin mezclarse, si nos fijamos un poco más, veremos que tienen iconos distintos para indicarnos que son de distinto framework:

image

Bueno si ejecutamos, vemos que se ejecutan todas y que tenemos sus resultados en el mismo conjunto de resultados de pruebas que podemos publicar, etc.:

image

Esto lo tenéis funcionando ya en la Beta 1, con un pequeño “pero” … a mi me falla cuando ejecuto las pruebas desde línea de comandos con MSTest.exe, bueno y?, pues que en las Team Build se ejecutan mediante esa línea de comandos, y que no es que sólo me fallen las de MbUnit o cuando hay mezcladas, no se muy bien si es mi maquina, pero cuando instalo Gallio me falla siempre la línea de comandos 🙁 pero bueno, supongo que para siguientes Betas lo arreglarán, si no, efectivamente, esto no vale de nada :(.