O documento discute os processos e técnicas de teste de software, abordando tópicos como ciclo de vida de testes, métodos de teste, métricas e tecnologias. Ele destaca a importância da adoção de processos de qualidade para melhorar o desenvolvimento de software, reduzir custos e riscos.
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 apresenta os principais tipos de testes de software, com foco em testes de ponta a ponta para aplicativos Android. Descreve testes unitários, de integração e de interface do usuário, além de padrões como page objects e instrumentation testing robots para organizar testes. Também discute testes de serviços e fluxos de teste ideal para diferentes níveis.
Este documento fornece informações de contato e serviços de uma empresa de consultoria e treinamento em teste e qualidade de software. A empresa oferece terceirização de profissionais de teste, consultoria em teste, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. O documento também inclui links para o site da empresa e informações sobre direitos autorais.
Test automation project estimation calculatorssuser2e8d4b
This document outlines an estimation process and calculator for testing project effort. It includes an agenda that covers the estimation process, models, complexity points, calculator configuration, and calculators for project planning, test case creation, test script implementation, test case execution, and test script maintenance. Guidelines and models for the estimation process are described. The estimation calculator is configured and includes acronyms. User input data is required for the various calculators.
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.
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.
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.
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)Mayara Fernandes
O documento descreve como um time de desenvolvimento e teste pode melhorar seus processos adotando práticas DevOps, como integração contínua, entrega contínua e deploy automático. Ele exemplifica as etapas para automatizar o build, adicionar testes unitários e de API/integração, implantar em um ambiente de staging e automatizar testes de aceitação, reduzindo o tempo de feedback de dias para minutos.
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 apresenta os principais tipos de testes de software, com foco em testes de ponta a ponta para aplicativos Android. Descreve testes unitários, de integração e de interface do usuário, além de padrões como page objects e instrumentation testing robots para organizar testes. Também discute testes de serviços e fluxos de teste ideal para diferentes níveis.
Este documento fornece informações de contato e serviços de uma empresa de consultoria e treinamento em teste e qualidade de software. A empresa oferece terceirização de profissionais de teste, consultoria em teste, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. O documento também inclui links para o site da empresa e informações sobre direitos autorais.
Test automation project estimation calculatorssuser2e8d4b
This document outlines an estimation process and calculator for testing project effort. It includes an agenda that covers the estimation process, models, complexity points, calculator configuration, and calculators for project planning, test case creation, test script implementation, test case execution, and test script maintenance. Guidelines and models for the estimation process are described. The estimation calculator is configured and includes acronyms. User input data is required for the various calculators.
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.
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.
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.
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)Mayara Fernandes
O documento descreve como um time de desenvolvimento e teste pode melhorar seus processos adotando práticas DevOps, como integração contínua, entrega contínua e deploy automático. Ele exemplifica as etapas para automatizar o build, adicionar testes unitários e de API/integração, implantar em um ambiente de staging e automatizar testes de aceitação, reduzindo o tempo de feedback de dias para minutos.
Ferramentas e metodologias em testes de softwareJoyce Bastos
O documento discute principais ferramentas e metodologias de teste de software. Apresenta ferramentas de teste como Testlink, Jira e Selenium. Também discute metodologias como Scrum, Kanban, cascata e iterativo-incremental.
O documento descreve ferramentas de programação e gerenciamento de projetos como Redmine (gerenciamento de projetos), Git (sistema de controle de versão), GitHub (hospedagem de projetos Git), ArgoUML (modelagem UML), DIA (desenho de diagramas) e NetBeans (IDE para programação).
Esta palestra tem como objetivo disseminar quais os primeiros passos para se começar na carreira de Testes e Qualidade, o que estudar, onde estudar e todo o material de apoio necessário para que mulheres que não são da área de TI possam adentrar esta área.
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.
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 introduz os conceitos de testes automatizados, comparando-os com testes manuais. Apresenta os benefícios dos testes automatizados, como permitir que todos os testes sejam executados frequentemente, encontrar erros mais cedo e aumentar a velocidade do desenvolvimento. Também discute alguns tipos de testes como unidade, integração e interface do usuário, além de dicas para escrever bons testes automatizados.
The document discusses software testing, outlining key achievements in the field, dreams for the future of testing, and ongoing challenges. Some of the achievements mentioned include establishing testing as an essential software engineering activity, developing test process models, and advancing testing techniques for object-oriented and component-based systems. The dreams include developing a universal test theory, enabling fully automated testing, and maximizing the efficacy and cost-effectiveness of testing. Current challenges pertain to testing modern complex systems and evolving software.
O documento discute os conceitos e técnicas de teste de software, com o objetivo de encontrar falhas e melhorar a qualidade do produto. Aborda temas como definição de teste de software, tipos de testes (caixa preta, caixa branca, caixa cinza), categorias de testes (unidade, integração, sistema), equipes de teste e por que testamos software.
The document discusses the "test pyramid" concept for balancing test suites from unit to end-to-end tests. It provides examples of different types of tests including unit tests, integration tests, UI/end-to-end tests. It also discusses challenges with different types of tests and strategies for addressing those challenges including dependency injection, mocks, and tools like Cucumber, Robolectric, and Pacto. The document seeks feedback on testing approaches and provides additional resources on testing best practices.
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.
The document discusses automation testing basics, including that automation testing is done using automated tools to write and execute test cases. It explains that automation testing should be used for tasks that are time-consuming, repeated, tedious, or involve high risk test cases. The document also lists some popular free and commercial automation testing tools.
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.
Apresentação sobre Arquitetura de Automação para Testes Funcionais no TestDay em 20/09/2012 na PUC - SP
Esta apresentação quer mostrar todos os pontos importantes que são necessários para uma arquitetura de testes pensanod "fora da caixa", não somente em criar um script mas em todo o processo durante a automação como gerencimento de erros e logs, relatórios e estratégia para execução da automação.
@test_day
http://testday.com.br
O documento apresenta o plano de teste para um sistema de e-commerce. Ele descreve a abordagem de testes, incluindo a categorização de requisitos funcionais e não funcionais, detalhamento dos tipos de testes a serem realizados e ambientes de teste. Os testes funcionais serão focados em validar os principais requisitos funcionais do sistema, como cadastro, alteração, busca, exclusão de usuários e produtos, compras e geração de relatórios.
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.
Automation testing introduction for FujiNetHai Tran Son
This document discusses automation testing and provides an overview of manual vs automation testing. It covers why automation testing is important, including allowing repetitive tests to run across multiple builds and reducing human error. Common automation tools like QTP and Selenium are mentioned. The history of automation from record and playback to modern keyword-driven approaches is summarized. Examples of building automation frameworks for QTP and Selenium are provided. In conclusion, the document promotes automation testing as important for the future.
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 várias ferramentas de gerenciamento de defeitos como Bugzilla, Mantis Bug Tracker, Trac, Redmine e Jira. Ele fornece detalhes sobre os recursos, características e funcionalidades dessas ferramentas para auxiliar no gerenciamento de projetos de software.
Este documento apresenta uma introdução ao teste de software, abordando os seguintes tópicos: (1) conceitos básicos de teste de software como defeitos, erros e falhas; (2) objetivos do teste de software como garantir a qualidade e revelar erros; (3) diferentes fases e técnicas de teste como teste de unidade, integração e funcional.
O documento resume os principais pontos sobre teste de software segundo o guia SWEBOK. Aborda os fundamentos, níveis, objetivos, técnicas, medidas e processo de teste de software. Apresenta definições de termos como falha, defeito e erro e discute questões como testabilidade, limitações de teste e objetivos como teste de aceitação e regressão.
Ferramentas e metodologias em testes de softwareJoyce Bastos
O documento discute principais ferramentas e metodologias de teste de software. Apresenta ferramentas de teste como Testlink, Jira e Selenium. Também discute metodologias como Scrum, Kanban, cascata e iterativo-incremental.
O documento descreve ferramentas de programação e gerenciamento de projetos como Redmine (gerenciamento de projetos), Git (sistema de controle de versão), GitHub (hospedagem de projetos Git), ArgoUML (modelagem UML), DIA (desenho de diagramas) e NetBeans (IDE para programação).
Esta palestra tem como objetivo disseminar quais os primeiros passos para se começar na carreira de Testes e Qualidade, o que estudar, onde estudar e todo o material de apoio necessário para que mulheres que não são da área de TI possam adentrar esta área.
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.
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 introduz os conceitos de testes automatizados, comparando-os com testes manuais. Apresenta os benefícios dos testes automatizados, como permitir que todos os testes sejam executados frequentemente, encontrar erros mais cedo e aumentar a velocidade do desenvolvimento. Também discute alguns tipos de testes como unidade, integração e interface do usuário, além de dicas para escrever bons testes automatizados.
The document discusses software testing, outlining key achievements in the field, dreams for the future of testing, and ongoing challenges. Some of the achievements mentioned include establishing testing as an essential software engineering activity, developing test process models, and advancing testing techniques for object-oriented and component-based systems. The dreams include developing a universal test theory, enabling fully automated testing, and maximizing the efficacy and cost-effectiveness of testing. Current challenges pertain to testing modern complex systems and evolving software.
O documento discute os conceitos e técnicas de teste de software, com o objetivo de encontrar falhas e melhorar a qualidade do produto. Aborda temas como definição de teste de software, tipos de testes (caixa preta, caixa branca, caixa cinza), categorias de testes (unidade, integração, sistema), equipes de teste e por que testamos software.
The document discusses the "test pyramid" concept for balancing test suites from unit to end-to-end tests. It provides examples of different types of tests including unit tests, integration tests, UI/end-to-end tests. It also discusses challenges with different types of tests and strategies for addressing those challenges including dependency injection, mocks, and tools like Cucumber, Robolectric, and Pacto. The document seeks feedback on testing approaches and provides additional resources on testing best practices.
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.
The document discusses automation testing basics, including that automation testing is done using automated tools to write and execute test cases. It explains that automation testing should be used for tasks that are time-consuming, repeated, tedious, or involve high risk test cases. The document also lists some popular free and commercial automation testing tools.
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.
Apresentação sobre Arquitetura de Automação para Testes Funcionais no TestDay em 20/09/2012 na PUC - SP
Esta apresentação quer mostrar todos os pontos importantes que são necessários para uma arquitetura de testes pensanod "fora da caixa", não somente em criar um script mas em todo o processo durante a automação como gerencimento de erros e logs, relatórios e estratégia para execução da automação.
@test_day
http://testday.com.br
O documento apresenta o plano de teste para um sistema de e-commerce. Ele descreve a abordagem de testes, incluindo a categorização de requisitos funcionais e não funcionais, detalhamento dos tipos de testes a serem realizados e ambientes de teste. Os testes funcionais serão focados em validar os principais requisitos funcionais do sistema, como cadastro, alteração, busca, exclusão de usuários e produtos, compras e geração de relatórios.
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.
Automation testing introduction for FujiNetHai Tran Son
This document discusses automation testing and provides an overview of manual vs automation testing. It covers why automation testing is important, including allowing repetitive tests to run across multiple builds and reducing human error. Common automation tools like QTP and Selenium are mentioned. The history of automation from record and playback to modern keyword-driven approaches is summarized. Examples of building automation frameworks for QTP and Selenium are provided. In conclusion, the document promotes automation testing as important for the future.
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 várias ferramentas de gerenciamento de defeitos como Bugzilla, Mantis Bug Tracker, Trac, Redmine e Jira. Ele fornece detalhes sobre os recursos, características e funcionalidades dessas ferramentas para auxiliar no gerenciamento de projetos de software.
Este documento apresenta uma introdução ao teste de software, abordando os seguintes tópicos: (1) conceitos básicos de teste de software como defeitos, erros e falhas; (2) objetivos do teste de software como garantir a qualidade e revelar erros; (3) diferentes fases e técnicas de teste como teste de unidade, integração e funcional.
O documento resume os principais pontos sobre teste de software segundo o guia SWEBOK. Aborda os fundamentos, níveis, objetivos, técnicas, medidas e processo de teste de software. Apresenta definições de termos como falha, defeito e erro e discute questões como testabilidade, limitações de teste e objetivos como teste de aceitação e regressão.
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
1) O documento discute os conceitos e técnicas de teste de software, incluindo os objetivos dos testes, diferentes tipos de testes e estratégias de teste.
2) São descritos os conceitos de defeito, erro e falha, além das diferenças entre teste e depuração.
3) São apresentadas as etapas de um processo de teste, incluindo teste de unidade, integração, validação e sistema.
O documento discute o que é teste de software, por que é necessário testar e os principais princípios e processos de teste de software. Explica que teste de software envolve executar um programa para descobrir erros, que testar é necessário para evitar prejuízos financeiros e de reputação causados por falhas, e que os humanos sempre cometem erros, justificando a necessidade de testes.
Este documento apresenta conceitos básicos sobre teste de software, incluindo testes de unidade, funcional e integração. Também discute estratégias de teste no desenvolvimento dirigido por testes (TDD) e apresenta referências sobre TDD com Ruby e teste de unidade com Ruby.
O documento introduz conceitos básicos sobre teste de software, incluindo: 1) Teste de software é o processo de execução de um produto para determinar se atendeu suas especificações; 2) Existem diferentes níveis de teste como unidade, integração e sistema; 3) Critérios de teste como particionamento de classes de equivalência e análise de valor limite são usados para gerar casos de teste.
O documento discute processos de verificação e validação (V&V) para software, incluindo inspeções de código, testes de software e abordagens como Cleanroom. Ele explica a diferença entre verificação e validação, métodos como inspeções de software e análises estáticas automatizadas, e fatores importantes para o planejamento de V&V.
Palestra Fundamentos de Testes - Tche linux POAAline Zanin
Este documento apresenta os fundamentos de testes de software, incluindo: (1) tipos de testes como teste de unidade, integração e caixa preta/branca; (2) princípios fundamentais de teste; (3) processo de teste envolvendo planejamento, execução e relatórios; (4) definição de cenários e casos de teste. O documento fornece uma introdução abrangente aos conceitos e práticas-chave de teste de software.
O documento apresenta os principais conceitos e atividades relacionadas ao processo de teste de software, incluindo a motivação para testes, formação de equipes de teste, estágios de teste, tipos de teste, planejamento e execução de testes e ferramentas de teste.
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.
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixCris Fidelix
O documento discute a evolução da preocupação com a qualidade de software ao longo dos anos, desde as décadas de 1950 a 2000. Nos anos iniciais, os erros eram conhecidos apenas após o término do programa. Nos anos 1970 surgiram análise estruturada e teste antes do término. Nos anos 1980 houve primeiras preocupações com padrões de qualidade. Nos anos 1990 surgiram primeiros processos de teste motivados pelo bug do milênio. Nos anos 2000, testes foram estruturados dentro do processo de desenvolvimento e surgiram ferramentas de
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.
O documento discute testes de software, incluindo: 1) O que são testes de software e seus objetivos de verificar erros e garantir qualidade; 2) A importância de testes para reduzir custos de correção de erros; 3) Os principais tipos de testes como caixa branca, caixa preta e testes de unidade e integração.
Verificação e validação (V&V) são processos para melhorar a qualidade de software e produtividade. V&V permite identificar problemas cedo e corrigi-los antes da entrega, aumentando a produtividade. Técnicas estáticas como revisões e inspeções verificam a qualidade antes dos testes dinâmicos. Testes de software como caixa branca e preta são importantes para validar que o software atende aos requisitos.
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.
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 fornece um resumo sobre qualidade e teste de software. Ele discute a importância do teste, as técnicas de teste como caixa preta e caixa branca, e automação de testes. Também aborda carreiras em teste de software e exemplos históricos de falhas de software.
The document describes the VISAO early warning system created by Dr. Wagner Zaparoli and Prof. Raymundo S. Azevedo. VISAO is an online alert system that aims to provide real-time notification of disease outbreaks and epidemics to health authorities. It uses an automated machine learning model to analyze reported case data and detect outbreak patterns faster than current epidemiological monitoring systems. Simulations showed VISAO could generate alerts up to two days earlier than existing processes. The system was designed for meningitis but can be adapted to monitor other infectious diseases.
O documento apresenta um guia metodológico para projetos de transformação corporativa, descrevendo etapas como mapeamento de itens a serem transformados, planejamento, execução, controle, encerramento e auditoria. Inclui tópicos como definição de escopo, times de gestão, fatores críticos de sucesso e uma visão geral do processo de transformação na prática.
O documento discute as técnicas de implementação de linguagens de programação, incluindo conceitos fundamentais, classificação de linguagens, aplicações de software, engenharia de software e tecnologias. É fornecida uma lista de sugestões bibliográficas.
O documento discute conceitos de qualidade de software, incluindo: (1) definição de qualidade de software, visões da qualidade e variáveis da qualidade; (2) processos de software e modelos de qualidade como CMMI e ISO; (3) guia de avaliação da qualidade nas fases do processo de desenvolvimento de software.
O documento discute os tipos de documentação disponíveis para auxiliar no uso de um produto de software, incluindo documentação impressa e on-line. Ele fornece exemplos de cada tipo e descreve os atributos que devem ser avaliados para verificar a existência, completitude e usabilidade da documentação.
O documento discute padrões de desenvolvimento de software, incluindo a importância da documentação, tipos de documentos e como organizá-los. É explicado que a documentação deve ser produzida para diferentes tipos de usuários e níveis de detalhe. Além disso, são fornecidas dicas sobre como estruturar a documentação usando padrões e linguagem clara e simples.
O documento discute os conceitos e práticas de gerência de configuração de software, incluindo problemas comuns de configuração, controle de versão, sincronismo e itens de configuração. Ele explica porque a gerência de configuração é importante para minimizar problemas durante o desenvolvimento de software e manter a integridade do sistema.
O documento discute os aspectos da manutenção de software, incluindo as classificações de manutenção (corretiva, adaptativa, perfectiva e preventiva), fatores que afetam a manutenção (gerência, infraestrutura, humanos e software) e como melhorar a manutenção (processos, pessoas e tecnologia).
O documento discute os principais aspectos relacionados ao ciclo de vida de desenvolvimento de sistemas, incluindo abordagens como sequencial, espiral, prototipagem e ágil. Ele explica as fases típicas de um ciclo de vida padrão como pré-desenvolvimento, desenvolvimento e pós-desenvolvimento e como o gerenciamento adequado do ciclo de vida é importante para o sucesso de um projeto.
Este documento fornece um resumo sobre projeto de software, abordando tópicos como:
1) Definição de projeto de software e sua importância no ciclo de vida do desenvolvimento;
2) Processo de projeto, incluindo modelos estruturado e orientado a objetos;
3) Conceitos fundamentais como abstração, modularidade e padrões;
4) Técnicas como refatoração e estruturação em camadas e MVC.
O documento discute técnicas de gerenciamento de projetos, abordando conceitos como gestão, planejamento, controle de progresso, testes, entregas, mudanças, riscos e recursos. Ele fornece detalhes sobre como aplicar essas técnicas em projetos para melhor gerenciá-los.
4. Teste do Software 4
Uso dos Sistemas de Informação*
SI
SI
SI
SI
SI
Redução
de Custo Alavancar
Investimentos Melhoria
do Produto
e Serviços Melhoria
no Processo
de Decisão Atingir o
Cliente
1960´s 1970´s 1980´s 1990´s
* Tata Consultancy Services, 2005
5. Teste do Software 5
Cenário de Desenvolvimento Atual
• Ambientes Heterogêneos.
• Interoperabilidade.
• Interação com Usuário Final.
• Mercado Competitivo.
• Time to Market.
• Alto grau de Exigência dos Clientes.
• Maior Complexidade Tecnológica.
• Convergência dos Mercados.
6. Teste do Software 6
Dificuldades
• Ausência de métricas de qualidade de software.
• Deficiência na gerência de requisitos.
• Metodologia de desenvolvimento inexistente ou não utilizada.
• Alto custo de retrabalho para correção de erros.
• Ausência de processos bem definidos para realização de testes.
• Quem desenvolve realiza os testes.
• Inexistência de ambientes de teste e homologação dedicados.
• Gerência de Configuração deficiente ou inexistente.
• Ambiente de produção diferente do desenvolvimento.
• Informações sigilosas nas mãos de terceiros.
7. Teste do Software 7
Consequências
Erros de software causam prejuízos de 59,5
bilhões de dólares nos EUA e
aproximadamente o dobro no resto do mundo,
segundo pesquisa feita pelo American
National Institute of Standards*
* The Economist, 2004
8. Teste do Software 8
Solução Processo de Qualidade
Metodologias
de Teste de
Software
Gerência de
Configuração
Controle da
Qualidade
9. Teste do Software 9
Solução Processo de Qualidade
Metodologias
de Teste de
Software
Verificação do produto que
garanta o atendimento dos
requisitos estabelecidos
10. Teste do Software 10
Solução Processo de Qualidade
Controle da
Qualidade
Processos e procedimentos
usados para monitorar o
trabalho
Inspeções, revisões e testes
no processo de
desenvolvimento
de software
11. Teste do Software 11
Solução Processo de Qualidade
Gerência de
Configuração
Versiona, controla e acompanha as
especificações e alterações de
software
12. Teste do Software 12
Resultado
• Melhoria no processo de desenvolvimento
• Redução de riscos
• Identificação antecipada de erros
• Redução de custos (retrabalho)
• Confiabilidade
• Previsibilidade
14. Teste do Software 14
O que significa testar?
Testar é exercitar ou simular a operação de um programa ou
sistema
Testar é validar se um programa faz o que se espera que ele faça
e não faz o que se espera que não faça
Testar é analisar um programa com a intenção de descobrir
problemas e defeitos
Testar é medir a qualidade e funcionalidade de um sistema
15. Teste do Software 15
Testar um software
Controlar a garantia de
sua qualidade=
O que significa testar?
16. Teste do Software 16
Erro
Engano, alguma coisa feita por humanos
Erro, Defeito e Falha
Defeito
O resultado de um erro, encontrado em documentos ou código
Falha
Diferença indesejável entre o observado e o esperado.
Acontece quando um defeito é executado.
O resultado ou manifestação de um ou mais defeitos.
É percebido pelo usuário final.
17. FalhaDefeito
Teste do Software 17
Erro, Defeito e Falha
Erro
Incursão
humana
Desvio na
especificação Comportamento
inconsistente
18. Teste do Software 18
Processo de Teste
Modelo Antigo
TesteDesenvolvimento
Modelo Contemporâneo
Desenvolvimento
Teste
19. Teste do Software 19
Processo de Teste
•Permite que defeitos sejam encontrados mais
cedo;
•Possibilita economia nos custos de
manutenção;
•Reduz riscos ao longo do processo de
desenvolvimento;
•Aumenta a previsibilidade e a confiabilidade
do processo;
20. Teste do Software 20
Ciclo de Vida
Gestão de Testes
Iniciar
Encerr
Acomp
Homo
Planej
Prepa
Execu
Gestão de Defeitos
21. Teste do Software 21
Ciclo de VidaIniciar
Objetivos
Entender os aspectos técnicos e funcionais do produto ou
demanda
Conhecer os envolvidos
Momento
Entre o fim da especificação dos requisitos e início da
especificação funcional e técnica
22. Teste do Software 22
Ciclo de Vida
Planej Objetivos
Definir estratégia de teste
Detalhar escopo dos testes
Planejar alocação de recursos
Elaborar cronograma
Momento
Entre o fim da especificação funcional e técnica
e início da implementação
23. Teste do Software 23
Ciclo de Vida
Prepa
Objetivos
Definir cenários de teste
Definir casos de teste
Momento
Durante a Construção (codificação)
24. Teste do Software 24
Ciclo de Vida
Execu
Objetivos
Executar os casos de teste
Registrar os resultados e evidências
dos testes
Retestar os erros corrigidos
Momento
Ao fim da Construção (codificação)
25. Teste do Software 25
Ciclo de Vida
Acomp
Homo
Objetivos
Prover suporte aos testes de homologação de
usuários
Momento
Ao fim do teste integrado
26. Teste do Software 26
Ciclo de Vida
Encerr
Objetivos
Apresentar resultados e métricas dos testes realizados
Obter a aprovação formal da homologação por parte do
usuário final em conjunto com o relacionamento de TI
Momento
Ao fim da homologação
27. Teste do Software 27
Ciclo de Vida
Gestão de Defeitos
Testador
Líder
Desenvolvimento
Desenvolvedor
Testar ou
Retestar
Encontrar
Defeito
Reportar o
defeito
Reconhecer
o defeito
Priorizar a
correção
Agendar a
correção
Corrigir o
defeito
Reportar a
correção
Gestor
Projeto
Análise
Relatórios
Gestão
28. Teste do Software 28
Ciclo de Vida
Gestão de Testes
Gestor
Testes
Analista
Testes
Arquiteto
Testes
Testador
Definição
Requisitos
Projeto Construção Testes
Procedimentos
iniciais
Planejamento e Controle
Especificação dos testes
Reporte do
Progresso
Reporte Métricas
Preparação do ambiente e dados
Execução dos
testes
Relato dos
defeitos
30. Teste do Software 30
Métodos/Técnicas
Caixa Branca Caixa Preta
São avaliadas características
internas do sistema
São avaliados os requisitos de saída,
sem o conhecimento das estruturas
internas
• Particionamento em classes de
equivalência
• Análise do valor limite
• Grafo de causa e efeito
• Teste de condição
• Teste de fluxo de dados
• Teste de ciclos
• Teste de caminhos lógicos
31. Teste do Software 31
Níveis de Teste
Teste Unitário
Teste de Integração
Teste de Sistema
Tem por objetivo explorar a menor unidade do
projeto, procurando provocar falhas
ocasionadas por defeitos de lógica e de
implementação em cada módulo,
separadamente
Visa provocar falhas associadas às interfaces
entre os módulos quando esses são
integrados para construir a estrutura do
software que foi estabelecida na fase de
projeto
Avalia o software em busca de falhas por meio
da utilização do mesmo, como se fosse um
usuário final. Dessa maneira, os testes são
executados nos mesmos ambientes, com as
mesmas condições e com os mesmos dados
de entrada que um usuário utilizaria no seu
dia-a-dia de manipulação do software
Teste de Aceitação
São realizados geralmente por um restrito
grupo de usuários finais do sistema. Esses
simulam operações de rotina do sistema de
modo a verificar se seu comportamento está
de acordo com o solicitado
32. Teste do Software 32
Teste de Regressão
Estratégia importante para redução de
“efeitos colaterais”. Consiste em se aplicar, a
cada nova versão do software ou a cada ciclo,
todos os testes que já foram aplicados nas
versões ou ciclos de teste anteriores do
sistema. Pode ser aplicado em qualquer nível
de teste
Estratégias de Teste
Teste de Mutante
Avaliação da qualidade dos testes com base
na determinação de sua capacidade de
detectar falhas injetadas artificialmente no
código já testado, de modo a mudar a sua
lógica mas não a sua sintaxe
Teste de Cobertura
Verifica se todas as possíveis condições de
execução de um programa são cobertas pelos
testes
33. Teste do Software 33
Classificação – IEEE*
Técnicas baseadas na
experiência e intuição dos
engenheiros de software
* IEEE, 2004
Técnicas baseadas em
especificação
Técnicas baseadas em
código
Técnicas baseadas em
defeitos
Técnicas baseadas no uso
Técnicas baseadas na
natureza da aplicação
Técnicas baseadas em
seleção e combinação
36. Teste do Software 36
Métricas – Gestão de Defeitos
• Coletadas ao fim de cada ciclo de testes.
• Podem retroalimentar os processos de desenvolvimento
e teste.
• Imprescindível para criação de base histórica.
• Exemplos:
Erros, por severidade
Erros por importância
Tempo médio de correção de erros
Reincidências de erros Índice de erros por caso de teste
Cobertura dos casos de teste
Efetividade de detecção de erros
37. Teste do Software 37
Métricas – Gestão de Defeitos
Desvio de Cronograma
Percentual Desvio
Desvio Cronograma
(dias)
99%999999
Prazo Real
(dias)
Prazo Planejado
(dias)
Desvio de Esforço
Percentual Desvio
Desvio Esforço
(pessoa por dia)
99%999999
Esforço Real
(pessoa por dia)
Esforço Planejado
(pessoa por dia)
Tempo Médio de Correção de Defeitos
Tempo Médio de
Correção
999999
Tempo Total de
Correção
Número de
Defeitos
38. Teste do Software 38
Métricas – Gestão de Defeitos
Índice de Reincidência de Defeitos
Índice de
Reincidências
99%9999
Número de
Reincidências
Número de
Defeitos
Efetividade de Detecção de Defeitos
Efetividade de
Detecção
99%9999
Número de
Defeitos encontrados em
Homologação
Número de
Defeitos encontrados em
Testes
Índice de Defeitos por Caso de Teste
Índice de Defeitos
por Casos de Teste
99%9999
Número de Casos
de Teste
Número de
Defeitos
Cobertura de Casos de Teste
Cobertura dos Casos de
Teste
99%9999
Número de
Casos de Teste Executados
Número de
Casos de Teste Planejados
40. Teste do Software 40
Tecnologia – Open Source
Gestão de Defeitos
• Mantis
• Bugzilla
• Scarab
• BugNET
• Trac
Gestão de Testes
• TestLink
• rth
•TestMaster
• TestiTool
• Test Case Web (TCW)
Testes Funcionais
• Watir (Web)
• Canoo WEBTest
• JUnit
• Emma: Coverage
• SoapUI
Performance
• OpenSTA
• WEBLOAD
•The Grinder
• JMeter
41. Teste do Software 41
Tecnologia – Comercial
Gestão de Defeitos
• FogBugs
• Jira
• yKAP
• Rational ClearCase
Gestão de Testes
• RSI/QA-Teste
• TestLog
• Mercury Quality Center
• TestTrack TCM
• Rational Test Manager
Testes Funcionais
• Rational Functional Tester
• Mercury Quick Test
Professional
• QA Wizard Pro
• Compuware QARun
Performance
• Rational Performance Test
• Empirix e-Load
• Compuware QAload
• Borlando SilkPerformer
42. Sugestões Bibliográficas
• BARTIE Alexandre, Garantia da Qualidade de Software, São Paulo: Elsevier Editora Ltda, 2002.
• MYERS, Glenford. The Art of Software Testing. New York: Wiley, 1979.
• INTHURN, Cândida. Qualidade & teste de software. 1ª edição, Florianópolis: Visual Books, 2001.
• FUTRELL, Robert T. Quality Software Project Management. Prentice Hall PTR, 2004.
• BLACK, Rex. Critical Testing Processes: Plan, Prepare, Perform, Perfect. Addison Wesley, 2003.
• CRAIG Rick D. Systematic Software Testing. Artech House, 2002.
• FEWSTER, Mark et al. Software Test Automation: Effective use of test execution tools. Addison-
Wesley, 1999.
• MALDONADO, José Carlos et al. Introdução ao Teste de Software. Editora Campus, 2007.
• MOSLEY, Daniel J. et al. Just Enough Software Test Automation. Prentice Hall, 2002.
• DUSTIN, Elfriede, et al. Automated Software Testing: Introduction, Management. Addison-Wesley,
1999.
• SUBRAYA, B. M. Integrated Approach to Web Performance Testing: A Practitioner's Guide. IRM Press,
2006.
• Microsoft ACE Team. Performance Testing Microsoft .NET Web Applications. Microsoft Press, 2002.
Teste do Software 42