Category Archives: Visual Studio

VS2010: Cobertura de Código

Hola a todos,
Posiblemente, luego de haber ejecutado sus pruebas unitarias hayan encontrado la siguiente opción:
image

La cual muestra la cobertura del código realizada al momento de ejecutar las pruebas unitarias, es decir, ¿qué tanto código es cubierto por nuestras pruebas?

Pues bien, si queremos conocer esta información, click.

Si luego se encontraron con esto:
image 
Al parecer falta configurar algo no? Asi es.

Veamos que pasos seguir.
Tal como indica la imagen, deben dirigirse a la opción
TestEdit Test SettingsLocal
image
Lo que encontrarán es la ventana principal de configuración de proyectos de prueba, la cual los invito a revisar de manera “curiosa”, por favor, sean cuidadosos =)
image 
En la sección Data and Diagnostics, encontrarán la seccion de cobertura de código:
image

En este caso, lo que debe hacerse es dar click para habilitar dicha opción, y notar que el botón Configure ha sido habilitado.
image

Solo queda un paso, click en Configure.
image

Seleccionamos el assembly que necesitamos para cobertura de código, click en OK y Aplicar para regresar a nuestro Visual Studio.
image
Volvemos a correr nuestras pruebas
image

image 

Al seguir estos pasos se encontrarán con:
image 
Ahora, como podrán notar dice 50% de cobertura. Si desean cubrir un mayor %, digamos… 100% pues, se tendrían que programar muchas pruebas, para lo cual, lo recomendable sería automatizar o generar pruebas de una forma mas sencilla. Si están interesados en ese aspecto, los invito a revisar Microsoft Pex =D.

Sin más me despido.
Muchas Gracias

@Jersson

VS2010: Generador de Pruebas unitarias con Pex

image

Comenzamos este post con una clase, digamos que “simple”. La cual refleja dos operaciones básicas; sumar y dividir.
Agreguemos a esto que la directiva de desarrollo es:
– “todo método va con su prueba unitaria
Ante esto y ya lo he vivido en mas de un proyecto la respuesta común es:
– “me quita tiempo, lo dejaré para después, no es importante”
Entonces, solo me queda decir:
– “No hay pretexto que valga”

Esto por qué?
En primer lugar, no hay respuesta inválida, el problema es que muchas veces no hay un sustento concreto. Este es el caso de la frase “no es importante, me quita tiempo”, ya que, a pesar de ser cierto el hecho de tener que programar cada caso y prueba unitaria, es importante dejar este sustento.

Pero, el problema a relucir es muchas veces la cantidad de casos a probar y por ende, la cantidad de pruebas unitarias a preparar, vamos, tenemos que aceptar que el número de pruebas es variable. Dependiendo claro, de la lógica a ofrecer.
Tal es el caso de una división simple, que a pesar de tener dos parámetros, uno debe considerar aspectos importantes como el clásico caso de la división por cero.
Créanme, hay lugares donde he visto como se omitió esta variante y ERROR!!! LLAMEN A LOS BOMBEROS!! No es broma… pero bueno.

Entonces, si de división se trata, deberíamos tener al menos dos casos, o bueno, quizá mas… y ahora? a programar los casos? Nada que ver, usemos Microsoft Pex.
image 

Esperamos mientras Pex comienza a revisar el método, hasta que muestra la siguiente ventana de resultados:
image

Aquí me detendré en algunas secciones de la ventana, como esta, que te indica los mensajes de las excepciones que saldrían si no controlamos bien nuestro código:
image  

Si seleccionamos un registro, obtendremos información del método de prueba usado.
image 

image 

Por otro lado, en el extremo derecho de nuestro Visual Studio, encontraremos una nueva sección:
image 
La cual nos dará una idea más gráfica del estado de los métodos de prueba generados.

Ahora!
Qué sucede si queremos tener estos métodos en un proyecto de pruebas?
Pues seleccionamos
image

image

image 

Esperamos un momento y revisamos los cambios en nuestro Explorador de Soluciones:
image 

Revisamos nuestro archivo vsmdi, el cual al abrir nos mostrará un listado de las pruebas unitarias creadas en toda la solución:
image

El cual será:
image

Ya si queremos verificar el estado de las pruebas unitarias, pues, check a todas, click derecho…
image

Si verificamos el resultado:
image

El cual es similar a lo obtenido inicialmente. Lo cual demuestra el traslado de las pruebas unitarias creadas de manera automática.

De por si, aquí hay mucho por ver, como por ejemplo el código generado, el cual, los invito a revisar =)
Me despido sin más, esperando sus comentarios, y claro, que descarguen y usen Microsoft Pex.

Saludos y Gracias
@Jersson

VS2010: Diagrama de Secuencia (en reversa)

Buenos días =D
Hace poco mientras conversaba con unos amigos, y bueno, también en la ultima expo que tuve, mencioné esta funcionalidad UML.
De qué se trata? pues de momento, les comento algo que para muchos ya no es novedad, (de todas formas, espero darme un tiempo para el post) Visual Studio 2010 soporta UML 2.0
Como tal, podríamos dedicarle una serie de posts al respecto, como por ejemplo este enlace, que ubiqué sin muchos problemas en la red.

Pero bueno, la idea del post es mostrarles como es que se puede aprovechar la ingeniería reversa del Visual Studio 2010, y con esto (y un poco de suerte) generar un diagrama de secuencia. Debemos admitirlo, todos hemos pasado por la clásica pregunta ¿y los diagramas?

Bien, comenzamos con dos clases en una Biblioteca de Clases (si El Bruno dice que asi se llama, en mas de uno de sus posts, es cierto!)
image

Como podrán notar se trata de una clase con el objetivo particular de administrar entradas y salidas de stock, digamos que estamos manejando un almacén tradicional, en el cual se administran cierta cantidad de items.

Entonces, hemos creado un formulario que simula este tipo de movimientos (ingreso, salida y ver el disponible), es decir:
(no, no tengo plug-ins de código fuente =D)
image

Bien, aqui la interrogante… UML??? si, es factible. Facil, click derecho…
image 

Configuración de las llamadas incluir (los invito a revisar esta ventana)
image

Ingeniería reversa en progreso!
image
Y luego…
image
Diagrama de secuencias =)

Si hay algo mas para mostrar? pues la verdad, mucho… pero de momento, me despido no sin antes recomendar revisen su Visual Studio, queda mucho por aprender =)

Saludos
@Jersson

VS2010: Comparación entre ediciones?

Pues bien, esta es una de las preguntas que me hicieron hace poco en la UTP, cuando expuse sobre VS2010, de estas puedo listar las siguientes:
– Cuántas ediciones hay?
– En qué ediciones encuentro las funcionalidades de Arquitectura?
– Con qué versión de UML trabaja?
image

En el gráfico podrán encontrar respuesta, con características por edición. Más claro que eso, no se me ocurre =D

Seguiré respondiendo algunas preguntas y mencionaré algunas de las preguntas que fueron interesantes… y que, por suerte, pude responder =D

Saludos
@Jersson