Palestra apresentada no TDC Recife 2019, na trilha de DevOps.
Apresento uma ferramenta de CI/CD da Microsoft, o Azure Pipelines, serviço que é parte do Azure DevOps, do ponto de vista de um time com quase nenhuma experiência montando um CI/CD. Mostrei algumas funcionalidades que tornaram nossa experiência com a ferramenta mais tranquila e que contribuíram com que a curva de aprendizado fosse a menor possível.
O documento discute Behavior Driven Development (BDD) e como o framework Cucumber pode ser usado com Java e Selenium para implementar BDD. Ele explica os princípios do BDD, a diferença entre critérios de aceitação e casos de teste, como o Cucumber usa arquivos Gherkin para descrever funcionalidades em linguagem natural, e dá um exemplo prático de como usar o framework.
Este documento discute os benefícios da gestão da qualidade para as organizações. A qualidade requer constante busca por resultados, agir com segurança e sem dúvidas, e motivar equipes. Análise crítica, inspeção, autodisciplina e prevenção são princípios fundamentais da qualidade.
Arquitetura básica de testes para seu projeto JavaElias Nogueira
Palestra ministrada no The Developers Conference São Paulo 2017 dia 21/07 na Trilha Arquitetura Java.
Nesta apresentação falo da importância de planejar testes em diversos níveis dentro de um processo de desenvolvimento, bem como uma build pipeline ideal pensando em testes e dicas do que devemos ter na nossa arquitetura de teste para uma aplicação em Java.
Breaking Observability Chaos: Best Practices to Monitor AWS Cloud Native Apps...Amazon Web Services
Companies that are building and deploying modern applications need to have observability across metrics, logs, and traces to gain operational visibility of systems and resources, debug and analyze applications, and optimize customer experience. In this session, we leverage Amazon CloudWatch and AWS X-Ray to highlight best practices for addressing monitoring challenges that most customers face. We showcase an IoT application built using common AWS services, create multiple monitoring challenges, and demonstrate best practices. After the session, we will make demonstration available for you to test using your own AWS account.
O documento discute as competências necessárias para um Agile Coach. Ele destaca oito competências principais de acordo com o Agile Coaching Institute: mentor, consultor, coach, conselheiro, facilitador, instrutor, líder e gerenciador de mudança. Essas competências envolvem desenvolver pessoas e times, frameworks, metas compartilhadas, estruturas para resolver disfunções, habilidades de facilitação, instrução, liderança e gerenciamento de mudança.
O documento apresenta os requisitos para o desenvolvimento de um aplicativo móvel de busca de filmes. Deve permitir buscar filmes por título e ano, favoritar filmes, visualizar detalhes e lista de favoritos. A API pública OMDb será utilizada e não será necessário login. Testes unitários, de serviço, interface e manuais devem ser implementados.
This document provides an overview of DevTestOps. It begins with defining DevTestOps as bringing together DevOps principles with a focus on quality assurance. It discusses key aspects like risk appetites, strategic objectives, paths of communication, and testing practices at different stages. These include unit, integration, end-to-end testing as well as monitoring, logging and testing in production. It emphasizes implementing testing practices throughout the DevOps pipeline and describes different types of tests within a DevOps process like orchestration testing. The document aims to help understand where testing fits in DevOps and how to become a competent DevTestOps team member.
O documento discute Behavior Driven Development (BDD) e como o framework Cucumber pode ser usado com Java e Selenium para implementar BDD. Ele explica os princípios do BDD, a diferença entre critérios de aceitação e casos de teste, como o Cucumber usa arquivos Gherkin para descrever funcionalidades em linguagem natural, e dá um exemplo prático de como usar o framework.
Este documento discute os benefícios da gestão da qualidade para as organizações. A qualidade requer constante busca por resultados, agir com segurança e sem dúvidas, e motivar equipes. Análise crítica, inspeção, autodisciplina e prevenção são princípios fundamentais da qualidade.
Arquitetura básica de testes para seu projeto JavaElias Nogueira
Palestra ministrada no The Developers Conference São Paulo 2017 dia 21/07 na Trilha Arquitetura Java.
Nesta apresentação falo da importância de planejar testes em diversos níveis dentro de um processo de desenvolvimento, bem como uma build pipeline ideal pensando em testes e dicas do que devemos ter na nossa arquitetura de teste para uma aplicação em Java.
Breaking Observability Chaos: Best Practices to Monitor AWS Cloud Native Apps...Amazon Web Services
Companies that are building and deploying modern applications need to have observability across metrics, logs, and traces to gain operational visibility of systems and resources, debug and analyze applications, and optimize customer experience. In this session, we leverage Amazon CloudWatch and AWS X-Ray to highlight best practices for addressing monitoring challenges that most customers face. We showcase an IoT application built using common AWS services, create multiple monitoring challenges, and demonstrate best practices. After the session, we will make demonstration available for you to test using your own AWS account.
O documento discute as competências necessárias para um Agile Coach. Ele destaca oito competências principais de acordo com o Agile Coaching Institute: mentor, consultor, coach, conselheiro, facilitador, instrutor, líder e gerenciador de mudança. Essas competências envolvem desenvolver pessoas e times, frameworks, metas compartilhadas, estruturas para resolver disfunções, habilidades de facilitação, instrução, liderança e gerenciamento de mudança.
O documento apresenta os requisitos para o desenvolvimento de um aplicativo móvel de busca de filmes. Deve permitir buscar filmes por título e ano, favoritar filmes, visualizar detalhes e lista de favoritos. A API pública OMDb será utilizada e não será necessário login. Testes unitários, de serviço, interface e manuais devem ser implementados.
This document provides an overview of DevTestOps. It begins with defining DevTestOps as bringing together DevOps principles with a focus on quality assurance. It discusses key aspects like risk appetites, strategic objectives, paths of communication, and testing practices at different stages. These include unit, integration, end-to-end testing as well as monitoring, logging and testing in production. It emphasizes implementing testing practices throughout the DevOps pipeline and describes different types of tests within a DevOps process like orchestration testing. The document aims to help understand where testing fits in DevOps and how to become a competent DevTestOps team member.
This document discusses best practices and pitfalls when using the Robot Framework for test automation. It recommends starting with acceptance test-driven development (ATDD) and using source control and continuous integration. Other tips include giving tests and elements descriptive names, writing test cases as independent steps with single assertions, avoiding dependencies between tests, and focusing on behavior rather than implementation details. The document warns against not using these practices as they can lead to fragile and unreliable tests, wasted time and resources, and regressions going unnoticed.
Site Reliability Engineering - Descubra a nova era para (Infraestrutura|Opera...Pery Lemke
Este documento fornece uma introdução ao Site Reliability Engineering (SRE). Em três frases: Introduz o conceito de SRE, que envolve engenheiros de software projetando equipes de operações para garantir a disponibilidade e desempenho dos serviços; descreve os sete princípios fundamentais do SRE, incluindo gerenciamento de riscos, objetivos de nível de serviço e automação; e discute como times SRE passam metade do tempo resolvendo tarefas e a outra metade desenvolvendo ferramentas para automatizar processos.
O documento discute várias técnicas de teste de software, incluindo:
1) Partição de equivalência - Uma técnica para dividir entradas em grupos com comportamento similar e testar um caso de cada grupo.
2) Análise de valor limite - Testa valores próximos aos limites de cada partiçao para verificar possíveis defeitos nessas regiões.
3) Tabela de decisão - Usa regras lógicas para gerar combinações de entrada para teste.
4) Teste de transição de estados - Testa um sistema modelado como máqu
O documento discute vários tópicos relacionados a testes de software, incluindo:
1) Condições de teste e casos de teste;
2) Estruturas para casos de teste;
3) Critérios de qualidade para casos de teste;
4) Técnicas de modelagem de teste como particionamento de equivalência e análise de valor limite.
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesSamanta Cicilia
O documento discute os princípios e práticas do Agile Testing, enfatizando a importância da colaboração entre times de desenvolvimento e teste para entregar software de qualidade de forma contínua. Aborda tópicos como testes durante o desenvolvimento, responsabilidade compartilhada pela qualidade e adaptação aos requisitos em mudança.
This presentation demonstrates general guidelines how to create good test cases using Robot Framework. Both good practices and anti-patterns are presented.
The presentation is hosted on GitHub where you can find the original in ODP format: https://github.com/robotframework/DosDontsSlides
Arquitetura Evolutiva - A retomada do ágil 18 anos depoisAndré Paulovich
O documento discute os conceitos de arquitetura evolutiva e como ela permite a adaptação contínua às mudanças. A arquitetura deve ser guiada por princípios como simplicidade, reversibilidade e adiamento de decisões desnecessárias. Em vez de um grande projeto inicial, defende-se um design suficiente e evolutivo, com decisões compartilhadas em cada ciclo de entrega.
This document provides an introduction to Behavior Driven Development (BDD) with Cucumber. It discusses that BDD uses examples expressed in a way that can be automated to reduce misunderstandings. Stories are written in business language and describe requirements and acceptance criteria. Scenarios specify conditions a story must meet to be complete. Cucumber is a tool that executes plain text functional descriptions as automated tests. It supports collaboration between stakeholders and allows writing scenarios before code.
This document discusses test automation approaches and best practices. It defines test automation as using software to perform test activities like execution and checking results. The document outlines how test automation fits into the software development lifecycle and notes that reducing manual testing and redundant tasks is key to success. It also discusses factors to consider for test automation, types of tests that can be automated, and technologies used for test automation like object-based and image-based recognition.
This is a presentation given at the Hangzhou Scrum Forum 2009, sponsored by Perficient, China. The topic is how to incorporate automated functional testing into an agile project, and also some best practices, tips, and warnings.
www.perficient.com
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Elias Nogueira
Mova-se rapidamente e reduza os riscos ao mesmo tempo em que oferece seu melhor aplicativo. Quando você confia no seu pipeline, você pode aumentar sua velocidade de desenvolvimento, porque você sabe que vai pegar bugs antes que eles atinjam a produção. Fazer testes de unidade é o primeiro passo, mas nas arquiteturas distribuídas baseadas em nuvem de hoje, você precisa aplicar outras estratégias de teste também. Esta apresentação interativa mostra como você pode usar ferramentas de teste de código aberto de última geração para criar um pipeline de testes rápido e confiável. A partir de um aplicativo Java EE distribuído de ponta a ponta baseado em REST e microsserviço.
Este infográfico mostra uma síntese da Gestão Ágil de Projetos. Ele mostra um modelo governança ágil que permite avaliar, decidir e selecionar qual o modelo é mais eficiente e adequado para cada perfil de projeto. Os modelos que são apesentados: modelo de gestão baseando no PMBOK, modelo de gestão baseado no Ágil e modelo Hibrido (quando usa-se dois modelos distintos juntos)
With growing demands of customers, IT organizations need to structure their software testing processes and improve their general testing practices. Under the current dynamic conditions, testing activities are inevitably becoming more complex and compelling.
Ultimately, organizations are focusing on improving their technical abilities and infrastructure to stay competitive within their landscapes. They are seeking effective and powerful solutions to increase their operational efficiency, to reduce their testing costs, to minimize their delivery risks and to fulfill the high quality expectations.
Keytorc Testing Center of Excellence (K-TCoE) solution can be the most convenient and adaptive choice for boosting the product quality and enabling the testing services and capabilities of any IT organization. K-TCoE offers distinguished methods and streams for realizing cost savings, test process standardization, efficient resource usage and effective test governance. The solution will be addressing further numerous benefits and leverages on;
- Use of recent testing technology and tools,
- Balancing individual responsibilities and load,
- Process standardization and continuous improvement,
- High skilled test consultants and specialists,
- Business/Domain knowhow,
- Rotation Flexibility and faster ramp-up/ramp-down cycles,
- Client satisfaction with Service Level Agreement (SLA) based deliveries,
Müşterilerin artan talepleri, BT organizasyonlarının yazılım test süreçlerinin yapılandırılmasını ve sürekli iyileştirilmesini zorunlu kılmaktadır. Günümüz dinamik koşullarında yazılım test aktiviteleri, ileri seviyede karmaşık ve zorlayıcıdır.
Kurumlar alanlarında rekabetten uzak kalmamak adına, teknik yeterliliklerini ve altyapılarını geliştirmeye odaklanmaktadırlar. Etkin ve kalıcı çözümlere odaklanarak, operasyonel verimliliklerini arttırmaya, test maliyetlerini düşürmeye, risklerini azaltmaya ve müşterilerinin yüksek kalite beklentilerini karşılamaya çalışmaktadırlar.
Keytorc Testing Center of Excellence (K-TCoE), herhangi bir BT organizasyonu için, ürün kalitesini arttıran, yazılım test maliyetlerini düşüren, dışkaynak test hizmeti alımına olanak tanıyan en erişebilir ve uygulanabilir çözümdür. K-TCoE yaklaşımı ile standart test süreçleri, verimli kaynak kullanımı ve etkin test yönetimi mümkün olmaktadır.
K-TCoE çözümünün dayandığı temel unsurlar;
- Güncel test teknolojilerinin ve araçlarının kullanımı
- Bireysel sorumluluk ve yük dengelemesi
- Standartlaştırılmış test süreçleri ve sürekli gelişim
- Yüksek yetkinlikte test danışman ve uzmanları
- İş alanı bilgisi
- Rotasyon esnekliği
- Müşteri Memnuniyeti ve SLA odaklı teslimat
olarak sıralanabilir.
O documento discute a metodologia 8D para resolução de problemas, apresentando suas etapas e ferramentas. As principais etapas são: 1) Formação do time de trabalho; 2) Descrição do problema; 3) Identificação das causas raízes por meio de técnicas como Diagrama de Ishikawa e Gráfico de Pareto.
Successfully establishing a SOA Center of ExcellenceKelly Emo
This document discusses establishing a Center of Excellence (CoE) to support enterprise SOA adoption. It outlines the stages of SOA adoption from exploration to broad adoption. A CoE provides expertise, best practices, and support across all domains to successfully drive SOA adoption. The CoE grows and evolves alongside the maturing SOA program. Key technologies like governance, quality management, and operational tools enable the CoE to effectively support the business in planning, building, and operating SOA.
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
1. O documento discute testes de software, incluindo princípios, ferramentas e carreiras.
2. São apresentados os motivos para testar software, como evitar defeitos e aumentar a satisfação dos clientes.
3. São descritos os níveis, tipos e técnicas de teste de software, assim como ferramentas comuns de teste e oportunidades de carreira na área.
Renato Groffe tem mais de 15 anos de experiência em tecnologia e possui diversas certificações. Ele oferece serviços de consultoria em testes de software, com foco em testes unitários, e ministra treinamentos sobre o assunto. Seu portfólio inclui experiência acadêmica e projetos profissionais na área de engenharia de software e business intelligence.
O documento discute os princípios e práticas da liderança Lean. Apresenta como as organizações podem se tornar mais enxutas ao seguir os exemplos da Toyota, focando no propósito, processos e engajamento das pessoas. Também descreve as ferramentas e mentalidades Lean, incluindo a eliminação de desperdícios e a melhoria contínua.
O documento discute como o DevOps e o Azure Pipelines melhoraram o processo de entrega em uma empresa. Ele explica o que é DevOps, Integração Contínua, Entrega Contínua e automação. Também descreve como o Azure DevOps, Azure Pipelines, Azure Boards e outros serviços do Azure podem ser usados para habilitar práticas DevOps como planejamento, CI/CD e implantação.
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAmazon Web Services LATAM
A era dos ciclos anuais e semestrais de entrega de software está ficando para trás. Empresas líderes em seu segmento de mercado entregam software de alta qualidade em ciclos de poucos dias, em alguns casos, de poucas horas. Nesta sessão, iremos apresentar como você pode iniciar sua jornada para DevOps compartilhando boas práticas e ferramentas utilizadas pelos times de ‘duas pizzas’ da Amazon. Vamos mostrar como você pode acelerar sua produtividade implementando fluxos de integração e entrega contínua. E iremos introduzir os serviços que a AWS desenvolveu inspirados nas ferramentas e práticas internas da Amazon: AWS CodeCommit, AWS CodeBuild, AWS CodePipeline e AWS CodeDeploy.
https://aws.amazon.com/pt/products/developer-tools/
This document discusses best practices and pitfalls when using the Robot Framework for test automation. It recommends starting with acceptance test-driven development (ATDD) and using source control and continuous integration. Other tips include giving tests and elements descriptive names, writing test cases as independent steps with single assertions, avoiding dependencies between tests, and focusing on behavior rather than implementation details. The document warns against not using these practices as they can lead to fragile and unreliable tests, wasted time and resources, and regressions going unnoticed.
Site Reliability Engineering - Descubra a nova era para (Infraestrutura|Opera...Pery Lemke
Este documento fornece uma introdução ao Site Reliability Engineering (SRE). Em três frases: Introduz o conceito de SRE, que envolve engenheiros de software projetando equipes de operações para garantir a disponibilidade e desempenho dos serviços; descreve os sete princípios fundamentais do SRE, incluindo gerenciamento de riscos, objetivos de nível de serviço e automação; e discute como times SRE passam metade do tempo resolvendo tarefas e a outra metade desenvolvendo ferramentas para automatizar processos.
O documento discute várias técnicas de teste de software, incluindo:
1) Partição de equivalência - Uma técnica para dividir entradas em grupos com comportamento similar e testar um caso de cada grupo.
2) Análise de valor limite - Testa valores próximos aos limites de cada partiçao para verificar possíveis defeitos nessas regiões.
3) Tabela de decisão - Usa regras lógicas para gerar combinações de entrada para teste.
4) Teste de transição de estados - Testa um sistema modelado como máqu
O documento discute vários tópicos relacionados a testes de software, incluindo:
1) Condições de teste e casos de teste;
2) Estruturas para casos de teste;
3) Critérios de qualidade para casos de teste;
4) Técnicas de modelagem de teste como particionamento de equivalência e análise de valor limite.
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesSamanta Cicilia
O documento discute os princípios e práticas do Agile Testing, enfatizando a importância da colaboração entre times de desenvolvimento e teste para entregar software de qualidade de forma contínua. Aborda tópicos como testes durante o desenvolvimento, responsabilidade compartilhada pela qualidade e adaptação aos requisitos em mudança.
This presentation demonstrates general guidelines how to create good test cases using Robot Framework. Both good practices and anti-patterns are presented.
The presentation is hosted on GitHub where you can find the original in ODP format: https://github.com/robotframework/DosDontsSlides
Arquitetura Evolutiva - A retomada do ágil 18 anos depoisAndré Paulovich
O documento discute os conceitos de arquitetura evolutiva e como ela permite a adaptação contínua às mudanças. A arquitetura deve ser guiada por princípios como simplicidade, reversibilidade e adiamento de decisões desnecessárias. Em vez de um grande projeto inicial, defende-se um design suficiente e evolutivo, com decisões compartilhadas em cada ciclo de entrega.
This document provides an introduction to Behavior Driven Development (BDD) with Cucumber. It discusses that BDD uses examples expressed in a way that can be automated to reduce misunderstandings. Stories are written in business language and describe requirements and acceptance criteria. Scenarios specify conditions a story must meet to be complete. Cucumber is a tool that executes plain text functional descriptions as automated tests. It supports collaboration between stakeholders and allows writing scenarios before code.
This document discusses test automation approaches and best practices. It defines test automation as using software to perform test activities like execution and checking results. The document outlines how test automation fits into the software development lifecycle and notes that reducing manual testing and redundant tasks is key to success. It also discusses factors to consider for test automation, types of tests that can be automated, and technologies used for test automation like object-based and image-based recognition.
This is a presentation given at the Hangzhou Scrum Forum 2009, sponsored by Perficient, China. The topic is how to incorporate automated functional testing into an agile project, and also some best practices, tips, and warnings.
www.perficient.com
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Elias Nogueira
Mova-se rapidamente e reduza os riscos ao mesmo tempo em que oferece seu melhor aplicativo. Quando você confia no seu pipeline, você pode aumentar sua velocidade de desenvolvimento, porque você sabe que vai pegar bugs antes que eles atinjam a produção. Fazer testes de unidade é o primeiro passo, mas nas arquiteturas distribuídas baseadas em nuvem de hoje, você precisa aplicar outras estratégias de teste também. Esta apresentação interativa mostra como você pode usar ferramentas de teste de código aberto de última geração para criar um pipeline de testes rápido e confiável. A partir de um aplicativo Java EE distribuído de ponta a ponta baseado em REST e microsserviço.
Este infográfico mostra uma síntese da Gestão Ágil de Projetos. Ele mostra um modelo governança ágil que permite avaliar, decidir e selecionar qual o modelo é mais eficiente e adequado para cada perfil de projeto. Os modelos que são apesentados: modelo de gestão baseando no PMBOK, modelo de gestão baseado no Ágil e modelo Hibrido (quando usa-se dois modelos distintos juntos)
With growing demands of customers, IT organizations need to structure their software testing processes and improve their general testing practices. Under the current dynamic conditions, testing activities are inevitably becoming more complex and compelling.
Ultimately, organizations are focusing on improving their technical abilities and infrastructure to stay competitive within their landscapes. They are seeking effective and powerful solutions to increase their operational efficiency, to reduce their testing costs, to minimize their delivery risks and to fulfill the high quality expectations.
Keytorc Testing Center of Excellence (K-TCoE) solution can be the most convenient and adaptive choice for boosting the product quality and enabling the testing services and capabilities of any IT organization. K-TCoE offers distinguished methods and streams for realizing cost savings, test process standardization, efficient resource usage and effective test governance. The solution will be addressing further numerous benefits and leverages on;
- Use of recent testing technology and tools,
- Balancing individual responsibilities and load,
- Process standardization and continuous improvement,
- High skilled test consultants and specialists,
- Business/Domain knowhow,
- Rotation Flexibility and faster ramp-up/ramp-down cycles,
- Client satisfaction with Service Level Agreement (SLA) based deliveries,
Müşterilerin artan talepleri, BT organizasyonlarının yazılım test süreçlerinin yapılandırılmasını ve sürekli iyileştirilmesini zorunlu kılmaktadır. Günümüz dinamik koşullarında yazılım test aktiviteleri, ileri seviyede karmaşık ve zorlayıcıdır.
Kurumlar alanlarında rekabetten uzak kalmamak adına, teknik yeterliliklerini ve altyapılarını geliştirmeye odaklanmaktadırlar. Etkin ve kalıcı çözümlere odaklanarak, operasyonel verimliliklerini arttırmaya, test maliyetlerini düşürmeye, risklerini azaltmaya ve müşterilerinin yüksek kalite beklentilerini karşılamaya çalışmaktadırlar.
Keytorc Testing Center of Excellence (K-TCoE), herhangi bir BT organizasyonu için, ürün kalitesini arttıran, yazılım test maliyetlerini düşüren, dışkaynak test hizmeti alımına olanak tanıyan en erişebilir ve uygulanabilir çözümdür. K-TCoE yaklaşımı ile standart test süreçleri, verimli kaynak kullanımı ve etkin test yönetimi mümkün olmaktadır.
K-TCoE çözümünün dayandığı temel unsurlar;
- Güncel test teknolojilerinin ve araçlarının kullanımı
- Bireysel sorumluluk ve yük dengelemesi
- Standartlaştırılmış test süreçleri ve sürekli gelişim
- Yüksek yetkinlikte test danışman ve uzmanları
- İş alanı bilgisi
- Rotasyon esnekliği
- Müşteri Memnuniyeti ve SLA odaklı teslimat
olarak sıralanabilir.
O documento discute a metodologia 8D para resolução de problemas, apresentando suas etapas e ferramentas. As principais etapas são: 1) Formação do time de trabalho; 2) Descrição do problema; 3) Identificação das causas raízes por meio de técnicas como Diagrama de Ishikawa e Gráfico de Pareto.
Successfully establishing a SOA Center of ExcellenceKelly Emo
This document discusses establishing a Center of Excellence (CoE) to support enterprise SOA adoption. It outlines the stages of SOA adoption from exploration to broad adoption. A CoE provides expertise, best practices, and support across all domains to successfully drive SOA adoption. The CoE grows and evolves alongside the maturing SOA program. Key technologies like governance, quality management, and operational tools enable the CoE to effectively support the business in planning, building, and operating SOA.
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
1. O documento discute testes de software, incluindo princípios, ferramentas e carreiras.
2. São apresentados os motivos para testar software, como evitar defeitos e aumentar a satisfação dos clientes.
3. São descritos os níveis, tipos e técnicas de teste de software, assim como ferramentas comuns de teste e oportunidades de carreira na área.
Renato Groffe tem mais de 15 anos de experiência em tecnologia e possui diversas certificações. Ele oferece serviços de consultoria em testes de software, com foco em testes unitários, e ministra treinamentos sobre o assunto. Seu portfólio inclui experiência acadêmica e projetos profissionais na área de engenharia de software e business intelligence.
O documento discute os princípios e práticas da liderança Lean. Apresenta como as organizações podem se tornar mais enxutas ao seguir os exemplos da Toyota, focando no propósito, processos e engajamento das pessoas. Também descreve as ferramentas e mentalidades Lean, incluindo a eliminação de desperdícios e a melhoria contínua.
O documento discute como o DevOps e o Azure Pipelines melhoraram o processo de entrega em uma empresa. Ele explica o que é DevOps, Integração Contínua, Entrega Contínua e automação. Também descreve como o Azure DevOps, Azure Pipelines, Azure Boards e outros serviços do Azure podem ser usados para habilitar práticas DevOps como planejamento, CI/CD e implantação.
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAmazon Web Services LATAM
A era dos ciclos anuais e semestrais de entrega de software está ficando para trás. Empresas líderes em seu segmento de mercado entregam software de alta qualidade em ciclos de poucos dias, em alguns casos, de poucas horas. Nesta sessão, iremos apresentar como você pode iniciar sua jornada para DevOps compartilhando boas práticas e ferramentas utilizadas pelos times de ‘duas pizzas’ da Amazon. Vamos mostrar como você pode acelerar sua produtividade implementando fluxos de integração e entrega contínua. E iremos introduzir os serviços que a AWS desenvolveu inspirados nas ferramentas e práticas internas da Amazon: AWS CodeCommit, AWS CodeBuild, AWS CodePipeline e AWS CodeDeploy.
https://aws.amazon.com/pt/products/developer-tools/
Neste webinar, você aprenderá como as empresas podem se valer da nuvem da AWS para automatizar os pipelines de desenvolvimento de software. Essa abordagem permite que sua equipe seja mais ágil, melhorando sua capacidade para entregar aplicações e serviços mais rapidamente.
O documento discute técnicas de Continuous Integration, Continuous Deployment e DevOps utilizando serviços da AWS. Ele explica como a infraestrutura pode ser tratada como código e automatizada usando ferramentas como CloudFormation, Elastic Beanstalk e OpsWorks para criar ambientes de desenvolvimento, teste e produção semelhantes. Também recomenda utilizar modelos de custo como On Demand, Reserved Instances e Spot Instances da AWS para economizar nos custos com a infraestrutura.
1) O documento discute DevOps na AWS, incluindo o que é DevOps, a história de DevOps na Amazon, e serviços da AWS para DevOps.
2) Serviços como o AWS CodeBuild, AWS CodeDeploy e AWS CodePipeline podem automatizar o processo de build, teste e deploy de aplicações.
3) A AWS fornece diversas ferramentas para implementar práticas DevOps como entrega contínua e infraestrutura como código.
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...Amazon Web Services
Ciclos de lançamento de software agora são medidos em dias em vez de meses. Empresas de ponta estão continuamente fornecendo software de alta qualidade em um ritmo acelerado. Nesta sessão, abordaremos como você pode começar sua jornada de DevOps compartilhando melhores práticas e ferramentas usadas pelas equipes de engenharia na Amazon. Nós mostraremos como você pode acelerar a produtividade do desenvolvedor, implementando fluxos de trabalho contínuos de integração e entrega. Além disso, apresentamos o AWS CodeStar, o AWS CodeCommit, o AWS CodeBuild, o AWS CodePipeline, o AWS CodeDeploy e o AWS X-Ray, os serviços inspirados nas ferramentas de desenvolvedor internas e nas práticas DevOps da Amazon.
1) Docker é uma plataforma que permite empacotar aplicações e suas dependências para serem executadas de forma isolada em containers leves.
2) Os containers Docker podem rodar aplicações de forma consistente em diversos ambientes como desenvolvimento, teste, produção sem se preocupar com dependências.
3) Isso traz benefícios como facilidade de implantação, portabilidade entre plataformas, reprodutibilidade de ambientes e isolamento entre aplicações.
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...Renato Groff
O documento apresenta uma introdução ao Docker, explicando seus principais conceitos como imagens, containers e Docker Hub. Também aborda a instalação do Docker em diferentes sistemas operacionais e seus benefícios como isolamento, eficiência e facilidade de implantação. Por fim, explica o Docker Compose, ferramenta para criar e executar múltiplos containers de uma aplicação.
Este documento fornece uma introdução aos testes automatizados, abordando conceitos como: objetivos da automação de testes, tipos de testes, ferramentas como Selenium e Cucumber, e técnicas como TDD. O documento também discute como identificar elementos na página e interagir com eles durante a automação.
O documento apresenta SonarQube, uma ferramenta open source para análise estática de código e gerenciamento de débito técnico. Apresenta como SonarQube mede sete eixos da qualidade de código, como arquitetura, testes e complexidade, e integrações possíveis com TFS e IDEs. Demonstra como SonarQube ajuda equipes a identificar e reduzir débitos técnicos para melhorar a qualidade do código.
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
O documento discute tendências e dicas para o desenvolvimento de software. Ele aborda tópicos como por que desenvolver software é difícil, motivos de falha em projetos, linguagens populares, boas práticas como teste e integração contínua, metodologias ágeis, tendências como computação em nuvem e NoSQL e por fim dicas para desenvolvedores.
O documento discute containers em produção. Apresenta Evandro Couto, palestrante sobre DevOps e containers. Explica o que são containers, como surgiram e os tipos LXC, OpenVZ e Docker. Discute orquestradores como Swarm e Kubernetes, comparando suas funcionalidades de escalabilidade, alta disponibilidade e balanceamento de carga. Fornece links para aprender mais sobre Docker, Kubernetes e projetos de exemplo.
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122Bruno Souza
Slides do Minicurso ministrado pela ToolsCloud na Globalcode. Para se inscrever nas proximas turmas, acesse:
http://www.globalcode.com.br/gratuitos/minicursos/minicurso-introducao-a-alm-open-source
Para experimentar as ferramentas apresentadas no minicurso, você pode utilizar o ambiente de demonstração da ToolsCloud:
https://demo.toolscloud.net
User: toolscloud
Password: toolscloud
ToolsCloud -- As ferramentas que os desenvolvedores adoram, na nuvem!
Solução complete de ALM, open source e sem stress. Começe a usar no seu projeto hoje!
http://www.toolscloud.com
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Renato Groff
Renato Groffe é um especialista em tecnologia com mais de 15 anos de experiência. Ele é um Microsoft MVP e MTAC e é conhecido por ser autor técnico, palestrante e organizador de eventos como o Canal .NET e o DevOps Professionals.
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Renato Groff
Apresentação sobre primeiros passos no uso de Docker, bem como dicas e truques na manipulação de containers. Palestra realizada em 17/02/2020 em evento promovido pela comunidade .NET SP e São Paulo-SP.
O documento discute como containers Docker podem ser usados para facilitar o deploy de aplicações e garantir que o ambiente de desenvolvimento seja idêntico ao de produção. Ele explica os benefícios dos containers sobre máquinas virtuais em termos de performance e escalabilidade e demonstra passo a passo como criar e implantar containers Docker na AWS usando o Elastic Beanstalk.
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOpstdc-globalcode
Este guia discute como a abordagem DevOps afeta o trabalho de QA e como os testes podem ser automatizados para permitir a entrega contínua de software. A automação de testes unitários, funcionais e de integração é essencial para entregas mais rápidas e confiáveis na abordagem DevOps. A mentalidade de colaboração entre equipes de desenvolvimento e operações é fundamental para o sucesso do QA nesse modelo.
Este documento discute a integração contínua com o Hudson/Jenkins. Descreve Hudson/Jenkins como um servidor de integração contínua que executa builds de projetos periodicamente e valida o código através de testes e outras validações. Também discute como configurar projetos no Hudson/Jenkins para suportar dependências entre projetos, builds distribuídos em vários nós, e notificações de resultados de builds.
Semelhante a Construindo pipelines com Azure DevOps (20)
3. Contexto
● Time com conhecimento bem básico em infra
● Pouca “intimidade” com cultura DevOps
● Entendimento sobre conceitos de CI/CD, mas não na parte de
infra
● Sem poder de escolha quanto a ferramenta (tinha que ser essa!!)
● Ninguém do time tinha mexido com Azure DevOps antes
● O cliente esperava autonomia do time em relação aos "lower level
environments"
● A.K.A = Te vira e faz o teu, bença!
6. cloud service que combina integração
contínua (CI) e entrega contínua (CD),
que permite "buildar" e testar seu
projeto feito em qualquer linguagem,
qualquer plataforma e implantar para
qualquer cloud / on-premises
8. Build Pipelines (CI)
● Construir/compilar, executar testes
automatizados, criar e publicar artefatos
● Visual Designer ou Pipeline as code (YAML)
● Detectar falhas e bugs cedo
● Sumário de testes, identificar principais pontos
de erros
● Cobertura de código
9. Primeiramente, o código!
● Permite conectar com
os principais
"providers" de controle
de versão
● Cada pipeline só pode
ser disparada por um
repositório
● Q3 2019: deve ser
lançada opção de
multi-repository para
YAML pipelines
10. Auto-detect
● Detecta qual tipo de
projeto (linguagem /
framework) permitindo
sugerir um template para
construir sua build
pipeline
● Ou pode começar do
zero, com YAML file ou
usando o Visual Designer
sugestões ao selecionar um repositório com código em JS
11. "Anatomia" da pipeline Get Sources: conecta com o repositório onde
está o seu código
Jobs: série de passos que são executados
sequencialmente como uma unidade.
Agents: VMs onde os jobs são executados e são
descartadas após a execução. São providas
algumas opções de VMs pré-definidas
(Microsoft-hosted) rodando Windows, Linux ou
MacOS. Ou você pode também criar seus
próprios agents (self-hosted).
Tasks: Passos que serão executados em um job,
que nada mais são que scripts abstraídos em
uma série de inputs para atingirem um objetivo
específico.
12. Onde achar essas tasks?
● Catálogo com centenas de tasks "out-
of-the-box"
● Algumas tasks exclusivas para build
ou para release e algumas para
ambos tipos de pipelines
● Na falta de tasks específicas:
○ Você pode criar suas próprias
tasks, em caso de necessidade de
reuso em diferentes pipelines
○ Usar tasks de execução de scripts
(PowerShell, bash)
13. Pipeline as Code
● Permite o uso de templates e
reutilizar um conjunto de tasks
● Permite versionar sua pipeline
junto com o código da sua
aplicação
● Oferece um "assistente" para
adicionar tasks
● Facilita o diff entre duas
versões de uma pipeline
● Para release, essa é uma
funcionalidade nova e está em
preview ainda. Para usar, é
necessário habilitar a opção
multi-stage pipelines.
14. Build - Triggers
Continuous Integration
Pull Request Validation
Scheduled
Build Completion
Executa após a finalização de algum
outro build específico.
15. Test Results
● Sumário e estatísticas de
execução de testes
● Relatório de incidências
de falhas
● Testes e classes que
costumam falhar com
mais frequência
16. Como usamos no projeto?
Validação de Pull RequestIntegração contínua
Publicar Docker Image
Publicar artefatos para release
Publicar pacotes NPM privados
Execução de testes de unitários,
de aceitação e de integração
17. Release Pipelines
● Deploy de artefatos gerados pela build pipelines
● Diferentes stages/ambientes
● Disparo automático (após build sem falha) ou não
● Regras para promoção de código entre stages
● Visual Designer
○ YAML apenas para multi-stage pipeline, ainda em preview
18. Release Pipelines
Artefato gerado
pela build pipeline
Jobs e tasks executadas
para cada ambiente
Pré e Pós-deployment
approvers e gates
Disparo programado /
periódico
20. Approvals / Gates
Approvers: define as pessoas do
time que podem aprovar ou recusar
um stage.
Gates: verifica, automaticamente,
sistemas externos na espera de uma
determinada condição.
Manual intervention: pausa o deploy
para execução de uma tarefa
manual
21. E como usamos?
Deploy de artefatos para
diferentes ambientes:
● Azure App Services
● Azure Functions
DB Seeding
Execução de SQL queries
Health Check
Criação, manutenção e
configuração de recursos no
Azure
Configuração do Service Bus
"Limpeza" de dados regulares
em lower level enviroments
stages (dev, qa, uat)
22. Ok, curti. Quanto é?
https://azure.microsoft.com/en-us/pricing/details/devops/azure-devops-services/
23. Considerações finais
● Baixa curva de aprendizado
● Recursos “out-of-the-box”
● Integração muito fácil com outros serviços do Azure DevOps e
Azure
● Mas não limitado à produtos/serviços da Microsoft
● Funciona com qualquer linguagem, plataforma e cloud
● Sempre em construção, possui um roadmap das features por vir
● Não é a bala de prata (nenhuma ferramenta/serviço é), mas tem
funcionado muito bem para um projeto grande
24. Até mais, e
obrigada pelos
peixes! ❏ http://camilacarrera.com
❏ contato@camilacarrera.com
❏ http://github.com/milacarrera/
❏ http://linkedin.com/in/camila-carrera
Notas do Editor
Cloud based: software fica na nuvem e é adquirido através de assinatura (ou alguma outra forma de cobrança) é utilizado como serviço
On-premises: software é instalado em servidores/computadores da empresa, é tratado como um produto
---
https://azure.microsoft.com/pt-br/services/devops/
https://docs.microsoft.com/pt-br/azure/devops/pipelines/get-started/what-is-azure-pipelines?view=azure-devops
Azure Boards:
Oferece quadros Kanban para planejamento e acompanhamento do projeto
Permite criar vários tipos de cards, como features, backlog itens, tasks, bugs. Além disso oferece ferramentas para geração de relatórios, quadros para retrospectivas, entre outras coisas.
Azure Pipelines:
Serviço de cloud que pode ser usado para, de forma automatizada, construir, testar e implantar seu código e disponibilizá-lo para terceiros. Funciona com a maioria das linguagens e se integra facilmente com provedores de controle de versão e hosting, não sendo obrigado necessariamente a usar os serviços da própria microsoft.
Azure Repos:
Oferece ferramentas de controle de versão, podendo escolher entre dois tipos:
Git, distribuído, como o que costumamos usar
TFVC (team foundation version control) que é centralizado, ou seja, as várias versão de um arquivo fica armazenado num servidor, enquanto na nossa máquina fica apenas a versão na qual estamos trabalhando.
Azure Test Plans:
ss
Azure Artifacts
ss
https://docs.microsoft.com/en-us/azure/devops/pipelines/process/phases?view=azure-devops&tabs=yaml
https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/agents?view=azure-devops
Jobs: também é possível criar agentless jobs, que rodam no servidor e executam apenas alguns tipos de tasks que não requerem computação, geralmente usado para manual intervention tasks (em release pipelines)