Você está na página 1de 3

Cincia da Computao

Questes sobre Testes de Software


1) Faa uma descrio com os principais conceitos sobre cada um dos tipos de Testes relacionados abaixo: Unidade: focaliza o esforo de verificao na menor unidade de projeto de software o componente ou modulo do software. Usando como guia a descrio de projeto no nvel de componentes, caminhos de controle importantes so testados para descobrir erros dentro limites do modulo. A complexidade relativa dos testes e os erros que revelam so limitados pelo escopo restrito estabelecido para o teste de unidade. Esse teste enfoca a lgica interna de processamento e as estruturas e dados dentro dos limites de um componente. Integrao: uma tcnica sistemtica para construir a arquitetura de software ao mesmo tempo que conduz testes para descobrir erros associados com interfaces. O objetivo construir uma estrutura de programa determinada pelo projeto a partir de componentes testados em unidade. Regresso: ocorre cada vez que um novo modulo acrescentado como parte do teste de integrao, o software muda. No contexto de uma estratgia de teste de integrao, o teste de regresso a reexecuo do mesmo subconjunto de testes que foram executados para assegurar que as alteraes no tenham propagado efeitos colaterais indesejados. Recuperao: um teste do sistema que fora o software a falhar de vrias formas e verifica se a recuperao executada corretamente. Se a recuperao for automtica, a reinicializao, os mecanismos de verificao, recuperao de dados e reinicio so avaliados quanto correo. Se a recuperao requer interveno humana, o tempo mdio de reparo avaliado para determinar se est dentro dos limites aceitveis. Segurana: tenta verificar se os mecanismos de proteo incorporados ao sistema vo de fato protege-lo contra acesso indevido. Citando Beizer [Bei84]: A segurana de um sistema deve, naturalmente, ser testada quanto a invulnerabilidade por um ataque frontal mas deve ser tambm ser testada quanto a invulnerabilidade por ataques laterais ou pela retaguarda.

Caixa Branca: uma filosofia de projeto de casos de teste que usa a estrutura de controle descrita como parte do projeto no nvel de componentes para derivar casos de teste. Com ele possvel criar casos de teste que: garantam que todos os caminhos independentes de um modulo foram exercitados pelos menos uma vez, exercitam todas as decises logicas no seus estados verdadeiro e falso, executam todos os ciclos em seus limites e dentro de suas fronteiras operacionais, e exercitam estruturas de dados internas para assegurar a sua validade. Teste de Fluxo de Dados: O mtodo de teste de fluxo de dados seleciona caminhos de teste de um programa de acordo com as localizaes das definies e usos de variveis no programa. So teis para selecionar caminhos de teste de um programa que contenha instrues de laos e if aninhadas. Uma vez que as instrues de um programa relacionam-se entre si de acordo com as definies e usos de variveis, a abordagem de teste de fluxo de dados eficiente para a proteo contra erros. Porm, os problemas de medir a cobertura de teste e a seleo de caminhos de teste de fluxo de dados so mais complexos do que os correspondentes problemas para o teste de condio. Caixa Preta: focaliza os requisitos funcionais do software. As tcnicas de teste caixa preta permitem derivar sries de condies de entrada que utilizaro completamente todos os requisitos funcionais para um programa. O teste caixa preta no um alternativa s tcnicas caixa-branca. um abordagem complementar, com possibilidade de descobrir uma classe de erros diferentes daquela obtida com mtodos caixa-branca. O teste caixa-preta tenta encontrar erros nas seguintes categorias: funes incorretas ou faltando, erros de interface, erros em estruturas de dados ou acesso a bases de dados externas, erros d e comportamento ou de desempenho, e erros de inicializao e trmino. Depurao: A depurao ocorre em consequncia de teste bem sucedidos. Quando um caso de teste revela um erro, a depurao o processo que resulta na remoo do erro. O processo de depurao sempre ter um dentre dois resultados: a causa ser descoberta, corrigida e removida; ou a causa no ser descoberta. Assim, a pessoa que executa a depurao pode suspeitar de uma causa, projetar um caso de teste para ajud-lo a validar sua suspeita e trabalhar na direo da correo do erro de forma iterativa. Portanto, assim que um BUG encontrado, ele deve ser corrigido. Porm, esta correo pode introduzir outros erros e, portanto, fazer mais mal do que bem.

2) Faa uma concluso sobre a importncia de testes em software. Seja crtico: expresse as vantagens, as dificuldades, os mtodos e outras questes relevantes sobre o tema.

Nos dias de hoje h um grande crescimento na rea de desenvolvimento de software, tendo em vista que os mesmos esto presentes em todos os lugares, seja em grandes empresas, supermercados, farmcias, entre outros. A grande necessidade de se automatizar processos complexos e de difcil gerenciamento so os grandes responsveis por esse crescimento, sendo assim surge a necessidade de se criar softwares de fcil manuseio e de grande qualidade, que consigam atender todas as necessidades dos seus usurios de forma a no falhar. Para que se possa evitar essas falhas torna-se necessrio uma verificao afundo do software sendo auxiliado pelo uso de tcnicas que sejam capazes de encontrar esses erros em diferentes etapas do seu desenvolvimento, tentando assim repara-los antes que o mesmo seja entregue ao usurio final. Atravs das diversas tcnicas de teste de software torna-se possvel garantir uma melhor qualidade no desempenho do software, atravs do mesmo algumas vantagens so alcanadas, tais como: reduo de custos, confiabilidade, qualidade, desempenho, segurana, portabilidade, entre outras. O planejamento de software muito importante, tendo em vista que atravs de um bom planejamento dos processos pode-se averiguar erros no incio do desenvolvimento o que acarreta na reduo nos custos de correo e torna o software mais confivel. Ainda nos dias de hoje grandes empresas no possui um departamento especifico para teste de seu software, muitas vezes no possuem nem uma equipe que desempenhe a funo de tester, sendo assim essa funo desempenhada pelos prprios programadores, o que no ideal tendo-se em vista que os mesmos esto diretamente envolvidos. O ideal que os teste sejam realizados por uma equipe especifica para essa rea pois os membros dessa equipe tem qualidades, caractersticas e aprimoramentos especficos nessa rea que os torna capazes de encontrarem as falhas existentes no software que est sendo desenvolvido. Porm o cenrio de desenvolvimento de software relativamente novo e se encontra em desenvolvimento, sendo assim mudanas futuras podem ocorrer na rea de teste de forma a conseguir resolver os problemas que existe nos dias de hoje.

Referncias:
Tipos de teste Disponvel em: http://testesdesoftware.blogspot.com.br/2009/09/tipos-de-teste.html Teste de software Wikipdia Disponvel em: http://pt.wikipedia.org/wiki/Teste_de_software Introduo ao Teste de Software Linha de Cdigo Disponvel em: http://www.linhadecodigo.com.br/artigo/2775/introducao-ao-teste-desoftware.aspx Teste de software Java para iniciantes Disponvel em: http://www.javaparainiciantes.marcric.com/pages/008-testes.html