Testes de Software (Parte 1)

Recentemente participei de dois projetos em que tive a oportunidade de colocar em prática e refinar a técnica do Test Driven Development (TDD). Um deles, o JTrace, é open-source e procura colaboradores. Mais aqui. Pra quem nunca ouviu falar sobre testes (automatizados ou não) ou TDD vou dar uma pequena introdução.

Testes Manuais

Testes manuaisGenericamente falando, um programa de computador é um conjunto de instruções, que recebe dados de entrada e produz dados de saída, não importa em que linguagem foi escrito. Mas como sabemos se um programa que acabamos de escrever funciona? Testando, oras :p. A prática comum de testes é escrever, rodar manualmente, inserindo dados e vendo se a saída é a esperada. Para programas pequenos, ok, funciona bem, mas quando temos programas mais complexos, que envolvem mais do que entrada e saída por linha de comando, a coisa complica. Existe um problema muito sério envolvido em testes manuais: são rodados por humanos. Isto não se restringe apenas ao problema de que podemos (e vamos) errar, mas há também o problema de tempo e dispendiosidade. Em projetos grandes, testes manuais quando não são inviáveis são ineficientes.

Leia o resto deste post »

, , , ,

1 comentário

Steve Jobs

Não estou aqui pra puxar saco, nem pra dar uma de macfag.

Assim como sou capaz de aplaudir o triunfo de um time rival ou um show bem feito de uma banda que eu não gosto nem desgosto, acho justo falar de Steve Jobs.

Não acompanhei sua carreira, nem sei muita coisa sobre ele e seus meios, mas tenho certeza de uma coisa.

Senhor Jobs soube valorizar o que há de mais importante em seus produtos: o consumidor final. Isso é um trunfo inestimável.

Hoje em dia não há nenhum produto da apple que não seja de impecável qualidade, seja em acabamento ou experiência do usuário. Sempre disse isso aos mais chegados: não existe, simplesmente não existe concorrência para a Apple no quesito qualidade. Não importa se são caros ou se alguém diz que seus produtos realizam lavagem cerebral em seus usuários. São ótimos produtos e ouso dizer que valem seu preço. Sou usuário e fã do android e digo que o mesmo está milênios atrás do iOS em experiência do usuário.

Ainda existem muitos paradigmas de mercado a serem quebrados para que existam mais produtos com qualidade tão boa quanto as dos produtos da empresa de Jobs. Não conheço outra empresa que preze tanto pela qualidade quanto a Apple.

Ele se foi. Pra onde, vai da crença de cada um. Pra mim, o que importa é seu legado. Jobs deixou sua marca na vida de milhões de pessoas, seus produtos conquistaram o mundo por mérito. Se ele pudesse ler minhas palavras, eu deixaria a minha mensagem:

Steve Jobs,

O pior já passou. Ponha um sorriso no rosto para cada sorriso de satisfação que você causou com seus gadgets, filmes ou outras obras e terá sorrisos para toda a eternidade. Você fez diferença neste mundo.

Esta é minha humilde homenagem.

1 comentário

Noobs, Armazenamento e Deleção Segura de Arquivos

Hoje estava zapeando na tv com Mô e passamos por uma chamada do Olhar Digital para uma matéria sobre recuperação de dados.

Aí veio a pergunta de Mô:

Ué, mas quando eu mando apagar alguma coisa do computador, ele não apaga?

Sim, e não!

Expliquei pra ela o por quê e achei que essa deveria ser uma dúvida frequente pra usuários e resolvi escrever esse post.

Vou tentar explicar a grosso modo como funciona a deleção de arquivos.

Leia o resto deste post »

,

4 Comentários

O Profissional de BI

Estamos na Era da Informação. Isto quer dizer que ela é o recurso em foco hoje em dia, e convenhamos: informação é poder.

A grosso modo, informação é o resultado de processamento, manipulação e organização de dados.

No mundo corporativo, dados são coletados por Sistemas de Informação, que ajudam na execução geral e organização do negócio. A extração, transformação e análise desses dados gera informações que oferecem suporte a gestão de negócios, em especial a tomada de decisões. A empresa que tem acesso mais rápido à informação de qualidade toma decisões mais rapidamente, o que geralmente cria vantagem sobre suas concorrentes.

