segunda-feira, 11 de julho de 2011

Impressões do TDC 2011 - Parte 2

Fala galera!

Segue agora o meu resumo rápido sobre as palestras do TDC 2011:

1ª Palestra:
A Trilha de Testes teve o seu início com a excelente palestra do Wanderlei Souza da empresa desenvolvedora de games Vostu. A Palestra intitulada "Penetration Testing" abordou os testes de segurança em ambientes web.

A palestra se baseou sobre a aplicação Foundtsone Hacme Books, desenvolvida pela Mcafee, uma plataforma de aprendizagem para o desenvolvimento seguro de sistemas e sites. Wanderlei também citou uma outra aplicação, já citada por mim aqui e chamada Webgoat, desenvolvida pela OWASP.

Wanderlei frisou que o tipo de ataque que mais cresce atualmente é o CSRF (Maiores detalhes aqui), que se aproveita de sessões abertas pelo usuário em diversos tipos de site.

Um outro problema muito comum para a segurança na web são os relatórios de falhas, que acabam por expor muitas informações ao usuário. Em uma demonstração rápida foi possível descobrir quais eram a plataforma, banco de dados, servidor de aplicação e framework através de um relatório de erros de um site. A dica para evitar este tipo de ameaça é limitar ao máximo a quantidade de informações que são exibidas para o usuário caso o site venha a falhar.

Para que o seu site seja mais seguro, é recomendável também sempre validar as entradas, de preferência buscando evitar o ataque através de SQL Injection e XSS.

Wanderlei também mostrou a todos que até a versão 4 do Jboss era possível visualizar o seu arquivo de configuração aberto na web. Este problema só foi corrigido a partir da versão 5. Uma rápida busca no Google e podemos encontrar diversos destes arquivos, inclusive de sites governamentais.

A palestra foi muito aplaudida e elogiada por todos e a sua apresentação está disponível no link abaixo:

Teste de Segurança: Vulnerabilidade de Aplicações Web

2ª Palestra
Em seguida tivemos a palestra da Tatiane Fukuda, do Yahoo!, com o tema "Desmistificando Agile Testing". A palestrante iniciou explicando as diferenças entre os processos tradicionais e os processos ágeis.

Tatiana citou alguns principios do Tester Ágil:

  • Feedback contínuo;
  • Coragem;
  • Simplicidade;
  • Melhoria contínua;
  • Auto-Organização;
  • Foco em pessoas; e outros.

Talvez duas das mais emblemáticas frases ouvidas no TDC tenham vindo desta palestra:

"Todo time (projeto/empresa) é responsável pela Qualidade";

"O escopo é negociável, a qualidade NÃO!"

Para finalizar, Tatiane exibiu como foi desenvolvido o projeto Meme, que eu definiria como uma espécie de Twitter + Facebook desenvolvido pelo Yahoo.

Uma das ferramentas utilizadas para o teste foi o Pyccuracy, desenvolvida por brasileiros em Python sobre a plataforma do Selenium e que permite escrever testes automatizados através de linguagem natural, ou seja, você escreve os testes em português. Vou ver se me aprofundo mais sobre esta ferramenta, pois parece ser bem interessante.

Com a utilização da ferramenta, Tatiane deu algumas dicas de como escrever bons testes automatizados:

  • Auto-explicativos;
  • Foco bem definido
  • Linguagem fácil para todos
  • Módulos reusados

A apresentação está disponível no link abaixo:

Agile Testing

3ª Palestra:
Após o almoço, tivemos a oportunidade de escolher entre 2 palestras. A minha escolhida foi a "Hands On Selenium 2", ao invés da "Fábrica de Teste".

Infelizmente o palestrante Leonardo Galani teve um contratempo na hora do almoço e acabou por se atrasar em quase 30 minutos, assim a palestra foi muito prejudicada.

Ele nos apresentou um projeto rápido escrito no Selenium, e explicou algumas características, porém teve de ser interrompido com o final do tempo para maiores explicações. Recomendo um acesso ao blog do Leonardo, que possuí um bom material.

A apresentação está disponível no link abaixo:

Hands On Selenium 2

4ª Palestra:
Na sequência tivemos a apresentação da Neli Duarte, da IBM, sobre Testes Exploratórios.

Neli começou definindo os testes exploratórios e mostrando uma comparação entre o teste exploratório e o teste ad hoc, que não são a mesma coisa. Um teste exploratório é estruturado e planejado e os bugs detectados foram em decorrência das áreas explorados. Já um teste ad hoc não possui planejamento e não tem uma estrutura e os bugs detectados são por acidente.

Neli então definiu: Todos os testes ad hoc são exploratórios, mas nem todos os testes exploratórios são ad hoc.

A apresentação não mostrou mais novidades sobre o tema e muitas pessoas não gostaram da forma de como os slides foram preparados, já que estavam em inglês (todos os demais em português), com muitas informações e com uma fonte muito pequena, de difícil visualização.

A apresentação está disponível no link abaixo:

Testes Exploratórios

5ª Palestra:
Após o Coffee Break tivemos uma alteração na ordem das palestras, com a presença de José Papo ao invés do José Correia que ficou para o final.

O tema da palestra do Papo foi sobre "Especificação por Exemplos - A Agilidade hiperprodutiva com especificações executáveis".

