Baixe o app para aproveitar ainda mais
Prévia do material em texto
Testes de caixa-branca Apresentação O teste de caixa-branca, juntamente com o processo de teste de software, consiste em atividades importantes de garantia da qualidade. É considerado uma das áreas de conhecimento da Engenharia de Software, segundo a Institute of Electrical and Electronics Engineers (IEEE), e, portanto, usa como base sólidos princípios estabelecidos na engenharia para que sejam suficientemente confiáveis e possam ser usados em máquinas do mundo real eficientemente. Nesta Unidade de Aprendizagem, você aprenderá sobre a técnica de teste de software do tipo caixa-branca. Esta é uma técnica que se baseia nos caminhos internos do sistema, na sua estrutura e implementação, ou seja, demanda conhecimento do código do produto em teste para ser aplicada. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Definir o que é um teste de caixa-branca e suas características.• Identificar um teste de caixa-branca.• Aplicar testes de caixa-branca utilizando o Java.• Desafio Os testes de software são essenciais para assegurar um produto final de boa qualidade. Podem ser realizados a partir de várias técnicas diferentes, e uma delas é o teste de caixa-branca. Nesse tipo de teste é necessário entender o código e extrair mais detalhes sobre o funcionamento e fluxo lógico, para que possa analisar os níveis de complexidade e também as exigências para os testes. Apresente em forma de lista os detalhes de como pretende trabalhar em cada etapa. Infográfico Os testes de caixa-branca são realizados com olhar interno para os códigos-fontes dos softwares. Esses testes são essenciais para validar o bom funcionamento do sistema e a qualidade do código- fonte escrito pelo desenvolvedor. Logo, um bom processo de levantamento, projeto e execução dos testes é tão importante quanto a codificação do sistema. Acompanhe neste Infográfico o processo de teste de caixa-branca a partir de uma demanda. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/a0eee72c-f275-43a9-9b2a-ac703090e69c/74599bee-d742-484d-9412-3409e7020dba.png Conteúdo do livro Na disciplina de testes de software, várias técnicas já foram criadas ao longo da evolução da produção e teste de sistemas nas fábricas de software. Uma dessas técnicas é o teste de caixa- branca. A técnica de caixa-branca tem um olhar interno no funcionamento do sistema. Os testes são aplicados nas estruturas internas dos sistemas em níveis de componentes do código- fonte, onde as lógicas do programa já estão escritas, prontas para serem testadas. Existem critérios para a aplicação desses testes de modo a atender os objetivos de cada um e você verá mais detalhes sobre eles. No capítulo Testes de caixa-branca, da obra Testes de software e gerência de configuração, você entenderá melhor o assunto, pois é a base teórica desta Unidade de Aprendizagem. Boa leitura. TESTES DE SOFTWARE E GERÊNCIA DE CONFIGURAÇÃO Breno Cristóvão Rocha Testes de caixa-branca Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: Definir teste de caixa-branca e suas características. Identificar um teste de caixa-branca. Aplicar testes de caixa-branca utilizando o Java. Introdução O objetivo de qualquer teste de software é encontrar erros, inconformi- dades e funcionamento inadequado. Na disciplina de testes de software, várias técnicas foram criadas ao longo da evolução da produção e dos testes de sistemas nas fábricas de software. Uma dessas técnicas é o teste de caixa-branca. A técnica de caixa-branca atenta mais ao funcionamento interno do sistema. Os testes são aplicados nas estruturas internas dos sistemas, no nível dos componentes do código-fonte, em que as lógicas do programa já estão escritas e prontas para serem testadas. Neste capítulo, você vai estudar o teste de caixa-branca, suas carac- terísticas e seus critérios. A ideia é que você aprenda a identificar esse tipo de teste de maneira correta e, assim, possa aplicá-lo. Conceito e características O teste de caixa-branca é uma técnica também conhecida como teste estrutural. Esse teste é utilizado para testar módulos juntamente aos seus componentes elementares, de modo a verifi car seu nível de qualidade. Segundo Pressman e Maxim (2016), o teste de caixa-branca usa a visão interna do sistema, então necessita do conhecimento acerca do seu funcionamento interno. Em síntese, essa técnica tem como fundamento examinar os detalhes procedimentais e os caminhos lógicos do software. Para Schach (2008), esse tipo de teste deve ser chamado de teste de caixa transpa- rente. Segundo esse autor, uma caixa-branca é tão opaca quanto uma caixa-preta. Desse modo, a denominação não faz sentido se o objetivo do teste é realmente enxergar o que se passa dentro do sistema. Ao contrário do que ocorre nos testes de caixa-preta, a aplicação dos testes de caixa-branca fornece resultados que possibilitam uma análise diretamente relacionada ao código-fonte do sistema em teste. Dessa forma, as atividades de depuração e manutenção do código têm como base as informações obtidas pela aplicação dos testes (PRESSMAN; MAXIM, 2016). Há diferentes critérios de aplicação para as técnicas de testes. Cada técnica deve ser analisada de acordo com a necessidade e/ou objetivo em questão. Afinal, cada critério possibilita diferentes domínios de entradas, o que acarreta análises de resultado distintas. Os critérios podem ser utilizados em todas as fases de testes, embora seja mais comum o uso em testes de unidade e testes de integração (BARBOSA et al., 2007). A seguir, você vai conhecer os principais elementos do teste de caixa-branca. Notação de grafo de fluxos: também conhecida como “grafo de pro- grama”, essa é uma forma de representar o fluxo de controle do pro- grama. Isso significa que essa não é uma técnica ou um critério de teste. É uma ferramenta para auxiliar no entendimento do fluxo de controle, o que leva à melhor compreensão da abordagem para o projeto e da execução de testes de caixa-branca. Complexidade ciclomática: é uma métrica útil para prever módulos com altos indicadores de erros. Isso quer dizer que essa métrica de software pode ser usada para se obter uma medida do tipo quantita- tiva em relação à complexidade da lógica de um programa. Ela tem fundamento na teoria dos grafos para os cálculos de complexidade e pode ser usada na fase de planejamento de testes. Além disso, pode ser usada na fase de projetos de testes para responder quantos caminhos independentes existem no conjunto base do programa, estabelecendo um limite superior da quantidade de testes a serem executados. Testes de caixa-branca2 Caminho básico: essa técnica de teste foi proposta por Thomas J. McCabe. Ela permite ao projetista de teste criar um conjunto base de caminhos de execução a partir da derivação de uma medida da com- plexidade lógica de um procedimento. Caminhos independentes: são quaisquer caminhos do programa que levam a um novo conjunto de comando ou a uma nova condição. Uma técnica eficiente para descobrir e definir o número de caminhos inde- pendentes é usar a métrica de complexidade ciclomática no contexto do método de teste de caminho básico. Teste de estrutura de controle: funciona bem como um complemento para o teste de caminho básico e amplia a sua abrangência. Usando-os em conjunto se obtém uma melhor qualidade para a caixa-branca (PRESSMAN; MAXIM, 2016). Os critérios de teste estrutural se baseiam em diferentes tipos de conceitos e também nos componentes de programas para determinar os requisitos de teste necessários (BARBOSA et al., 2007). Teste de condição: é um método de projeto de teste que exercita as condições lógicas de um módulo de programa. Esse tipo de teste é feito em condições booleanas simples ou compostas. Por meio dele, é possívelobservar os desvios possíveis e avaliar ambos os resultados, tanto o verdadeiro quanto o falso (PEZZÈ; YOUNG, 2008). As con- dições simples são variáveis booleanas ou expressões relacionais que podem estar precedidas ou não de um operador NOT. Já as condições compostas têm duas ou mais condições simples, operadores booleanos e parênteses. Teste de ciclo: segundo Pressman e Maxim (2016), o teste de ciclo é uma técnica de projeto de teste do tipo caixa-branca e tem seu foco na validação da construção dos ciclos. Ele pode ser definido em quatro classes diferentes: ciclos simples, ciclos concatenados, ciclos aninhados e ciclos não estruturados (Figura 1). 3Testes de caixa-branca Figura 1. Classes de ciclos. Fonte: Pressman e Maxim (2016). Teste de fluxo de dados: utiliza uma análise do fluxo de dados como fonte de informações para derivar o caso de teste. Isso significa que esses critérios são baseados em definições, associações de uma variável e os seus usos possíveis dentro de um programa (BARBOSA et al., 2007). As variáveis podem ser: de definição, de uso computacional ou de uso predicativo. Thomas J. McCabe também desenvolveu a métrica cliclomática em 1976. Ele fez graduação A.B. em matemática pelo Providence College e cursou mestrado pela Universi- dade de Connecticut. Desde 1966, trabalha para o Departamento de Defesa e Segurança Nacional dos Estados Unidos da América em desenvolvimento e gestão de sistemas. Como identificar um teste de caixa-branca Como você já sabe, existem vários critérios para a aplicação de um teste de caixa-branca. A seguir, você vai conhecer cada um deles para entender melhor os seus propósitos. Testes de caixa-branca4 Notação de grafo de fluxo A notação de grafo de fl uxo é uma ferramenta usada para representar o fl uxo de controle lógico. Dessa forma, é possível representar um fl uxograma de controle do programa em um grafo de fl uxo correspondente (Figura 2). Figura 2. (a) Fluxograma e (b) grafo de fluxo. Fonte: Pressman e Maxim (2016). Veja que a Figura 2(a) representa um fluxograma que ilustra a estrutura de controle do programa. Já a Figura 2(b) mostra o mapeamento do fluxograma em um grafo de fluxo de maneira correspondente. Com o fluxograma e o grafo de fluxo representados, é possível identificar melhor como serão aplicados os critérios para os testes. Caminho básico Os caminhos básicos aplicados na Figura 2(b), ou seja, o grafo de fl uxo, são o 1 e o 4. Isso signifi ca que um teste projetado para forçar a execução desses caminhos base terá como resultado um teste que executará com certeza pelo menos uma vez cada comando. Além disso, cada condição terá seus testes de verdadeiro e falso testados. Caminho independente Pressman e Maxim (2016) afi rma que um caminho independente pode ser iden- tifi cado na Figura 2(b), ou seja, no grafo de fl uxo, ao se considerar a seguinte sequência de passos. 5Testes de caixa-branca a) 1 – 11. b) 1 – 2 – 3 – 4 – 5 – 10 – 1 – 11. c) 1 – 2 – 3 – 6 – 8 – 9 – 10 – 1 – 11. d) 1 – 2 – 3 – 6 – 7 – 9 – 10 – 1 – 11. Isso mostra que um novo conjunto de comandos de processamento foi acessado ou que uma nova condição foi testada. Em termos de grafos, um novo caminho deve incluir no mínimo uma aresta que não tenha sido atravessada antes de o caminho ter sido definido. Complexidade ciclomática No critério de complexidade ciclomática, pode ser aplicado o cálculo ciclo- mático com o exemplo da Figura 2(b), ou seja, o grafo de fl uxo. Acompanhe os itens a seguir. A complexidade ciclomática corresponde exatamente ao número de regiões do grafo. Nesse exemplo, o grafo de fluxo tem quatro regiões. A complexidade ciclomática V(G) para o grafo de fluxo é definida como V(G) = E – N + 2. “E” é o número de arestas e “N” é o número de nós do grafo. Nesse exemplo, a fórmula assume V(G) = 11 arestas – 9 nós + 2 = 4. A complexidade ciclomática V(G) para o grafo de fluxo é definida como V(G) = P +1. “P” é o número de nós predicados no grafo. Nesse exemplo, a fórmula é V(G) = 3 nós predicados + 1 = 4. Teste de condição Os testes de condições têm como foco exercitar os seguintes critérios (PRESSMAN; MAXIM, 2006): erros de operador booleano; erros de variáveis booleanas; erros de parêntese booleano; erros de operador relacional; erros de expressão aritmética. Testes de caixa-branca6 Teste de ciclo Ciclo simples: para se iniciar o teste do ciclo simples, é preciso pular o ciclo totalmente. Depois, passar completamente pelo ciclo uma vez e, em seguida, duas vezes. Observe que para esse ciclo há passagens máximas permitidas. Ciclo aninhado: testar ciclos aninhados com a mesma abordagem de ciclos simples levaria a um número exorbitante de testes, tornando o processo inviável. Uma abordagem criada por Beizer ajuda a reduzir esse número. Essa abordagem envolve as seguintes etapas: (1) ao testar, iniciar no ciclo mais interno e manter os demais com valores mínimos; (2) testar o ciclo interno acrescentando outros valores fora do intervalo ou excluídos, mantendo os externos em valores mínimos; (3) direcionar o teste para fora, fazendo o teste para o próximo ciclo, mantendo os valores mínimos nos ciclos externos e os valores típicos nos outros ciclos aninhados; (4) continuar com os passos até que todos os ciclos sejam testados. Ciclo concatenado: esse ciclo pode ser testado da mesma forma que os ciclos simples, embora possa haver ciclos concatenados que não são independentes entre si. Nesse caso, você deve usar o teste de ciclos aninhados. Ciclo desestruturado: esse ciclo, sempre que possível, deve ser avaliado para ser redesenhado e/ou refatorado de modo que possa ser testado com as formas dos ciclos simples, aninhados ou concatenados. Teste de fluxo de dados Para realizar os testes de fl uxo de dados, é preciso estabelecer que as variáveis assumem: definição — acontece quando uma variável recebe a atribuição de um valor; uso computacional — acontece quando uma variável é utilizada para computar; uso predicativo — acontece quando uma variável é usada em uma estrutura condicional. 7Testes de caixa-branca Estabelecidos os conceitos, é necessário entender os dois critérios listados a seguir. Todas as definições: é o critério mais básico conhecido entre os ba- seados em análise de fluxo de dados. Ele estabelece que cada variável seja exercitada ao menos uma vez, independentemente de ser por uso computacional ou predicativo. Todos os usos: é um critério bastante utilizado. Ele requer que todas as associações entre definições de variáveis sejam executadas em uso computacional e uso predicativo, por meio de um caminho em que não ocorram definições. O método do caminho básico pode ser executado sem a representação com uso de grafos ou fluxos. Porém, essas representações são úteis como uma notação que ajuda a entender o fluxo de controle e, dessa forma, ilustrar a abordagem (PRESSMAN; MAXIM, 2016). Como aplicar testes de caixa-branca utilizando Java Para aplicar os testes de caixa-branca usando o caminho base com cálculo ciclomático para determinar caminhos linearmente independentes, primei- ramente você precisa de um código-fonte já com suas estruturas lógicas. Assim, é possível desenhar o grafo de fl uxo correspondente. Esse código ordena uma lista de letras informadas em ordem crescente. A seguir, veja os passos necessários. Passo 1: extrair o grafo de fluxo correspondente do código-fonte Primeiramente, é preciso identifi car onde ocorrem os nós no código-fonte (Figura 3). Testes de caixa-branca8 Figura 3. Extração de grafo de fluxo. Fonte: Adaptada de Murta (2011, documento on-line). Em seguida, é preciso criar o grafo de fluxo com base na identificação dos nós (Figura 4). Figura 4. Grafo de fluxo do código. Fonte: Adaptada de Murta (2011, documento on-line). Passo 2: calcular a complexidade ciclomática do diagrama de fluxo resultante V(G) = 4 regiões. V(G) = 16 arestas. V(G) = 14 nós. Cálculo: V(G) = E – N + 2, ou seja, V(G) = (16 – 14) + 2 = 4. O resultado do cálculo são 4 caminhos linearmente independentes. 9Testes de caixa-branca Passo 3: determinar um conjunto base de caminhos independentes Caminho 1: 1, 2, 12, 13, 14. Caminho 2: 1, 2, 3, 4, 10, 11, 13, 14 (impossível). Caminho 3: 1, 2, 3, 4, 5, 6, 7, 9, 4, 10, 11, 12, 14. Caminho 4: 1, 2, 3, 4, 5, 6, 8, 9, 4, 10, 11, 13, 14. Passo 4: criar caso de teste que obrigue a execução de cada caminho do conjunto base Teste de caminho 1 Observe a Figura 5, a seguir. Figura 5. Teste em código Java (caminho 1). Fonte: Adaptada de Murta (2011, documento on-line). Teste de caminho 2 O teste de caminho 2 é impossível. Afi nal, se uma lista desordenada entra no loop do nó 4, ele com certeza vai percorrer os nós internos para assim chegar ao nó 10. Testes de caixa-branca10 Teste de caminho 3 Observe a Figura 6, a seguir. Figura 6. Teste em código Java (caminho 3). Fonte: Adaptada de Murta (2011, documento on-line). Teste de caminho 4 Observe a Figura 7, a seguir. Figura 7. Teste em código Java (caminho 4). Fonte: Adaptada de Murta (2011, documento on-line). 11Testes de caixa-branca BARBOSA, E. F. et al. (ed.). Introdução ao teste de software. Rio de Janeiro: Elsevier, 2007. MURTA, L. G. P. Verificação, validação e testes. 2011. Disponível em: http://www2.ic.uff. br/~leomurta/courses/2011.1/es2/aula6.pdf. Acesso em: 25 fev. 2019. PEZZÈ, M.; YOUNG, M. Teste e análise de software: processos, princípios e técnicas. Porto Alegre: Bookman, 2008. PRESSMAN, R. S.; MAXIN, B. R. Engenharia de software: uma abordagem profissional. 8. ed. Porto Alegre: AMGH, 2016. SCHACH, S. R. Engenharia de software: os paradigmas clássico & orientado a objetos. 7. ed. Porto Alegre: AMGH, 2008. Leituras recomendadas DELMARO, M. E.; MALDONADO, J. C.; JINO, M. Introdução ao teste de software. 2. ed. Rio de Janeiro: Elsevier, 2016. MCCABE, T. J. McCabe IQ glossary of terms. [2019]. Disponível em: http://www.mccabe. com/iq_research_iqgloss.htm. Acesso em: 25 fev. 2019. Testes de caixa-branca12 Dica do professor Conhecendo as ferramentas, os critérios e complementos que podem ser usados no projeto e execução dos testes de caixa-branca, é importante saber em que momento usar os recursos necessários para um projeto de teste de qualidade. Na Dica do Professor, você verá de forma cadenciada como ocorre o uso das ferramentas, a aplicação dos critérios, complementos e ferramentas para aplicação do teste de caixa-branca. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/a50314aa64e4e6ec91d2dd3a51a2db57 Exercícios 1) Os testes de caixa-branca são bem distintos dos testes de caixa-preta. Esses testes são utilizados para testar módulos juntamente com seus componentes elementares de modo a verificar seu nível de qualidade. A respeito dos testes caixa-branca, assinale a alternativa correta. A) Os testes de caixa-branca também são conhecidos como testes estruturais. Isso quer dizer que os testes olham o funcionamento interno do software e fornecem resultados que são diretamente relacionados ao código fonte do programa. B) Os testes caixa-branca são testes funcionais, por isso testam os módulos do sistema para verificar sua qualidade e retornam um relatório de avaliação, que, pelo resultado obtido, é comparado a um resultado esperado. C) Os testes de caixa-branca são diferentes dos testes de caixa-preta porque neles o analista de teste não pode saber o que acontece dentro do código, por isso são conhecidos como caixa- branca. D) Os testes caixa-branca não são diferentes dos testes de caixa-preta, pois o teste de caixa- branca é tão opaco quanto o teste de caixa-preta. Ambos os tipos testam se um ou mais componentes funcionam da mesma maneira. E) Os testes de caixa-branca são melhores que os testes de caixa-preta porque testam os códigos do sistema, o analista de teste tem acesso ao código-fonte e desconhece a estrutura interna do sistema. 2) Os testes de estrutura de controle são complementares ao teste de caminho básico e melhoram a sua qualidade. Existem técnicas de aplicação dos testes que se baseiam em diferentes tipos de conceito, e também nos componentes de programas para determinar os requisitos de testes necessários. Qual tipo de teste no sistema o teste de condição exercita? A) O teste de condição exercita se um dado de entrada obedece ao formato de condição válido para ser gravado no sistema. B) O teste de condição é usado para verificar se um ciclo aninhado paralelamente com um ciclo externo foi percorrido corretamente. C) O teste de condição exercita se uma faixa de valores limite é válida como entrada de valores no sistema. D) O teste de condição exercita as condições lógicas de um módulo de programa. Realizado em condições booleanas para os desvios possíveis. E) Os testes de condição determinam a complexidade do grafo de fluxo e assim se sabe quantos caminhos possíveis para realização do teste. 3) A complexidade ciclomática é uma métrica para calcular a complexidade lógica de um programa. A respeito desta métrica, assinale a alternativa correta. A) A complexidade ciclomática serve para descobrir quantos nódulos existem em um grafo de fluxo. B) A complexidade ciclomática detecta o nível de complexidade da lógica e indica qual tipo de teste deve ser usado para a funcionalidade, se testes caixa-preta, caixa-branca ou exploratórios. C) A complexidade ciclomática é usada para medir quantos ciclos devem ser executados em um ciclo aninhado. D) A complexidade ciclomática é uma métrica apenas para avaliar o nível de complexidade da lógica, e assim instruir o analista de teste a criar um teste mais complexo. E) A complexidade ciclomática serve para calcular quantos caminhos independentes existem em um conjunto-base. 4) A notação de grafos de fluxo auxilia a representar o fluxo de controle lógico de um programa. Sobre a notação de grafos de fluxos, assinale a alternativa correta. A) O grafo de fluxo é desenhado apenas a partir do fluxograma. No lugar dos símbolos do fluxograma devem ser usados os nós e as arestas. B) É uma ferramenta que pode ser usada para extrair o grafo de fluxo de um código e também de um fluxograma. A partir de sua ilustração com nós e arestas é possível calcular a complexidade ciclomática. C) Os grafos de fluxo têm a função de calcular a complexidade lógica de um programa ao mostrar a quantidade de desvios e a quantidade de nós. D) Os grafos de fluxo é uma técnica de testes de software caixa-branca que testam todos os caminhos possíveis representados pelo gráfico. Dessa maneira é possível ter boa cobertura de testes do código. E) Os testes de caixa-branca utilizam os grafos de fluxo para aplicar os testes de ciclo, percorrendo os caminhos no grafo de modo a cobrir todos os desvios possíveis. 5) Teste de ciclos têm foco na validação da estrutura dos ciclos dentro de um programa. Dentre os ciclos possíveis, estão os aninhados. Os ciclos aninhados não podem ser testados da mesma forma que os ciclos simples. Com relação aos ciclos aninhados, assinale a alternativa correta. A) Os ciclos aninhados devem ser testados usando a abordagem proposta por Beizer, pois, de outra forma, não será possível realizar os testes devido ao número excessivo de loops necessários. B) Os ciclos aninhados devem ser testados primeiramente pulando o ciclo todo e depois devem ser completamente percorridos 1 vez, e demais vezes de acordo com o máximo permitido. C) Os ciclos aninhados devem ser rescritos ou refatorados, pois eles não apresentam uma estrutura passível de testes como a do ciclo simples. D) Os ciclos aninhados devem ser desagrupados em ciclos simples, e assim podem ser testados da mesma forma. Isso simplifica o processo e facilita o teste do programa. E) Ciclos aninhados devem ser testadosde acordo com o teste de condição. Para cobrir o ciclo, é necessário antes definir tanto os caminhos quanto os valores a serem aplicados nas condições. Na prática É necessário entender como projetar testes de caixa-branca para que sejam eficientes e cumpram com a sua proposta. Existem ferramentas, critérios e também técnicas que complementam os testes de caixa-branca, de modo a deixá-los bem completos e eficientes. Conheça Na Prática o trabalho que Samuel desenvolveu na empresa que trabalha para analisar as funcionalidades liberadas pelo desenvolvedor, realizar o trabalho de projetar e implementar os testes de software utilizando a técnica de teste de caixa-branca. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/af89666b-ab47-4aca-827f-69c8ef3bfe04/cee0292d-910c-4687-ac6c-0fb939b60b36.png Saiba + Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Teste de software: técnica de teste de caixa-branca O teste de caixa-branca é executado levando em conta a estrutura do código-fonte. Mas como é feita a análise de código-fonte? Veja e aprenda. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Teste de software na indústria: um estudo qualitativo Confira a tese de mestrado de Sérgio Luis Barbieri, publicada no ano de 2018 pela Universidade de Sâo Paulo (USP), que aborda as técnicas utilizadas no teste de caixa-branca. Conteúdo indicado para leitura: Capítulo 2 (p.18-32). Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://www.youtube.com/embed/UtN4BGK82Ew https://teses.usp.br/teses/disponiveis/100/100131/tde-12062018-115510/publico/Dissertacao_Sergio_Barbieri_NUSP9414338.pdf
Compartilhar