Sunday, October 25, 2009

Carta de intenções

Comecei a programar em Basic no ZX Spectrum. A minha segunda linguagem foi Assembler Z80 e tive mais umas quantas até a vida me levar para outros lados. Mas acabei por estar de volta aos ambientes de desenvolvimento.

Mudou tudo! Basta procurar na net e vemos que mudou tudo, e já há bastante tempo. Muito mais de metade do que está disponível na net está em inglês. Uma parte significativa foi feita pela Microsoft e não está exactamente bem feito. Há muita confusão de conceitos e é difícil encontrar o caminho.

CARTA DE INTENÇÕES do Tribuna Tek

1. Os temas deste bloque serão temas ligados ao desenvolvimento em sentido lato: arquitecturas, técnicas de modelação, metodologias de desenvolvimento, metodologias de projecto, técnicas de programação, e uma série de temas soltos que não vou agora tentar agrupar e classificar: OOPS, testes unitários, integração contínua, controle de versões, etc.
2. O que faço actualmente é em .NET pelo que os exemplos serão desse mundo.
3. Os textos terão um objectivo de divulgação (pedagógico) ou não.
4. Os textos poderão ser críticos ou não.
5. Os textos poderão ser reflexões do dia, lamentos ou cantos de vitória.
6. Os textos poderão estar certos ou não.
7. Este bloque não é um guia de aprendizagem, não pretende ser completo ou exaustivo, nem sequer fazer doutrina.

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...