Thursday, August 20, 2009

Testes de Software

O tema dos testes de software é um tema muito popular, sobretudo agora que há uma iniciativa legislativa da União Europeia que visa responsabilizar as software houses pelos danos causados pelos erros do software.

Mesmo antes de sair para almoçar, entrevistámos o colega Cicrano (ou seria a colega Beltrana? Com a fome nem me lembro bem...)

P – Como é que se testa o interface gráfico? – perguntámos.
R – Carrega-se em todos os botões até dar erro – ouvimos de resposta, mesmo antes do (ou da) colega picar o cartão e correr para o elevador.

Apaziguada a fome, fizemos uma ligação VoIP para o nosso amigo de infância Abílio Gatos, personalidade notável no mundo do software e radicado desde criança nos USA.

P – Está lá, hello?
R – Hello, yes, quem fala? – ouvimos num sotaque californiano que não esconde as origens lusitanas.
P – Como está o meu amigo Abílio Gatos?
R – Oh seres tu my friend! Eu já não ser Abílio Gatos; mudar para nome americana e ser Bill Gates. Ser nome parecida LOL
P – Perdoa-me Bill, mas esqueço-me sempre do teu nome de magnata do software.
R – Eu agora ser reformada. Já não ser magnata.

Tossi com ironia e passei ao cerne da questão.

P – Olha Bill, os meus colegas dizem-me que para testar o interface gráfico tenho que carregar nos botões todos e ver se dá erro.
R – Ho ho ho, I mean LOL. E se não dar erro mas estar wrong output? Não, nada disso. My corporation fazer melhor software do mundo, fazer software para testes UI e estar muito bem cotada no NYSE. Queres comprar acções meu corporation?
P – Ó Bill explica lá como é isso: o software vai ver se os pixels mudaram de cor? Se vou dizer isso aos meus colega, eles partem-se a rir.
R – What a silly idea! Pixels mudar de cor? You make me ROTFL...

Depois de recuperar do ataque de riso, mandou-me este video QuickTime.

P – Obrigado pelo video que mandaste. Mas este software (http://seleniumhq.org/) não é da tua empresa. A tua empresa não tem software deste género?
R – Of course we do! Isto ser only prova de bom vontade com Open Source. Meu corporação ter soluções world best e fazer subir cotação na bolsa. Mas bom vontade com Open Source também fazer subir cotação na bolsa.
P – Então explica-me lá que soluções é que a tua empresa tem.
R – Ok, but tens que comprar acções meu corporation. We have the new Microsoft UI Automation Library, which is included in the .NET Framework 3.0 as part of Windows Presentation Foundation (WPF). Podes usar o UI Automation Library para testar Win32 applications, .NET Windows Forms applications and WPF applications. Tu ver este MSDN Magazine article.
P – Obrigado. Mas pelo que vejo da tua resposta, esse software não resolve o problema dos testes de aplicações ASP.NET...
R – Ok, ok. Tu usar Selenium. Se não gostar, try this other solution using Windows Power Shell. Tu ver outra MSDN Magazine article.
P – Resumindo, estas soluções escrevem valores como se fossem utilizadores a escrever no teclado e procuram padrões de texto no ecrã.
R – That’s correct. E não ver se pixel mudar de cor LOL... Tu ainda acender cigarro com dois silex? LOL

Fiquei amofinado com’ó-caraças com esta alusão aos silexes. Mas, estoicamente, ignorei o insulto.

P – Já percebi como se fazem os testes do interface gráfico. Se além destes testes, se eu fizer testes unitários e testes à base de dados, fico com uma belíssima cobertura de testes automáticos. Mas tenho ainda um problema: há um controle ActiveX que é muito usado e não sei como incluí-lo nos testes.
R – That’s bad. You esquecer ActiveX. You usar AJAX or Silverlight. Com ActiveX ser impossivel automated UI testing.
P – Mas Bill, isso de preparar/escrever os testes demora muito tempo. E como vocês dizem “time is money”...
R – LOL e procurar bugs ser mais rápida? E pagar indemnização ser mais barata? E perder cliente por causa de muitos bugs ser bom negócio? You ask anyone: good testing makes good software. Poucos bugs gasta pouco tempo a procurar e corrigir bugs.

P – Olha Bill, gostei de falar contigo. Foste muito simpático e ajudaste-me muito. Agradeço imenso.
R – You’re welcome. Tu teres que comprar acções meu corporation pois Google operating system vai ser fiasco e eu ficar homem mais rica do mundo again.

E lá comprei umas acçõezitas...