Baixe o app para aproveitar ainda mais
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
Compartilhar