A hora de parar de afiar o machado

A expressão no título deste artigo nos remete à célebre parábola do lenhador (calma, meu espírito de pregador logo acaba…), aquela que compara um jovem (e inexperiente?) lenhador a um velho (e experiente?) lenhador que, ao invés de aplicar força bruta para derrubar suas árvores, passa a maior parte do tempo afiando o machado antes de desferir seus golpes. Admito que existe alguma lição legal nesta história, mas farei um contraponto importante: se você quer derrubar uma árvore, chega o momento de parar de afiar o machado, e começar a desferir os golpes. Afiar o machado para sempre lhe dará uma lâmina fabulosa, lustrosa e vitaminada, mas que nunca trouxe resultado algum além da sua beleza e do seu potencial. A sua formação acadêmica é esta lâmina e, salvo se você buscar uma carreira na academia, você deve urgentemente associá-la a experiências profissionais sólidas e relevantes.

Em 2008 li uma entrevista do Max Geringher chamado “O Profissional de TI do Futuro”, e achei interessante porque falava de coisas que sentia na minha carreira, em especial porque estava me consolidando em um novo rumo. O artigo acabou esquecido por mais de quatro anos entre as minhas anotações, e ao decidir escreve este, de imediato me lembrei de um trecho daquele, que está mais atual do que nunca:  Continuar lendo

Quick post: Desenvolvendo aplicações web na velocidade da luz com Yeoman

Quantas vezes você já teve idéias que pararam antes mesmo de começar devido ao grande trabalho de montar ambiente e estruturar uma aplicação web? Ou quantas vezes você já teve que criar a mesma estrutura, os mesmos arquivos, copiar as mesmas bibliotecas para começar seu projeto? Lhes apresento um senhor muito simpático (e nada preguiçoso) chamado Yeoman.

yeoman-logo

Yeoman é uma coleção de ferramentas e boas praticas que integradas visam facilitar o desenvolvimento de aplicações web. O Yeoman veio para facilitar sua vida, ele cuida de scaffolding, depêndencias, live reload, build, testes, …

Como funciona?

Por exemplo, você precisa começar uma nova aplicação com Angular JS:

Abra o terminal e entro da pasta que deseja criar a aplicação, digite:

yeoman install angular //instalando a extensão
yeoman init angular //fazendo o scaffolding da aplicação

Ele irá fazer algumas perguntas rápidas  (as respostas são “Sim” ou “Não”, como por exemplo, se deseja adicionar algum outro componente), e pronto! Ele cria toda a estrutura, inclusive com testes!



Ops, você esqueceu de adicionar JQuery? Sem problemas:

yeoman install jquery

Feito:


Quer rodar sua aplicação? o yeoman também ajuda:

yeoman server

o build será executado, uma janela do browser abrirá rodando a aplicação e ‘escutando’ qualquer mudança para atualizar a pagina.

Saiu uma nova versão do jquery? o yeoman atualiza pra você:

yeoman update jquery

E o melhor, se você tem alguma estrutura própria na sua empresa ou em casa, ele foi escrito para permitir você criar extensões (inclusive, existe um site só com elas!) que adaptam-se ao seu modo de desenvolver.

Shut up and take my money!

Gostou? Yeoman (e as ferramentas que o compôe) são inteiramente grátis. Para conhecer mais, saber como instalar e melhorar sua produtividade, confira o site oficial do projeto.

Testes de regressão, você está fazendo certo?

Em meu primeiro post no Nerds-On falarei sobre Testes de Regressão que é um tipo de teste de software. Dentre todos os tipos existentes eu o considero um dos mais importantes, acho que por isso venho percebendo que ele não está sendo utilizado adequadamente.

