PDC 09 – Dia 3

O terceiro e último dia do PDC 09, que aconteceu em 19/11, não teve keynote. Portanto, tivemos o dia inteiro com sessões. Aliás, todos os vídeos e apresentações (PPTs) estão disponíveis para download, gratuitamente, no site do PDC. É uma ótima oportunidade para aqueles não puderam ir fisicamente ao evento ou, para aqueles que foram, assistir a alguma sessão que não conseguiu ver.

Nesse dia, a maioria das sessões que acompanhei foi relacionada a assuntos de deployment de aplicações, testes e qualidade de software. Confesso que fiquei surpreso, positivamente, com o que estão preparando para o Visual Studio 2010. Atualmente, existem vários problemas que podem impactar a produtividade de um projeto de software: o deploy dos builds pode ser propenso a erros e demorar muito se for feito de forma manual, existe dificuldade de se testar a aplicação e os bugs são difíceis de serem reproduzidos.

O Visual Studio Team Lab Management 2010 permite fazer o deployment e executar testes automaticamente, em ambientes virtualizados de teste e homologação. Assim, é possível possuir N máquinas virtuais, cada uma contemplando uma determinada situação de teste, não sendo mais necessário montar os ambientes para cada caso. Além disso, ele gerencia esses ambientes virtuais de modo que, caso seja necessário, possa voltar para a situação inicial rapidamente. Depois do deploy, é tirado um snapshot com o estado em que o ambiente se encontra após as modificações. Se algum dos testes automatizados falhar na execução, é possível ter acesso ao snapshot e reproduzir o erro facilmente. Também é gravado um vídeo com os testes manuais que foram feitos, o que também facilita na reprodução de bugs, pois nesse caso é possível ver exatamente a situação que causou o problema.

Outra funcionalidade que será muito útil é o IntelliTrace. Hoje, é comum ter no meio do código de nossa aplicação, código para instrumentalizar a geração de logs e informações para que possamos rastrear problemas. O que o IntelliTrace faz é gerar essa instrumentalização automaticamente, pois ele grava todo o fluxo de execução da aplicação (por quais métodos ele entrou e saiu) e dados relativos ao programa (parâmetros passados e valores retornados). Com base nessas informações armazenadas, é possível carregar o Visual Studio 2010 exatamente com a mesma situação na qual o bug ocorreu, podendo realizar o debug a partir de então. Ou seja, é possível debugar uma situação que ocorreu no passado, e não somente o estado da aplicação que está sendo executada no momento.

 

Também foi mostrada uma funcionalidade do Visual Studio 2010, Test Impact Analysis, que faz a análise de impacto de testes. Funciona assim: quando uma mudança é feita no código, ela analisa quais os testes que deverão ser executados para garantir que a mudança não irá fazer com que a aplicação deixe de funcionar. Ou seja, ela aponta automaticamente quais testes serão impactos pela alteração do código. Assim, somente executam-se os testes que realmente importam, não gastando tempo com testes desnecessários e nem testando menos do que o suficiente para garantir que nenhum bug foi introduzido na alteração. Também é possível utilizar a função de Gated Checkin em conjunto, que só permite o checkin de código caso determinadas regras tenham sido cumpridas, como por exemplo, somente após a compilação do programa sem erros, se os testes automatizados terem sido executados com sucesso, entre outras que podem ser definidas.

Essas são só algumas das novidades do Visual Studio 2010, no que se refere ao gerenciamento do ciclo de vida da aplicação. Caso tenha ficado interessado, sugiro fortemente que assista às sessões do PDC sobre esse assunto. Como disse anteriormente, fiquei impressionado com as facilidades que serão oferecidas e permitirão ganhos de produtividade.

 

Loading