Buscar

TS - Conteúdo Online - Aula 1 a 5

Prévia do material em texto

AULA 1: IMPORTÂNCIA DO TESTE DE SOFTWARE
 
TESTE DE SOFTWARE 
 
Teste: Operação técnica que consiste em determinar se uma ou mais características de um dado produto, processo 
ou serviço estão de acordo com um procedimento especificado (ISO/IEC 1991)
 
Teste de Software: 
• Avaliar se o software está fazendo o que deveria fazer, de acordo com os seus requisitos, e não está 
fazendo o que não deveria fazer; 
• Processo de executar um programa ou um sistema com a intenção de encontrar defeitos (teste negativo) 
(Glen Myers – 1979); 
•Qualquer atividade que, a partir da avaliação de um atributo ou capacidade de um programa ou sistema 
seja possível determinar se ele alcança os resultados desejados. (Bill Hetzel 
 
A IMPORTÂNCIA DO TESTE DE SOFTWARE
 
Segundo Pressman, teste de software é um conjunto de atividades que podem ser planejadas com antecedência e 
executadas sistematicamente. Por esta razão deverá ser definido um processo de teste de software e um modelo 
(template) para o teste. Uma estratégia de TS deve 
um pequeno segmento de código-fonte foi implementado corretamente
as funções principais do sistema de acordo com os requisitos do cliente. Existem muita
e todas fornecem um modelo para o teste e tem, basicamente, as seguintes características:
 
Uma estratégia de software deverá fornecer diretrizes para o profissional de teste e uma série de metas para o 
gerente. Emerson Rios nos dá uma visão histórica da execução dos testes de software:
 
Demosntração [70's] 
• Garantir que o produto funcione;
• Testes feitos pelos desenvolvedores.
 
Detecção [80's/90's] 
• Garantir que o produto atenda ao
• Testes feitos pelos 
 
Prevenção [90's/00's] 
• Garantir que o produto funcione, atenda aos requisitos e não tenha defeitos;
• Testes executados através de processos de testes
• Testes feitos pelos desenvolvedores
IMPORTÂNCIA DO TESTE DE SOFTWARE
Operação técnica que consiste em determinar se uma ou mais características de um dado produto, processo 
ou serviço estão de acordo com um procedimento especificado (ISO/IEC 1991) 
Avaliar se o software está fazendo o que deveria fazer, de acordo com os seus requisitos, e não está 
Processo de executar um programa ou um sistema com a intenção de encontrar defeitos (teste negativo) 
Qualquer atividade que, a partir da avaliação de um atributo ou capacidade de um programa ou sistema 
seja possível determinar se ele alcança os resultados desejados. (Bill Hetzel – 1988). 
DE SOFTWARE 
sman, teste de software é um conjunto de atividades que podem ser planejadas com antecedência e 
executadas sistematicamente. Por esta razão deverá ser definido um processo de teste de software e um modelo 
(template) para o teste. Uma estratégia de TS deve acomodar testes de baixo nível, necessários para verificar se 
fonte foi implementado corretamente, bem como teste de alto nível que validam 
as funções principais do sistema de acordo com os requisitos do cliente. Existem muitas estratégias de TS propostas 
e todas fornecem um modelo para o teste e tem, basicamente, as seguintes características: 
Uma estratégia de software deverá fornecer diretrizes para o profissional de teste e uma série de metas para o 
nos dá uma visão histórica da execução dos testes de software: 
• Garantir que o produto funcione; 
• Testes feitos pelos desenvolvedores. 
Garantir que o produto atenda aos requisitos; 
• Testes feitos pelos desenvolvedores e usuários 
• Garantir que o produto funcione, atenda aos requisitos e não tenha defeitos;
• Testes executados através de processos de testes; 
feitos pelos desenvolvedores, usuários e testadores. 
IMPORTÂNCIA DO TESTE DE SOFTWARE 
Operação técnica que consiste em determinar se uma ou mais características de um dado produto, processo 
Avaliar se o software está fazendo o que deveria fazer, de acordo com os seus requisitos, e não está 
Processo de executar um programa ou um sistema com a intenção de encontrar defeitos (teste negativo) 
Qualquer atividade que, a partir da avaliação de um atributo ou capacidade de um programa ou sistema 
sman, teste de software é um conjunto de atividades que podem ser planejadas com antecedência e 
executadas sistematicamente. Por esta razão deverá ser definido um processo de teste de software e um modelo 
acomodar testes de baixo nível, necessários para verificar se 
, bem como teste de alto nível que validam 
s estratégias de TS propostas 
 
Uma estratégia de software deverá fornecer diretrizes para o profissional de teste e uma série de metas para o 
• Garantir que o produto funcione, atenda aos requisitos e não tenha defeitos; 
 
O PROCESSO DE TESTE DE SOFTWARE
 
O processo de teste de software deve se basear em uma metodologia aderente ao processo de desenvolvimento, 
com pessoal técnico qualificado, ambiente e ferramentas adequadas. 
documento básico para organizar a atividade de testar aplicações no contexto da empresa. Assim como o processo 
de desenvolvimento de software, o teste de software também possui um ciclo de vida:
 
 
 
 
 
 
 
 
REVISÃO DAS ETAPAS DE DESENVOLVIMENTO 
 
Segundo Pressman, um modelo genérico de desenvolvimento de software estabelece cinco atividades 
metodológicas: 
 
OFTWARE 
O processo de teste de software deve se basear em uma metodologia aderente ao processo de desenvolvimento, 
com pessoal técnico qualificado, ambiente e ferramentas adequadas. Esta metodologia de teste deve ser o 
ico para organizar a atividade de testar aplicações no contexto da empresa. Assim como o processo 
de desenvolvimento de software, o teste de software também possui um ciclo de vida: 
 
 
 
 
 
 
 
ESENVOLVIMENTO DE UM SOFTWARE 
Segundo Pressman, um modelo genérico de desenvolvimento de software estabelece cinco atividades 
O processo de teste de software deve se basear em uma metodologia aderente ao processo de desenvolvimento, 
Esta metodologia de teste deve ser o 
ico para organizar a atividade de testar aplicações no contexto da empresa. Assim como o processo 
 
 
 
Segundo Pressman, um modelo genérico de desenvolvimento de software estabelece cinco atividades 
 
 
Estas atividades podem estar caracterizadas por diferentes fluxos de processo.
 
 
 
 
 
 
 
 
 
Como já falamos anteriormente, o processo de teste de software deve se basear em uma metodologia aderente ao 
processo de desenvolvimento. A imagem abaixo mostra como o ciclo de vida do projeto de teste deve interagir com 
o ciclo de vida do projeto de desenvolvimento
Estas atividades podem estar caracterizadas por diferentes fluxos de processo. 
anteriormente, o processo de teste de software deve se basear em uma metodologia aderente ao 
processo de desenvolvimento. A imagem abaixo mostra como o ciclo de vida do projeto de teste deve interagir com 
o ciclo de vida do projeto de desenvolvimento 
 
 
 
 
 
anteriormente, o processo de teste de software deve se basear em uma metodologia aderente ao 
processo de desenvolvimento. A imagem abaixo mostra como o ciclo de vida do projeto de teste deve interagir com 
Há muitas estratégias que podem ser utilizadas para testar um software. Uma das estratégias de teste, a preferida 
pela maioria das equipes, é a visão incremental do teste, começando com o teste das unidades individuais de 
programa, passando para os testes destinados a facilitar a integração de unidades e culminando com testes que 
usam o sistema concluído. 
 
Ao tratar os testes como um processo organizado e muitas vezes paralelo e integrado ao processo de 
desenvolvimento, os custos de manutenção ser
a aumentar quanto mais tarde o defeito é detectado. Defeitos encontrados durante a produção tendem a custar 
muito mais do que defeitos encontrados em modelos de dados e em outros documentos
Myers afirma ainda que: 
 
 
Há muitas estratégias que podemser utilizadas para testar um software. Uma das estratégias de teste, a preferida 
visão incremental do teste, começando com o teste das unidades individuais de 
os testes destinados a facilitar a integração de unidades e culminando com testes que 
Ao tratar os testes como um processo organizado e muitas vezes paralelo e integrado ao processo de 
desenvolvimento, os custos de manutenção serão reduzidos. Segundo Myers, o custo de correção de defeitos tende 
a aumentar quanto mais tarde o defeito é detectado. Defeitos encontrados durante a produção tendem a custar 
muito mais do que defeitos encontrados em modelos de dados e em outros documentos do projeto do software.
 
 
 
Há muitas estratégias que podem ser utilizadas para testar um software. Uma das estratégias de teste, a preferida 
visão incremental do teste, começando com o teste das unidades individuais de 
os testes destinados a facilitar a integração de unidades e culminando com testes que 
Ao tratar os testes como um processo organizado e muitas vezes paralelo e integrado ao processo de 
ão reduzidos. Segundo Myers, o custo de correção de defeitos tende 
a aumentar quanto mais tarde o defeito é detectado. Defeitos encontrados durante a produção tendem a custar 
do projeto do software. 
 
http://estacio.webaula.com.br/Cursos/gon294/docs/01TS_doc01.pdf
 
BUGS,ERROS E DEFEITOS 
 
Segundo Pressman, o objetivo geral do controle de qualidade de software e da gestão da qualidade é eliminar 
problemas de qualidade no software. Tais problemas são conhecidos por diversos nomes: bugs, falhas, erros ou 
defeitos. 
 
Neste contexto, um erro é definido como um problema de qualidade encontrado antes do software ser liberado aos 
usuários finais. O defeito é um problema de qualidade encontrado depois de o software ter sido liberado aos 
usuários finais. Porém, na maioria das vezes os termos são utili
classificação dos termos. 
 
Saiba mais: http://www.softwaredevelopment.ca/bugs.shtml
Para saber mais sobre os tópicos estudados nesta aula, pesquise na internet sites, vídeos e artigos 
relacionados ao conteúdo visto. Se ainda tiver alguma dúvida, fale com seu professor online utilizando os 
recursos disponíveis no ambiente de aprendizagem.
http://www.alats.org.br/portal/missao
http://www.bstqb.org.br/ 
 
 
AULA 2: IMPORTÂNCIA DO TESTE DE SOFTWARE
 
REVISÕES TÉCNICAS 
 
À medida que os softwares são desenvolvidos, é possível que ocorram erros. As revisões técnicas são o mecanismo 
mais efetivo para descobrir erros antes que sejam passados para os usuários finais. Por isso são utilizados logo no 
início do Processo de Gestão de Qualidade 
 
Por que são importantes? 
 
http://estacio.webaula.com.br/Cursos/gon294/docs/01TS_doc01.pdf 
Segundo Pressman, o objetivo geral do controle de qualidade de software e da gestão da qualidade é eliminar 
problemas de qualidade no software. Tais problemas são conhecidos por diversos nomes: bugs, falhas, erros ou 
efinido como um problema de qualidade encontrado antes do software ser liberado aos 
usuários finais. O defeito é um problema de qualidade encontrado depois de o software ter sido liberado aos 
usuários finais. Porém, na maioria das vezes os termos são utilizados como sinônimos devido à dificuldade de 
http://www.softwaredevelopment.ca/bugs.shtml 
Para saber mais sobre os tópicos estudados nesta aula, pesquise na internet sites, vídeos e artigos 
sto. Se ainda tiver alguma dúvida, fale com seu professor online utilizando os 
recursos disponíveis no ambiente de aprendizagem. 
http://www.alats.org.br/portal/missao-proposito.html 
IMPORTÂNCIA DO TESTE DE SOFTWARE
À medida que os softwares são desenvolvidos, é possível que ocorram erros. As revisões técnicas são o mecanismo 
mais efetivo para descobrir erros antes que sejam passados para os usuários finais. Por isso são utilizados logo no 
 (http://estacio.webaula.com.br/Cursos/gon294/docs/02TS_doc01.pdf
 
 
Segundo Pressman, o objetivo geral do controle de qualidade de software e da gestão da qualidade é eliminar 
problemas de qualidade no software. Tais problemas são conhecidos por diversos nomes: bugs, falhas, erros ou 
efinido como um problema de qualidade encontrado antes do software ser liberado aos 
usuários finais. O defeito é um problema de qualidade encontrado depois de o software ter sido liberado aos 
zados como sinônimos devido à dificuldade de 
Para saber mais sobre os tópicos estudados nesta aula, pesquise na internet sites, vídeos e artigos 
sto. Se ainda tiver alguma dúvida, fale com seu professor online utilizando os 
IMPORTÂNCIA DO TESTE DE SOFTWARE 
À medida que os softwares são desenvolvidos, é possível que ocorram erros. As revisões técnicas são o mecanismo 
mais efetivo para descobrir erros antes que sejam passados para os usuários finais. Por isso são utilizados logo no 
http://estacio.webaula.com.br/Cursos/gon294/docs/02TS_doc01.pdf) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Já segundo Pressman, o objetivo da depuração é alcançado por uma combinação de avaliação 
e sorte, sendo definidas basicamente três estratégias de depuração:
 
FORÇA BRUTA 
RASTREAMENTO 
(BACKTRACKING) 
 
 
 
 
 
 
 
 
Já segundo Pressman, o objetivo da depuração é alcançado por uma combinação de avaliação 
e sorte, sendo definidas basicamente três estratégias de depuração: 
 
 
Já segundo Pressman, o objetivo da depuração é alcançado por uma combinação de avaliação sistemática, intuição 
 
 
ELIMINAÇÃO DE 
CAUSA 
 
 
Considerações Psicológicas 
 
É possível observar uma grande variação na habilidade de depuração entre programadores com o mesmo nível de 
formação e experiência. Parece haver certa evidência de que a destreza na depuração é uma peculiaridade humana 
inata[nasce conosco]. O que nos leva a crer que algumas pessoas são boas em depuração e outras não, já que 
muitas vezes o processo é intuitivo e já que trabalha com hipóteses. Além do aspecto humano, algumas 
características dos erros também ajudam a dar complexidade ao processo:
1 - O sintoma e a causa do defeito podem ser geograficamente remotos. Isto é, o sintoma pode aparecer em uma 
parte do programa, enquanto a causa pode realmente estar localizada em um ponto muito afastado;
2 - O sintoma pode desaparecer (temporariamente) quando outro er
3 - O sintoma pode ser, na realidade, causado por não erros (por exemplo, imprecisões de arredondamento);
4 - O sintoma pode ser causado por erro humano, que não é facilmente rastreável;
5 - O sintoma pode ser um resultado de problemas de
6 - Pode ser difícil reproduzir com precisão as condições de entrada (por exemplo, uma aplicação em tempo real na 
qual a ordem das entradas é indeterminada);
7 - O sintoma pode ser intermitente. Isso é par
e software inextricavelmente [não se pode desembaraçar/desenredar/desemaranhar]
8 - O sintoma pode ocorrer devido às causas distribuídas por várias tarefas, executando em diferentes 
processadores. 
 
Correção do Erro 
 
Segundo Pressman, uma vez encontrado o erro, ele precisa ser corrigido. A correção de um defeito pode introduzir 
outros erros e, portanto, causar mais danos do que trazer benefícios.
Segundo Van Vleck, três perguntas devem ser feitas
 
 
 
É possível observar uma grande variação na habilidade de depuração entre programadores com o mesmo nível de 
formação e experiência. Parece haver certa evidência de que a destreza na depuração é uma peculiaridade humana 
a crer que algumas pessoas são boas em depuração e outras não, já que 
muitas vezes o processo é intuitivo e já que trabalha com hipóteses. Além do aspecto humano, algumas 
características dos erros também ajudam a dar complexidade ao processo: 
e a causa do defeito podem ser geograficamente remotos. Isto é, o sintoma pode aparecer em uma 
parte do programa, enquantoa causa pode realmente estar localizada em um ponto muito afastado;
O sintoma pode desaparecer (temporariamente) quando outro erro for corrigido; 
O sintoma pode ser, na realidade, causado por não erros (por exemplo, imprecisões de arredondamento);
O sintoma pode ser causado por erro humano, que não é facilmente rastreável; 
O sintoma pode ser um resultado de problemas de temporização e não de problemas de processamento;
Pode ser difícil reproduzir com precisão as condições de entrada (por exemplo, uma aplicação em tempo real na 
qual a ordem das entradas é indeterminada); 
O sintoma pode ser intermitente. Isso é particularmente comum em sistemas embutidos que acoplam hardware 
[não se pode desembaraçar/desenredar/desemaranhar]; 
O sintoma pode ocorrer devido às causas distribuídas por várias tarefas, executando em diferentes 
Segundo Pressman, uma vez encontrado o erro, ele precisa ser corrigido. A correção de um defeito pode introduzir 
outros erros e, portanto, causar mais danos do que trazer benefícios. 
Segundo Van Vleck, três perguntas devem ser feitas antes de fazer a “correção” que remove a causa de um defeito:
 
 
É possível observar uma grande variação na habilidade de depuração entre programadores com o mesmo nível de 
formação e experiência. Parece haver certa evidência de que a destreza na depuração é uma peculiaridade humana 
a crer que algumas pessoas são boas em depuração e outras não, já que 
muitas vezes o processo é intuitivo e já que trabalha com hipóteses. Além do aspecto humano, algumas 
e a causa do defeito podem ser geograficamente remotos. Isto é, o sintoma pode aparecer em uma 
parte do programa, enquanto a causa pode realmente estar localizada em um ponto muito afastado; 
O sintoma pode ser, na realidade, causado por não erros (por exemplo, imprecisões de arredondamento); 
temporização e não de problemas de processamento; 
Pode ser difícil reproduzir com precisão as condições de entrada (por exemplo, uma aplicação em tempo real na 
ticularmente comum em sistemas embutidos que acoplam hardware 
O sintoma pode ocorrer devido às causas distribuídas por várias tarefas, executando em diferentes 
Segundo Pressman, uma vez encontrado o erro, ele precisa ser corrigido. A correção de um defeito pode introduzir 
antes de fazer a “correção” que remove a causa de um defeito: 
 
 
 
AULA 3: TESTE DE CAIXA BRANCA
 
TESTE DE CAIXA BRANCA E DA CAIXA-P
 
Os produtos de software podem ser testados através de duas visões: 
 - Conhecendo-se a função específica para o qual o produto foi projetado para realizar;
- Conhecendo-se como é o trabalho interno de um produto;
 
Quando conhecemos a função específica de um software e realizamos teste que demonstrem que cada função está 
plenamente operacional, e ao mesmo tempo, procurem erros em cada função, dizemos que estamos realizando 
teste de caixa preta. Este tipo de teste é 
sistema, pouco se preocupando com a estrutura interna do software.
 
Quando sabemos como é o trabalho interno do software e realizamos testes para garantir que as operações internas 
foram adequadamente exercitadas, estamos realizando 
exame rigoroso do detalhe procedimental e dos caminhos lógicos internos do software. 
 
Teste De Caixa-branca 
 
O teste de caixa branca, segundo pressman também chamado de teste de caixa
controle descrita no programa para derivar o casos teste. São baseados nos elementos internos de um trecho de 
programa. O objetivo é encontrar o menor número de casos de teste que permita 
programa sejam executados pelo menos uma vez. 
Os casos de teste são determinados a partir das estruturas de controle do programa e desta forma forçar que todos 
os caminhos possíveis do fluxo de controle do programa sejam percor
criar casos de teste que: 
 
 
Existem diferentes tipos de testes de caixa branca que podem ser subdivididos em:
 
Teste De Caminho Básico 
 
O teste de caminho básico permite ao projetista de casos de teste 
um projeto procedimental e usar essa medida como guia para definir um conjunto de base de caminhos de 
execução. O passo inicial é determinar todos os caminhos possíveis. 
controle do programa. 
O gráfico permite identificar os caminhos possíveis para que se possa elaborar os casos de uso. Como cada caminho 
é definido pelas expressões condicionais das estruturas de controle, devem
escolhendo valores de variáveis para os casos nos quais cada uma das expressões sejam verdadeiras ou não. 
Os seguintes passos podem ser aplicados: 
AULA 3: TESTE DE CAIXA BRANCA E DA CAIXA-PRETA NO PROGRAMA
PRETA 
Os produtos de software podem ser testados através de duas visões: 
se a função específica para o qual o produto foi projetado para realizar; 
se como é o trabalho interno de um produto; 
Quando conhecemos a função específica de um software e realizamos teste que demonstrem que cada função está 
plenamente operacional, e ao mesmo tempo, procurem erros em cada função, dizemos que estamos realizando 
 conduzido na interface do software e examina aspectos fundamentais do 
sistema, pouco se preocupando com a estrutura interna do software. 
Quando sabemos como é o trabalho interno do software e realizamos testes para garantir que as operações internas 
adequadamente exercitadas, estamos realizando teste de caixa-branca. Este tipo de teste é baseado em um 
exame rigoroso do detalhe procedimental e dos caminhos lógicos internos do software. 
n também chamado de teste de caixa-de-vidro, utiliza a estrutura de 
controle descrita no programa para derivar o casos teste. São baseados nos elementos internos de um trecho de 
programa. O objetivo é encontrar o menor número de casos de teste que permita que todos os comandos de um 
programa sejam executados pelo menos uma vez. 
Os casos de teste são determinados a partir das estruturas de controle do programa e desta forma forçar que todos 
os caminhos possíveis do fluxo de controle do programa sejam percorridos durante os testes. Desta forma é possível 
 
Existem diferentes tipos de testes de caixa branca que podem ser subdivididos em:
O teste de caminho básico permite ao projetista de casos de teste derivar uma medida da complexidade lógica de 
um projeto procedimental e usar essa medida como guia para definir um conjunto de base de caminhos de 
é determinar todos os caminhos possíveis. Normalmente utiliza-se 
O gráfico permite identificar os caminhos possíveis para que se possa elaborar os casos de uso. Como cada caminho 
é definido pelas expressões condicionais das estruturas de controle, devem-se determinar os casos de teste 
lhendo valores de variáveis para os casos nos quais cada uma das expressões sejam verdadeiras ou não. 
NO PROGRAMA 
Quando conhecemos a função específica de um software e realizamos teste que demonstrem que cada função está 
plenamente operacional, e ao mesmo tempo, procurem erros em cada função, dizemos que estamos realizando 
conduzido na interface do software e examina aspectos fundamentais do 
Quando sabemos como é o trabalho interno do software e realizamos testes para garantir que as operações internas 
. Este tipo de teste é baseado em um 
vidro, utiliza a estrutura de 
controle descrita no programa para derivar o casos teste. São baseados nos elementos internos de um trecho de 
que todos os comandos de um 
Os casos de teste são determinados a partir das estruturas de controle do programa e desta forma forçar que todos 
ridos durante os testes. Desta forma é possível 
Existem diferentes tipos de testes de caixa branca que podem ser subdivididos em: 
derivar uma medida da complexidade lógica de 
um projeto procedimental e usar essa medida como guia para definir um conjunto de base de caminhos de 
se um grafo de fluxo de 
O gráfico permite identificar os caminhos possíveis para que se possa elaborar os casos de uso. Como cada caminho 
se determinar os casos de testelhendo valores de variáveis para os casos nos quais cada uma das expressões sejam verdadeiras ou não. 
http://estacio.webaula.com.br/Cursos/gon294/docs/03TS_doc01.pdf
 
Teste De Condição 
 
O teste de condição, segundo pressman, é um método de projeto de caso de teste que exercita as condições lógicas 
contidas em um módulo de programa: 
• Uma condição simples é uma variável booleana ou uma expressão relacional, possivelmente 
precedida por um operador NOT. 
• Uma condição composta é formada por duas ou mais condições simples, operadores booleanos 
e parênteses. 
Este tipo de teste foca o teste de cada condição no programa para garantir que ele não contenha erros.
 
Teste De Fluxo de Dados 
 
Este método seleciona caminhos de teste de um programa de acordo com as localizações de definições e usos de 
variáveis no programa. São úteis para selecionar caminhos de teste de um programa que contenha instruções de 
laços e if aninhadas. 
Uma vez que as instruções de um programa relacionam
a abordagem de teste de fluxo de dados é eficiente para a proteção contra erros.
 
Teste De Ciclos 
 
Este tipo de teste focaliza exclusivamente a validade das construçõ
base da maioria dos algoritmos implementados. Podem ser definidos quatro tipos diferentes de classes de ciclos:
 
CICLO SIMPLES CICLOS ANINHADOS
 
 
 
http://estacio.webaula.com.br/Cursos/gon294/docs/03TS_doc01.pdf 
O teste de condição, segundo pressman, é um método de projeto de caso de teste que exercita as condições lógicas 
Uma condição simples é uma variável booleana ou uma expressão relacional, possivelmente 
Uma condição composta é formada por duas ou mais condições simples, operadores booleanos 
Este tipo de teste foca o teste de cada condição no programa para garantir que ele não contenha erros.
do seleciona caminhos de teste de um programa de acordo com as localizações de definições e usos de 
variáveis no programa. São úteis para selecionar caminhos de teste de um programa que contenha instruções de 
es de um programa relacionam-se entre si de acordo com as definições e usos de variáveis, 
a abordagem de teste de fluxo de dados é eficiente para a proteção contra erros. 
Este tipo de teste focaliza exclusivamente a validade das construções de ciclo, já que são em sua grande maioria a 
base da maioria dos algoritmos implementados. Podem ser definidos quatro tipos diferentes de classes de ciclos:
 
 
CICLOS ANINHADOS CICLOS CONCATENADOSC CICLOS DESESTRUTURADOS
O teste de condição, segundo pressman, é um método de projeto de caso de teste que exercita as condições lógicas 
Uma condição simples é uma variável booleana ou uma expressão relacional, possivelmente 
Uma condição composta é formada por duas ou mais condições simples, operadores booleanos 
Este tipo de teste foca o teste de cada condição no programa para garantir que ele não contenha erros. 
do seleciona caminhos de teste de um programa de acordo com as localizações de definições e usos de 
variáveis no programa. São úteis para selecionar caminhos de teste de um programa que contenha instruções de 
se entre si de acordo com as definições e usos de variáveis, 
es de ciclo, já que são em sua grande maioria a 
base da maioria dos algoritmos implementados. Podem ser definidos quatro tipos diferentes de classes de ciclos: 
 
CICLOS DESESTRUTURADOS 
 
 
 
 
Teste De Caixa-preta 
 
O teste da caixa preta, também conhecido como teste comportamental, focaliza os requisitos funcionais do 
software. Este tipo de teste complementa o teste da caixa branca, pois permite descobrir uma classe de erros 
diferentes daquela obtida com métodos da caixa-branca. Os testes de caixa preta são realizados para responder as 
seguintes perguntas: 
 Como a validade funcional é testada? 
 Como o comportamento e o desempenho do sistema é testado? 
 Que classes de entrada farão bons casos de teste? 
 O sistema é particularmente sensível a certos valores de entrada? 
 Como as fronteiras de uma classe dedados é isolada? 
 Que taxas e volumes de dados o sistema pode tolerar? 
 Que efeito combinações específicas de dados terão sobre a operação do sistema? 
Desta forma o teste de caixa-preta tenta encontrar erros nas seguintes categorias: 
 Funções incorretas ou faltando; 
 Erros de interface; 
 Erros em estruturas de dados ou acesso a bases de dados externas; 
 Erros de comportamento ou de desempenho 
 Erros de inicialização e término. 
 
Existem diferentes métodos de testes de caixa-preta que podem ser subdivididos em: 
 
Baseado Em Grafo 
 
O método de teste com base em grafos, leva em consideração os objetos modelados no software e as relações que 
unem estes objetos. A ideia é definir uma série de testes que verificam se os objetos têm a relação esperada uns 
com outros. 
Um grafo é uma coleção de nós que representam objetos, ligações que representam as relações entre objetos, 
peso de nó que descrevem as propriedades de um nó e pesos de ligação que descrevem alguma característica de 
uma ligação. 
A representação simbólica é mostrada na imagem. 
Existe uma série de métodos de testes comportamental que utilizam grafos: 
 
 
 
 
 
 
 
Particionamento De Equivalência 
 
Neste método o domínio de entrada de um programa é divido em classes de dados a partir das quais podem ser 
criados casos de teste. 
Um caso de teste ideal descobre sozinho uma classe de erros (por exemplo, processamento incorreto de todos os 
dados de caracteres) que poderia de outro modo requerer que fossem executados muitos casos de teste até que o 
erro geral aparecesse. 
Classes de equivalência podem ser definidas de acordo com as seguintes regras:
 Se uma condição de entrada especifica um intervalo, são de
classes de equivalência inválidas. 
 Se uma condição de entrada requer um valor específico, são definidas uma classe de equivalência válida e 
duas classes de equivalência inválidas.
 Se uma condição de entrada especifica de um membro de um conjunto , são definidas uma classe de 
equivalência válida e uma classe de equivalência inválida.
 Se uma condição de entrada for booleana, são definidas uma classe válida e uma classe inválida.
 
EXEMPLO: 
Um programa valida um campo numérico onde valores inferiores ou iguais a zero são rejeitados, valores entre 1 a 
130 são aceitos, e valores maiores ou iguais a 131 são rejeitados. 
 Neste caso: 
Partição inválida: os valores abaixo do valor mínimo, ou seja, valores menores ou igu
Partição válida: valores entre 1 a 130; 
Partição inválida: valores acima do valor máximo, ou seja, valores maiores ou igual a 131;
 
Análise De Valor-limite 
 
A análise do valor limite (boundary value analisys 
equivalência, levando em consideração na construção dos casos de teste 
entrada e saída. 
As diretrizes para o teste de análise de valor
equivalência: 
1 - Se uma condição de entrada especifica um intervalo limitado por valores a e b, deverão ser projetados casos de 
teste com valores a e b imediatamente acima e abaixo de a e b.
2 - Se uma condição de entrada especifica um conjunto de valores, deverão ser desenvolvidos casos de teste que 
usam o número mínimo e máximo. São testados também valores imediatamente acima e abaixo dos valores 
e máximo. 
 3 - Aplicar as diretrizes 1 e 2 às condições de saída. 
4 - Se as estruturas de dados internas do programa prescreverem fronteiras, não 
para exercitar a estrutura de dados na fronteira. Por exemplo, uma tabela que tem um limite definido de 100 
entradas 
Neste método o domínio de entrada de um programa é divido em classes de dados a partir das quais podem ser 
Um caso de teste ideal descobre sozinho uma classe de erros (por exemplo, processamento incorreto de todos os 
teres) que poderia de outro modo requerer que fossem executados muitos casos de teste até que o 
Classes de equivalência podem ser definidas deacordo com as seguintes regras: 
Se uma condição de entrada especifica um intervalo, são definidas uma classe de equivalência válida e duas 
Se uma condição de entrada requer um valor específico, são definidas uma classe de equivalência válida e 
duas classes de equivalência inválidas. 
especifica de um membro de um conjunto , são definidas uma classe de 
equivalência válida e uma classe de equivalência inválida. 
Se uma condição de entrada for booleana, são definidas uma classe válida e uma classe inválida.
campo numérico onde valores inferiores ou iguais a zero são rejeitados, valores entre 1 a 
130 são aceitos, e valores maiores ou iguais a 131 são rejeitados. 
Partição inválida: os valores abaixo do valor mínimo, ou seja, valores menores ou iguais a zero.
Partição inválida: valores acima do valor máximo, ou seja, valores maiores ou igual a 131; 
A análise do valor limite (boundary value analisys – BVA) é uma técnica que complementa o particionamento de 
na construção dos casos de teste os valores limites das condições de 
As diretrizes para o teste de análise de valor-limite, são muito similares a técnica de particionamento de
Se uma condição de entrada especifica um intervalo limitado por valores a e b, deverão ser projetados casos de 
teste com valores a e b imediatamente acima e abaixo de a e b. 
Se uma condição de entrada especifica um conjunto de valores, deverão ser desenvolvidos casos de teste que 
usam o número mínimo e máximo. São testados também valores imediatamente acima e abaixo dos valores 
e 2 às condições de saída. 
Se as estruturas de dados internas do programa prescreverem fronteiras, não se esquecer de
para exercitar a estrutura de dados na fronteira. Por exemplo, uma tabela que tem um limite definido de 100 
 
Neste método o domínio de entrada de um programa é divido em classes de dados a partir das quais podem ser 
Um caso de teste ideal descobre sozinho uma classe de erros (por exemplo, processamento incorreto de todos os 
teres) que poderia de outro modo requerer que fossem executados muitos casos de teste até que o 
finidas uma classe de equivalência válida e duas 
Se uma condição de entrada requer um valor específico, são definidas uma classe de equivalência válida e 
especifica de um membro de um conjunto , são definidas uma classe de 
Se uma condição de entrada for booleana, são definidas uma classe válida e uma classe inválida. 
campo numérico onde valores inferiores ou iguais a zero são rejeitados, valores entre 1 a 
ais a zero. 
ta o particionamento de 
os valores limites das condições de 
limite, são muito similares a técnica de particionamento de 
Se uma condição de entrada especifica um intervalo limitado por valores a e b, deverão ser projetados casos de 
Se uma condição de entrada especifica um conjunto de valores, deverão ser desenvolvidos casos de teste que 
usam o número mínimo e máximo. São testados também valores imediatamente acima e abaixo dos valores mínimo 
se esquecer de criar caso de teste 
para exercitar a estrutura de dados na fronteira. Por exemplo, uma tabela que tem um limite definido de 100 
EXEMPLO: 
Um campo de entrada (imput field) referente a data do nascimento e que aceita como valores 
terá como valores limites: 
 Valor limite mínimo inválido: 1899; 
Valor limite mínimo válido: 1900; 
Valor limite máximo válido:2011; 
Valor limite máximo inválido: 2012. 
 
Teste De Matriz Ortogonal 
O teste de matriz ortogonal pode ser aplicado a problemas nos quais o domínio de entrada é relativamente 
pequeno, mas muito grande para acomodar um 
teste com uma visualização geométrica associada aos valores de entrada de uma aplicação.
 Para ilustrar (pressamn, 2011) vamos considerar 
passados quatro parâmetros: P1, P2, P3 e P4. Cada parâmetro assume três valores discretos. P1 assume, por 
exemplo, os valores: 
 
 
P1=1, enviar agora;
P1=2, enviar após 1 hora;
P1=3, enviar depois da meia
 P2, P3 e P4 também assumiriam valores, 1, 2 e 3, significando outras 
funçõe
Uma matriz ortogonal para a função envie da aplicação de fax está ilustrada 
ao lado.
 
 
 
 
 
 
 
 
 
 
Site com vários artigos e técnicas sobre teste de software:
http://www.mhhe.com/engcs/compsci/pressman/professional/olc/ser.htm
 
 
AULA 4: TESTE NO PROGRAMA: TESTE DE AMBIENTE WEB
 
 
 
 
Um campo de entrada (imput field) referente a data do nascimento e que aceita como valores 
O teste de matriz ortogonal pode ser aplicado a problemas nos quais o domínio de entrada é relativamente 
pequeno, mas muito grande para acomodar um teste exaustivo. O objetivo do teste é a construção de caso de 
teste com uma visualização geométrica associada aos valores de entrada de uma aplicação. 
Para ilustrar (pressamn, 2011) vamos considerar a função envie para uma aplicação de fax. 
P2, P3 e P4. Cada parâmetro assume três valores discretos. P1 assume, por 
P1=1, enviar agora; 
P1=2, enviar após 1 hora; 
P1=3, enviar depois da meia-noite; 
P2, P3 e P4 também assumiriam valores, 1, 2 e 3, significando outras 
funções de envio. 
Uma matriz ortogonal para a função envie da aplicação de fax está ilustrada 
ao lado. 
Site com vários artigos e técnicas sobre teste de software: 
http://www.mhhe.com/engcs/compsci/pressman/professional/olc/ser.htm 
AULA 4: TESTE NO PROGRAMA: TESTE DE AMBIENTE WEB
 
 
 
Um campo de entrada (imput field) referente a data do nascimento e que aceita como valores de 1900 até 2011, 
O teste de matriz ortogonal pode ser aplicado a problemas nos quais o domínio de entrada é relativamente 
construção de caso de 
envie para uma aplicação de fax. Neste exemplo, são 
P2, P3 e P4. Cada parâmetro assume três valores discretos. P1 assume, por 
P2, P3 e P4 também assumiriam valores, 1, 2 e 3, significando outras 
Uma matriz ortogonal para a função envie da aplicação de fax está ilustrada 
AULA 4: TESTE NO PROGRAMA: TESTE DE AMBIENTE WEB 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Teste De Conteúdo 
 
O teste de conteúdo tenta descobrir erros antes que sejam encontrados pelos usuários. Ele combina tanto as 
revisões, já estudadas nas aulas anteriores, quanto a geração de casos de tese executáveis.
Os testes de conteúdo têm três importantes objetivos:
 
1. Descobrir erros de sintaxe 
2. Descobrir erros de semântica; 
3. Encontrar erros na organização ou estrutura do conteúdo apresentado ao usuário final.
 
Normalmente são usados verificadores automáticos de ortografia e gramática, porém, 
detecção pelas ferramentas, utiliza-se também um revisor humano. 
perguntas: 
 
 As informações são precisas? 
 As informações são concisas e direcionadas ao assunto?
 É fácil para o usuário entender o layout do objeto do conteúdo?
 As informações apresentadas são consistentes internamente e consistentes com as informações 
apresentadas em outros objetos de conteúdo?
 Foram fornecidas referências apropriadas para todas as informações derivadas de
 O conteúdo é ofensivo, confuso ou dá margem a litígio?
 O conteúdo desrespeita os direitos autorais existentes ou de marcas registradas?
 O conteúdo contém links que complementam o conteúdo existente? Os links estão corretos?
 O estilo estético do conteúdo está em conflito com o estilo estético da interface?
 
Teste de interface com o usuário 
 
A verificação e a validação de uma interface de usuário ocorrem em três pontos distintos:
 
DURANTE A ANÁLISE
 
 
O teste de conteúdo tenta descobrir erros antes que sejam encontrados pelos usuários. Ele combina tanto as 
revisões, já estudadas nas aulas anteriores, quanto a geração de casos de tese executáveis. 
rtantes objetivos: 
3. Encontrar erros na organização ou estrutura do conteúdo apresentado ao usuário final. 
Normalmente são usados verificadores automáticos de ortografia e gramática, porém,como muitos erros fogem à 
se também um revisor humano. O revisor deverá responder as seguintes 
As informações são concisas e direcionadas ao assunto? 
entender o layout do objeto do conteúdo? 
As informações apresentadas são consistentes internamente e consistentes com as informações 
apresentadas em outros objetos de conteúdo? 
Foram fornecidas referências apropriadas para todas as informações derivadas de outras fontes?
O conteúdo é ofensivo, confuso ou dá margem a litígio? 
O conteúdo desrespeita os direitos autorais existentes ou de marcas registradas? 
O conteúdo contém links que complementam o conteúdo existente? Os links estão corretos?
o do conteúdo está em conflito com o estilo estético da interface? 
A verificação e a validação de uma interface de usuário ocorrem em três pontos distintos: 
ANÁLISE DURANTE O PROJETO DURANTE O TESTE
O teste de conteúdo tenta descobrir erros antes que sejam encontrados pelos usuários. Ele combina tanto as 
como muitos erros fogem à 
O revisor deverá responder as seguintes 
As informações apresentadas são consistentes internamente e consistentes com as informações 
outras fontes? 
O conteúdo contém links que complementam o conteúdo existente? Os links estão corretos? 
DURANTE O TESTE 
 
TESTE DE MECANISMO 
DE INTERFACE 
TESTE DE SEMÂNTICA 
DA INTERFACE 
TESTE DE 
USABILIDADE 
TESTE DE 
COMPATIBILIDADE 
 
 
Teste De Componente 
 
Teste De Navegação 
 
O objetivo do teste de navegação é garantir que os mecanismos que permitem ao usuário navegar através da 
aplicação Web estejam todos em funcionamento e que, cada unidade semântica de navegação (NSU 
semantic unit) possa ser alcançada pela categ
 
1 - Teste de sintaxe 
 
Segundo Pressman, neste tipo de teste os mecanismos de navegação são verificados para garantir que cada um 
execute sua função planejada e garantir que os erros sej
 
 
 
O objetivo do teste de navegação é garantir que os mecanismos que permitem ao usuário navegar através da 
aplicação Web estejam todos em funcionamento e que, cada unidade semântica de navegação (NSU 
semantic unit) possa ser alcançada pela categoria apropriada de usuário. Desta forma, este tipo de teste abrange:
Segundo Pressman, neste tipo de teste os mecanismos de navegação são verificados para garantir que cada um 
execute sua função planejada e garantir que os erros sejam encontrados antes que a aplicação entre no ar:
 
 
 
 
O objetivo do teste de navegação é garantir que os mecanismos que permitem ao usuário navegar através da 
aplicação Web estejam todos em funcionamento e que, cada unidade semântica de navegação (NSU – navigation 
oria apropriada de usuário. Desta forma, este tipo de teste abrange: 
Segundo Pressman, neste tipo de teste os mecanismos de navegação são verificados para garantir que cada um 
am encontrados antes que a aplicação entre no ar: 
 
 
 
2 - Teste de semântica 
 
A unidade semântica de navegação (NSU) é definida como uma série de informações e estruturas de navegação 
relacionadas que colabora no atendimento a um subconjunto de requisitos de usuários relacionados. 
Desta forma, cada NSU pode ser exemplificada por um
navegação (por exemplo, páginas Web, objetos de conteúdo ou funcionalidade), que permite ao usuário satisfazer 
requisitos específicos definidos por um ou mais casos de uso para uma categoria de usuário
semântico deverá responder as seguintes perguntas:
 
 
Teste de Configuração 
 
O objetivo do teste de configuração (Pressman, 2011) é testar um conjunto de prováveis configurações do cliente e 
do servidor para assegurar que a experiência do usuário seja a mesma em todos os casos e isolar erros que podem 
ser específicos a uma determinada configuração.
 
 
 
 
 
A unidade semântica de navegação (NSU) é definida como uma série de informações e estruturas de navegação 
relacionadas que colabora no atendimento a um subconjunto de requisitos de usuários relacionados. 
Desta forma, cada NSU pode ser exemplificada por um conjunto de caminhos de navegação que conectam nós de 
navegação (por exemplo, páginas Web, objetos de conteúdo ou funcionalidade), que permite ao usuário satisfazer 
requisitos específicos definidos por um ou mais casos de uso para uma categoria de usuário. Neste caso, o teste 
semântico deverá responder as seguintes perguntas: 
 
O objetivo do teste de configuração (Pressman, 2011) é testar um conjunto de prováveis configurações do cliente e 
experiência do usuário seja a mesma em todos os casos e isolar erros que podem 
ser específicos a uma determinada configuração. 
 
 
 
A unidade semântica de navegação (NSU) é definida como uma série de informações e estruturas de navegação 
relacionadas que colabora no atendimento a um subconjunto de requisitos de usuários relacionados. 
conjunto de caminhos de navegação que conectam nós de 
navegação (por exemplo, páginas Web, objetos de conteúdo ou funcionalidade), que permite ao usuário satisfazer 
. Neste caso, o teste 
O objetivo do teste de configuração (Pressman, 2011) é testar um conjunto de prováveis configurações do cliente e 
experiência do usuário seja a mesma em todos os casos e isolar erros que podem 
 
 
 
Teste de Desempenho 
 
À medida que aumenta o número de usuários nas aplicações webApp
ocorre um aumento do número de transações online ou 
quantidade de dados através das operações de download ou upload. É 
muito frustrante para um usuário quando uma aplicação leva muitos 
minutos para carregar o conteúdo ou quando recebe do servidor 
mensagem do tipo “servidor ocupado”. 
O teste de desempenho é usado para descobrir problemas de 
desempenho que podem resultar, por exemplo, da falta de recursos no 
lado do servidor, da largura da banda ou dos recursos de banco de 
dados inadequados. 
A intenção é entender como os sistemas respondem quando a carga aumenta e ainda reunir métricas que 
conduzirão a modificações de projeto para melhorar o desempenho
Número de usuários, número de transações ou volume geral de dados.
 
O teste de desempenho irá ajudar, neste caso, a responder as seguintes questões: 
 
- O tempo de resposta do servidor degrada de forma a tornar
- Em que ponto, sob o ponto de vista dos usuários, transações ou cargas de dados, o desempenho se torna 
inaceitável? 
- Quais componentes do sistema são responsáveis pela degradação do desempenho?
- Qual o tempo médio de resposta para usuários sob diferentes condições de carga?
- A degradação do desempenho tem um impacto sobre a segurança do sistema?
- A confiabilidade ou precisão da Aplicação é afetada quando a carga no sistema aumenta?
- O que acontece quando são aplicadas cargas maiores do que a capacidade máxima do servidor?
- A degradação de desempenho tem impacto sobre os lucros da empresa?
 
ATENÇÃO! Para obter respostas para essas perguntas, são feitos dois testes diferentes de desempenho: 
- Teste de carga 
- Teste de esforço (stress) 
 
http://estacio.webaula.com.br/Cursos/gon294/docs/04TS_doc01.pdf
Ler: Livro do Pressman, 6ª edição, capítulo 20, Teste de aplicações Web
 
 
À medida que aumenta o número de usuários nas aplicações webApp, 
número de transações online ou na 
através das operações de download ou upload. É 
muito frustrante para um usuário quando uma aplicação leva muitos 
minutos para carregar o conteúdo ou quando recebe do servidor uma 
O teste de desempenho é usado para descobrir problemas de 
desempenho que podem resultar, por exemplo, da falta de recursos no 
lado do servidor, da largura da banda ou dos recursos de banco de 
intenção é entender como os sistemas respondem quando a carga aumenta e ainda reunir métricas que 
conduzirão a modificações de projeto para melhorar o desempenho 
Número de usuários, número de transações ou volume geral de dados. 
ajudar, neste caso, a responder asseguintes questões: 
O tempo de resposta do servidor degrada de forma a tornar-se inaceitável? 
Em que ponto, sob o ponto de vista dos usuários, transações ou cargas de dados, o desempenho se torna 
uais componentes do sistema são responsáveis pela degradação do desempenho? 
Qual o tempo médio de resposta para usuários sob diferentes condições de carga? 
A degradação do desempenho tem um impacto sobre a segurança do sistema? 
ecisão da Aplicação é afetada quando a carga no sistema aumenta? 
O que acontece quando são aplicadas cargas maiores do que a capacidade máxima do servidor?
A degradação de desempenho tem impacto sobre os lucros da empresa? 
s para essas perguntas, são feitos dois testes diferentes de desempenho: 
http://estacio.webaula.com.br/Cursos/gon294/docs/04TS_doc01.pdf 
Livro do Pressman, 6ª edição, capítulo 20, Teste de aplicações Web 
 
 
intenção é entender como os sistemas respondem quando a carga aumenta e ainda reunir métricas que 
Em que ponto, sob o ponto de vista dos usuários, transações ou cargas de dados, o desempenho se torna 
O que acontece quando são aplicadas cargas maiores do que a capacidade máxima do servidor? 
s para essas perguntas, são feitos dois testes diferentes de desempenho: 
AULA 5: TESTE NA IMPLANTAÇÃO DO SISTEMA: TESTE DE UNIDADE
 
 
 
Quem os realiza? 
 
Normalmente, para que o processo de teste transcorra de forma íntegra é comum a utilização de um grupo 
independente de teste, já que as pessoas que criaram o software não devem ser as que irão realizar os testes. Seria 
um conflito de interesses, pois foram elas que o desenvolveram. Normalmente este grupo trabalha de forma 
conjunta e existem testes que somente são conduzidos pelos desenvolvedores, como o teste de unidade que iremos 
estudar mais adiante. 
 
Uma estratégia de teste de software é desenvolvida p
especialistas em testes. 
 
AULA 5: TESTE NA IMPLANTAÇÃO DO SISTEMA: TESTE DE UNIDADE
 
Normalmente, para que o processo de teste transcorra de forma íntegra é comum a utilização de um grupo 
independente de teste, já que as pessoas que criaram o software não devem ser as que irão realizar os testes. Seria 
elas que o desenvolveram. Normalmente este grupo trabalha de forma 
conjunta e existem testes que somente são conduzidos pelos desenvolvedores, como o teste de unidade que iremos 
Uma estratégia de teste de software é desenvolvida pelo gerente de projeto, pelos engenheiros de software e pelos 
AULA 5: TESTE NA IMPLANTAÇÃO DO SISTEMA: TESTE DE UNIDADE 
 
Normalmente, para que o processo de teste transcorra de forma íntegra é comum a utilização de um grupo 
independente de teste, já que as pessoas que criaram o software não devem ser as que irão realizar os testes. Seria 
elas que o desenvolveram. Normalmente este grupo trabalha de forma 
conjunta e existem testes que somente são conduzidos pelos desenvolvedores, como o teste de unidade que iremos 
elo gerente de projeto, pelos engenheiros de software e pelos 
 
Por que é importante? 
 
 
 
 
 
 
 
Quais são as etapas envolvidas? 
 
Conforme a imagem, os testes 
iniciais, também conhecidos 
como teste de unidade, 
focalizam um único 
componente e se aplicam para 
descobrir erros nos dados e na 
lógica de processamento 
destes componentes. 
Posteriormente, cada 
componente testado deve ser 
integrado. Neste momento 
ocorre o teste de integração, 
cuja preocupação é verificar 
problemas associados à 
construção do programa. Após 
esta fase, ocorrem testes de 
ordem superior, como por 
exemplo, o teste de validação 
com o objetivo de garantir que o software satisfaça a todos os requisitos informativos, funcionais, comportamentais 
e de desempenho. A última etapa de teste de ordem superior é o teste de sistema, que verifica se todos os 
elementos se combinam corretamente e se a função/desempenho global do sistema é conseguida.
 
com o objetivo de garantir que o software satisfaça a todos os requisitos informativos, funcionais, comportamentais 
A última etapa de teste de ordem superior é o teste de sistema, que verifica se todos os 
elementos se combinam corretamente e se a função/desempenho global do sistema é conseguida.
 
com o objetivo de garantir que o software satisfaça a todos os requisitos informativos, funcionais, comportamentais 
A última etapa de teste de ordem superior é o teste de sistema, que verifica se todos os 
elementos se combinam corretamente e se a função/desempenho global do sistema é conseguida. 
Assim como o processo de software, uma estratégia de 
teste de software também pode ser vista como uma 
espiral. O processo de software começa com a análise 
dos requisitos de software, evolui para o projeto e, 
finalmente, a codificação do software. Já uma 
estratégia de teste de software percorre a espiral de 
forma inversa. Começa com o teste de unidade 
implementado no código fonte, passa pelo teste de 
integração, em que o foco está no projeto e 
construção da arquitetura de software, passa pelo 
teste de validação cujo objetivo é validar os requisitos 
estabelecidos em relação ao software criado e, 
finalmente, o teste de sistema, no qual o software e 
outros elementos são testados como um todo.
 
 
 
 
Teste de unidade 
 
O teste de unidade é realizado no estágio mais baixo da escala de teste, isto é, no código do programa, e 
normalmente é realizado pelo desenvolvedor. 
Este tipo de teste é aplicado nos menores componentes de código criado, visando garantir que estes atendam as 
especificações em termos de características e de funcionalidade. O teste de unidade foca na lógica interna de 
processamento e nas estruturas de dados dentro dos limites de um componente, conforme a imagem.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Procedimentos de teste de unidade 
 
1- O teste de unidade é considerado um auxiliar para a etapa de codificação. Podem ocorrer antes de começar a 
codificação ou depois que o código-fonte tiver sido gerado. Como cada componente não é um programa 
independente, deve ser construído um pseudocontrol
de unidade. 
 
2- Eles irão auxiliar no teste unitário, já que um pseudocontrolador representa o “programa principal” que aceita 
dados do caso de teste e passa esses dados para o componente a ser 
Assim como o processo de software, uma estratégia de 
mbém pode ser vista como uma 
espiral. O processo de software começa com a análise 
dos requisitos de software, evolui para o projeto e, 
finalmente, a codificação do software. Já uma 
estratégia de teste de software percorre a espiral de 
com o teste de unidade 
implementado no código fonte, passa pelo teste de 
integração, em que o foco está no projeto e 
construção da arquitetura de software, passa pelo 
teste de validação cujo objetivo é validar os requisitos 
tware criado e, 
finalmente, o teste de sistema, no qual o software e 
outros elementos são testados como um todo. 
O teste de unidade é realizado no estágio mais baixo da escala de teste, isto é, no código do programa, e 
ealizado pelo desenvolvedor. 
Este tipo de teste é aplicado nos menores componentes de código criado, visando garantir que estes atendam as 
especificações em termos de características e de funcionalidade. O teste de unidade foca na lógica interna de 
samento e nas estruturas de dados dentro dos limites de um componente, conforme a imagem.
O teste de unidade é considerado um auxiliar para a etapa de codificação. Podem ocorrer antes de começar a 
fonte tiver sido gerado. Como cada componente não é um programa 
independente, deve ser construído um pseudocontrolador (driver) e/ou um pseudocontrolado (stub) para cada teste 
Eles irão auxiliar no teste unitário, já que um pseudocontrolador representa o “programa principal” que aceita 
dados do caso de teste e passa esses dados para o componente a ser testado. Já o pseudocontrolado utilizaa 
O teste de unidade é realizado no estágio mais baixo da escala de teste, isto é, no código do programa, e 
Este tipo de teste é aplicado nos menores componentes de código criado, visando garantir que estes atendam as 
especificações em termos de características e de funcionalidade. O teste de unidade foca na lógica interna de 
samento e nas estruturas de dados dentro dos limites de um componente, conforme a imagem. 
O teste de unidade é considerado um auxiliar para a etapa de codificação. Podem ocorrer antes de começar a 
fonte tiver sido gerado. Como cada componente não é um programa 
ador (driver) e/ou um pseudocontrolado (stub) para cada teste 
Eles irão auxiliar no teste unitário, já que um pseudocontrolador representa o “programa principal” que aceita 
testado. Já o pseudocontrolado utiliza a 
interface dos módulos subordinados e pode fazer uma manipulação de dados mínima através de verificação de 
entrada e retorno do controle para o módulo que está sendo testado.
 
3- Vale ressaltar que pseudocontroladores e pseudocontrolado representam despesas indiretas no projeto de 
desenvolvimento de software, pois são softwares que devem ser escritos e que não serão fornecidos com o produto 
final. 
 
 
Teste de unidade no contexto de Software orientado a objeto
 
Quando consideramos o software orientado a objeto, o conceito de unidade se modifica. Não podemos mais testar 
uma única operação isoladamente como no desenvolvimento convencional, mas como parte de uma classe. Neste 
caso, uma classe encapsulada é usualmente o fo
são as menores unidades testáveis. 
 
Uma classe pode conter um conjunto de diferentes operações, e uma operação em particular pode existir como 
parte de um conjunto de diferentes classes. Assi
unidade para software convencional e foca nas operações encapsuladas na classe e pelo estado de comportamento 
da classe. 
 
Para saber mais sobre os tópicos estudados nesta aula, pesquise na i
relacionados ao conteúdo visto. Se ainda tiver alguma dúvida, fale com seu professor online utilizando os 
recursos disponíveis no ambiente de aprendizagem.
http://www.alats.org.br/portal/missao
http://www.bstqb.org.br/ 
 
interface dos módulos subordinados e pode fazer uma manipulação de dados mínima através de verificação de 
entrada e retorno do controle para o módulo que está sendo testado. 
s e pseudocontrolado representam despesas indiretas no projeto de 
desenvolvimento de software, pois são softwares que devem ser escritos e que não serão fornecidos com o produto 
 
Teste de unidade no contexto de Software orientado a objeto 
consideramos o software orientado a objeto, o conceito de unidade se modifica. Não podemos mais testar 
uma única operação isoladamente como no desenvolvimento convencional, mas como parte de uma classe. Neste 
caso, uma classe encapsulada é usualmente o foco do teste de unidade e as operações (métodos) dentro da classe 
Uma classe pode conter um conjunto de diferentes operações, e uma operação em particular pode existir como 
parte de um conjunto de diferentes classes. Assim, o teste de classe para software OO é o equivalente ao teste de 
unidade para software convencional e foca nas operações encapsuladas na classe e pelo estado de comportamento 
Para saber mais sobre os tópicos estudados nesta aula, pesquise na internet sites, vídeos e artigos 
relacionados ao conteúdo visto. Se ainda tiver alguma dúvida, fale com seu professor online utilizando os 
recursos disponíveis no ambiente de aprendizagem. 
http://www.alats.org.br/portal/missao-proposito.html 
interface dos módulos subordinados e pode fazer uma manipulação de dados mínima através de verificação de 
s e pseudocontrolado representam despesas indiretas no projeto de 
desenvolvimento de software, pois são softwares que devem ser escritos e que não serão fornecidos com o produto 
consideramos o software orientado a objeto, o conceito de unidade se modifica. Não podemos mais testar 
uma única operação isoladamente como no desenvolvimento convencional, mas como parte de uma classe. Neste 
co do teste de unidade e as operações (métodos) dentro da classe 
Uma classe pode conter um conjunto de diferentes operações, e uma operação em particular pode existir como 
m, o teste de classe para software OO é o equivalente ao teste de 
unidade para software convencional e foca nas operações encapsuladas na classe e pelo estado de comportamento 
nternet sites, vídeos e artigos 
relacionados ao conteúdo visto. Se ainda tiver alguma dúvida, fale com seu professor online utilizando os

Continue navegando

Outros materiais