Integração contínua

8 views
Skip to first unread message

Fabio Silva

unread,
Dec 16, 2009, 6:34:17 AM12/16/09
to dotnetar...@googlegroups.com
Pessoal, trabalho em uma empresa onde não temos nenhum tipo de teste automatizado. A única coisa que tem aqui é controle de versão pelo SVN. Os programadores fazem seus commits e uma pessoa, através de bats, gera um build quando é necessário. E tem 3 pessoas que fazem testes diretamente nas telas, fazendo inputs manuais e etc, não chegam nem perto do código.
E os códigos não são feitos para serem testados por outros códigos :)

Já podem imaginar os problemas que isso pode causar, certo? Builds geradas erradas, algum programador pode esquecer de subir tal coisa e o cara que "clica" no bat pode nem notar e etc...

Pergunto a vocês: qual a melhor forma de chegar no meu gestor e propor uma mudança? É muito complicado implementar integração continua em códigos que não foram feitos pensando em testes?

Estou lendo esse artigo, http://www.blogdopedro.net/2009/03/04/traducao-do-artigo-sobre-integracao-continua/, que foi recomendado aqui na lista e achei muito interessante. Eu mesmo não tinha conhecimento de algumas coisas descritas ai, e após ler várias posts aqui na lista, fiquei bastante interessado em aprender sobre o assunto.

Valeu!

-- 
Fabio Rogério da Silva

Phillip Calçado

unread,
Dec 16, 2009, 6:54:16 AM12/16/09
to dotnetar...@googlegroups.com
Oi,

2009/12/16 Fabio Silva <fabio...@gmail.com>:
> Pergunto a vocês: qual a melhor forma de chegar no meu gestor e propor uma
> mudança?

Não propondo.

