Slides da 1ª de uma série de 4 lives sobre testes automatizados em Ruby. Assista todas!
Fábio Araujo remove mitos sobre BDD e destaca a sua importância na comunicação dentro e fora da equipe com objetivo de garantir os resultados para o negócio e a qualidade dos softwares necessários.
Desafios, formatos e ferramentas são apresentados, formando uma grande base de conhecimento sobre o Desenvolvimento Direcionado por Comportamento (BDD).
Um dos grandes, senão o maior, gerador de defeitos em software é a comunicação humana, cujas falhas naturais e frequentes pode levar ao fracasso os mais variados projetos em organizações de qualquer porte ou orientação.
Este vídeo não requer que você tenha assistido nenhum outro conteúdo da série.
O documento apresenta uma introdução sobre qualidade e teste de software, abordando:
1) Definições de qualidade, teste de software, verificação e validação;
2) Papéis e perfis dos profissionais de teste;
3) Técnicas para derivar casos de teste a partir de casos de uso.
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 apresenta os conceitos e técnicas fundamentais de teste de software, descrevendo os objetivos do teste, os principais papéis e responsabilidades na equipe de teste, assim como os estágios e ciclo de vida dos testes.
Esse slide mostra a necessidade do processo de teste de software nos projetos de desenvolvimento de softwares, vamos demostrar as técnicas, tipos, fases, ferramentas, modelos e normas envolvidas na execução dos testes de software com o intuito de obter um ótimo nível de qualidade dos softwares gerados.
Um desafio prático dos testes de unidade é a dependência entre unidades. Quando uma unidade depende de outras, é necessário desenvolver stubs (unidades substitutas) para as unidades dependentes para que a unidade sob teste possa ser testada isoladamente. Isso requer esforço adicional de desenvolvimento que pode atrasar o processo de teste. Além disso, bugs nos stubs podem mascarar ou simular bugs na unidade real, comprometendo a efetividade dos testes. Gerenciar as dependências entre unidades para permitir testes isolados é um desafio na prática dos testes de
Este documento fornece um resumo sobre ferramentas de gestão de testes. Discute brevemente ferramentas como Bugzilla Test Runner e Mercury Interactive Test Director, e explica conceitos como planos de teste e casos de teste.
[ATC2021] Distribuição de Testes em Diferentes CamadasJúlio de Lima
O documento discute a distribuição de testes em diferentes camadas de software. É apresentada uma visão geral de camadas como componentes organizados para reduzir a complexidade do sistema, com exemplos de camadas como controller e service. Também são discutidos níveis de teste como unidade, integração e aceitação e como mapear testes a essas camadas para obter benefícios como velocidade e cobertura de testes.
O documento apresenta uma introdução sobre qualidade e teste de software, abordando:
1) Definições de qualidade, teste de software, verificação e validação;
2) Papéis e perfis dos profissionais de teste;
3) Técnicas para derivar casos de teste a partir de casos de uso.
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 apresenta os conceitos e técnicas fundamentais de teste de software, descrevendo os objetivos do teste, os principais papéis e responsabilidades na equipe de teste, assim como os estágios e ciclo de vida dos testes.
Esse slide mostra a necessidade do processo de teste de software nos projetos de desenvolvimento de softwares, vamos demostrar as técnicas, tipos, fases, ferramentas, modelos e normas envolvidas na execução dos testes de software com o intuito de obter um ótimo nível de qualidade dos softwares gerados.
Um desafio prático dos testes de unidade é a dependência entre unidades. Quando uma unidade depende de outras, é necessário desenvolver stubs (unidades substitutas) para as unidades dependentes para que a unidade sob teste possa ser testada isoladamente. Isso requer esforço adicional de desenvolvimento que pode atrasar o processo de teste. Além disso, bugs nos stubs podem mascarar ou simular bugs na unidade real, comprometendo a efetividade dos testes. Gerenciar as dependências entre unidades para permitir testes isolados é um desafio na prática dos testes de
Este documento fornece um resumo sobre ferramentas de gestão de testes. Discute brevemente ferramentas como Bugzilla Test Runner e Mercury Interactive Test Director, e explica conceitos como planos de teste e casos de teste.
[ATC2021] Distribuição de Testes em Diferentes CamadasJúlio de Lima
O documento discute a distribuição de testes em diferentes camadas de software. É apresentada uma visão geral de camadas como componentes organizados para reduzir a complexidade do sistema, com exemplos de camadas como controller e service. Também são discutidos níveis de teste como unidade, integração e aceitação e como mapear testes a essas camadas para obter benefícios como velocidade e cobertura de testes.
This document provides an overview of software testing concepts and definitions. It discusses key topics such as software quality, testing methods like static and dynamic testing, testing levels from unit to acceptance testing, and testing types including functional, non-functional, regression and security testing. The document is intended as an introduction to software testing principles and terminology.
Tecnicas Para Planejamento E Execucao De Testes De Softwaremarthahuback
O documento discute técnicas para mapeamento de cenários de teste e técnicas de teste de caixa preta e caixa branca. Ele explica como mapear cenários de teste com foco no negócio e nos usuários, e como cenários de teste devem ser objetivos, reduzir incertezas e encontrar erros. Também descreve técnicas de teste de caixa preta como análise de valor limite, particionamento por equivalência e transição de estados, e técnicas de caixa branca como teste unitário e TDD.
Planning for software quality assurance lecture 6Abdul Basit
The document discusses planning for software quality assurance (SQA) and outlines the key elements of a software quality assurance plan (SQAP). It notes that an SQAP provides a roadmap for SQA activities and defines techniques, procedures, and methodologies that will be used to ensure timely delivery of software that meets requirements. The document then describes various sections that should be included in an SQAP, such as goals, tasks, standards, reviews, testing, problem reporting, tools, code control, and training. It also discusses the IEEE standard for SQAPs and provides examples of what types of information should be included in each SQAP section.
Este documento presenta lineamientos para la definición de casos de prueba. Explica que los casos de prueba deben ser claros, concisos y proporcionar la información necesaria para ejecutar las pruebas. También define conceptos como pre-requisitos, pasos, resultado esperado y prioridades. El objetivo es uniformizar la forma de definir casos de prueba y asegurar su calidad para que puedan ser ejecutados de manera efectiva.
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
Nesta apresentação são colocados alguns pontos/papéis do testador em uma equipe ágil e as principais dúvidas de uma equipe quando alguém "veste o chapéu" de teste ou teremos um testador na equipe.
Trabalho realizado pelo aluno Rafael Sanches sobre teste de software explicando os passos necessários para realização de testes no desenvolvimento de software.
O documento discute as vantagens e desafios do reuso de software, incluindo menores custos, entregas mais rápidas e aumento da qualidade. Aborda diferentes técnicas de reuso como desenvolvimento baseado em componentes, geradores de programas, frameworks de aplicações e reuso de produtos comerciais. Destaca a importância do planejamento para evitar retrabalho e mudanças organizacionais para apoiar iniciativas de reuso.
1. The document discusses different types of software testing including manual testing, automation testing, black-box testing, white-box testing, grey-box testing, and different levels of testing like unit testing, integration testing, system testing, regression testing, and acceptance testing.
2. It provides details on when each type of testing is used and their objectives such as finding defects, ensuring quality, and meeting requirements.
3. The key types of testing covered include functional testing, which has sub-types like unit, integration, system, regression, and acceptance testing, and non-functional testing.
This document discusses black box testing techniques. Black box testing involves testing software without knowledge of its internal structure or design. Key black box techniques include equivalence partitioning, which divides input into classes; boundary value analysis, which tests boundary cases; error guessing, which uses experience to generate test cases; and cause-effect graphing, which analyzes how inputs cause outputs to derive test cases. Black box testing has advantages like independence from implementation details and testing from a user perspective.
O documento discute a qualidade de software, definindo-a como a conformidade aos requisitos dos clientes. Apresenta diferentes visões de qualidade de software e discute padrões e normas importantes como ISO 9126 para garantir a qualidade. Também descreve exemplos históricos de bugs caros que ocorreram por falta de qualidade.
O documento discute validação e testes de software, abordando tópicos como:
1) Os diferentes níveis de teste (unidade, integração, sistema e aceitação);
2) As abordagens de teste (caixa preta e caixa branca);
3) Os principais papéis no processo de teste (gerente de teste, líder de projeto de teste, etc);
4) A importância da documentação no planejamento e execução dos testes.
Apresentação usada por Camilo Ribeiro para a Palestra "Técnicas de Teste no Ciclo de Desenvolvimento de Software" para o Centro Universitário UNA de Belo Horizonte em 25 de Março de 2010
** Software Testing Certification Courses: https://www.edureka.co/software-testi... **
This Edureka PPT on Types of Software Testing covers the various types of functional and non-functional testing. Below topics are covered in this PPT:
What is Software Testing
Why need Testing?
Software Testing Life Cycle
Types of Software Testing
Unit Testing
Integration Testing
System Testing
Interface Testing
Regression Testing
Acceptance Testing
Documentation Testing
Installation Testing
Performance Testing
Reliability Testing
Security Testing
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
Este documento presenta una introducción a la planificación de pruebas de software y estrategias de prueba para software convencional. Explica conceptos clave como verificación y validación, y tipos de pruebas como pruebas unitarias, de integración, funcionales y de rendimiento. También discute la importancia de las pruebas de software para la calidad y los costos asociados con defectos de software.
[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...GUTS-RS
Roger Ritter apresenta o framework open-source MBehavior, no qual executa cenários no formato BDD para a realização de testes funcionais nas plataformas: web, mobile e desktop.
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.
This document provides an overview of software testing concepts and definitions. It discusses key topics such as software quality, testing methods like static and dynamic testing, testing levels from unit to acceptance testing, and testing types including functional, non-functional, regression and security testing. The document is intended as an introduction to software testing principles and terminology.
Tecnicas Para Planejamento E Execucao De Testes De Softwaremarthahuback
O documento discute técnicas para mapeamento de cenários de teste e técnicas de teste de caixa preta e caixa branca. Ele explica como mapear cenários de teste com foco no negócio e nos usuários, e como cenários de teste devem ser objetivos, reduzir incertezas e encontrar erros. Também descreve técnicas de teste de caixa preta como análise de valor limite, particionamento por equivalência e transição de estados, e técnicas de caixa branca como teste unitário e TDD.
Planning for software quality assurance lecture 6Abdul Basit
The document discusses planning for software quality assurance (SQA) and outlines the key elements of a software quality assurance plan (SQAP). It notes that an SQAP provides a roadmap for SQA activities and defines techniques, procedures, and methodologies that will be used to ensure timely delivery of software that meets requirements. The document then describes various sections that should be included in an SQAP, such as goals, tasks, standards, reviews, testing, problem reporting, tools, code control, and training. It also discusses the IEEE standard for SQAPs and provides examples of what types of information should be included in each SQAP section.
Este documento presenta lineamientos para la definición de casos de prueba. Explica que los casos de prueba deben ser claros, concisos y proporcionar la información necesaria para ejecutar las pruebas. También define conceptos como pre-requisitos, pasos, resultado esperado y prioridades. El objetivo es uniformizar la forma de definir casos de prueba y asegurar su calidad para que puedan ser ejecutados de manera efectiva.
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
Nesta apresentação são colocados alguns pontos/papéis do testador em uma equipe ágil e as principais dúvidas de uma equipe quando alguém "veste o chapéu" de teste ou teremos um testador na equipe.
Trabalho realizado pelo aluno Rafael Sanches sobre teste de software explicando os passos necessários para realização de testes no desenvolvimento de software.
O documento discute as vantagens e desafios do reuso de software, incluindo menores custos, entregas mais rápidas e aumento da qualidade. Aborda diferentes técnicas de reuso como desenvolvimento baseado em componentes, geradores de programas, frameworks de aplicações e reuso de produtos comerciais. Destaca a importância do planejamento para evitar retrabalho e mudanças organizacionais para apoiar iniciativas de reuso.
1. The document discusses different types of software testing including manual testing, automation testing, black-box testing, white-box testing, grey-box testing, and different levels of testing like unit testing, integration testing, system testing, regression testing, and acceptance testing.
2. It provides details on when each type of testing is used and their objectives such as finding defects, ensuring quality, and meeting requirements.
3. The key types of testing covered include functional testing, which has sub-types like unit, integration, system, regression, and acceptance testing, and non-functional testing.
This document discusses black box testing techniques. Black box testing involves testing software without knowledge of its internal structure or design. Key black box techniques include equivalence partitioning, which divides input into classes; boundary value analysis, which tests boundary cases; error guessing, which uses experience to generate test cases; and cause-effect graphing, which analyzes how inputs cause outputs to derive test cases. Black box testing has advantages like independence from implementation details and testing from a user perspective.
O documento discute a qualidade de software, definindo-a como a conformidade aos requisitos dos clientes. Apresenta diferentes visões de qualidade de software e discute padrões e normas importantes como ISO 9126 para garantir a qualidade. Também descreve exemplos históricos de bugs caros que ocorreram por falta de qualidade.
O documento discute validação e testes de software, abordando tópicos como:
1) Os diferentes níveis de teste (unidade, integração, sistema e aceitação);
2) As abordagens de teste (caixa preta e caixa branca);
3) Os principais papéis no processo de teste (gerente de teste, líder de projeto de teste, etc);
4) A importância da documentação no planejamento e execução dos testes.
Apresentação usada por Camilo Ribeiro para a Palestra "Técnicas de Teste no Ciclo de Desenvolvimento de Software" para o Centro Universitário UNA de Belo Horizonte em 25 de Março de 2010
** Software Testing Certification Courses: https://www.edureka.co/software-testi... **
This Edureka PPT on Types of Software Testing covers the various types of functional and non-functional testing. Below topics are covered in this PPT:
What is Software Testing
Why need Testing?
Software Testing Life Cycle
Types of Software Testing
Unit Testing
Integration Testing
System Testing
Interface Testing
Regression Testing
Acceptance Testing
Documentation Testing
Installation Testing
Performance Testing
Reliability Testing
Security Testing
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
Este documento presenta una introducción a la planificación de pruebas de software y estrategias de prueba para software convencional. Explica conceptos clave como verificación y validación, y tipos de pruebas como pruebas unitarias, de integración, funcionales y de rendimiento. También discute la importancia de las pruebas de software para la calidad y los costos asociados con defectos de software.
[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...GUTS-RS
Roger Ritter apresenta o framework open-source MBehavior, no qual executa cenários no formato BDD para a realização de testes funcionais nas plataformas: web, mobile e desktop.
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.
O documento discute Behavior Driven Development (BDD) e testes de serviço (API). Ele apresenta os principais pontos sobre:
1) Testes de API em monolitos e microserviços;
2) Os tipos de testes de API como funcional, aceitação, sanidade e contrato;
3) A pirâmide ideal de testes de API e como eles se encaixam em um pipeline de testes.
O documento introduz os conceitos de engenharia de software e UML. Resume os 7 passos para gerenciar um projeto de software, incluindo adotar uma metodologia de desenvolvimento, comunicar-se com a equipe, definir o escopo, montar o time, desenvolver o cronograma, monitorar riscos e formalizar início e fim. Também explica os principais diagramas UML como casos de uso, classes, atividades e sequência e como eles auxiliam na modelagem de sistemas.
O documento apresenta uma introdução ao Behavior Driven Development (BDD) e à ferramenta Demoiselle Behave. Explica os conceitos fundamentais do BDD como a escrita de histórias de usuário e cenários em linguagem Gherkin. Também descreve a arquitetura e funcionalidades do Demoiselle Behave, como o parser de histórias e reuso de cenários.
O documento apresenta as metodologias Behavior Driven Development (BDD) e Test Driven Development (TDD) usando Ruby on Rails. Discute como ferramentas como RSpec e Cucumber podem ser usadas para escrever testes de aceitação e comportamentais que guiem o desenvolvimento do código. Enfatiza os benefícios de seguir princípios de BDD/TDD como foco no comportamento, código limpo e satisfação do cliente.
O documento discute a estratégia de testes utilizando a "Pirâmide de Testes Invertida" em quatro projetos de um instituto de inovação. Foi utilizado o framework Behat para criar cenários de testes em linguagem natural que foram automatizados. Lições aprendidas incluem facilidade em identificar bugs, mas também alto tempo de execução e manutenção dos testes. Ações futuras incluem definir estratégia de testes em conjunto e investir em outros níveis de testes.
Apresentação feita para o treinamento dos colaboradores da Vitrio.
Público alvo do treinamento: Analistas de conteúdo, Designers e equipe de Marketing Digital.
O principal assunto era uma breve introdução ao JavaScript ,jQuery e plugins. Entretanto, abrangemos outros tópicos, tais como: Desenvolvimento em Camadas, requisições, performance de web sites e algumas ferramentas.
O documento descreve o framework Demoiselle Behave para desenvolvimento de soluções orientadas a comportamento usando Behavior Driven Development (BDD). Ele explica os princípios e benefícios do BDD, como mapear elementos de tela, escrever histórias de usuário e implementar cenários de teste.
O documento apresenta um treinamento sobre desenvolvimento de software limpo e qualidade de código. Ele discute princípios como clean code, boas práticas de programação, ferramentas para teste e controle de versão que auxiliam na manutenção de código limpo e de qualidade.
Este documento contém 3 artigos sobre programação:
1) Um artigo sobre como criar projetos no Visual Studio usando o framework Bootstrap de forma rápida.
2) Um artigo sobre como adicionar máscaras em campos de formulários usando o plugin jQuery Masked Input.
3) Um artigo sobre gatilhos no SQL Server para auditoria de dados.
BDD (Behaviour-Driven Development) é uma técnica colaborativa para definir e implementar sistemas através da descrição do seu comportamento, utilizando linguagem de negócios em cenários e exemplos para esclarecer os requisitos. Se associado à automação de testes funcionais, o BDD permite a geração de documentação viva, que se mantém relevante e atualizada durante a vida da aplicação.
Intrudução ao Behavior Driven Development (BDD) com Ruby on RailsRodrigo Urubatan
Este documento introduz o BDD (Desenvolvimento Guiado por Comportamento) com Rails. Ele discute como o BDD melhora a comunicação entre equipes e clientes através de uma linguagem comum do negócio ao código. Ele também mostra exemplos de como escrever cenários de teste em linguagem natural usando Cucumber para automatizar testes em Rails.
O documento discute Behavior Driven Development (BDD), uma técnica ágil de desenvolvimento de software que encoraja a colaboração entre desenvolvedores, qualidade e stakeholders através do uso de histórias de usuário para ilustrar os requisitos desejados. Ele também apresenta exemplos de como mapear cenários de teste BDD em métodos de automação para validar funcionalidades da calculadora.
O documento descreve a estratégia de testes adotada pelo CESAR, conhecida como "Pirâmide de Testes Invertida", com foco em testes de interface do usuário e integração. A estratégia trouxe benefícios como detecção precoce de bugs e documentação, porém enfrentou desafios como tempo de execução longo e manutenção custosa. Melhorias futuras incluem reduzir testes manuais e end-to-end e fortalecer testes de unidade e integração.
Este documento fornece informações sobre um curso de desenvolvimento web ministrado pelo professor Rodrigo Santa Maria. O curso ensina HTML5, CSS3, JavaScript e frameworks como o Bootstrap. O professor tem formação em Ciência da Computação e MBA em Gerenciamento de Projetos e experiência como analista, professor e empreendedor na área de tecnologia.
O documento discute o conceito e práticas de entrega contínua, incluindo desafios comuns como mudanças frequentes de escopo e a importância de automação de testes para liberar funcionalidades de forma rápida e segura.
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
Nesta sessão abordamos a performance de Sistemas de Informação desenvolvidos na plataforma ASP.NET com recurso a SQL Server com SGBD. Iremos explicar como surgem os problemas de performance em sistemas com alguns anos de existência e qual a abordagem a tomar, quando temos utilizadores insatisfeitos.
Abordaremos também alguns casos de sucesso no mercado a nível de sistemas de alta disponibilidade e como o mercado tem evoluído. De uma forma geral, pretendemos demonstrar técnicas de análise/tuning de performance em ASP.NET e sua evolução ao longo das várias versões, como também algumas técnicas de requisitos para obtenção e estruturação da informação.
Finalmente, o objetivo passa por divulgar procedimentos, técnicas e ferramentas que sirvam como uma referência que possam ser úteis caso surjam problemas de performance nos nossos sistemas de futuro, entre os quais : Do’s & Dont’s, Systematic Tuning, ASP.NET Trace, VS Profiling Tools, SQL Profiler entre outros.
Prototipação funcional é um artefato que pode ser utilizado com requisito de forma muito eficaz. Prototipação funcional é melhor ainda que ele também pode ser utilizado para testar uma solução sem a necessidade do desenvolvimento de uma linha de código.
Semelhante a QArentena 21: BDD - com Fábio Araújo (20)
UAI Test 2014 - Storyboards - dos Requisitos aos TestesJosé Correia
Storyboards ajudam a melhorar a comunicação entre times e clientes, fornecendo informações visuais sobre os requisitos, fluxos e testes de um software de forma concisa e fácil de entender. Eles podem ser criados em ferramentas como PowerPoint e ajudam a antecipar e corrigir problemas antes do desenvolvimento, reduzindo custos. Devem ser armazenados de forma segura e rastreável.
TDC2014 - Trilha de Análise de Negócios - Storyboards: dos Requisitos aos Tes...José Correia
Este documento apresenta José Correia, fundador da Iterasys, e discute a importância dos storyboards no processo de desenvolvimento de software. Explica como os storyboards podem ser usados para comunicar requisitos, antecipar problemas e permitir feedback dos clientes. Também lista ferramentas que podem ser usadas para criar e executar storyboards.
Conversa sobre um tema que ainda divide opiniões entre profissionais de teste e, enfrenta a realidade da crescente procura de automação de testes pelas empresas.
Assista ao vídeo em http://youtu.be/iP37JLG-oPA
Iterasys :: Microsoft Web Performance TestJosé Correia
O documento discute testes de performance em software, destacando a importância de: 1) definir objetivos e necessidades do teste; 2) entender o perfil de acesso dos usuários; e 3) usar testes para responder se o software suporta a quantidade esperada de usuários, medir tempo de resposta, e identificar pontos de travamento e gargalos.
TDC2013 - Trilha de Testes - Iterasys - José Correia - Testar em Multiplos A...José Correia
Seu ambiente de teste é muito menor que o de produção? Precisa repetir os mesmos testes com um monte de browsers e dispositivos diferentes? Você não tem nem recursos nem tempo para testar tudo o que precisa? Isso tudo já foi um grande problema. Ou ainda é para você? Agora uma série de técnicas de priorização e recursos baseados em software open source e ferramentas na nuvem podem resolver todas essas questões e elevar os seus testes ao próximo nível.
TDC2013 - Trilha de Cloud - Iterasys - José Correia - Use a Nuvem para TestarJosé Correia
O documento discute quatro problemas comuns em testes de software: falta de cobertura de testes, regressão, desempenho e escalabilidade, e múltiplos ambientes. Ele também apresenta soluções como usar ferramentas de teste na nuvem como Selenium e JMeter para melhorar a cobertura, prevenir regressões, testar desempenho e integrar ambientes de teste.
Iterasys - Cobertura de Teste - PairwiseJosé Correia
Aumentar a cobertura dos testes é um desejo e necessidade de todo profissional da área. Por isso a Iterasys irá começar uma série de palestras sobre este importante tema.
Vamos começar com Pairwise, técnica comum fora do Brasil, mas que por desconhecimento ou mesmo mitos associados a uma falsa dificuldade ainda não é utilizada amplamente.
Participe e conheça ferramentas gratuítas e comerciais que podem ajudá-lo a ampliar a sua cobertura imediatamente.
TDC2013 - Trilha de Testes - Iterasys - José Correia - Uso de Storyboards e K...José Correia
Este documento discute o uso de storyboards e kanban para testes mais ágeis. Storyboards podem ser usados para planejar fluxos de trabalho, comportamentos e funções de software de forma simples e direta. Kanban permite o controle visual do progresso de tarefas através de um quadro de tarefas em diferentes estágios. Juntos, storyboards e kanban podem melhorar a comunicação, qualidade e entrega de software de forma mais rápida.
Iterasys Test Show 2010 - Estratégia Baseada no TMapJosé Correia
1. A ISOTMap Next é líder mundial em serviços tecnológicos com mais de 20 mil colaboradores em mais de 200 escritórios em 15 países;
2. Os métodos TMap e TPI Next são reconhecidos internacionalmente para testes e melhoria de processos;
3. O TMap fornece um processo estruturado, ferramentas completas e é adaptável para diferentes situações de desenvolvimento de sistemas.
Iterasys Test Show 2010 - Estratégia Baseada no ScrumJosé Correia
O documento discute princípios ágeis para desenvolvimento de software, enfatizando indivíduos, interação, colaboração e resposta rápida às mudanças. Também aborda como descobrir os requisitos certos por meio de análises de uso e defeitos, em vez de levantar todos os possíveis de antemão, e os benefícios da integração entre times de desenvolvimento e teste.
Iterasys Test Show 2010 - Estratégia Baseada na ISOJosé Correia
O documento descreve o padrão ISO/IEC 9126 para qualidade de software, incluindo suas 6 características e 27 subcaracterísticas. O padrão define um modelo para medir a qualidade de software externamente e internamente, além de qualidade do produto final. É utilizado globalmente para avaliar software de acordo com atributos como adequação, confiabilidade, usabilidade, eficiência e portabilidade.
Iterasys Test Show 2010 - Carreira e Certificação em Teste e QAJosé Correia
Apresentação realizada em São Paulo, Brasília e Belo Horizonte durante o Iterasys Test Show 2010. Trata da evolução da carreira em Teste e QA, a importancia da certificação e da capacitação dos profissionais.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
2. Chapter Lead – Q.A
• Mais de 20 anos na área de T.I,
sendo 12 anos na Área de Q.A;
• Digibase - Maplink - Google Maps,
Magneti Marelli, Valor Econômico,
Amil, Dotz, Linx, Edenred -Ticket
& Via Varejo;
• Acadêmico: Eletrotécnica, Sistemas de
Informação & Gestão de Qualidade.
Fábio Araújo
Instagram: @fabiokaia
Linkedin: https://www.linkedin.com/in/fabio10/
3. Agenda
Parte 1: BDD – Conceitos
• BDD no 2me Ágil
• Técnicas de escrita
Parte 2:
• Demo: Automação com Ruby
Fábio Araújo
BDD da especificação à Automação
04/06 as 20:30hs
Automação Front-end – Ruby
11/06 as 20:30hs
Automação API Rest – Ruby
18/06 as 20:30hs
Integração Contínua (CI)
25/06 as 20:30hs
Eshilane Cruz
Raphael Alencar
Ernesto Barbosa
4. BDD – Behaviour Driven Development
• Desenvolvimento orientado a comportamento criado por Dan North;
• É um conjunto de práticas ágeis integrando Histórias de usuário com
Automação dos testes funcionais;
• É uma evolução de técnicas do TDD (Test Driven Development);
Falha
Passa
Refatora
5. BDD – Por que?
• Melhora a comunicação entre DevTeam e Negócio;
• Equipe focada em seu objetivo;
• Código documentado;
• Garante a regressão das funcionalidades;
• DevTeam como dono da solução;
• Acelera a criação dos testes automatizados. “Vocês verão!!!”
6. BDD + Ágil
• Escrever menos
• Reaproveitamento
• Melhor entendimento
• Obje=vo
• Claro
• Documento vivo
Ágil
BDD
7. Comportamento do usuário
• Conversa com usuário:
“Se eu fizer isso e isso, eu espero esse resultado”
• E se eu pudesse criar um teste literalmente escrevendo algo assim?
Dado uma pré-condição
Quando eu executo uma ação
Então o resultado é esse
8. BDD – Como é ?
2- P.O junto com o
DevTeam elaboram o
requisito e definem a
estrutura dos cenários.
3- Os cenários guiam
o desenvolvimento...
... e serve como base para
os testes funcionais/
automa>zados.
4- Usuários usam os
cenários para
homologar.
1- P.O e Usuário(s)
tem uma conversa
sobre o que desejam
desenvolver.
9. “Os Três amigos”
Conversas do
usuário
Reunião com três principais papéis do time (Product Owner, Desenvolvedor, Analista de
Qualidade);
Histórias bem definidas e
Critérios de aceitação
Q.A
P.O Dev.
Que problema estamos
tentando resolver?
Como desenvolver esta
solução?
E quanto a isso, o que poderia
acontecer?
Agora temos o mesmo
objetivo
10. Ferramentas para BDD
BDD não é ferramentas, mas existem ferramentas que auxiliam a
implementação.
Ex.:
Obs.: Não existe uma ferramenta melhor ou pior: a escolha de qual framework e
linguagem uVlizar deve ser pensando nas habilidades técnicas da equipe.
11. BDD - Gherkin
O vocabulário comum em BDD é o Gherkin.
-Criada especialmente para descrições de comportamento;
-Remove detalhes da lógica de programação e foca no comportamento que uma
funcionalidade deve ter;
Um arquivo Gherkin é semelhante a um Caso de teste. Nele contém:
• Título da funcionalidade;
• Descrição da funcionalidade;
• Cenários com passo a passo;
• Resultado esperado.
Referencia: https://cucumber.io/
12. Caso de teste vs BDD
Referencia: https://cucumber.io/
BDD
Cenário: Cadastro de pessoal física
Dado que eu acesse a pagina de cadastro
Quando Inserir os campos obrigatórios
E clicar no botão Cadastrar
Então deve aparecer uma mensagem de boas vindas
E enviar um e-mail de confirmação de cadastro
Caso de teste
Cadastro de pessoal Rsica
Passo a passo:
-Acessar a pagina de cadastro
-Inserir os campos obrigatórios
-Clicar no botão Cadastrar
Resultado esperado:
-Deve aparecer uma mensagem de boas vindas
-Enviar um e-mail de confirmação de cadastro
Funcionalidade: Credenciamento no Linkedin
13. • Uma funcionalidade de autenticação que um P.O pode escrever em alto-
nível:
• Isso já pode ser uma documentação viva dentro do BDD, mas podemos
melhorar explicando esse recurso, dividindo em cenários por exemplo:
• Autenticação válida;
• Usuário inexistente;
• Usuário com senha inválida;
• Etc...
Como usuário do Linkedin
Quero me autenticar
Para que eu possa visualizar novos posts
Exemplos
14. Implementação
Funcionalidade: Autenticação no Linkedin
Como usuário do Linkedin
Quero me autenticar
Para que eu possa visualizar novos posts
Cenário: 1 - Auten+cação válida
Dado que eu acesse a página de autenVcação do Linkedin *
Quando eu digitar o usuário “João da Silva”
E a senha “abc@123”
Então deve ser exibido a mensagem de boas vindas: “Olá João”.
15. Cenário: 2 - Usuário inexistente
Dado que eu acesse a página de auten?cação do Linkedin *
Quando eu digitar o usuário “José Ninguém”
E a senha “abc@123”
Então deve ser exibido a mensagem “Usuário não cadastrado em nossa base”
Cenário: 3 - Usuário com senha inválida
Dado que eu acesse a página de autenticação do Linkedin *
Quando eu digitar o usuário “João da Silva”
E a senha “123456”
Então deve ser exibido a mensagem “Usuário ou senha inválidos”
Implementação
16. Otimizando: Contexto
Por vezes, você se verá repetindo as mesmas etapas (Dado) em todos os
cenários de uma Funcionalidade.
Isso é uma indicação de que essas etapas não são essenciais para
descrever os cenários, mas servem como pré-requisitos ou detalhes do
cenário.
Você pode usar um recurso, agrupando estas etapas num segundo
plano, em uma seção de “Contexto” (Background).
O “Contexto” é inserido antes de cada cenário como no exemplo a
seguir:
17. Otimizando: Contexto
18
Contexto:
Dado que eu acesse a página de autenVcação do Linkedin *
Cenário: 1 - Auten+cação válida
Quando eu digitar o usuário “João da Silva”
E a senha “abc@123”
Então deve ser exibido a mensagem de boas vindas “Olá João”.
Cenário: 2- Usuário inexistente
Quando eu digitar o usuário “José Ninguém”
E a senha “abc@123”
Então deve ser exibido a mensagem “Usuário não cadastrado em nossa base”
18. O"mizando: Parâmetros
19
Podemos também usar o auxílio de tabelas para inserir os parâmetros
de dados repetitivos.
Chamamos esse recurso de “Esquema do cenário” (Scenario Outline).
Este recurso permite até usarmos dados de um arquivo (txt, xls, csv,
json, etc) ou banco de dados, diminuindo ainda mais trabalhos
repetitivos, como uma grande massa de dados.
19. Otimizando: Parâmetros
20
Contexto:
Dado que eu acesse a página de autenticação do Linkedin*
Esquema do Cenário: Autenticação válida
Quando eu digitar o <usuario>
E a <senha>
Então deve exibir a <mensagem> de boas vindas na pagina principal
Exemplos:
| usuario | senha | mensagem |
| “joao@dominio.com” | “123@abc” | “Olá João” |
| “maria@dominio.com” | “123@abc” | “Olá Maria” |
| “jose@dominio.com “ | “123@abc” | “Olá José” |
20. Otimizando: Tabela de dados
21
Existe uma maneira mais simples de passar Lista para uma definição na
etapa , usando uma tabela de dados.
Este recurso permite que você passe uma lista de pré-requisitos no “Dado”
com parâmetros pré-definidos.
Esta lista é passada antes de executar uma ação no “Quando”, diferente do
“Esquema do Cenário’ que faz parte da ação.
Veja o exemplo a seguir:
21. Otimizando: Tabela de dados
22
Funcionalidade: Cadastro
Cenário: Cadastro pessoa física
Dado que eu acesse o formulário
E que eu tenha os seguintes dados de usuários:
| nome | cpf | e-mail |
| “Fábio Araujo” | “7328459900” | ”fabio@dominio.com”|
| “João da Silva” | “29088129200” | “joao@dominio.com” |
| “José de Souza” | “21048039001” | “jose@dominio.com” |
Quando eu fizer o cadastro completo
Então o usuário deve ser cadastrado na base
22. Palavras reservadas do Gherkin
23
#language: pt
Feature Funcionalidade
Scenario Cenário
Given Dado
When Quando
Then Então
And E
Or Ou
But Mas
Scenario Outline Esquema do Cenário
Background Contexto
Examples Exemplos
... ...
23. Bugs - Como descrever?
24
• Bugs são comportamentos incorretos de uma aplicação
• Este formato é excelente para que o =me de desenvolvimento
entenda o comportamento incorreto e os critérios de aceite
da correção.
Título da correção
Dado o cenário
Quando ocorre um determinado evento
Então ocorre um comportamento inesperado
Anexos
•Imagens, json, xml, prints, etc.
24. Exemplo de Bug com BDD
25
Título: Não aparece imagem do Iphone na
página de produto
Dado que eu busque o produto Iphone XR : SKU
000XXXYYY
Quando for direcionado para a página de produto
Então não é exibido a imagem do produto
25. Demo. 1 – Automação de testes com BDD
#language: pt
Funcionalidade: Calculadora
Como não sei fazer conta de cabeça
Quero usar a calculadora do sistema
Para obter os resultados corretos
Cenário: Soma de dois números
Dado que acesse a calculadora
Quando eu somar 2 + 3
Então o resultado da soma deve ser 5
26
26. Demo. 2 – Automação de testes com BDD
27
#language: pt
Funcionalidade: Calculadora
Esquema do Cenário: Soma de 2 números com tabela
Dado que eu acesse a calculadora
Quando eu somar o <valor1> com <valor2>
Então o resultado deve ser <total>
Exemplos:
| valor1 | valor2 | total |
| 5 | 7 | 12 |
| -8 | 10 | 2 |
| 800 | 150 | 950 |