Testes em Android – Parte I: Por onde começar?

Fala, Comunidade! Este post é o primeiro de uma série sobre testes em Android. Você aprenderá conceitos essenciais sobre a arquitetura de testes, instrumentação e como configurar o seu projeto no Android Studio para começar a automatizar seus testes unitários e de UI. Nesse primeiro post, irei focar apenas em testes unitários utilizando a ferramenta JUnit. Como ele é de assunto intermediário, caso você seja iniciante em Android, sugiro este post onde falo passo a passo como começar o desenvolvimento de apps no Android Studio.

Por que devo testar?

Nos dias de hoje, onde temos vários serviços e plataformas de Integração Contínua (Continuous Integration) gerando builds a todo vapor como Jenkins, Travis CI, Circle CI, BitBucket Pipelines, testar é algo essencial e obrigatório para que consigamos montar uma cultura de desenvolvimento ágil e de Entrega Contínua (Continuous Delivery) de produtos de qualidade para nossos clientes.

Continuar lendo

Anúncios

Seu projeto não tem testes? Pior pra ele

Olá pessoal! Esse é o meu segundo post aqui no blog do Tá Safo! e desta vez vou falar sobre testes e TDD que é um tema ainda pouco discutido pela região.

Bem, eu vejo em muitos lugares, inclusive em gerências de projetos por ai que uma tarefa é dividida nos seguintes estágios: A Fazer, Fazendo, Testando, Homologação e Pronto.

A primeira é quando a funcionalidade ainda está a espera de ser implementada, a segunda é quando alguma criatura começa a produzir a tarefa (que no nosso caso, é o código). Então, após ser implementado ele será testado para depois ser aceito pelo cliente e pronto, fim de papo.

Sempre que assisto a alguma palestra ou converso com alguém sobre o que este teste realmente quer dizer, ouço que é alguém dedicado a usar o software para saber se a funcionalidade feita está de acordo com o esperado e/ou funcionando.

Cruzes! Toda vez que escuto isso me dá um frio na espinha, sério. Primeiramente, existe uma pessoa dedicada para isso. Segundo, o teste é feito manualmente. Terceiro, o teste é feito DEPOIS que o código é escrito.

Óbvio, hehe, o terceiro ponto pareceu muito esquisito. Não tem como testar a função antes dela ter sido implementada. Quebremos, então, este paradigma.

Continuar lendo

#safaDojo com Ruby

Sabe aquela ideia de aprender uma linguagem de programação por ano? Quem sabe não podemos acelerar esse processo para uma linguagem por mês, quinzena, semana? Segue abaixo uma ideia:

[paraense mode on]
Ei “su mano”! Tá doido pra conhecer novas linguagens e práticas em desenvolvimento de software e, de quebra conhecer uma galera “pai d’égua”? Vai dar uma “espiada” no safaDojo que vai acontecer dia 07 de Julho às 18hs. na FabSoft que fica na Av. Governador José Malcher, 1963.

Nesse primeiro encontro, Luiz Sanches, também membro do GURU-PA, vai falar de Ruby (ei “mano”, não é a aparelhagem) e TDD (não é nenhum inseticida). Mas é “rapidola” pra você não ficar “boiando”. Então chega cedo hein “pequeno”. Depois o pessoal vai “cair matando” no código Ruby com TDD. Quem sabe no final não rola um gelo, “réfri” ou um “completo” mesmo. Ei parente! Deixa de “murrinha” e vai mesmo.
[paraense mode off]

Continuar lendo

Agilidade em Série – XP – TDD

Olá moçada.

Iniciamos um projeto chamado #tasafoemedicao, que está chamando a galera para participar ativamente publicando artigos sobre engenharia de software e gestão de projetos ágeis. Mas com a cara do Tá safo! de uma maneira despojada mesmo. Além do blog, criamos outro meio de publicações, através do Slideshare para que as pessoas possam levar o material para qualquer lugar e divulgar cada vez mais a cultura ágil. Sabe aquele pensamento de aprender ensinando. Essa é a proposta. Esperamos que gostem.

Qualquer coisa, é só comentar aqui no post, ou entrar na lista de discussão para conversarmos mais sobre essa iniciativa. Tá safo?

Agilidade em Série – XP – TDD

Um estudo de caso de especificações ativas de requisitos de software

Olá a todos!

Este post é apenas para compartilhar um trabalho de minha autoria sobre o uso de testes de aceitação automatizados utilizando as ferramentas Concordion e Selenium num cenário de um projeto real.  Este trabalho foi submetido a um congresso interno na empresa onde trabalho.

A propósito, eu apresento um case similar, de um exemplo em poucos minutos, em minha palestra sobre BDD e testes automatizados.  Interessou?  Basta entrar em contato.

Logo

Clique no logo para fazer o download do trabalho.

PS: Reproduções são permitidas desde que citada a fonte.

Dirigindo o desenvolvimento com testes: ATDD e TDD (artigo traduzido)

Elisabeth Hendrickson (mais conhecida como “Test Obsessed”) fez uma apresentação bastante objetiva sobre como utilizar testes de aceitação automatizados para guiar o desenvolvimento de software (TDD com testes de aceitação, ou ATDD) nas conferências STANZ’08 e STARWest’08.

A partir de sua apresentação, ela disponibilizou um artigo bastante simples mas muito ilustrativo sobre o funcionamento de uma estratégia dirigida por testes em ATDD e TDD para equipes ágeis.  Um bom material para se mostrar a quem não tenha muita noção de como funcionam testes ágeis numa equipe de software (p.ex., aquele seu chefe que não leva muita fé em agile).  Artigo este que disponibilizamos traduzido para português aqui.

PS: Nossos agradecimentos à Test Obsessed que permitiu gentilmente a disponibilização deste material.  Thank you Elisabeth!