Apresentacao siemens

Embed Size (px)

Text of Apresentacao siemens

Apresentao do PowerPoint

SiemensMVC e Unit TestRevoluo != Evoluo

X

HojeObjetivo da SiemensEstratgiaMximo 10% de erro

PropostaObjetivos da SiemensEstratgiaMximo 10% erroAumento de qualidade do softwareReutilizao de cdigoMelhorar qualidade do cdigo

MVCUnit Test

O que MVCMVC = Model View Controller

um Pattern que separa lgica de negcios da apresentao

Open Source

O que Asp.Net MVCImplementao do pattern MVC para asp.net

Um novo template do VS

Uma opo

MitosSubstituto do WebForms

Bala de Prata

O que Unit TestDefinio: um pedao de cdigo que invoca um outro pedao de cdigo e checa se as informaes esto com o esperado e o fluxo logico executado da maneira correta

Porque MVCO que temosCom MVCTeste do macaco

Cdigo acoplado as telas, graas aos eventos no codebehind

Criao de componentes com HTML mais complexo uma tarefa difcil e que leva tempo

Excesso de abstrao que provoca perda de tempo e dificuldade de usar linguagens client-side, caso no souber o que o componente pronto vai gerarPoderamos utilizar com facilidade um framework de teste, como o Nunit.

O cdigo de negcios ficaria completamente independente das View e do banco de dados

Controle total sobre o HTML exibido e facilidade de molda-lo a maneira que desejar

Controle total e sinergia com linguagens client-side

Porque Unit TestO que temosCom Unit TestReceio de mexer com cdigo legado

Testes que demoram minutos por causa de uma sequencia logica de tarefas a serem executadas

Cada um programa da maneira que acha melhor sem nenhum padro.

nica documentao a especificaoSegurana em mexer em cdigo legado

No importa o tamanho ou dependncia dos testes; eles so executados em milsimos de segundos

Voc programando para testes o cdigo ganha automaticamente simplicidade, consistncia e padronizao.

Serve como documentao e mostra claramente a ideia que o desenvolvedor teve quando escreveu o cdigoDesvantagens Unit TestGrande curva de aprendizadoTestes mal escritos ocultam erros

Pontos FortesMVCWebFormsControle Total sobre o HTMLSeparao de UI e cdigoFcil de testar (cdigo)Suporta varias EnginesSem ViewStateTamanho da pgina menorFcil integrao com frameworks externos, como JQueryGrande capacidade em RADControles ricos no toolboxDirigido a eventos o que ajuda no aprendizado de quem conhece WinForms ou similarFraquezasMVCWebFormsNo dirigido o que dificulta o entendimento a primeira vista

No tem um bom suporte a controles externos como o toolbox do WebForms

Sem ViewState pode ser tambm uma desvantagemUI e codigo (codebehind) de difcil separao

Difcil de testar

Paginas pesadas por causa do ViewState

EmpecilhosMVCWebFormsGrande curva de aprendizado caso no conhecer a estrutura de funcionamento de uma aplicao webDifcil adotar outros frameworks de view e separao de preocupaesVantagensMVCWebFormsFacilita Testes e utilizao de TDD

Permite o uso das mesmas models em diferentes UI e interfacesRpida criao de prottiposFinalizando...Web FormsMVCPlug and Play

Expe a arquitetura

BibliografiaThe Art of Unit TestingAsp.Net Mvc 2 in action