NDepend

El gráfico de dependencias de NDepend en Visual Studio

Si eres un desarrollador .NET, es muy probable que seas usuario de Visual Studio. Hay alternativas a él, claro. Pero el producto del gigante de Redmond es el más utilizado cuando se trata de desarrollar para el framework .NET.

Para un recién llegado, sin embargo, las cosas pueden ser confusas, ya que Visual Studio no es una sola cosa.

En su lugar, viene en varias formas y tamaños.

¿Cuál debe elegir? ¿Cuáles son las características que importan para su caso de uso?

Dado que Visual Studio no es gratuito-la mayoría de las ediciones no lo son, al menos-usted quiere obtener el mejor beneficio por su dinero.

Eso es lo que este post va a cubrir. Como sugiere su título, nos centraremos en las diferencias entre las ediciones empresarial y profesional del entorno de desarrollo integrado (IDE).

Al final del post, habrás aprendido lo suficiente para tomar una decisión informada sobre qué versión del IDE se adapta mejor a tus necesidades.

¿Deseas que tu edición de Visual Studio tenga soporte completo de herramientas de arquitectura?

Descarga una prueba gratuita de NDepend y comprueba toda la visualización de arquitectura que puedes obtener sin necesidad de actualizar tu edición de VS. Ver también: Caso de estudio: 2 sencillos principios para lograr una alta mantenibilidad del código

Comencemos.

Empresa vs. Profesional: ¿Cuál es el Visual Studio adecuado para ti?

