Professional Documents
Culture Documents
Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
2013/2
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Teste Problemas e Desaos Desaos do Teste Limita co es do Teste Impossibilidade Casos de Teste Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu c ao Tipos de Teste T ecnicas de Teste Fases de Teste Teste de Unidade Teste de Integra c ao Teste de Sistema Teste de Aceita c ao Modelo V Resumo Leitura Recomendada Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Teste Problemas e Desaos Desaos do Teste Limita co es do Teste Impossibilidade Casos de Teste Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu c ao Tipos de Teste T ecnicas de Teste Fases de Teste Teste de Unidade Teste de Integra c ao Teste de Sistema Teste de Aceita c ao Modelo V Resumo Leitura Recomendada Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias
De acordo com a norma IEEE Standard 610.12-1990 (IEEE, 1990): The process of operating a system or component under specied conditions, observing or recording the results, and making an evaluation of some aspect of the system or component. Craig e Jaskiel (2002) apresentam outra deni c ao: Testing is a concurrent lifecycle process of engineering, using and maintaining testware in order to measure and improve the quality of the software being tested.
Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Programa ArraySort
Conjunto de Teste Baseado em Experi encias Anteriores
Especica c ao:
Primeira linha do arquivo: quantidade de n umeros presentes no arquivo. A quantidade deve ser especicada como um n umero inteiro positivo n entre 0 n 65.535; Demais linhas: n umeros a serem ordenados (um n umero por linha). Caso mais de um n umero esteja presente na mesma linha ele ser a ignorado.
O conjunto de n umeros informado deve ser do tipo inteiro de dois bytes na base 10.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias
Programa ArraySort
Feita a leitura do arquivo, a sequ encia de n umeros original deve ser apresentada na tela na horizontal com os n umeros separados por v rgula e, em seguida, tais n umeros devem ser ordenados e apresentados em ordem crescente com o mesmo estilo de formata c ao. Em caso de falha, as seguintes mensagens s ao exibidas:
Refer encias
Tamanho inv alido do vetor N umero de elementos divergente do informado Conte udo inv alido do arquivo
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Programa ArraySort
Exemplo: Arquivo de entrada: 5 3 2 1 4 5 Sa da esperada: 3, 2, 1, 4, 5 1, 2, 3, 4, 5
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Diferentes organiza c oes e indiv duos t em vis oes diferentes do prop osito dos testes. Processo de Software versus Processo de Teste N veis de maturidade de teste (Beizer, 1990):
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Diferentes organiza c oes e indiv duos t em vis oes diferentes do prop osito dos testes. Processo de Software versus Processo de Teste N veis de maturidade de teste (Beizer, 1990):
N vel 0 - N ao h a diferen ca entre teste e depura c ao (debugging ); N vel 1 - O prop osito do teste e mostrar que o software funciona.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Diferentes organiza c oes e indiv duos t em vis oes diferentes do prop osito dos testes. Processo de Software versus Processo de Teste N veis de maturidade de teste (Beizer, 1990):
N vel 0 - N ao h a diferen ca entre teste e depura c ao (debugging ); N vel 1 - O prop osito do teste e mostrar que o software funciona. N vel 2 - O prop osito do teste e mostrar que o software n ao funciona.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Diferentes organiza c oes e indiv duos t em vis oes diferentes do prop osito dos testes. Processo de Software versus Processo de Teste N veis de maturidade de teste (Beizer, 1990):
N vel 0 - N ao h a diferen ca entre teste e depura c ao (debugging ); N vel 1 - O prop osito do teste e mostrar que o software funciona. N vel 2 - O prop osito do teste e mostrar que o software n ao funciona. N vel 3 - O prop osito do teste n ao e provar nada, mas reduzir o risco de n ao funcionamento a um valor aceit avel.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Diferentes organiza c oes e indiv duos t em vis oes diferentes do prop osito dos testes. Processo de Software versus Processo de Teste N veis de maturidade de teste (Beizer, 1990):
N vel 0 - N ao h a diferen ca entre teste e depura c ao (debugging ); N vel 1 - O prop osito do teste e mostrar que o software funciona. N vel 2 - O prop osito do teste e mostrar que o software n ao funciona. N vel 3 - O prop osito do teste n ao e provar nada, mas reduzir o risco de n ao funcionamento a um valor aceit avel. N vel 4 - Teste n ao e uma a c ao, mas sim uma disciplina mental (institucionalizada na empresa) que resulta em software de baixo risco sem que seja empregado muito esfor co de teste.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Terminologia (1)
O IEEE Standard Glossary 610.12-1990 (R2002) (IEEE, 2002) diferencia os seguintes termos: 1. Engano (Mistake) a c ao humana que produz um resultado incorreto. Exemplo: uma a c ao incorreta tomada pelo programador. 2. Defeito (Fault) um passo, processo, ou deni c ao de dados incorreta em um produto de software. No uso comum, os termos erro , bug , e defeito s ao usados para expressar esse signicado. Exemplo: um comando ou instru c ao incorreta. 3. Erro (Error) diferen ca entre o valor computado, observado ou medido e o valor teoricamente correto de acordo com a especica c ao. 4. Falha (Failure) inabilidade do sistema ou componente realizar a fun c ao requerida, considerando as quest oes de desempenho exigidas.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Terminologia (2)
Engano
introduz
Defeito
produz
Erro
propaga
Erro
Falha
Causa Consequ encia
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Terminologia (3)
Considere o seguinte comando de atribui c ao: (z = y + x ) 1. Engano o comando e modicado por (z = y x ), caracterizando um defeito. 2. Defeito se ativado (executado) com x = 0, nenhum resultado incorreto e produzido. Para valores de x = 0, o defeito e ativado causando um erro na vari avel z . 3. Erro o estado err oneo do sistema, quando propagado at e a sa da, causar a uma Falha.
Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Teste Problemas e Desaos Desaos do Teste Limita co es do Teste Impossibilidade Casos de Teste Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu c ao Tipos de Teste T ecnicas de Teste Fases de Teste Teste de Unidade Teste de Integra c ao Teste de Sistema Teste de Aceita c ao Modelo V Resumo Leitura Recomendada Refer encias
Desaos
Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Desaos
Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Desaos
Algu em j a testou algum produto de software? Quais foram os maiores desaos? Alguns problemas comuns s ao:
Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Desaos
Algu em j a testou algum produto de software? Quais foram os maiores desaos? Alguns problemas comuns s ao:
Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Desaos
Algu em j a testou algum produto de software? Quais foram os maiores desaos? Alguns problemas comuns s ao:
Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
N ao h a tempo para o teste exaustivo. Muitas combina co es de entrada para serem exercitadas.
Desaos
Algu em j a testou algum produto de software? Quais foram os maiores desaos? Alguns problemas comuns s ao:
N ao h a tempo para o teste exaustivo. Muitas combina co es de entrada para serem exercitadas. Diculdade em determinar os resultados esperados para cada caso de teste.
Desaos
Algu em j a testou algum produto de software? Quais foram os maiores desaos? Alguns problemas comuns s ao:
N ao h a tempo para o teste exaustivo. Muitas combina co es de entrada para serem exercitadas. Diculdade em determinar os resultados esperados para cada caso de teste. Requisitos do software inexistentes ou que mudam rapidamente.
Desaos
Algu em j a testou algum produto de software? Quais foram os maiores desaos? Alguns problemas comuns s ao:
N ao h a tempo para o teste exaustivo. Muitas combina co es de entrada para serem exercitadas. Diculdade em determinar os resultados esperados para cada caso de teste. Requisitos do software inexistentes ou que mudam rapidamente. N ao h a tempo suciente para o teste.
Desaos
Algu em j a testou algum produto de software? Quais foram os maiores desaos? Alguns problemas comuns s ao:
N ao h a tempo para o teste exaustivo. Muitas combina co es de entrada para serem exercitadas. Diculdade em determinar os resultados esperados para cada caso de teste. Requisitos do software inexistentes ou que mudam rapidamente. N ao h a tempo suciente para o teste. N ao h a treinamento no processo de teste.
Desaos
Algu em j a testou algum produto de software? Quais foram os maiores desaos? Alguns problemas comuns s ao:
N ao h a tempo para o teste exaustivo. Muitas combina co es de entrada para serem exercitadas. Diculdade em determinar os resultados esperados para cada caso de teste. Requisitos do software inexistentes ou que mudam rapidamente. N ao h a tempo suciente para o teste. N ao h a treinamento no processo de teste. N ao h a ferramenta de apoio.
Desaos
Algu em j a testou algum produto de software? Quais foram os maiores desaos? Alguns problemas comuns s ao:
N ao h a tempo para o teste exaustivo. Muitas combina co es de entrada para serem exercitadas. Diculdade em determinar os resultados esperados para cada caso de teste. Requisitos do software inexistentes ou que mudam rapidamente. N ao h a tempo suciente para o teste. N ao h a treinamento no processo de teste. N ao h a ferramenta de apoio. Gerentes que desconhecem teste ou que n ao se preocupam com qualidade.
Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
public class Factorial { p u b l i c s t a t i c l o n g compute ( i n t x ) th r ows N e g a t i v e N u m b e r E x c e p t i o n { i f ( x >= 0) { long r = 1; f o r ( int k = 2 ; k <= x ; k++) { r = k ; } return r ; } else { th r ow new N e g a t i v e N u m b e r E x c e p t i o n ( ) ; } } 1 public class Factorial { } 2 p u b l i c s t a t i c l o n g compute ( i n t x ) 3 th r ows N e g a t i v e N u m b e r E x c e p t i o n { 4 i f ( x >= 0) { 5 long r = 1; 6 f o r ( int k = 1 ; k <= x ; k++) { // i n t k = 2 ; 7 r = k ; 8 } 9 return r ; 10 } else { 11 th r ow new N e g a t i v e N u m b e r E x c e p t i o n ( ) ; 12 } 13 } 14 }
Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
p u b l i c boolean v a l i d a t e I d e n t i f i e r ( S t r i n g s ) { char ac har ; boolean v a l i d i d = f a l s e ; ac har = s . charAt ( 0 ) ; v a l i d i d = v a l i d s ( achar ) ; i f ( s . l e n g t h ( ) > 1) { ac har = s . charAt ( 1 ) ; int i = 1; w h i l e ( i < s . l e n g t h ( ) 1) { ac har = s . charAt ( i ) ; i f (! v a l i d f ( achar )) valid id = false; i ++; } } i f ( v a l i d i d && ( s . l e n g t h ( ) >= 1) && ( s . l e n g t h ( ) < 6 ) ) return true; else return f a l s e ;
N ao existe um caminho execut avel que inclua, simultaneamente, os comandos das linhas 15 e 21.
Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Pode
Dom nio de Sa da
Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste
Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu ca o
Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Teste Problemas e Desaos Desaos do Teste Limita co es do Teste Impossibilidade Casos de Teste Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu c ao Tipos de Teste T ecnicas de Teste Fases de Teste Teste de Unidade Teste de Integra c ao Teste de Sistema Teste de Aceita c ao Modelo V Resumo Leitura Recomendada Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste
Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu ca o
O segredo do sucesso do teste est a no projeto dos casos de teste. Segundo (Pressman, 2006): The design of tests for software and other engineering products can be as challenging as the initial design of the product itself. Yet ... software engineers often treat testing as an afterthought, developing test cases that feel right but have little assurance of being complete. Recalling the objectives of testing, we must design tests that have the highest likelihood of nding the most errors with a minimum amount of time and eort.
Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste
Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu ca o
Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste
Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu ca o
Geralmente identicadas como dados fornecidos via teclado para o programa executar. Entretanto, os dados de entrada podem ser fornecidos por outros meios, tais como:
Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Dados oriundos de outro sistema que servem de entrada para o programa em teste; Dados fornecidos por outro dispositivo; Dados lidos de arquivos ou banco de dados; O estado do sistema quando os dados s ao recebidos; O ambiente no qual o programa est a executando.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste
Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu ca o
As sa das tamb em podem ser produzidas de diferentes formas. A mais comum e aquele apresentada na tela do computador. Al em dessa, as sa das podem ser enviadas para:
Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Outro sistema interagindo com o programa em teste; Dados enviados para um dispositivo externo; Dados escritos em arquivos ou banco de dados; O estado do sistema ou o ambiente de execu c ao podem ser alterados durante a execu c ao do programa.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste
Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu ca o
Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste
Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu ca o
Todas as formas de entrada e sa da s ao relevantes. Durante o projeto de um caso de teste, determinar corre c ao da sa da esperada e fun c ao do or aculo (oracle).
Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste
Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu ca o
Todas as formas de entrada e sa da s ao relevantes. Durante o projeto de um caso de teste, determinar corre c ao da sa da esperada e fun c ao do or aculo (oracle). Or aculo corresponde a um mecanismo (programa, processo ou dados) que indica ao projetista de casos de testes a sa da obtida para um caso de teste e aceit avel ou n ao.
Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste
Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu ca o
Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Or aculo Kiddie - simplesmente execute o programa e observe sua sa da. Se ela parecer correta deve estar correta. Conjunto de Teste de Regress ao - execute o programa e compare a sa da obtida com a sa da produzida por uma vers ao mais antiga do programa. Valida c ao de Dados - execute o programa e compare a sa da obtida com uma sa da padr ao determinada por uma tabela, f ormula ou outra deni c ao aceit avel de sa da v alida. Conjunto de Teste Padr ao - execute o programa com um conjunto de teste padr ao que tenha sido previamente criado e validado. Utilizado na valida c ao de compiladores, navegadores Web e processadores de SQL. Programa existente - execute o programa em teste e o programa existente com o mesmo caso de teste e compare as sa das. Semelhante ao teste de regress ao.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste
Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu ca o
Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Existem dois estilos de projeto de casos de teste relacionados com a ordem de execu c ao:
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste
Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu ca o
Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Casos de teste em cascata - quando os casos de teste devem ser executados um ap os o outro, em uma ordem espec ca. O estado do sistema deixado pelo primeiro caso de teste e reaproveitado pelo segundo e assim sucessivamente. Por exemplo, considere o teste de uma base de dados:
criar um registro ler um registro atualizar um registro ler um registro apagar um registro ler o registro apagado
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste
Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu ca o
Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Vantagem - casos de testes tendem a ser pequenos e simples. F aceis de serem projetados, criados e mantidos. Desvantagem - se um caso de teste falhar os casos de teste subsequentes tamb em podem falhar.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste
Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu ca o
Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Vantagem - casos de teste podem ser executados em qualquer ordem. Desvantagem - casos de teste tendem a ser grandes e complexos, mais dif ceis de serem projetados, criados e mantidos.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste
T ecnicas de Teste
Teste Problemas e Desaos Desaos do Teste Limita co es do Teste Impossibilidade Casos de Teste Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu c ao Tipos de Teste T ecnicas de Teste Fases de Teste Teste de Unidade Teste de Integra c ao Teste de Sistema Teste de Aceita c ao Modelo V Resumo Leitura Recomendada Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste
T ecnicas de Teste
Diferentes tipos de testes podem ser utilizados para vericar se um programa se comporta como o especicado. Basicamente, os testes podem ser classicados em teste caixa-preta (black-box testing ), teste caixa-branca (white-box testing ) ou teste baseado em defeito (fault-based testing ). Esses tipos de teste correspondem ` as chamadas t ecnicas de teste.
Fases de Teste
A t ecnica de teste e denida pelo tipo de informa c ao utilizada para realizar o teste.
T ecnica caixa-preta - os testes s ao baseados exclusivamente na especica c ao de requisitos do programa. Nenhum conhecimento de como o programa est a implementado e requerido. T ecnica caixa-branca - os testes s ao baseados na estrutura interna do programa, ou seja, na implementa c ao do mesmo. T ecnica baseada em defeito - os testes s ao baseados em informa co es hist orica sobre defeitos cometidos frequentemente durante o processo de desenvolvimento de software.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste
T ecnicas de Teste
Cada t ecnica de teste possui um conjunto de crit erios de teste. Os crit erios sistematizam a forma como requisitos de teste devem ser produzidos a partir da fonte de informa c ao dispon vel (especica c ao de requisitos, c odigo fonte, hist orico de defeitos, dentre outras). Os requisitos de teste s ao utilizados para:
Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste
T ecnicas de Teste
T ecnica de Teste
tem
dene
Fonte de Informa c ao
usam
Requisitos de Teste
avalia c ao gera c ao
Casos de Teste
Subdividir o dom nio de entrada for cando o testador a escolher diferentes elementos para o teste.
Subdividir o dom nio de entrada for cando o testador a escolher diferentes elementos para o teste.
Subdividir o dom nio de entrada for cando o testador a escolher diferentes elementos para o teste.
Subdividir o dom nio de entrada for cando o testador a escolher diferentes elementos para o teste.
Subdividir o dom nio de entrada for cando o testador a escolher diferentes elementos para o teste.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste
Teste de Unidade Teste de Integra ca o Teste de Sistema Teste de Aceita ca o Modelo V
Teste Problemas e Desaos Desaos do Teste Limita co es do Teste Impossibilidade Casos de Teste Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu c ao Tipos de Teste T ecnicas de Teste Fases de Teste Teste de Unidade Teste de Integra c ao Teste de Sistema Teste de Aceita c ao Modelo V Resumo Leitura Recomendada Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste
Teste de Unidade Teste de Integra ca o Teste de Sistema Teste de Aceita ca o Modelo V
A Atividade de Teste tamb em e dividida em fases, conforme outras atividades de Engenharia de Software. Objetivo e reduzir a complexidade dos testes. Conceito de dividir e conquistar . Come car testar a menor unidade execut avel at e atingir o programa como um todo.
1111 11111 0000 00000 0000 1111 00000 11111 0000 1111 00000 11111 000 111 0000 1111 00000 11111 0000 1111 000 111 0000 1111 000 111 0000 1111 000 111 0000 1111 000 111 000 111 000000 111111 0000 1111 000 111 0000 1111 000 111 000 111 000000 111111 0000 1111 000 111 0000 1111 000 111 000 111 000000 111111 0000 1111 000 111 0000 1111 000 111 000000 111111 000 111 0000 1111 000 111 0000 1111 000 111 000 111 0000 1111 0000 1111 000 111 000 111 000 111 000 111 0000 1111 0000 1111 000 111 000 000 111 000 111 0000 111 1111
Teste de Unidade 111 000 0000 1111 000 111 0000 1111 000 111 0000 1111 000 111 0000 1111 000 111 0000 1111 000 111 0000 1111 000 111 0000 1111 000 111 0000 1111 000 111 0000 1111 000 111 0000 1111 000 111 0000 1111 000 111 0000 1111 Teste de Integrao
Mtodo
1111 0000 0000 1111 0000 1111 0000 1111 0000 1111 0000 1111 1111 0000 0000 1111 0000 1111 0000 1111 0000 1111
111 000 000000 111111 000 111 000000 111111 000 111 000000 111111 0001111 111 000000 111111 0000 000 111 111 000 0000 1111 000 111 000 111 000 111 0000 1111 000 000 111 000 111 111
111 000 000 111 000 111 000 111 000 111 000 111
Todo Sistema
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste
Teste de Unidade Teste de Integra ca o Teste de Sistema Teste de Aceita ca o Modelo V
Teste de Unidade
Objetivo e identicar erros de l ogica e de programa c ao na menor unidade de programa c ao. Diferentes linguagens possuem unidades diferentes.
Pascal e C possuem procedimentos ou fun co es. Java e C++ possuem m etodos (ou classes?). Basic e COBOL (o que seriam unidades?).
Como testar uma unidade que depende de outra para ser executada? Como testar uma unidade que precisa receber dados de outra unidade para ser executada?
Refer encias
Driver e Stub
Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste
Teste de Unidade Teste de Integra ca o Teste de Sistema Teste de Aceita ca o Modelo V
Para auxiliar no teste de unidade, em geral, s ao necess arios drivers e stubs. O driver e respons avel por fornecer para uma dada unidade os dados necess arios para ela ser executada e, posteriormente, apresentar os resultados ao testador. O stub serve para simular o comportamento de uma unidade que ainda n ao foi desenvolvida, mas da qual a unidade em teste depende.
entrada driver sa da
Unidade em Teste (F )
stub1
stub2
stubn
Drivers e Stubs.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste
Teste de Unidade Teste de Integra ca o Teste de Sistema Teste de Aceita ca o Modelo V
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste
Dados podem se perder na interface das unidades. Vari aveis globais podem sofrer altera c oes indesejadas.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste
Teste de Unidade Teste de Integra ca o Teste de Sistema Teste de Aceita ca o Modelo V
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste
Teste de Unidade Teste de Integra ca o Teste de Sistema Teste de Aceita ca o Modelo V
Teste de Sistema
Objetivo e vericar se o programa em si interage corretamente com o sistema para o qual foi projetado. Isso inclui, por exemplo, o SO, banco de dados, hardware, manual do usu ario, treinamento, etc. Corresponde a um teste de integra c ao de mais alto n vel. Inclui teste de funcionalidade, usabilidade, seguran ca, conabilidade, disponibilidade, performance, backup/restaura c ao, portabilidade, entre outros (Norma ISO-IEC-9126 para mais informa c oes (ISO/IEC, 1991))
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste
Teste de Unidade Teste de Integra ca o Teste de Sistema Teste de Aceita ca o Modelo V
Teste de Aceita c ao
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste
Teste de Unidade Teste de Integra ca o Teste de Sistema Teste de Aceita ca o Modelo V
Modelo V (V-Model)
Especica c ao de Requisitos Plano de Teste de Aceita c ao Especica c ao do Sistema Plano de Teste de Sistema Projeto do Sistema Plano de Teste de Integra c ao Projeto Detalhado Teste de Integra c ao Teste de Sistema Teste de Aceita c ao Sistema Operacional
Teste de Unidade
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Teste Problemas e Desaos Desaos do Teste Limita co es do Teste Impossibilidade Casos de Teste Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu c ao Tipos de Teste T ecnicas de Teste Fases de Teste Teste de Unidade Teste de Integra c ao Teste de Sistema Teste de Aceita c ao Modelo V Resumo Leitura Recomendada Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Resumo
A atividade de teste e um processo executado em paralelo com as demais atividades do ciclo de vida de desenvolvimento do software. A principal tarefa da atividade de teste e o projeto de casos de teste. Eles e que s ao respons aveis por revelar erros no programa.
O projeto de casos de teste deve levar em considera c ao o objetivo do teste que e demonstrar que o programa em teste possui erros. Segredo e selecionar aqueles casos de teste com maior probabilidade de revelar os erros existentes.
Diferentes t ecnicas de teste existem para auxiliar na atividade de teste. Al em disso, o teste deve ser conduzido em fases para reduzir a complexidade.
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Teste Problemas e Desaos Desaos do Teste Limita co es do Teste Impossibilidade Casos de Teste Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu c ao Tipos de Teste T ecnicas de Teste Fases de Teste Teste de Unidade Teste de Integra c ao Teste de Sistema Teste de Aceita c ao Modelo V Resumo Leitura Recomendada Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Leitura Recomendada
Mais informa c oes sobre esse tema podem ser encontrados em:
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Teste Problemas e Desaos Desaos do Teste Limita co es do Teste Impossibilidade Casos de Teste Projeto de Casos de Teste Entradas Sa das Or aculo Ordem de Execu c ao Tipos de Teste T ecnicas de Teste Fases de Teste Teste de Unidade Teste de Integra c ao Teste de Sistema Teste de Aceita c ao Modelo V Resumo Leitura Recomendada Refer encias
Processo de Teste de Software Auri M. R. Vincenzi Organiza c ao Teste Problemas e Desaos Casos de Teste Tipos de Teste Fases de Teste Resumo Leitura Recomendada Refer encias Refer encias
Beizer, B. Software testing techniques. 2nd ed. New York: Van Nostrand Reinhold Company, 1990. Binder, R. V. Testing object-oriented systems: Models, patterns, and tools, v. 1. Addison Wesley Longman, Inc., 1999. Copeland, L. A practitioners guide to software test design. Artech House Publishers, 2004. Craig, R. D.; Jaskiel, S. P. Systematic software testing. Artech House Publishers, 2002. IEEE IEEE standard glossary of software engineering terminology. Standard 610.12-1990, IEEE Computer Society Press, 1990. IEEE IEEE standard glossary of software engineering terminology. Standard 610.12-1990 (R2002), IEEE Computer Society Press, 2002. ISO/IEC Quality characteristics and guidelines for their use. Padr ao ISO/IEC 9126, ISO/IEC, 1991. Pressman, R. S. Engenharia de software. 6 ed. McGraw-Hill, 2006.