Pegue uma máquina mais antiga ou alugue uma instância no Amazon
WebServices, instale o cc.net ou outro produto de sua preferência e
coloque funcionando. Avise o pessoal para que a máquina serve mas não
insista que ninguém preste atenção, apenas explique. Toda vez que seu
build falhar avise a todo mundo (se você tiver uma lâmbada USB como
http://www.flickr.com/photos/pcalcado/4132421978/ melhor ainda) e
notifique a pessoa que fez o check-in quebrado.

Minha experiência diz que com o tempo as pessoas vão passar a se guiar
pelo build (que é o batimento cardíaco de um projeto ágil) sem pensar
e você não vai precisar convencer ninguém. Seja como for, pare de
pensar e comece a fazer.

> É muito complicado implementar integração continua em códigos que
> não foram feitos pensando em testes?

Não. CI não é exatamente sobre testes, é sobre ter certeza que se o
trabalho de um desenvolvedor não combina com o trabalho de outro nós
sabemos imediatamente. Você tem muito mais valor em CI quando possui
uma suíte de testes mas mesmo o ato de rodar o build, compilar e gerar
os artefatos a serem deployados já possui um valor grande. Claro que
os testes são muito importantes mas creio que após ter o CI no lugar
você pode ir adicionando testes aos poucos e, melhor ainda, as pessoas
vão ver mais benefício.

[]s
--
Phillip Calçado
http://fragmental.tw
http://www.fragmental.com.br

Eduardo Costa

unread,
Dec 16, 2009, 7:42:41 AM12/16/09
to .Net Architects
Phillip,

Sabe onde tem para vender essa lampada da foto? Muito bom isso

On 16 dez, 08:54, Phillip Calçado <pcalc...@gmail.com> wrote:
> Oi,
>
> 2009/12/16 Fabio Silva <fabiorsi...@gmail.com>:
>
> > Pergunto a vocês: qual a melhor forma de chegar no meu gestor e propor uma
> > mudança?
>
> Não propondo.
>
> Pegue uma máquina mais antiga ou alugue uma instância no Amazon
> WebServices, instale o cc.net ou outro produto de sua preferência e
> coloque funcionando. Avise o pessoal para que a máquina serve mas não
> insista que ninguém preste atenção, apenas explique. Toda vez que seu
> build falhar avise a todo mundo (se você tiver uma lâmbada USB comohttp://www.flickr.com/photos/pcalcado/4132421978/melhor ainda) e

Phillip Calçado

unread,
Dec 16, 2009, 7:47:07 PM12/16/09
to dotnetar...@googlegroups.com
Oi,

Nós compramos aqui:

http://www.delcomproducts.com/Default.asp

2009/12/16 Eduardo Costa <educ...@gmail.com>:

> --
> Você recebeu esta mensagem porque faz parte do grupo .Net Architects hospedado no Google Groups.
> Para postar envie uma mensagem para dotnetar...@googlegroups.com
> Para sair do grupo envie uma mensagem para dotnetarchitec...@googlegroups.com
> Para mais opções visite o grupo em http://groups.google.com/group/dotnetarchitects?hl=pt-br

Diego Dias

unread,
Dec 16, 2009, 8:26:48 PM12/16/09
to dotnetar...@googlegroups.com
Mto boa essa idéia. Como vc configura o NAnt ou a ferramenta que vc usa para acionar isso?


2009/12/16 Phillip Calçado <pcal...@gmail.com>

Phillip Calçado

unread,
Dec 16, 2009, 8:49:49 PM12/16/09
to dotnetar...@googlegroups.com
Oi,

No site tem um driver para Linux e Windows, incluindo clientes de
exemplo em C e .Net. Se seu build server for Unix é inclusive bem mais
fácil, basta você fazer um shell script porque a lâmpada é vista como
um device e permite escrita direta.

[]s

2009/12/17 Diego Dias <diego...@gmail.com>:


> Mto boa essa idéia. Como vc configura o NAnt ou a ferramenta que vc usa para
> acionar isso?
>

Ricardo Serradas

unread,
Dec 17, 2009, 11:20:03 AM12/17/09
to dotnetar...@googlegroups.com
Se usar o Team Build, basta usar o Build Notification do TFS Power Tools nos desktops dos desenvolvedores. Toda vez que uma build roda, todos são notificados (como a notificação de novo contato online do MSN) e também quando a build termina, uma nova notificação aparece, informando o resultado. Esse resultado incluí também o resultado dos testes unitários.

 
2009/12/16 Phillip Calçado <pcal...@gmail.com>
--
Você recebeu esta mensagem porque faz parte do grupo .Net Architects hospedado no Google Groups.
Para postar envie uma mensagem para dotnetar...@googlegroups.com
Para sair do grupo envie uma mensagem para dotnetarchitec...@googlegroups.com
Para mais opções visite o grupo em http://groups.google.com/group/dotnetarchitects?hl=pt-br



--
Ricardo Serradas
(11) 9615-0998

Team System in a nutshell - http://blog.ricardoserradas.net

Fabio Silva

unread,
Dec 17, 2009, 11:49:44 AM12/17/09
to dotnetar...@googlegroups.com
Então, problema aqui vai ser fazer esses testes unitários, pq nada foi feito pensando em testes unitários. 

Como fazer esse tipo de teste com telas? Ou neste caso é só manualmente? Ou usando algum programa que automatiza isso tb (como o Silktest)?

2009/12/17 Ricardo Serradas <ric...@ricardoserradas.net>



--
Fabio Rogério da Silva

Weverton Gomes

unread,
Dec 17, 2009, 11:55:37 AM12/17/09
to dotnetar...@googlegroups.com
O TestComplete é mto bom pra testes funcionais.

2009/12/17 Fabio Silva <fabio...@gmail.com>



--
Weverton Gomes de Morais
Tecnólogo em Redes de Comunicação
Desenvolvedor Delphi
Entusiasta Ruby/Rails
"Todos juntos somos fortes"

Ricardo Serradas

unread,
Dec 17, 2009, 11:59:25 AM12/17/09
to dotnetar...@googlegroups.com
Tem também o Web Test do VSTS.

2009/12/17 Weverton Gomes <weve...@gmail.com>

Eduardo Miranda

unread,
Dec 17, 2009, 2:49:26 PM12/17/09
to dotnetar...@googlegroups.com
@Fabio
 
Os testes durante a integração contínua servem para garantir um nível de qualidade pré-definido ao final do processo.
 
O pacote de testes que são executados não são limitados aos testes unitários. Pelo contrário, eles devem ser um pacote compreensível para garantir esta qualidade.
 
No entanto, alguns testes, como os de interface, são normalmente mais lentos. Com isto sua janela de execução pode ficar muito grande.
 
@Weverton
 
Lembrando: Testes funcionais não se limitam a UI :-)


2009/12/17 Weverton Gomes <weve...@gmail.com>
Reply all
Reply to author
Forward
0 new messages