Para entender las diferencias entre las ediciones profesional y empresarial de Visual Studio, primero hay que tener en cuenta que Microsoft ofrece el IDE de forma escalonada.

  1. Visual Studio Community es la más económica (es gratuita).
  2. Lo siguiente es Visual Studio Professional.
  3. Y, por último, Visual Studio Enterprise es el más rico en características y el más caro.
  4. Cada edición tiene todas las características de la edición que está por debajo de ella, más otras adicionales.

    Así que la pregunta «¿cuáles son las diferencias entre Visual Studio Enterprise y Professional?» se reduce realmente a lo que el primero puede hacer que el segundo no. Así que vamos a ver eso.

    Características que sólo tiene Visual Studio Enterprise

    Veamos las características exclusivas de Visual Studio Enterprise, desglosadas en categorías.

    Características del entorno de desarrollo integrado

    Empezaremos por cubrir las características relacionadas con el propio IDE. Visual Studio Enterprise tiene un enfoque particular en los arquitectos de software por lo que esta edición obviamente tiene varias características relacionadas con la arquitectura de software.

    1A. Validación y análisis de la arquitectura

    Imagina este escenario.

    Estás desarrollando una aplicación que sigue el patrón arquitectónico de n capas. Así que te gustaría evitar que la capa de presentación acceda directamente a la capa de datos. Te gustaría permitir que sólo accediera a la capa de lógica de negocio.

    Desde la versión 2010 de Visual Studio Enterprise, es posible realizar una validación de la arquitectura de una app mediante diagramas de capas de arquitectura. Podrías integrar dicha validación en tu proceso de construcción, por ejemplo. Si una clase hacía referencia a un espacio de nombres en alguna capa a la que no debía acceder, la compilación fallaría.

    En la última versión, esta característica también se mejoró para ofrecer una validación de dependencia en vivo. En lugar de tener que esperar a que la compilación se rompa, Visual Studio, empleando la potencia de los analizadores de Roslyn, te dará información en tiempo real cuando estés a punto de introducir una dependencia no válida.

    Gráfico de dependencias y matriz de dependencias

    1B. Detección de duplicación de código

    La duplicación de código es uno de los peores problemas en una base de código. Visual Studio Enterprise puede ayudar a los desarrolladores y arquitectos a lidiar con este problema con una característica conveniente: el análisis de clones de código. Con esta función, Visual Studio puede localizar posibles duplicados de código para que pueda eliminarlos.

    Depuración y diagnóstico avanzados

    Los desarrolladores pasan una cantidad considerable de tiempo en el depurador. Así que vamos a ver las características exclusivas de Visual Studio Enterprise para este ámbito.

    La primera característica aquí es IntelliTrace. En lugar de la depuración tradicional, en tiempo presente, IntelliTrace le permite depurar una ejecución pasada de su aplicación. Puedes guardar los datos de IntelliTrace desde un montón de fuentes diferentes, ¡incluyendo una app desplegada en la producción!

    También en el ámbito de la depuración, tenemos la integración del depurador Code Map.

    Esta función ofrece un nuevo tipo de experiencia al depurar, ya que permite visualizar el método actual -y también los métodos anteriores llamados- como diagramas que se integran con el depurador y se actualizan en tiempo real a medida que se avanza en el código.

    Por último, llegamos al análisis de volcado de memoria de .NET. Esta característica le permite analizar los archivos de volcado de memoria para identificar y solucionar problemas de rendimiento, como fugas de memoria o asignaciones innecesarias.

    Herramientas de prueba

    Finalmente llegamos a las herramientas de prueba. Esta área es, sin duda, en la que Visual Studio Enterprise supera a las otras ediciones del IDE. Comenzaremos hablando de algunas de las características relacionadas con las pruebas unitarias automatizadas y luego procederemos a cubrir las características que pueden ayudar con las pruebas manuales, exploratorias y de interfaz de usuario.

    3A. Pruebas automatizadas

    Pruebas unitarias

    Comencemos con las pruebas unitarias en vivo.

    En las pruebas es donde Visual Studio Enterprise supera a otras ediciones del IDE.Cuando activas esta función, Visual Studio ejecutará automáticamente las pruebas unitarias afectadas por los cambios que acabas de realizar en tu aplicación y te presentará los resultados en tiempo real. Esta función es compatible con los frameworks NUnit, xUnit.net y MSTest.

    Ya que hablamos de pruebas unitarias, vamos a centrarnos en un tema que seguramente suscitará cierta controversia: la cobertura de las pruebas.

    Quizá pienses que llegar al 100% de la cobertura del código es vital para la salud de una aplicación, o quizá no. Pero lo más probable es que estés de acuerdo en que conocer los datos de cobertura de pruebas es útil, no obstante. Visual Studio Enterprise te ofrece esta métrica de forma nativa.

    Cuando te propones escribir buenas pruebas unitarias, un objetivo que siempre debes perseguir es el aislamiento. Una buena prueba unitaria debe mantenerse tan separada e independiente como sea posible, no sólo de otras pruebas, sino también de las preocupaciones de infraestructura. Detalles como el reloj de la máquina o el lenguaje no deberían interferir en el resultado de la prueba.

    Proporcionar ese aislamiento no siempre es fácil, sin embargo. Visual Studio Enterprise intenta resolver ese problema con Microsoft Fakes.

    Microsoft Fakes le permite utilizar stubs y shims para simular dependencias externas en su código.

    Un caso de uso clásico para eso sería simular una fecha específica para probar un error sensible al tiempo. Visual Studio Enterprise puede ir más allá incluso de eso. A través de IntelliTest, es posible generar automáticamente un conjunto de pruebas unitarias para su código, junto con datos de prueba falsos.

    Pruebas de interfaz de usuario automatizadas

    ¿Qué pasa con las pruebas automatizadas que no son pruebas unitarias?

    Visual Studio Enterprise puede atender esas necesidades también. Con las pruebas de interfaz de usuario codificadas, puede crear pruebas automatizadas que conduzcan la aplicación a través de su interfaz de usuario. Lo harías grabando una prueba manual y guardándola. Una vez grabada la prueba, puedes especificar los valores de los parámetros y ajustarla con un editor especial.

    3B. Pruebas manuales

    Sin embargo, una base de código no debe vivir sólo de pruebas automatizadas. Las pruebas manuales siguen siendo una parte vital de una estrategia de calidad integral, y Visual Studio Enterprise puede atender esas necesidades también.

    Y la principal herramienta utilizada para ello es el Microsoft Test Manager, que es una solución integral que permite a su usuario completar las siguientes tareas:

  • registrar y reproducir las acciones realizadas durante las sesiones de pruebas exploratorias (es decir, sesiones de prueba sin script
  • crear y gestionar planes de prueba para pruebas manuales
  • copiar conjuntos de pruebas y casos de prueba a través de muchos proyectos
  • registrar y recopilar datos sobre las sesiones de pruebas manuales planificadas
  • Al emplear esta función, un desarrollador, probador o analista de pruebas puede tener una visión muy amplia de lo que está sucediendo en el proyecto, en lo que respecta a las pruebas. Piense en ello como un panel de control centralizado sobre todo lo relacionado con las pruebas.

    Visual Studio Professional Vs. Visual Studio Enterprise: El veredicto

    Microsoft ofrece Visual Studio bajo un modelo de ofertas por niveles. Por tanto, analizar las diferencias entre Visual Studio Professional y Visual Studio Enterprise (respectivamente el segundo y tercer nivel) equivale a cubrir las características presentes en el segundo pero ausentes en el primero. Y eso es lo que hemos hecho en este post.

    Seguro que no hemos mencionado todas las características exclusivas de Visual Studio Enterprise, por cuestiones de brevedad. Pero confío en que el artículo haya dejado claro que Visual Studio Enterprise está dirigido principalmente a arquitectos de software y expertos en control de calidad.

    Entonces, ¿cuál es el veredicto?

    Yo diría que no puedes equivocarte con Visual Studio Professional. Es una opción excelente para la mayoría de los desarrolladores. Sin embargo, para los arquitectos de software, Visual Studio Enterprise podría tener sentido, siempre y cuando tengas mucho presupuesto. Pero si no lo tienes, un montón de plugins en el ecosistema de Visual Studio pueden ayudarte a conseguir las características de VS Enterprise a la carta.

    Carlos Schults
    Autor colaborador

    Carlos Schults es un desarrollador de software .NET con experiencia en desarrollo de escritorio y web, y ahora está probando su mano en el móvil. Le apasiona escribir código limpio y conciso, y le interesan las prácticas que ayudan a mejorar la salud de las apps, como la revisión de código, las pruebas automatizadas y la construcción continua. Puedes leer más de Carlos en carlosschults.net.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *