Apresentação feita no Agile Brazil 2011, em Fortaleza, por Maurício Eduardo Szabo
Recomendo baixar a apresentação, a versão do slideshare não apresenta algumas animações que são essenciais para o entendimento
Este documento fornece dicas e boas práticas para programação em Ruby, incluindo testes (TDD e BDD), uso de mocks, padrões de projeto e código limpo. O documento enfatiza a importância de testes, código claro e aberto para extensão, além de evitar dependências ocultas e efeitos colaterais.
O documento discute como o autor aprendeu a apreciar a máquina virtual Java (JVM) apesar de inicialmente odiar a linguagem Java. A JVM oferece excelentes recursos como o coletor de lixo automático e compilação just-in-tempo que tornam possível executar várias linguagens além de Java, como Ruby e Clojure. Apesar das limitações da linguagem Java, a JVM continua se adaptando para dar suporte a novas funcionalidades e paradigmas de programação.
O Object Calisthenics é um conjunto de boas práticas no design do código discutidas em várias comunidades nos últimos anos que buscam deixar o seu código bom em 4 pontos: manutenção, clareza, testabilidade e compreensão.
Test-driven development (TDD) ajuda a projetar software de forma correta desde o início, escrevendo testes antes do código. Isso faz com que os desenvolvedores pensem no comportamento desejado e reduz código especulativo. Embora escrever testes após o código também ajude a qualidade, TDD é diferente e mais efetivo.
O documento discute o processo de refatoração de código, que envolve alterar a estrutura interna de um sistema de software sem alterar seu comportamento externo, de modo a melhorar a legibilidade e manutenibilidade do código. A refatoração deve ser feita em um sistema funcional e com testes automatizados para garantir que não há quebras. Mau cheiro no código indica a necessidade de refatoração utilizando técnicas como extrair método ou substituir algoritmos. Refatorar regularmente ajuda a manter o código limpo e fácil de mod
Padrões para Desenvolvimento de Software Guiado por TestesEverton Rodrigues
Este documento fornece padrões e técnicas para desenvolvimento de software guiado por testes, incluindo escrever testes primeiro, usar dados de teste realistas, e isolar testes. Os padrões ajudam a responder perguntas como quanto testar e como escolher o que testar.
O documento discute a importância de se escrever testes de software, especialmente testes unitários, e fornece diretrizes sobre como estruturar diferentes tipos de testes. É recomendado testar unidades menores de código através de testes unitários para fornecer feedback rápido, e também realizar testes de integração e aceitação, apesar de serem mais demorados. Um sistema de integração contínua ajuda a automatizar e agilizar o processo de teste.
O documento discute princípios e práticas de desenvolvimento de software, enfatizando a importância de testes, código limpo e refatoração. Aconselha a adicionar testes rapidamente, executá-los com frequência e refatorar para remover duplicações.
Este documento fornece dicas e boas práticas para programação em Ruby, incluindo testes (TDD e BDD), uso de mocks, padrões de projeto e código limpo. O documento enfatiza a importância de testes, código claro e aberto para extensão, além de evitar dependências ocultas e efeitos colaterais.
O documento discute como o autor aprendeu a apreciar a máquina virtual Java (JVM) apesar de inicialmente odiar a linguagem Java. A JVM oferece excelentes recursos como o coletor de lixo automático e compilação just-in-tempo que tornam possível executar várias linguagens além de Java, como Ruby e Clojure. Apesar das limitações da linguagem Java, a JVM continua se adaptando para dar suporte a novas funcionalidades e paradigmas de programação.
O Object Calisthenics é um conjunto de boas práticas no design do código discutidas em várias comunidades nos últimos anos que buscam deixar o seu código bom em 4 pontos: manutenção, clareza, testabilidade e compreensão.
Test-driven development (TDD) ajuda a projetar software de forma correta desde o início, escrevendo testes antes do código. Isso faz com que os desenvolvedores pensem no comportamento desejado e reduz código especulativo. Embora escrever testes após o código também ajude a qualidade, TDD é diferente e mais efetivo.
O documento discute o processo de refatoração de código, que envolve alterar a estrutura interna de um sistema de software sem alterar seu comportamento externo, de modo a melhorar a legibilidade e manutenibilidade do código. A refatoração deve ser feita em um sistema funcional e com testes automatizados para garantir que não há quebras. Mau cheiro no código indica a necessidade de refatoração utilizando técnicas como extrair método ou substituir algoritmos. Refatorar regularmente ajuda a manter o código limpo e fácil de mod
Padrões para Desenvolvimento de Software Guiado por TestesEverton Rodrigues
Este documento fornece padrões e técnicas para desenvolvimento de software guiado por testes, incluindo escrever testes primeiro, usar dados de teste realistas, e isolar testes. Os padrões ajudam a responder perguntas como quanto testar e como escolher o que testar.
O documento discute a importância de se escrever testes de software, especialmente testes unitários, e fornece diretrizes sobre como estruturar diferentes tipos de testes. É recomendado testar unidades menores de código através de testes unitários para fornecer feedback rápido, e também realizar testes de integração e aceitação, apesar de serem mais demorados. Um sistema de integração contínua ajuda a automatizar e agilizar o processo de teste.
O documento discute princípios e práticas de desenvolvimento de software, enfatizando a importância de testes, código limpo e refatoração. Aconselha a adicionar testes rapidamente, executá-los com frequência e refatorar para remover duplicações.
Não existe feedback melhor do que o do seu códigoRenan Carvalho
O documento discute técnicas de desenvolvimento guiado por testes (TDD) e como implementá-las, incluindo escrever testes primeiro, implementar o código mínimo para fazer os testes passarem e refatorar. Também aborda como escrever bons testes de unidade e frameworks de teste como Jasmine.
Refatoração: Como deixar seu código livre de maus CheirosPedro Hos
O documento discute técnicas para refatorar código e mantê-lo limpo, incluindo identificar cheiros ruins no código, dar nomes significativos às variáveis e métodos, escrever métodos pequenos que fazem uma única tarefa, usar padrões de projeto para reduzir repetição, e formatar o código de acordo com um padrão de equipe.
Boas práticas com TDD:
1) Crie apenas os testes necessários e evite acrescentar asserts desnecessários.
2) Dê nomes específicos e diretos aos métodos de teste e evite underscore.
3) Entenda a diferença entre objetos e primitivos para usar asserts corretamente.
O documento discute os princípios do código limpo, incluindo a importância de nomes claros, comentários úteis, métodos pequenos e testes abrangentes. Ele também aborda tópicos como arquitetura, design, programação em pares e como escrever código de alta qualidade.
O documento discute estratégias para refatorar código legado, começando com definir código legado e por que é importante refatorá-lo. Em seguida, apresenta duas abordagens para refatoração - "Editar e Rezar" versus "Cobrir e Mudar" - enfatizando a importância de testes, especialmente testes unitários. Finalmente, discute técnicas específicas como Sprout Method, Wrap Class e Flash Refactoring para fazer as mudanças de forma incremental.
Semana da Mulher na Tecnologia_Introducao ao BddinovacaoDBServer
O documento introduz os conceitos e benefícios da abordagem Behavior-Driven Development (BDD) para desenvolvimento de software. Apresenta as origens da técnica BDD, suas vantagens como aproximação entre áreas técnicas e de negócios, automação de testes e documentação viva. Demonstra a estrutura básica de funcionalidades, cenários, contextos e parâmetros utilizados no BDD.
Improve Yourself -- Learn the Skills, Join the Community - TestsElias Nogueira
O documento discute técnicas e práticas para testes de software, enfatizando a importância de testar cedo e continuamente durante todo o ciclo de desenvolvimento através de testes unitários, de integração, de serviço e de aceitação.
O documento resume a trajetória profissional de Thiago Ghisi, desde sua formação inicial em 2003 até 2011, incluindo cursos, certificações e experiências de trabalho com foco em testes automatizados, programação ágil e qualidade de software.
O que testar abordagens de teste com ruby + rspecClaudio Martins
O documento discute abordagens de teste com Ruby e RSpec, enfatizando a importância de testar o que retorna valores, causa efeitos colaterais e repassa trabalho para outros lugares. Também aborda testes extremos, os diferentes casos ("ifs") do código, exceções, autenticações e filtros. O documento conclui enfatizando que testes são a melhor documentação e incentiva a adicionar testes ao código.
Um Coding Dojo é um encontro onde programadores trabalham juntos em desafios de programação para se divertirem e melhorarem suas habilidades. Os princípios incluem aprendizado contínuo, ambiente seguro e colaborativo, e foco no experimentar e testar ao invés de completar o desafio.
O documento apresenta uma comparação entre diferentes frameworks PHP, recomendando o uso do Zend Framework. Ele oferece excelente suporte a MVC, web services, segurança, flexibilidade de configuração e uma forte comunidade. O Zend Framework permite controle total da aplicação e aplicação de boas práticas de programação.
O documento discute padrões de projeto como Factory, Command e Null Object para refatorar códigos com cheiros ruins. Ele explica o que são esses padrões, como aplicá-los para resolver problemas comuns e as vantagens e desvantagens de cada um. O documento também fornece exemplos de código para ilustrar a aplicação dos padrões.
Testes automatizados de software são essenciais para garantir a qualidade do software e evitar prejuízos. Testes manuais são difíceis, demorados e cobrem poucos casos, enquanto testes automatizados rodam rápido, cobrem muitos casos e ajudam na manutenção do código e documentação. É importante começar a automatizar testes desde o início do projeto, para garantir a testabilidade do código.
Este documento discute a automação de testes com o Robot Framework. Primeiro, explica por que a automação é importante para economizar tempo e recursos e evitar erros. Em seguida, descreve o que é o Robot Framework, como estruturar testes nele e executá-los. Finalmente, conclui que a automação de testes de aceitação ajuda a encontrar inconsistências e melhorar os testes de regressão.
A apresentação descreve a empresa Dextra Sistemas, especializada em soluções de software sob medida utilizando a linguagem Ruby on Rails. A empresa possui unidades em Campinas, São Paulo e Campo Grande, com profissionais altamente qualificados. Apresenta também alguns tópicos sobre a linguagem Ruby e o framework Rails, como características, componentes, associações, validações e comandos.
Por que testar é importante e algumas boas práticasLucas Caton
O documento discute a importância de testes de software, boas práticas de teste e ferramentas de teste populares em Ruby. Ele explica que testes garantem que novas funcionalidades não quebrem o código existente, facilitam refatorações e fornecem entendimento do projeto. Testes devem ser feitos antes do desenvolvimento para garantir que a implementação siga o planejado. Várias ferramentas de teste em Ruby são apresentadas, incluindo RSpec, Cucumber, Factory Girl e Capybara.
O documento discute testes de software e mutação de código usando a ferramenta Stryker.NET. Ele explica porque escrevemos testes, como dividir testes por tipo, e como a Stryker.NET introduz pequenas mudanças no código para verificar se os testes continuam a falhar e encontrar bugs.
Nessa palestra relato minha experiência não como um desenvolvedor de software altamente sinistro com duzentos anos de experiência e mil livros publicados - mas sim como um "mero mortal", um desenvolvedor "de verdade", do "mundo real" aplicando a teoria que aprendeu do TDD.
Apresentação sobre temas abordado no livro Clean Code de Robert C. Martim.
Os benefícios sobre manter seu código limpo. Quais prejuízos um código sujo pode trazer para sua empresa.
Como se expressar no seu código dispensando o uso de inúmeros comentários que poluem o código.
O documento discute a importância dos testes de software e fornece diretrizes para a escrita de bons testes. Ele explica como testes unitários automatizados podem garantir o funcionamento correto do código, economizar tempo de depuração e reduzir custos de projeto. Também apresenta ferramentas como JUnit, Mockito e Hamcrest que facilitam a implementação de testes.
Não existe feedback melhor do que o do seu códigoRenan Carvalho
O documento discute técnicas de desenvolvimento guiado por testes (TDD) e como implementá-las, incluindo escrever testes primeiro, implementar o código mínimo para fazer os testes passarem e refatorar. Também aborda como escrever bons testes de unidade e frameworks de teste como Jasmine.
Refatoração: Como deixar seu código livre de maus CheirosPedro Hos
O documento discute técnicas para refatorar código e mantê-lo limpo, incluindo identificar cheiros ruins no código, dar nomes significativos às variáveis e métodos, escrever métodos pequenos que fazem uma única tarefa, usar padrões de projeto para reduzir repetição, e formatar o código de acordo com um padrão de equipe.
Boas práticas com TDD:
1) Crie apenas os testes necessários e evite acrescentar asserts desnecessários.
2) Dê nomes específicos e diretos aos métodos de teste e evite underscore.
3) Entenda a diferença entre objetos e primitivos para usar asserts corretamente.
O documento discute os princípios do código limpo, incluindo a importância de nomes claros, comentários úteis, métodos pequenos e testes abrangentes. Ele também aborda tópicos como arquitetura, design, programação em pares e como escrever código de alta qualidade.
O documento discute estratégias para refatorar código legado, começando com definir código legado e por que é importante refatorá-lo. Em seguida, apresenta duas abordagens para refatoração - "Editar e Rezar" versus "Cobrir e Mudar" - enfatizando a importância de testes, especialmente testes unitários. Finalmente, discute técnicas específicas como Sprout Method, Wrap Class e Flash Refactoring para fazer as mudanças de forma incremental.
Semana da Mulher na Tecnologia_Introducao ao BddinovacaoDBServer
O documento introduz os conceitos e benefícios da abordagem Behavior-Driven Development (BDD) para desenvolvimento de software. Apresenta as origens da técnica BDD, suas vantagens como aproximação entre áreas técnicas e de negócios, automação de testes e documentação viva. Demonstra a estrutura básica de funcionalidades, cenários, contextos e parâmetros utilizados no BDD.
Improve Yourself -- Learn the Skills, Join the Community - TestsElias Nogueira
O documento discute técnicas e práticas para testes de software, enfatizando a importância de testar cedo e continuamente durante todo o ciclo de desenvolvimento através de testes unitários, de integração, de serviço e de aceitação.
O documento resume a trajetória profissional de Thiago Ghisi, desde sua formação inicial em 2003 até 2011, incluindo cursos, certificações e experiências de trabalho com foco em testes automatizados, programação ágil e qualidade de software.
O que testar abordagens de teste com ruby + rspecClaudio Martins
O documento discute abordagens de teste com Ruby e RSpec, enfatizando a importância de testar o que retorna valores, causa efeitos colaterais e repassa trabalho para outros lugares. Também aborda testes extremos, os diferentes casos ("ifs") do código, exceções, autenticações e filtros. O documento conclui enfatizando que testes são a melhor documentação e incentiva a adicionar testes ao código.
Um Coding Dojo é um encontro onde programadores trabalham juntos em desafios de programação para se divertirem e melhorarem suas habilidades. Os princípios incluem aprendizado contínuo, ambiente seguro e colaborativo, e foco no experimentar e testar ao invés de completar o desafio.
O documento apresenta uma comparação entre diferentes frameworks PHP, recomendando o uso do Zend Framework. Ele oferece excelente suporte a MVC, web services, segurança, flexibilidade de configuração e uma forte comunidade. O Zend Framework permite controle total da aplicação e aplicação de boas práticas de programação.
O documento discute padrões de projeto como Factory, Command e Null Object para refatorar códigos com cheiros ruins. Ele explica o que são esses padrões, como aplicá-los para resolver problemas comuns e as vantagens e desvantagens de cada um. O documento também fornece exemplos de código para ilustrar a aplicação dos padrões.
Testes automatizados de software são essenciais para garantir a qualidade do software e evitar prejuízos. Testes manuais são difíceis, demorados e cobrem poucos casos, enquanto testes automatizados rodam rápido, cobrem muitos casos e ajudam na manutenção do código e documentação. É importante começar a automatizar testes desde o início do projeto, para garantir a testabilidade do código.
Este documento discute a automação de testes com o Robot Framework. Primeiro, explica por que a automação é importante para economizar tempo e recursos e evitar erros. Em seguida, descreve o que é o Robot Framework, como estruturar testes nele e executá-los. Finalmente, conclui que a automação de testes de aceitação ajuda a encontrar inconsistências e melhorar os testes de regressão.
A apresentação descreve a empresa Dextra Sistemas, especializada em soluções de software sob medida utilizando a linguagem Ruby on Rails. A empresa possui unidades em Campinas, São Paulo e Campo Grande, com profissionais altamente qualificados. Apresenta também alguns tópicos sobre a linguagem Ruby e o framework Rails, como características, componentes, associações, validações e comandos.
Por que testar é importante e algumas boas práticasLucas Caton
O documento discute a importância de testes de software, boas práticas de teste e ferramentas de teste populares em Ruby. Ele explica que testes garantem que novas funcionalidades não quebrem o código existente, facilitam refatorações e fornecem entendimento do projeto. Testes devem ser feitos antes do desenvolvimento para garantir que a implementação siga o planejado. Várias ferramentas de teste em Ruby são apresentadas, incluindo RSpec, Cucumber, Factory Girl e Capybara.
O documento discute testes de software e mutação de código usando a ferramenta Stryker.NET. Ele explica porque escrevemos testes, como dividir testes por tipo, e como a Stryker.NET introduz pequenas mudanças no código para verificar se os testes continuam a falhar e encontrar bugs.
Nessa palestra relato minha experiência não como um desenvolvedor de software altamente sinistro com duzentos anos de experiência e mil livros publicados - mas sim como um "mero mortal", um desenvolvedor "de verdade", do "mundo real" aplicando a teoria que aprendeu do TDD.
Apresentação sobre temas abordado no livro Clean Code de Robert C. Martim.
Os benefícios sobre manter seu código limpo. Quais prejuízos um código sujo pode trazer para sua empresa.
Como se expressar no seu código dispensando o uso de inúmeros comentários que poluem o código.
O documento discute a importância dos testes de software e fornece diretrizes para a escrita de bons testes. Ele explica como testes unitários automatizados podem garantir o funcionamento correto do código, economizar tempo de depuração e reduzir custos de projeto. Também apresenta ferramentas como JUnit, Mockito e Hamcrest que facilitam a implementação de testes.
O documento discute técnicas e estratégias para testes de software, enfatizando a importância de: 1) testar o código sistematicamente durante o desenvolvimento, 2) verificar limites e pré-condições, e 3) automatizar testes para validação contínua e prevenção de regressões.
O documento discute testes em JavaScript, introduzindo conceitos como TDD (Desenvolvimento Orientado a Testes), testes unitários, testes de integração e ferramentas populares para testes como Mocha, Istanbul, Assertions, Expect e Should. Também fornece dicas para começar a escrever testes.
O documento discute testes de software, incluindo:
1) Testes devem ser realizados em todos os sistemas para detectar problemas
2) Benefícios dos testes incluem garantir que sistemas funcionam corretamente e melhorar qualidade
3) Deve-se testar tudo, como telas, validações e regras de negócio, para evitar erros futuros
Objects calisthenics - Os 10 mandamentos do rei do códigoBonoBee
O documento apresenta 10 mandamentos do Object Calisthenics, uma abordagem para melhorar a qualidade do código orientado a objetos através de exercícios simples. Os mandamentos incluem: somente um nível de indentação por método, não usar a palavra-chave "else", encapsular tipos primitivos e strings, somente um ponto por linha, não abreviar nomes, manter classes pequenas, limitar variáveis de instância, usar coleções de primeiro nível, usar métodos getter/setter de forma adequada e documentar o código. A aplicação desses princípi
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...Danilo Sato
Este documento discute boas e más práticas de aplicações Ruby em ambientes corporativos. Ele aborda tópicos como estratégias de teste, lidando com dados em múltiplas plataformas, Capistrano, REST e mais. O documento fornece conselhos práticos baseados na experiência dos autores para ajudar desenvolvedores a evitar armadilhas comuns e produzir software Ruby de qualidade em ambientes corporativos.
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
1. O documento discute como trabalhar com sistemas legados desenvolvidos em linguagens não mainstream como Perl, abordando conceitos como o que é legado e como melhorar a manutenção de códigos antigos.
2. É explicado que legado não significa necessariamente código ruim e que linguagens mais antigas podem ter boas práticas e comunidades ativas de desenvolvedores.
3. São dados conselhos como documentar tudo, escrever testes, usar frameworks existentes em vez de reinventar a roda, e manter uma mente aberta.
O documento discute práticas ágeis como TDD (desenvolvimento guiado por testes) e XP (programação extrema). Apresenta conceitos como indivíduos e interação, software funcionando, e resposta à mudanças. Lista também referências como Kent Beck, Martin Fowler e nomes associados ao movimento ágil.
O documento discute métricas e fatores que afetam a produtividade em projetos de software. Algumas métricas propostas incluem esforço por ponto de função, bugs por mil linhas de código e pacotes reusados em comparação ao total. Fatores como processo, tamanho, qualidade e reuso podem impactar a produtividade. Métricas devem ser específicas para cada organização e o foco é em simplicidade e melhoria contínua.
A apresentação introduz o Behavior-Driven Development (BDD) utilizando a ferramenta JBehave. O palestrante explica os conceitos por trás do BDD, como se relaciona com TDD e DDD, e demonstra um exemplo prático utilizando JBehave em português.
Esta começando a programar para a web? Então começe com Railsismaelstahelin
Ruby on Rails é uma estrutura web para desenvolvimento rápido de aplicações usando a linguagem Ruby. Ele promove convenções sobre configurações e o princípio Don't Repeat Yourself para facilitar o desenvolvimento. Rails usa o padrão MVC e tem um poderoso modelo de dados para construir aplicações web.
1) O documento apresenta os papéis e técnicas de automação de testes para equipes ágeis, discutindo como a automação pode ajudar a resolver problemas como falta de tempo para testar e garantir a qualidade ao longo dos sprints. 2) É destacado que nem todos os casos de teste devem ser automatizados e que é importante separar os ambientes de desenvolvimento e teste. 3) A apresentação discute diferentes níveis de automação, desde scripts lineares até abordagens data-driven e keyword-driven, concluindo que a combinação das últimas é a melhor opção
O documento discute a importância dos testes no desenvolvimento de software, mencionando três pontos principais:
1) Testes automatizados são necessários para evitar falhas futuras e garantir a qualidade do código.
2) É importante testar partes críticas do sistema que, caso falhem, podem ter grandes impactos.
3) Testes devem ser incorporados desde o início do desenvolvimento, por meio de metodologias como TDD.
Este documento discute os princípios de código limpo e boas práticas de programação. Ele explica que código limpo é código bem escrito, legível e fácil de manter. Também discute como identificar código sujo, a importância de nomes significativos, comentários úteis, classes e métodos pequenos, e testes de unidade. O objetivo é produzir software de qualidade e manutenível a longo prazo.
Semelhante a Mantendo a Qualidade dos Códigos de Teste (20)
1. AgileBrazil 2011 Melhorando a Qualidade dos Códigos de Teste Maurício Eduardo Szabo [email_address] @mauricio_szabo http://mauricioszabo.wordpress.com http://github.com/mauricioszabo/AgileBrazil2011