Slides da da palestra sobre Estratégias e Técnicas de Testes, apresentada por mim, na data de 19/11/2013 aos formandos do curso de Análise de Sistemas da instiutição IBES
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.
Este documento fornece uma breve introdução às técnicas de teste de software, descrevendo conceitos como:
- Casos de teste, que especificam entradas e saídas esperadas para testar o programa.
- Critérios de teste, como particionamento de equivalência e análise de valor limite, que guiam a geração sistemática de casos de teste.
- Teste funcional e estrutural, que se baseiam respectivamente na especificação e implementação do software.
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
Estratégias e Técnicas de Testes - Parte1Lorena Caldas
O documento apresenta uma palestra sobre estratégias e técnicas de teste de software, abordando conceitos como tipos de bugs, objetivos de testes, métricas de qualidade, etapas do processo de teste e diferentes estratégias e técnicas de teste.
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
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.
Victor Hugo Germano apresenta, na casa CTAI Senai SC um curso de formação entitulado: Teste de Software.
Chamando para uma discussão a respeito de nosso papel dentro do desenvolvimento de software, são apresentados conceitos relacionados à area de teste de software, assim como apresentada sua visão de como um modelo de testes deve estar vinculado ao desenvolvimento.
Workshop - Plano de Testes End to End com o Microsoft Test ManagerAlan Carlos
1) O documento discute planos de testes end-to-end com o Microsoft Test Manager, incluindo a criação de casos de testes funcionais, não funcionais e exploratórios.
2) Instruções detalhadas são fornecidas sobre como criar e gerenciar planos de testes, suítes de testes, casos de testes e bugs no Test Manager.
3) A gestão do laboratório de testes é abordada, incluindo a criação rápida de ambientes usando o AppController e a integração dos testes com o Laboratório
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.
Este documento fornece uma breve introdução às técnicas de teste de software, descrevendo conceitos como:
- Casos de teste, que especificam entradas e saídas esperadas para testar o programa.
- Critérios de teste, como particionamento de equivalência e análise de valor limite, que guiam a geração sistemática de casos de teste.
- Teste funcional e estrutural, que se baseiam respectivamente na especificação e implementação do software.
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
Estratégias e Técnicas de Testes - Parte1Lorena Caldas
O documento apresenta uma palestra sobre estratégias e técnicas de teste de software, abordando conceitos como tipos de bugs, objetivos de testes, métricas de qualidade, etapas do processo de teste e diferentes estratégias e técnicas de teste.
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
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.
Victor Hugo Germano apresenta, na casa CTAI Senai SC um curso de formação entitulado: Teste de Software.
Chamando para uma discussão a respeito de nosso papel dentro do desenvolvimento de software, são apresentados conceitos relacionados à area de teste de software, assim como apresentada sua visão de como um modelo de testes deve estar vinculado ao desenvolvimento.
Workshop - Plano de Testes End to End com o Microsoft Test ManagerAlan Carlos
1) O documento discute planos de testes end-to-end com o Microsoft Test Manager, incluindo a criação de casos de testes funcionais, não funcionais e exploratórios.
2) Instruções detalhadas são fornecidas sobre como criar e gerenciar planos de testes, suítes de testes, casos de testes e bugs no Test Manager.
3) A gestão do laboratório de testes é abordada, incluindo a criação rápida de ambientes usando o AppController e a integração dos testes com o Laboratório
TechNet - e-Book- Artigos sobre Test ManagerAlan Carlos
O documento discute abordagens de testes de software, incluindo testes analíticos, convencionais e baseados em qualidade. Testes analíticos são rigorosos e baseados em matemática, enquanto testes convencionais medem o progresso do desenvolvimento e testes de qualidade focam no processo de desenvolvimento. Várias técnicas de teste são discutidas para cada abordagem.
Noções em teste de software e introdução a automaçãoSandy Maciel
O documento apresenta conceitos básicos de teste de software, incluindo princípios, papéis, ciclo de vida de desenvolvimento e tipos de testes. Também fornece uma introdução ao Selenium WebDriver, abordando automação de testes e preparação do ambiente.
O documento apresenta uma introdução ao teste de software, discutindo sua história, objetivos, processos, técnicas e ferramentas. Inclui tópicos como planejamento, projeto, execução e entrega de testes, níveis de teste, técnicas como caixa preta e branca e critérios como análise de valor limite e tabela de decisão. Por fim, fornece referências sobre o tema.
O documento descreve os conceitos e processos de inspeção da qualidade. A inspeção da qualidade envolve verificar amostras ou lotes para determinar se a qualidade atende às especificações. Existem diferentes tipos de planos de amostragem como simples, duplo e múltiplo que definem o tamanho e número de amostras. As distribuições de probabilidade como binomial, hipergeométrica e Poisson são usadas para analisar os resultados da inspeção.
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Vanilton Pinheiro
Garantia da qualidade por meio de testes é essencial no processo de desenvolvimento de software. Entretanto, o alto custo da execução de testes manuais e o número cada vez maior de ambientes de testes web solicitados pelos clientes dificultam manter a qualidade do produto e cumprir o prazo estabelecido. Para solucionar este problema é proposto o uso da técnica Behavior-Driven Development em conjunto com Selenium WebDriver e JUnit. Este artigo apresenta um estudo de caso da técnica, relatando os ganhos obtidos como redução no esforço de execução de testes em uma aplicação web. Também são apresentadas as lições aprendidas do estudo de caso.
O documento fornece uma introdução sobre testes de software, discutindo princípios como verificação versus validação, técnicas estáticas e dinâmicas de teste, fatores psicológicos relacionados a testes, e a importância de planejamento e cobertura de casos de teste.
O documento discute os benefícios de testes de software, incluindo diferentes tipos de testes como unitários e de integração. Também aborda técnicas para tornar o código mais testável e ferramentas para automatizar testes.
Este documento apresenta o plano de teste para um projeto de locação de filmes. Ele descreve as pessoas envolvidas no teste, os tipos de teste que serão e não serão executados, o formato dos testes, critérios para iniciar e encerrar ciclos de teste e itens a serem testados nas diferentes etapas.
O documento discute os diferentes níveis e técnicas de teste de software, incluindo teste de unidade, integração, sistema e aceitação. Também aborda a importância da automação e planejamento de testes para encontrar defeitos de forma eficaz.
ALM - Testes Manuais no Microsoft Test ManagerAlan Carlos
O documento fornece uma introdução ao Application Lifecycle Management (ALM) e ao Microsoft Test Manager. Ele descreve conceitos como casos de teste, suítes de teste, testes funcionais e não funcionais, e as fases de teste. O documento também explica como criar planos de teste, suítes de teste, casos de teste e configurações de teste no Microsoft Test Manager.
O documento discute os conceitos e vantagens dos testes de software, apresentando os tipos de teste (caixa branca, preta e cinza) e as fases do teste (unidade, integração, sistema e aceitação). O objetivo dos testes é garantir a qualidade do software através da identificação de bugs.
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.
ALM - Testes Exploratórios no Microsoft Test ManagerAlan Carlos
O documento discute testes exploratórios no Microsoft Test Manager (MTM). Ele explica como determinar uma seção, heurística e tempo para testes exploratórios estruturados usando o método SBTM e como configurar coletores, executar planos de teste, registrar achados e abrir bugs no MTM. O documento também cobre testes exploratórios ad hoc e como associá-los a itens de teste, programação ou requisitos no MTM.
Palestra apresentada na 1ª edição do GUTS-RS de 2010 (Grupo de Usuários de Teste de Software) sobre certificações na área de teste e qualidade de software.
Introdução a Testes de Software - Unidade IJoão Lourenço
1) O documento apresenta um curso sobre testes automatizados de software, incluindo objetivos, metodologia, conteúdo e conceitos básicos de teste de software.
2) Serão abordados testes unitários, testes de integração, testes funcionais e testes de carga, além de técnicas como TestNG e Mockito.
3) O curso visa demonstrar tecnologias e boas práticas para a construção de testes automatizados, facilitando o desenvolvimento e melhoria dos processos de teste.
Este documento discute a importância dos testes de software e ferramentas para testes. Ele explica que testes de software podem identificar falhas antes que aconteçam, economizando dinheiro evitando problemas quando o software é lançado. Também discute como ferramentas como JUnit, Selenium e JMeter podem ser usadas para executar diferentes tipos de testes e melhorar a qualidade do software.
Atividades de Teste e Cobertura de Código em Javaaceiro
Erik Aceiro Antonio apresenta suas credenciais e experiência em testes de software e cobertura de código. Ele possui graduação em Ciência da Computação, mestrado em Engenharia Elétrica e está cursando doutorado em Ciência da Computação. Seu foco é no teste de software para sistemas embarcados críticos.
1. O documento discute métodos de projeto de casos de teste para software, incluindo teste da caixa preta e caixa branca. Ele fornece perguntas sobre finalidade de testes, vantagens de TDD, características de testes bem projetados e técnicas para melhorar qualidade de código de teste.
2. O documento pede para elaborar um plano de ferramentas/plugins para automação de testes, incluindo breve descrição do que cada ferramenta faz.
3. É fornecido um questionário sobre conceitos de teste
Abrindo a caixa de ferramentas: atirando pedras com JmeterEvandro Grezeli
Este documento apresenta uma palestra sobre testes de desempenho com JMeter, abordando tópicos como configuração do ambiente, melhores práticas para criação e execução de testes, casos complexos envolvendo filas de mensagens e frameworks front-end com Ajax.
Este artigo tem por objetivo detalhar de uma maneira prática e atualizada os diferentes tipos de teste de desempenho citados na literatura mundial, convergindo com a literatura técnica brasileira. Além disto, também é descrito ao longo deste artigo com detalhes o planejamento, execução e análise dos resultados de um teste de desempenho utilizando de uma das técnicas brevemente explanadas aplicado em uma arquitetura E-commerce hipotética, utilizando uma ferramenta de apoio e a melhor forma de utiliza-la para criar scripts automatizados para este tipo de testes.
SBTM Testes Exploratórios Guiados à Sessão - LinguÁgilLorena Caldas
O documento apresenta o Session Based Testing Management (SBTM), uma técnica de teste exploratório guiado por sessões. A técnica envolve a criação de um charter para guiar as sessões exploratórias, que permitem testar o software de forma mais abrangente do que apenas seguir casos de teste predefinidos. Informações sobre como aplicar a técnica SBTM e contatos da apresentadora são fornecidos.
Este documento descreve um trabalho acadêmico sobre o processo de teste de software e as atividades envolvidas em cada fase. O trabalho apresenta uma introdução sobre o tema, revisa conceitos relacionados a qualidade e teste de software e descreve as etapas do processo de teste e as atividades de cada etapa, comparando-as com as fases do processo de desenvolvimento. O objetivo é servir como referência para estruturar processos de teste e demonstrar a importância deste tipo de atividade.
TechNet - e-Book- Artigos sobre Test ManagerAlan Carlos
O documento discute abordagens de testes de software, incluindo testes analíticos, convencionais e baseados em qualidade. Testes analíticos são rigorosos e baseados em matemática, enquanto testes convencionais medem o progresso do desenvolvimento e testes de qualidade focam no processo de desenvolvimento. Várias técnicas de teste são discutidas para cada abordagem.
Noções em teste de software e introdução a automaçãoSandy Maciel
O documento apresenta conceitos básicos de teste de software, incluindo princípios, papéis, ciclo de vida de desenvolvimento e tipos de testes. Também fornece uma introdução ao Selenium WebDriver, abordando automação de testes e preparação do ambiente.
O documento apresenta uma introdução ao teste de software, discutindo sua história, objetivos, processos, técnicas e ferramentas. Inclui tópicos como planejamento, projeto, execução e entrega de testes, níveis de teste, técnicas como caixa preta e branca e critérios como análise de valor limite e tabela de decisão. Por fim, fornece referências sobre o tema.
O documento descreve os conceitos e processos de inspeção da qualidade. A inspeção da qualidade envolve verificar amostras ou lotes para determinar se a qualidade atende às especificações. Existem diferentes tipos de planos de amostragem como simples, duplo e múltiplo que definem o tamanho e número de amostras. As distribuições de probabilidade como binomial, hipergeométrica e Poisson são usadas para analisar os resultados da inspeção.
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Vanilton Pinheiro
Garantia da qualidade por meio de testes é essencial no processo de desenvolvimento de software. Entretanto, o alto custo da execução de testes manuais e o número cada vez maior de ambientes de testes web solicitados pelos clientes dificultam manter a qualidade do produto e cumprir o prazo estabelecido. Para solucionar este problema é proposto o uso da técnica Behavior-Driven Development em conjunto com Selenium WebDriver e JUnit. Este artigo apresenta um estudo de caso da técnica, relatando os ganhos obtidos como redução no esforço de execução de testes em uma aplicação web. Também são apresentadas as lições aprendidas do estudo de caso.
O documento fornece uma introdução sobre testes de software, discutindo princípios como verificação versus validação, técnicas estáticas e dinâmicas de teste, fatores psicológicos relacionados a testes, e a importância de planejamento e cobertura de casos de teste.
O documento discute os benefícios de testes de software, incluindo diferentes tipos de testes como unitários e de integração. Também aborda técnicas para tornar o código mais testável e ferramentas para automatizar testes.
Este documento apresenta o plano de teste para um projeto de locação de filmes. Ele descreve as pessoas envolvidas no teste, os tipos de teste que serão e não serão executados, o formato dos testes, critérios para iniciar e encerrar ciclos de teste e itens a serem testados nas diferentes etapas.
O documento discute os diferentes níveis e técnicas de teste de software, incluindo teste de unidade, integração, sistema e aceitação. Também aborda a importância da automação e planejamento de testes para encontrar defeitos de forma eficaz.
ALM - Testes Manuais no Microsoft Test ManagerAlan Carlos
O documento fornece uma introdução ao Application Lifecycle Management (ALM) e ao Microsoft Test Manager. Ele descreve conceitos como casos de teste, suítes de teste, testes funcionais e não funcionais, e as fases de teste. O documento também explica como criar planos de teste, suítes de teste, casos de teste e configurações de teste no Microsoft Test Manager.
O documento discute os conceitos e vantagens dos testes de software, apresentando os tipos de teste (caixa branca, preta e cinza) e as fases do teste (unidade, integração, sistema e aceitação). O objetivo dos testes é garantir a qualidade do software através da identificação de bugs.
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.
ALM - Testes Exploratórios no Microsoft Test ManagerAlan Carlos
O documento discute testes exploratórios no Microsoft Test Manager (MTM). Ele explica como determinar uma seção, heurística e tempo para testes exploratórios estruturados usando o método SBTM e como configurar coletores, executar planos de teste, registrar achados e abrir bugs no MTM. O documento também cobre testes exploratórios ad hoc e como associá-los a itens de teste, programação ou requisitos no MTM.
Palestra apresentada na 1ª edição do GUTS-RS de 2010 (Grupo de Usuários de Teste de Software) sobre certificações na área de teste e qualidade de software.
Introdução a Testes de Software - Unidade IJoão Lourenço
1) O documento apresenta um curso sobre testes automatizados de software, incluindo objetivos, metodologia, conteúdo e conceitos básicos de teste de software.
2) Serão abordados testes unitários, testes de integração, testes funcionais e testes de carga, além de técnicas como TestNG e Mockito.
3) O curso visa demonstrar tecnologias e boas práticas para a construção de testes automatizados, facilitando o desenvolvimento e melhoria dos processos de teste.
Este documento discute a importância dos testes de software e ferramentas para testes. Ele explica que testes de software podem identificar falhas antes que aconteçam, economizando dinheiro evitando problemas quando o software é lançado. Também discute como ferramentas como JUnit, Selenium e JMeter podem ser usadas para executar diferentes tipos de testes e melhorar a qualidade do software.
Atividades de Teste e Cobertura de Código em Javaaceiro
Erik Aceiro Antonio apresenta suas credenciais e experiência em testes de software e cobertura de código. Ele possui graduação em Ciência da Computação, mestrado em Engenharia Elétrica e está cursando doutorado em Ciência da Computação. Seu foco é no teste de software para sistemas embarcados críticos.
1. O documento discute métodos de projeto de casos de teste para software, incluindo teste da caixa preta e caixa branca. Ele fornece perguntas sobre finalidade de testes, vantagens de TDD, características de testes bem projetados e técnicas para melhorar qualidade de código de teste.
2. O documento pede para elaborar um plano de ferramentas/plugins para automação de testes, incluindo breve descrição do que cada ferramenta faz.
3. É fornecido um questionário sobre conceitos de teste
Abrindo a caixa de ferramentas: atirando pedras com JmeterEvandro Grezeli
Este documento apresenta uma palestra sobre testes de desempenho com JMeter, abordando tópicos como configuração do ambiente, melhores práticas para criação e execução de testes, casos complexos envolvendo filas de mensagens e frameworks front-end com Ajax.
Este artigo tem por objetivo detalhar de uma maneira prática e atualizada os diferentes tipos de teste de desempenho citados na literatura mundial, convergindo com a literatura técnica brasileira. Além disto, também é descrito ao longo deste artigo com detalhes o planejamento, execução e análise dos resultados de um teste de desempenho utilizando de uma das técnicas brevemente explanadas aplicado em uma arquitetura E-commerce hipotética, utilizando uma ferramenta de apoio e a melhor forma de utiliza-la para criar scripts automatizados para este tipo de testes.
SBTM Testes Exploratórios Guiados à Sessão - LinguÁgilLorena Caldas
O documento apresenta o Session Based Testing Management (SBTM), uma técnica de teste exploratório guiado por sessões. A técnica envolve a criação de um charter para guiar as sessões exploratórias, que permitem testar o software de forma mais abrangente do que apenas seguir casos de teste predefinidos. Informações sobre como aplicar a técnica SBTM e contatos da apresentadora são fornecidos.
Este documento descreve um trabalho acadêmico sobre o processo de teste de software e as atividades envolvidas em cada fase. O trabalho apresenta uma introdução sobre o tema, revisa conceitos relacionados a qualidade e teste de software e descreve as etapas do processo de teste e as atividades de cada etapa, comparando-as com as fases do processo de desenvolvimento. O objetivo é servir como referência para estruturar processos de teste e demonstrar a importância deste tipo de atividade.
O documento apresenta as principais escolas de testes de software, comparando suas crenças, técnicas e implicações. São descritas a Escola Analítica, focada em técnicas rigorosas; a Escola Convencional, com ênfase em padrões e processos; a Escola da Qualidade, priorizando a garantia da qualidade; e a Escola Contextual, valorizando o contexto do projeto. Por fim, a Escola Ágil usa testes para validar histórias de usuário automatizadas. Cada escola tem seu valor quando aplicada
O documento discute análise de segurança em aplicações web, mencionando os 10 riscos mais críticos identificados pela OWASP, como injeção, XSS e falhas de configuração. Também fornece links sobre ferramentas e passo-a-passo para testes de segurança.
Estimativas de Software - Fundamentos, Técnicas e Modelos... e o principal, integrando isso tudo! - apresentado na Engenharia de Software Conference, Maio/2009
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCCStefan Teixeira
O documento apresenta a ferramenta SQLCC para medir a cobertura de código de stored procedures T-SQL. SQLCC usa traces do SQL Server para determinar quais linhas de código são executadas pelos testes. Isso torna mais fácil identificar quais partes do código estão ou não sendo testadas. O documento também discute desafios na configuração da ferramenta e formas de melhorá-la.
Este documento apresenta Docker para testers, discutindo o que é Docker, como ele pode ser usado para testes e alguns comandos básicos. O autor explica que Docker é como um contêiner em um navio que pode rodar vários serviços com muito menos overhead do que VMs. Ele também mostra como construir imagens e contêineres usando Dockerfiles e comandos como "build", "run" e "ps".
Latinoware 2016 - Continuous Delivery com ferramentas open sourceStefan Teixeira
This document discusses continuous delivery using open source tools. It introduces Stefan Teixeira and provides his contact information. It then discusses using GoCD, an open-source continuous delivery tool created by ThoughtWorks, to model pipelines. It provides examples of modeling deployment pipelines and blue-green deployments. Finally, it lists additional tools that can be used for tasks like infrastructure as code, service discovery, configuration management, load testing and mutation testing.
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnitStefan Teixeira
Este documento apresenta 5 fundamentos essenciais de padrões xUnit: (1) conceitos básicos como classes de teste, métodos de teste e asserções; (2) verificação de resultados com asserções customizadas; (3) organização de testes em suites e helpers; (4) manutenção de fixtures com setup e teardown; (5) padrões para testes com bancos de dados como rollback de transações.
Implantação de um Processo de Teste de Software - Randerson Melville minastestingconference
O documento discute a implantação de um processo de teste de software, incluindo a importância da qualidade de software, os benefícios e desafios da implementação de um processo de teste, e as ferramentas e padrões utilizados no processo de teste de sistemas embarcados.
SBTM e How Google Tests Software - GDGSSALorena Caldas
O documento apresenta o modelo SBTM de testes exploratórios guiados por sessão, discutindo conceitos como charter, abordagem SBTM e como conduzir testes exploratórios. Também menciona estratégias de teste como a pirâmide de testes e os papéis de engenheiro de software, engenheiro de teste e onde encontrar mais informações.
Scrum Gathering Portugal 2016 - Containerizing Tests with DockerStefan Teixeira
This document discusses containerizing tests with Docker. It begins by comparing virtual machines and containers, noting that containers are lighter weight and more reproducible than VMs. It then discusses why containerizing tests provides benefits like reproducibility, scalability, and speed. Docker Compose is introduced as a tool for defining and running multi-container test environments. Examples are provided of containerized test setups involving applications, databases, API tests, UI tests, and more. Considerations for containerizing tests like logs, volumes, startup time, and building images are also covered.
Ágiles 2016 - Using open source tools to support Continuous DeliveryStefan Teixeira
This document discusses using open source tools to support continuous delivery. It describes using GoCD for continuous delivery pipelines. GoCD is open source, created by ThoughtWorks, and focused specifically on continuous delivery. It also discusses using blue-green deployments with tools like Docker and Nginx for zero-downtime deployments. Finally, it provides references to additional open source tools that can be used for tasks like infrastructure as code, configuration management, load testing, and API testing in continuous delivery pipelines.
Curso Treinamento Automação de testes com Selenium QualisterQualister
O documento fornece informações sobre os serviços de uma empresa de testes de software chamada Qualister, incluindo treinamentos em automação de testes com Selenium, consultoria em teste, terceirização de profissionais, avaliação de usabilidade e testes de performance. O documento também apresenta detalhes sobre o instrutor de um curso de automação de testes com Selenium.
O documento apresenta uma disciplina sobre automatização de testes. Ele discute os problemas do processo de teste manual, ferramentas de teste como TestLink e Mantis, e como migrar casos de teste de um processo manual para essas ferramentas.
O documento fornece uma visão geral de técnicas e abordagens de teste de qualidade ágil, incluindo matrizes de teste, níveis de teste, tipos de teste comuns, técnicas de especificação e estrutura-baseadas, e abordagens como teste baseado em comportamento e risco. Ele também discute mitos comuns sobre teste e fornece referências adicionais.
O documento discute algoritmos e análise de algoritmos. Explica que um algoritmo é uma sequência de instruções para resolver um problema e que estruturas de dados são formas de armazenar informações. Também aborda como analisar algoritmos, variáveis na análise como tempo e espaço, e conceitos como complexidade, notação O grande e técnicas de projeto de algoritmos.
O documento apresenta conceitos básicos de análise de algoritmos, incluindo: (1) definição de algoritmo e os aspectos de correção e análise, (2) tipos de análise (empírica e matemática), (3) exemplos de algoritmos com diferentes complexidades (constante, linear, quadrática).
O documento apresenta conceitos básicos de análise de algoritmos, incluindo correção, eficiência e complexidade. Discute análise empírica e matemática de algoritmos, apresentando exemplos de algoritmos com complexidade constante, linear e quadrática.
Este documento apresenta os seguintes tópicos:
1) Revisão de algoritmos, estruturas de dados e pseudocódigo;
2) Estrutura básica de algoritmos em pseudocódigo, incluindo entrada, processamento e saída de dados;
3) Operadores aritméticos e teste de mesa para depuração de algoritmos.
O documento descreve a ferramenta LoTuS-TCG, que fornece geração e seleção automática de casos de teste funcional e estatístico. A ferramenta implementa várias técnicas de geração e seleção de casos de teste baseadas em modelos LTS e PLTS. Um estudo de caso demonstra a geração e seleção de casos de teste para um sistema de teleassistência médica.
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NACloves da Rocha
A aula apresenta os principais conceitos de análise de algoritmos, incluindo complexidade de tempo e espaço. O professor discute análise empírica e matemática, e fornece exemplos de algoritmos com complexidade constante, linear, quadrática e recursiva.
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 apresenta conceitos fundamentais sobre teste de software, incluindo:
1) Terminologia sobre defeitos, erros e falhas;
2) Fases e etapas do teste de software, como teste de unidade, integração e sistema;
3) Técnicas e critérios de teste, como particionamento em classes de equivalência e análise de valor limite.
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.
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.
Tech Day Softplan - Automatizando Testes de InterfaceFernando Santiago
Com as ferramentas e tutoriais disponíveis atualmente, nunca foi tão fácil implementar testes automatizados de aplicações web desenvolvendo um framework que aplique as diferentes técnicas e práticas que garanta a fácil manutenção e a qualidade de sistemas.
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
Este documento apresenta uma introdução ao teste de software, abordando os principais conceitos e atividades envolvidas no processo de teste de software, como planejamento, execução e avaliação dos resultados.
Este documento fornece uma introdução aos testes de desempenho usando a ferramenta JMeter, discutindo estratégias de teste, o processo de teste, exemplos de melhorias identificadas em testes e dicas para executar testes de desempenho de forma eficaz.
Lucilia de Oliveira é uma Test Developer no Instituto Samsung do Amazonas que descreve o ciclo de vida do software, características de qualidade, níveis e técnicas de teste de software, além das responsabilidades de uma equipe de teste e exemplos de casos de teste.
O documento apresenta conceitos básicos de teste de software, incluindo suas fases, técnicas e critérios. Discute a importância do teste para encontrar erros, apresenta exemplos de bugs caros, e aborda desafios como novos paradigmas de programação. Explica as fases de teste de unidade, integração e regressão, e as técnicas funcionais como particionamento em classes de equivalência e análise de valor limite para gerar casos de teste.
Semelhante a Estratégias e Técnicas de Testes - Parte 2 (20)
2. Resumo da Apresentação
•Parte 1 – Introdução ao Teste de Software
▫Principais Conceitos
▫Estratégias de Teste
•Parte 2 – Técnicas de Teste de Software
▫Técnicas, Situações e Ferramentas
4. Execução dos Testes
•A atividade de execução dos testes é realizada após a construção de um produto de trabalho, quando na etapa de Verificação, ou após o desenvolvimento de um escopo do sistema, quando na etapa de Validação.
▫Verificação:
Revisões de requisitos, modelos, gráficos, inspeções na base de dados
▫Validação
Execução do software e sua infraestrutura para analisá-lo sob ponto de vista dos procedimentos usuais
5. Técnicas
•Devem considerar:
▫Estratégia e Método escolhidos
Características do Software
▫Ferramentas disponíveis
6. Estratégias X Técnicas
•As Técnicas de Teste devem ser escolhidas conforme Estratégia definida. Elas podem participar de várias Estratégias ou ser combinadas entre si
•Por Tipo de Sistema
▫Desktop, Web, Mobile e Híbrido
•Por Arquitetura
▫Top-down e Bottom-up
•Por Abrangência
▫Unidade, Integração e Sistema
•Por Fase
▫Confirmação, Aceite e Manutenção
7. Técnicas
•Podem ser:
▫Estruturais (Caixa Branca)
São testados os caminhos lógicos do sistema em suas diversas camadas
▫Funcionais (Caixa Preta)
Considera as entradas e saídas do sistema, de acordo com as especificações de interface
▫Não Funcionais
Observa os aspectos além daqueles funcionais
▫Baseados em Erros
São inseridos defeitos propositais no sistema para que se já existia falhas no software (código legado)
9. Testes Estruturais – Caixa Branca
•Observa os procedimentos de construção do software:
▫Análise dos produtos do projeto: modelos, tabelas, gráficos, classes
▫Revisões de código-fonte
▫Estruturas das tabelas e integridade dos dados
▫Forma da comunicação em rede
•Ator: Projetista, programador, analista de sistemas e tester
10. Testes Estruturais – Caixa Branca
•Objetivo:
▫Garantir que todos os caminhos de uma funcionalidade, suas decisões lógicas, laços, fronteiras e estruturas de dados foram exercitados ao menos 1 vez
•Métodos
▫Caminho Básico
▫Caminho Independente
▫Complexidade Ciclomática
11. Testes Estruturais – Caminho Básico
•O ator define um limite aceitável para os caminhos lógicos básicos do sistema sejam identificados (fluxo de controle)
•Condição de Aceite:
▫Quantidade de itens sem ramificação não ultrapassa limite aceitável
•Notação Utilizada:
▫Grafo de fluxo
12. Testes Estruturais – Caminho Independente
•Extensão do Ciclo Básico – São caminhos do sistema que levam a uma novo conjunto de instruções de processamento de uma nova condição
•Condição de Aceite:
▫Fluxos de controle possuem ramificações
•Notação Utilizada:
▫Grafo de fluxo
Caminhos Independentes:
Caminho 1: 1 – 11
Caminho 2: 1 – 2,3 – 4,5 – 10 – 1 – 11
Caminho 3: 1 – 2,3 – 6 – 8 – 9 – 10 – 1 – 11
Caminho 4: 1 – 2,3 – 6 – 7 – 9 – 10 – 1 – 11
13. Testes Estruturais – Complexidade Ciclomática
•Extensão do Ciclo Básico e Independente – Mede a quantidade de caminhos independentes do conjunto de caminhos básicos
•Condição de Aceite:
▫Limite máximo de teste necessários para exercitar todos os caminhos é respeitado
•Formas de Fazer:
▫Número de regiões do grafo de fluxo
▫V(G) = E – N + 2
V (G) = número de teste necessários para cobrir instruções
E = número de ramos do grafo
N = número de nós do grafos do fluxo G
▫V(G) = P + 1
P = conjunto de nós que contém condicionais,
contidos no fluxo G
A Complexidade Ciclomática do grafo de fluxo é 4
O grafo de fluxo contém 4 regiões;
V(G) = 11 ramos - 9 nós + 2 = 4;
V(G) = 3 nós predicativos + 1 = 4.
14. Testes Estruturais – Como Fazer
• Passo 1: Traçar o gráfico de fluxo para o trecho
este trecho de código
procedimento MAIOR(A:VETOR;
T:inteiro; var MAX:inteiro);
variaveis I,M:inteiro
Inicio
M A[1];
I 2;
enquanto I T faça
se A[I] > M
então M A[I]
I I+1
senão I I+1
fim se
fim enquanto
MAX M;
fim do procedimento
1 -
2 -
3 -
4 -
5 -
6 -
7 -
8 -
9 -
10 -
Resposta
15. Testes Estruturais – Como Fazer
• Passo 2: Definir conjunto de Caminhos Básicos
procedimento MAIOR(A:VETOR;
T:inteiro; var MAX:inteiro);
variaveis I,M:inteiro
Inicio
M A[1];
I 2;
enquanto I T faça
se A[I] > M
então M A[I]
I I+1
senão I I+1
fim se
fim enquanto
MAX M;
fim do procedimento
1 -
2 -
3 -
4 -
5 -
6 -
7 -
8 -
9 -
10 -
Resposta
Nós sem
ramificações: 1, 2,
3, 8, 9 e 10.
16. Testes Estruturais – Como Fazer
• Passo 3: Definir Caminhos Independentes
procedimento MAIOR(A:VETOR;
T:inteiro; var MAX:inteiro);
variaveis I,M:inteiro
Inicio
M A[1];
I 2;
enquanto I T faça
se A[I] > M
então M A[I]
I I+1
senão I I+1
fim se
fim enquanto
MAX M;
fim do procedimento
1 -
2 -
3 -
4 -
5 -
6 -
7 -
8 -
9 -
10 -
Resposta
Caminho 1: 1, 2, 3, 9,
10;
Caminho 2: 1, 2, 3, 4,
5, 6, 8, 3, 9, 10;
Caminho 3: 1, 2, 3, 4,
7, 8, 3, 9, 10.
17. Testes Estruturais – Como Fazer
• Passo 4: Encontrar Complexidade Ciclomática
procedimento MAIOR(A:VETOR;
T:inteiro; var MAX:inteiro);
variaveis I,M:inteiro
Inicio
M A[1];
I 2;
enquanto I T faça
se A[I] > M
então M A[I]
I I+1
senão I I+1
fim se
fim enquanto
MAX M;
fim do procedimento
1 -
2 -
3 -
4 -
5 -
6 -
7 -
8 -
9 -
10 -
Resposta
N. Regiões: 3;
V(G) = 9 ramos - 8 nós
+ 2 = 3;
V(G) = 2 nós
predicativos + 1 = 3.
18. Testes Estruturais – Como Fazer
• Passo 5: Preparar casos de teste que exercitem
todos os caminhos do conjunto básico
procedimento MAIOR(A:VETOR;
T:inteiro; var MAX:inteiro);
variaveis I,M:inteiro
Inicio
M A[1];
I 2;
enquanto I T faça
se A[I] > M
então M A[I]
I I+1
senão I I+1
fim se
fim enquanto
MAX M;
fim do procedimento
1 -
2 -
3 -
4 -
5 -
6 -
7 -
8 -
9 -
10 -
Resposta
Caminho 1: 1, 2, 3, 9,
10
A=(1,3) T = 0
Resultado Esperado –
Max = 1;
Caminho 2: 1, 2, 3, 4,
5, 6, 8, 3, 9, 10
A=(1,3) T = 2
Resultado Esperado –
Max = 3;
Caminho 3: 1, 2, 3, 4,
7, 8, 3, 9, 10
A=(3,1) T = 2
Resultado Esperado –
Max = 3.
19. Ferramentas
•Análise Estática
▫Não precisa executar o código-fonte
•Análise Dinâmica
▫Precisa executar o código-fonte
20. Ferramentas de Análise Estática
•IDEs
▫Eclipse, NetBeans, DevC++, VisualStudio, etc.
•Plugins ou ferramentas integradas às IDEs
▫Code Explorer, Dodgy Code, FXCop, etc.
•Browsers e plugins
▫Firebug, etc.
•Outras ferramentas de visualização de software
▫Code Analisys, CodeScan, etc.
21. Ferramentas de Análise Dinâmica
•Compiladores:
▫Prompt - Windows, Console – Linux
•IDEs
•Outras ferramentas de visualização de software
33. Testes Funcionais – Caixa Preta
•Analisa a interface e suporte funcional do software:
▫Forma de apresentação do software: tela, terminal, componentes COTs, e-mail, etc.
▫Forma de armazenamento dos dados: base de dados, planilhas, arquivos, etc.
▫Operação sobre ambiente do cliente;
▫Interface de comunicação com outros sistemas ou módulos híbridos.
•Ator: Tester
34. Testes Funcionais – Caixa Preta
•Objetivo:
▫Exercitar todos os requisitos funcionais do sistema
•Métodos
▫Partições de Equivalência
▫Análise do Valor Limite
▫Tabela de Decisão
▫Transição de Estados
▫Teste de Caso de Uso
35. Testes Funcionais – Caixa Preta
•Testes Baseados em Especificações
▫Teste de Roteiro
Quando existe um script pré-definido a ser seguido (caso de teste)
•Testes Baseados na Experiência
▫Teste Exploratório
Quando não existe documentação a ser seguida. Depende do conhecimento técnico do ator
36. Testes Funcionais – Partições de Equivalência
•Os casos de teste são preparados conforme classificação dos dados de entrada
37. Testes Funcionais – Partições de Equivalência
•Um bolo possui 6 camadas e 1 sabor por camada: limão, baunilha, maracujá, morango, nozes e chocolates. Quantas classes podem ser extraídas?
▫6 classes, 1 por sabor
•Sabendo que cada camada possui 20 cm de altura, quais valores válidos e inválidos são necessários para testar todas as condições de teste do bolo?
▫Limão: 0 a 20 cm
▫Baunilha: 20 a 40 cm
▫Maracujá: 40 a 60 cm
▫Morango: 60 a 80 cm
▫Nozes: 80 a 100 cm
▫Chocolate: 100 a 120 cm
Válidos
Inválidos
10
-10, 30
30
15, 50
50
35, 70
70
50, 90
90
70, 110
110
90, 130
38. Testes Funcionais – Análise do Valor Limite
•Os casos de teste são preparados conforme fronteiras das classes de equivalência, para os dados de entrada e saída do sistema
▫Classe Válida
Extremidades mínima e máxima de um intervalo
▫Classe Inválida
Valores fora do intervalo
39. Testes Funcionais – Análise do Valor Limite
•Sabendo que cada camada possui 20 cm de altura, quais valores medem os limites das classes?
▫Limão: 0 a 20 cm
▫Baunilha: 20 a 40 cm
▫Maracujá: 40 a 60 cm
▫Morango: 60 a 80 cm
▫Nozes: 80 a 100 cm
▫Chocolate: 100 a 120 cm
Válidos
Inválidos
0, 20
-1, 21
20, 40
19, 41
40, 60
39, 61
60, 80
59, 81
80, 100
79, 101
100, 120
99, 119
40. Testes Funcionais – Tabela de Decisão
•Avalia causa e efeito. As condições são consideradas falsa e verdadeira
•Traça as combinações entre as regras de negócio do sistema e suas possibilidades de operação
41. Testes Funcionais – Transição de Estado
•Avalia a situação do sistema após a troca de estado de uma variável do sistema.
•Traça a combinação entre as regras de negócio do sistema e suas possibilidades de estado
42. Testes Funcionais – Teste de Caso de uso
•A preparação dos casos de teste é baseada nas regras de negócio do sistema.
•São criados casos positivos e negativos para cobrir cada situação prevista.
43. Ferramentas – Caixa Preta
•Gerência de teste
▫TestLink, HP Quality, etc.
•Cadastro de ocorrências
▫RedMine, Mantis, Bugzilla, etc.
•Geração de Evidências
▫Texto, Imagem e Vídeo.
•Testes Automatizados
▫Selenium IDE, Selenium WebDriver, TestComplete, etc.
48. Ferramentas – Geração de Evidência
•Texto
▫Notepad, Gedit, Ferramentas COTS: Pacotes Office ou BrOffice
•Imagem
▫PrintScreen, Captura automática, Ferramentas de edição de imagem: Paint, Gimp, Plugins dos browsers, etc.
•Vídeo
▫Captura automática do Windows, Plugins dos browsers e outras ferramentas de captura.
50. Ferramentas - Testes Automatizados
•Os testes manuais devem ser automatizados quando for executado diversas vezes em diferentes versões do software
•Os principais casos de teste a ser automatizados são aqueles que passam por regressão
55. Testes Não Funcionais
•Analisa os aspectos que não estão diretamente baseados nas regras de negócio do software (funcionalidades);
•Avalia as medidas quantitativas do software:
▫Verifica:
Operacionalidade do sistema (consumo recursos do computador, cliente, servidor, serviço embarcado, etc.)
Acessibilidade
Performance
Usabilidade
Confiabilidade, Recuperação, Portabilidade, etc.
•Ator: Tester e técnico em infraestrutura
56. Testes Não Funcionais
•Objetivo:
▫Garantir operação do sistema sob condições não ligadas às funcionalidades da aplicação
•Métodos
▫Baseado no tipo do teste a ser realizado.
▫Teste de Carga
Conforme base de dados
▫Teste de Stress
Conforme arquitetura e tipo do sistema: desktop, etc.
▫Teste de Acessibilidade
Conforme interface do sistema
57. Ferramentas – Testes não Funcionais
•Consumo dos recursos
▫Gerenciador de tarefas do Windows e do Linux, QuickPerformance, etc.
•Performance, Stress e Carga
▫Jmeter, HP Load Runner, etc.
•Usabilidade
▫Ethnio Status, UseMonitor, etc.
•Acessibilidade
▫ASES, etc.
65. Testes Baseados em Erros
•Inclui defeitos propositalmente no software para testar seu comportamento;
•Necessita das versões: Original (sem defeitos) e Alterada (com defeitos)
• Ator: Tester e analista de sistemas
66. Testes Baseados em Erros
•Objetivo:
▫Fornecem indicadores para gerenciar o processo de teste (porcentagem de erros remanescentes, qualidade dos casos de testes)
•Métodos
▫Semeadura de Erros
▫Análise de Mutantes
67. Semeadura de Erros – Como Fazer
•Passo 1:
▫Erros artificiais são introduzidos no programa;
•Passo 2:
▫Cria-se um caso de uso para identificar falhas naturais e artificiais
•Passo 3:
▫Baseados na proporção erros naturais/artificiais pode-se estimar a quantidade de erros remanescentes para o conjunto de casos de teste definidos para o programa.
Desta forma pode-se comparar a estimativa de erros remanescentes com a confiabilidade esperada (especificada) para o software.
68. Semeadura de Erros – Análise de Mutantes
•Visa avaliar quão adequado um conjunto de testes é para testar uma funcionalidade.
•Passos
▫1 - Gera-se casos de teste (T) para um programa (P);
▫2 - Verifica-se se ele funciona corretamente;
▫3 - Verifica-se o funcionamento do mutante (M) para os casos de teste (T):
Caso a verificação de M apresentar resultados diferentes da verificação de P o mutante é “morto”
Caso contrário, M continua “vivo” e deve ser analisado;
▫4 - Análise dos mutantes vivos:
O mutante M é equivalente ao programa original P
O caso de teste é insuficiente para diferenciar M de P e novos casos de teste devem ser definidos
70. Referências
•Livro - Engenharia de Software, Roger Pressman
•Livro – Base de Conhecimento em Teste de Software - Certificação CBTS / ALATS – Anderson Bastos, Emerson Rios, et. al.
•Artigos – Rex Black
•Syllabus – CTFL / ISTQB
•Comunidade de Testes – Site Elias Nogueira
•Slides da Qualidade BR – Fabrício de Campos