Muito tem sido falado sobre cloud computing e incontáveis buzzwords disparadas para defender as diferentes vertentes de serviços na nuvem. Que a computação em nuvem é o futuro está claro e que dentro em breve a maioria das empresas rodará, total ou parcialmente, seus sistemas em infraestrutura externa como serviço é uma certeza. Mas como diferenciar, dentre os principais players do mercado mundial, qual é o mais indicado para a necessidade de sua empresa?

Neste artigo iremos analisar o mercado de Nuvens Públicas, ou seja, serviços de computação em nuvem oferecidas por um cloud provider ao público em geral.

Analisando…

continuar lendo...

Em projetos voltados para a web, quase sempre temos que lidar com JavaScript, porém muitas vezes acabamos utilizando-o apenas superficialmente, não indo muito a fundo na linguagem.

Faz algum tempo que tenho trabalhado praticamente apenas com JavaScript e nesse tempo aprendi vários recursos interessantes que podem facilitar bastante a vida quando houver a necessidade da utilização da linguagem.

Irei listar abaixo, dando uma breve explicação de cada recurso e sua utilização, mostrando ao menos um exemplo.

Declaração de variáveis

Podemos declarar variáveis de duas formas em javascript, utilizando a palavra chave var ou não. Quando utilizamos o modificador var estamos…

continuar lendo...

O Google demonstrou nessa série que o maior esforço dos testes fica nos próprios desenvolvedores. Contudo, testar um software não é uma tarefas das mais simples, pois testar envolve decidir o que será testado, como será testado e quais as ferramentas que irão auxiliar nesse processo. Processo este que está em constante evolução e varia de um produto para outro.

Diante de tantas questões a serem respondidas para que um teste ajude a trazer a qualidade tão almejada para o produto, parece necessário que haja alguém responsável por responder a essas perguntas. E é aqui que entram os engenheiros…

continuar lendo...

Ao avaliarem o que será testado no software, o Google assume que há 3 tipos diferentes de testes: o pequeno, o médio e o grande. Cada um deles dá ênfase diferente no montante do código que será testado e em como ele será feito. A seguir, há alguns detalhes de como cada um é tratado:

Testes pequenos: são normalmente automatizados e interagem apenas com uma função ou módulo do software. Podem necessitar de mocks e ambientes falsos para serem executados. O objetivo desses testes é verificar se não há problemas comuns, como corrupção de dados, condições de erros, etc. A…

continuar lendo...

Por Fábio Santos

O emergente conceito de Continuous Delivery no desenvolvimento de software tem movimentado a comunidade de desenvolvimento com muitos questionamentos e controversas. Feature Branches, uma das técnicas que suporta a entrega contínua, divide a comunidade e desafia até as equipes mais experientes em desenvolvimento ágil. Mas o assunto suscita uma questão muito importante:

Será que existe necessidade para continuous delivery fora do contexto de produtos para a nuvem e startups?

Para responder esta pergunta é preciso compreender o que está por trás do continuous delivery e por que esta prática é tão controversa. Tecnicamente, continuous delivery refere-se,…

continuar lendo...

Qualidade não é algo que possa ser testado, e para o Google qualidade não é igual a testar. Mas também não é possível ter algo de qualidade sem testes. Nessa situação, a qualidade é mais um ato de prevenção, e não de detecção. O teste deve ser um aspecto inevitável do desenvolvimento e é na união de desenvolvimento e testes onde a qualidade é alcançada.

No Google, eles criaram um processo incremental que se alguma alteração gerar muitos bugs, ela é automaticamente revertida. Além de prevenir o cliente dos erros, a necessidade de pessoas dedicadas a testar diminui drasticamente.…

continuar lendo...

Olá pessoal!

Antes de falarmos de como a equipe de desenvolvimento do Google se organiza para realizar os testes, é preciso apresentar o autor da série “How Google Tests Software”. Seu nome é James Whittaker e é o Diretor de Engenharia em ferramentas de engenharia e testes nos escritórios do Google em Seattle e Kirkland. Tem o título de PhD em Ciência da Computação pela Universidade do Tennessee, publicou vários livros, já foi consultor de segurança e testes para diversas empresas e trabalhou por 3 anos como arquiteto na Microsoft.

Nas primeiras partes da série, James explica como as…

continuar lendo...

Olá pessoal!

Resolvi abordar um assunto que acho interessante, e que muitas vezes leva a calorosas discussões. O assunto é testes.

Minha experiência com testes é um tanto quanto limitada, pois nos projetos que participei anteriormente não havia essa preocupação com testes como há na Dextra. Ao ser apresentado à forma como os testes são feitos internamente, fiquei empolgado com o processo. Mas, passado o tempo, notei que havia vários aspectos nos testes que deixavam a desejar, mesmo que eu não soubesse exatamente o que poderia ser alterado para melhorar esse procedimento ou, ainda, se a mudança que pudesse…

continuar lendo...


Nos últimos anos, temos ouvido falar muito em Cloud Computing. Os níveis de “hype” em torno da tecnologia chegam a ser ensurdecedores. Temos a impressão de que, para todo lado que olhamos, alguém está falando de Nuvem. Todos os grandes players estão desvendando no mercado suas estratégias para Nuvem ou, quando não são pure players, mostram variações do tema, como Nuvem Privada ou abordagens híbridas. A Nuvem está na boca de todos.

Mas, aparentemente, estamos em plena vigência do hype cycle para a tecnologia.

Hype Cycle é um conceito criado pela…

continuar lendo...