O processo de coleta, transformação, organização, análise e monitoramento de dados para a geração de informação útil para a gestão de negócios é chamada de Business Intelligence (BI).

Para a realização do BI, faz-se necessário uma conexão entre as áreas de Gestão Empresarial (Conhecimento do domínio do negócio) e de TI (Conhecimento técnico para criação da informação) que, em geral, são departamentos muito distintos onde o analista de negócio não possui conhecimentos técnicos para com a Tecnologia de Informação e o Profissional de TI não possui conhecimento do domínio de negócios.

Surge então a necessidade de um novo tipo de perfil de trabalho: o profissional de BI.

Leia o resto deste post »

,

3 Comentários

Novo Tema

Ativei um novo tema, pois vi que muitos blogs utilizam o antigo. Gostei desse, por ser escuro, mas o texto continua fácil de ler. Feedback please :p!

1 comentário

Umas coisas que aprendi no trabalho

Estou há um pouco mais de um ano e meio trabalhando (estagiando) no mesmo local e além do conhecimento técnico, aprendi muitas coisas importantes que eu gostaria de compartilhar. Muitas delas não se aplicam apenas ao ambiente de trabalho, mas acho que pra qualquer atividade que envolva esforço mental, individual ou coletivo essas coisas são úteis. Lá vai:

Conheça seus limites

Quando você não souber o que está fazendo, não faça. Principalmente se isso envolve sérios riscos, como por exemplo mexer em ambientes de produção ativos. Pare, analise a situação, planeje e pergunte. Pergunte pra alguém mais experiente se o modo que você planejou fazer aquilo é razoável. Peça dicas sobre como realizar os passos, sugestões no planejamento, que cueca usar, whatever. Se puder fazê-lo supervisionado, nem pense duas vezes, faça.

A primeira vez que eu fui mexer em um ambiente de produção, foi justamente para configurá-lo e o expor ao mundo. Se eu fizesse alguma besteira, nenhum sistema iria cair, nem o mundo iria acabar, mas os primeiros momentos não foram bons.

A tarefa era relativamente simples, mas a ideia de que aquilo iria pro cliente e que se falhasse a responsabilidade era minha me deixou estressado. Fiquei umas duas ou três horas fazendo as tarefas iniciais. Um probleminha ali outro aqui, nada demais, porém eu já sentia um pouco de torcicolo e sentia umas dores no ombro. Parei.

Leia o resto deste post »

3 Comentários

Noobs e StackTraces

Vejo por aí muitos casos de pessoas em listas de discussão e fóruns sobre desenvolvimento Java postarem uns problemas no mínimo absurdos. Não absurdos de difíceis, mas absurdos de serem postados. São problemas do tipo IndexOutOfBounds, NullPointers bobos e até FileNotFoundException. Tudo bem que alguém que está começando pode ficar assustado quando vê seu terminal cuspindo linhas e linhas repetitivas, cheios de ‘at’ e ’caused by’. Algumas dão até náusea, mas vamos lá, Stack Traces existem pra ajudar e não para trazer uma mensagem de satã dizendo que seu computador será destruído.

O problema é que muita gente nem se dá ao trabalho de ler o que está escrito alí. Vê aquele monte de caracteres intimidadores no terminal e acha que é algo sério demais para sua cabeça processar. Se você se encontrar numa situação dessas, não se desespere e corra pro fórum/lista mais próximo. Respire fundo. Pense que poderia ser pior: Seu programa sai do nada, sem dizer nada, do mesmo jeito de quando sua namorada fica calada, com aquela cara de bolada e você pergunta “O que foi, amor” e recebe um convincente “Nada!”. Não ia dar nem pra correr pra algum lugar. Imagine um post numa lista:

Subject: U R G E N T E!!!! AJUDA POR FAVOR!!!
Gente, tava usando meu programa maneiro aqui aí quando eu cliquei no botão XPTO ele saiu! Alguem sabe o que é?

Meio dificil de responder, convenhamos. Mas o Java não te deixa na mão. Seu programa falha, mas a stack trace está lá, pra te apontar exatamente onde ocorreu o erro fatal. Isso facilita a vida do desenvolvedor e do noob, que vai correr atrás de alguém pra ajudar.

Agora vamos lá! Noob que é noob não quer mais ser noob. Faca nos dentes e vamos tentar aprender a ler Stack Traces.

Leia o resto deste post »

, ,

5 Comentários

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.