Em uma definição livre, entendo que os testes de regressão são executados para garantir que uma funcionalidade ou parte do software já testado, continue funcionando após o mesmo sofrer alguma implementação ou manutenção.
É neste ponto que o teste de regressão se mostra muito importante para a garantia da qualidade do software entregue, pois poderemos evitar que uma funcionalidade que o cliente já utiliza não deixe de funcionar uma vez que o software sofra uma atualização de versão, evitando transtornos e desgastes junto ao cliente.

Outra definição para testes de regressão retirada do glossário de termos do ISTQB diz o seguinte:

Teste realizado em um programa previamente testado após alguma modificação feita e com a finalidade de assegurar que defeitos não tenham sido introduzidos ou mascarados nas áreas não alteradas do software como resultado da referida modificação. Este teste é realizado quando o software ou seu ambiente é alterado.

Agora surgem algumas perguntas a você leitor do blog, a sua equipe de desenvolvimento está executando testes de regressão? Você está fazendo certo?

Continuar lendo

Automação de testes – 7 passos para o sucesso!

Hoje vou apresentar para você leitor um pouco sobre a minha vivência em automação de testes, mais especificamente os primeiros passos para automação de testes funcionais.

Posso dizer que automatizar os testes funcionais nos dias de hoje é essencial para o sucesso e a qualidade de um produto de software, mas para implantar a automação de testes funcionais em uma organização é necessário um estudo e um planejamento para que o mesmo ocorra com sucesso.

Nos parágrafos seguintes estarei apresentando os primeiros passos que você deve analisar e estudar antes de mergulhar no mundo da automação de testes.

1° Passo – Apoio da liderança

liderança

O apoio da liderança é o primeiro passo para que a automação de testes ocorra em uma organização, pois sem ela você não terá forças nem recursos para dar inicio a um projeto de automação de testes. A implantação de testes automatizados requer o investimento de recursos financeiros e humanos, sendo estes obtidos apenas com o consenso da liderança.

A grande dúvida neste passo é: como conseguir a confiança e o apoio da liderança? Para isso você precisa ter um embasamento teórico sobre automação muito forte para conseguir demonstrar com números e estatísticas que a automação trará benefícios suficientemente grandes para tal investimento.

– Onde devo procurar esse conhecimento para convencer meus líderes?

As empresas que vendem ferramentas de automação de testes tem muito material que pode ser estudado e apresentando como benefícios da automação de testes funcionais aos seus líderes. Um exemplo é a Smartbear que, como ajuda aos profissionais da área de teste que querem implantar automação de testes na organização onde trabalham, disponibilizam um material contendo uma lista de benefícios que a implantação de uma ferramenta de automação pode trazer.

Posso listar alguns desses benefícios:

  • Acelerar os testes de um roteiro em vários navegadores
  • Retorno rápido de resultados de falhas no sistema, agilizando o processo de correção
  • Encontrar bugs mais cedo e aumentar a cobertura de testes
  • Executar testes mais rápido que um ser humano
  • Reutilização de testes

Existem muitos outros benefícios que a implantação da automação de testes pode nos trazer, mas isso posso aprofundar em um artigo exclusivo para isso. Continuar lendo

Feedback sem exemplo não é feedback

O título deste artigo pode pressupor muitas coisas, então logo de cara quero esclarecer que falarei sobre feedback, e sobre o poder que uma certa frase tem no resultado. O assunto é amplamente estudado e comentado, geralmente por gente com muito mais experiência e propriedade do que este autor, mas gostaria de explorar aqui algumas experiências.

Se você é líder ou liderado – e geralmente somos ambos – em algum momento da sua carreira (espero que em muitos!) deve ter dado ou recebido feedback. Sem medo de errar, lamento informar que algumas destas situações não foram um feedback. Um feedback cujo principal motivador não seja que o receptor possa saber onde está acertando e entender claramente onde deve melhorar, não merece este nome. Não se assuste ao perceber que muita gente chama de feedback meros eventos para descarregar sua ansiedade, para xingar, para desabafar ou para puxar o saco. Nada disto é feedback. Continuar lendo