Já no começo uma polêmica: Teste Unitário não pode ser considerado um teste. Um sistema que tenha passado apenas pela fase dos testes de unidade não pode ser considerado como testado. O teste unitário na verdade é uma forma de melhorar o design da aplicação e não testá-la.

Papo aproveitou para citar algumas máximas da nossa área:

  • "Testar não deve ser a última coisa a ser realizada no projeto";
  • "Qualidade é um processo contínuo e de responsabilidade de todo o time";
  • "É necessário colaboração entre as equipes de teste e desenvolvimento";

Uma outra polêmica foi citar que os "Agileiros", aqueles que colocam o o Agile acima de tudo, acreditam que testes não são necessários e apenas gastam mais tempo do projeto. Por sorte que cada vez mais temos visto que isso é lorota...

Papo citou que Microsoft, Google e Oracle utilizam atualmente 1 testador para cada 1 desenvolvedor, um número ainda bem diferente da realidade das nossa empresas.

Mas a cereja do bolo ainda estava por vir, que era o tema principal da palestra: Especificação por exemplos.

Baseado no livro "Specification by Example" do Iugoslavo Gojko Adzic, e publicado agora em junho, Papo trouxe um conceito novo para a grande maioria do público.

A ideia é simples: O documento de Especificação de Requisitos ao invés de trazer linhas de códigos e regras complexas descritas, traria uma história simples, apoiada por exemplos, que comprovariam como tal regra/requisito deve funcionar. Isto facilita e muito o trabalho dos desenvolvedores e testadores para compreenderem o funcionamento do sistema e principalmente ajudaria os usuários e verificarem se o que está escrito é o mesmo que eles imaginavam e solicitaram. O slide 18 da apresentação exemplifica isto.

Por fim, Papo citou 4 ferramentas para a elaboração de especificações:


Uma demo da ferramenta SpecFlow, utilizada como um plugin para o Visual Studio nos deu a ideia do poder da ferramenta.

A apresentação está disponível no link abaixo:

Especificação por Exemplos - A Agilidade hiperprodutiva com especificações executáveis

6ª Palestra
Para encerrar o ciclo de palestras, era a vez do José Correia, fundador da Iterasys e com mais de 16 anos de TI. O tema da sua palestra era "Automação Rápida de Testes para Web".

Correia também começou com uma polêmica, ao afirmar que "QA" e "Teste" não são a mesma coisa, já que o mercado banalizou os 2 termos. Ele explicou rapidamente que "QA" é aquele envolvido com o processo e que não realiza testes, ao contrário do testador (Em breve vou fazer um post sobre esta polêmcia).

Para que possa haver uma automação de teste rápida, os seguintes gargalos precisam ser resolvidos:

  • Falta de objetivos;
  • Casos de teste superficiais;
  • Mudança nas equipes;
  • Equipe inexperiente;
  • Falta de conhecimento em automação;
  • Ambiente inexistente.

Correia também citou a diferença entre os ambientes, pois quase sempre o ambiente de teste é uma máquina velha e obsoleta, enquanto o ambiente de produção é um servidor de "verdade", parrudo e pronto para tomar porrada. Uma excelente comparação foi mostrar a foto de duas raças de cachorros:

O ambiente de teste foi caracterizado como um Pinscher, pequeno e fraco, enquanto o ambiente de produção era um Doberman, grande e forte.

Segundo Correia, com a virtualização a tendência é que isto mude para melhor, com a adoção do mesmo ambiente de produção para testes.

Ao final da palestra tivemos uma demo da utilização do BadBoy em conjunto com o JMeter.

A apresentação está disponível no link abaixo:

Automação Rápida de Testes para Web

Mesa Redonda de Testes
Ao final das 6 palestras tivemos o convite para comparecer até o auditório para participar da Mesa Redonda de Testes, inspirada na série criada pelo grupo DF Testes.

A "mesa" era composta pelos palestrantes Neli Duarte, José Correia, Tatiane Fukuda e José Papo e contando com a moderação do Elias Nogueira e a ajuda do Leonardo Galani.

Os temas eram:

  • Testar é tão fácil que até a minha mãe testaria
  • Testar sem documentação é possível?
  • Para que testadores se eu faço teste unitário?
  • Testa aí!!!

As discussões foram muito boas e contaram com a presença da platéia, que ao final foi premiada com vouchers e prêmios exclusivos dos patrocinadores!

E assim chegou ao fim a Trilha de Testes do TDC 2011. Avalio como muito positivo o evento. Mais uma vez parabéns ao Elias Nogueira, Jorge Diz e a Globalcode pelo evento. Espero estar presente no TDC 2012.

Segue as fotos disponibilizadas pelo Elias Nogueira em seu blog:

4 comentários:

  1. Marião, show de bola!!! Estive no TDC2011 e você transcreveu, em poucas palavras, o melhor das palestras da Trilha de Testes! Parabéns à você pelo ótimo post e a todos que organizaram e participaram do TDC2011.

    ResponderExcluir
  2. Valeu Furlan!!!

    Tentei trazer um pouco do TDC para aqueles que não estiveram lá!

    Com certeza faltou algum ponto interessante, mas grande parte está aí!

    abraços

    ResponderExcluir
  3. Ae Mario, muito bom. Uma visão rápida e direta.

    Pena q não fui... o Fabio teve mais sorte hehehe

    Ano q vem pode ser vc lá dando a palestra, afinal o Fabio reprovou um palestrante e nos contratou rsrs

    Abraços!

    ResponderExcluir