Você está na página 1de 6

Teste de software Existem atividades que procuram garantir a qualidade do produto final; Apesar de mtodos, tcnicas e ferramentas utilizadas,

as, falhas no produto ainda podem ocorrer; Portanto pode se afirmar que: o Teste uma das reas da engenharia de software e tem como objetivo aprimorar a produtividade e fornecer evidncias da confiabilidade e da qualidade do software; o A atividade de teste o processo de executar um programa com a inteno de descobrir um erro; o Um bom caso de teste aquele que tem uma elevada probabilidade de descobrir um erro; o Um teste bem sucedido aquele que revela um erro ainda no descoberto; A atividade de teste demonstra que as funes do software esto sendo executadas de acordo com as especificaes, que os requisitos de desempenho foram cumpridos e que, por conseqncia, as informaes geradas por ele so confiveis. Na pratica no se pode garantir que um software perfeito, devido principalmente a complexidade envolvida em sua construo. Os Principais propsitos para realizao de testes podem ser considerados: o Como a busca por reduzir o risco envolvido na construo e no uso de software com erros; o Aumentar o grau de confiana de que se esta construindo um produto com o comportamento desejado. Teste de extrema relevncia por permitir a precauo em relao aos custos envolvidos com a concorrncia de falhas, e principalmente, salvaguardar o seu funcionamento quando envolve riscos a vida humana ou grande perda financeira. Freqentemente gasta-se muito tempo e dinheiro em testes e na correo de erros encontrados. Sem uma infra-estrutura para realizao dos testes, torna-se, por vezes, impraticvel a sua aplicao de forma adequada. Casos de testes podem ser criados nas diferentes fases do ciclo de vida. importante ressaltar que a atividade de testes pode mostrar se o software contm erro, mas no provar que o mesmo nunca falhar. A qualidade do produto diretamente relacionada a qualidade do processo de desenvolvimento. (Processo envolve modelo a ser utilizado, ciclo de vida, mtodos de desenvolvimento e ferramentas); Atividades de teste devem ser cuidadosamente planejadas para fornecer um nvel adequado de confiabilidade atingir aos requisitos, dentro das condies especificadas, contribuindo para qualidade de software. Testes bem planejados so capazes de remover 60% dos defeitos de um programa. A qualidade de software deve ser acompanhada desde o inicio do desenvolvimento. Uma das atividades mais relevantes o projeto de caso de testes. Nesta atividade concentram-se um conjunto de tcnicas, critrios e mtodos, para que forneam ao projetista uma abordagem sistemtica.

Essas tcnicas so baseadas em: o Funcional seleo de casos de uso baseada na especificao; o Estrutural apia-se essencialmente na implementao, no fluxo de controle e em informaes do fluxo de dados; o Baseada em erros utiliza informaes de erros tpicos cometidos no processo de desenvolvimento; o Ou uma combinao das tcnicas acima citadas. Essas tcnicas so complementares e a questo esta em como utiliza-las. A atividade de teste no deve ser considerada como uma fase isolada em um processo de desenvolvimento de software. A atividade de teste envolve basicamente: o Entradas envolve a especificao de requisitos; o Processo utilizao dos planos procedimentos de testes, ferramentas para auxilio na depurao; o Sadas avaliao dos resultados obtidos na fase anterior;

Tipos de teste de software O teste de software deve utilizar tcnicas de testes bem estabelecidas; As tarefas distribudas devem ser realizadas de forma sistemtica; As tcnicas de testes propiciam a confeco de um plano de testes e a determinao/ distribuio de tarefas que iro compor um teste. Um nmero razovel de tcnicas deve ser aplicado a ao teste de software, mas nenhuma isoladamente. Devem ser aplicadas de forma complementar. Teste Estrutural (Caixa Branca) O teste estrutural em software Orientado a objetos fundamentalmente diferente dos testes em software no orientados a objetos. O teste estrutural objetiva verificar se a estrutura interna da unidade est correta. efetuada para todos os caso de teste que visam percorrer todos os caminhos internos possveis da unidade. Percorrer todos os caminhos acaba tornando a atividade complexa; Este teste abrange a manipulao dos valores dos atributos, verifica os resultados quando loops so executados ate o seu limite e visa identificar os caminhos crticos de cada procedimento. Teste Funcional (Caixa Preta) O teste funcional procura descobrir basicamente: o Funes incorretas ou ausentes; o Erros de interface; o Erros nas estruturas de dados ou no acesso a banco de dados externo; o Erros de desempenho; o Erros de inicializao e trmino. O teste funcional concentra-se nos requisitos funcionais do software. Atravs dele torna-se possvel verificar as entradas e sadas de cada unidade;

Este tipo de teste no se preocupa na forma com que os dados esto sendo executados e sim com o que esta sendo realizado. Para realizao deste teste levado em considerao o estado do objeto que ser testado Matriz de estmulos x estados Esta tcnica visa construir uma matriz com todos os estados (valores das variveis) e estmulos (parmetros) A utilizao desta tcnica evita esquecimentos e permite um maior numero de combinaes acabem sendo testadas. Descrio das regras de negcio para uma locadora, existindo vrios estados variando de acordo com as permisses para execuo das funes do sistema. Passo 1: definio das regras de negocio. Funes/estados Cadastrar Consultar Alterar Excluir Locar Regras do negcio Disponvel Locado X X X X X X X Reservado X X X

Passo 2: execuo de teste e registro dos resultados Regras do negcio Funes/estados Disponvel Locado Cadastrar Ok. Ok. Consultar Ok. Ok. Alterar Ok. Ok. Excluir Ok. Ok. Locar Ok. Ok.

Reservado Ok. Ok. Ok. No Ok. Ok.

Passo 3: comparao dos resultados Comparao dos resultados obtidos (matriz de estmulos x estados) com o resultado esperado (regras de negocio). Basicamente o teste funcional deve testar se o mtodo chamado o correto e se este produz o resultado esperando. Teste de Unidade Em um software que no foi desenvolvido sob os princpios da orientao a objetos, o teste de unidade concentra-se no esforo de verificao da menor unidade do projeto de software o mdulo ou funo. Um teste de unidade deve verificar:

o A interface com o modulo. Informaes que entram e saem devem ser consistentes o A estrutura dos dados local. Manter a integridade durante toda execuo do cdigo. o As condies de limite. Limites estabelecidos para demarcar ou restringir a execuo de um processo. o Os caminhos bsicos. Todas as instrues de uma unidade devem ser executadas pelo menos uma vez. o Os caminhos de tratamento de erros. Devem ser executados a fim de verificar se valores no verdadeiros sejam tratados. Teste de Integrao Verifica basicamente se as unidades testadas de forma individual executam corretamente quando colocamos juntas. A interao pode ser executada de uma forma no incremental, onde as unidades so combinadas e o programa completo testado como um todo. (Interao big bang). Uma maneira mais eficiente seria integrar as unidades de forma incremental, as unidades gradativamente testadas e implementadas. A integrao incremental mostra-se como uma tcnica mais apropriada, pois mais fcil isolar a causa dos erros quando se testa por partes menores. Teste de Validao Ocorre aps a atividade de teste de integrao. A validao bem sucedida quando o software funciona de uma maneira esperada pelo cliente. A validao de software realizada por meio de uma serie de testes de caixa preta que demonstram a conformidade com os requisitos funcionais. Muitas vezes o teste beta se torna pouco satisfatrio. Caractersticas bsicas para realizao do teste beta capacidade critica no uso: o Capacidade critica no uso do software (testar situaes de pouco comuns) o Bom entrosamento com a empresa desenvolvedor o Preferencialmente ser leigo em informtica no fazendo assim consideraes. o Ser organizado dispor de tempo para o teste Teste de sistema uma atividade de validao usada para demonstrar que o software inteiro est correto. A inteno descobrir implementaes incorretas dos requisitos especificados. O objetivo principal deste tipo de teste por completamente a prova o sistema de software.

Este tipo de teste envolve todos os componentes do software, hardware e suas interfaces. Subdivide-se em: o Teste de recuperao; o Teste de segurana; o Teste de estresse; o Teste de desempenho. Teste de recuperao A ocorrncia de falhas no deve prejudicar as funes do sistema. O teste de recuperao um teste de sistema que fora o software a falhar de diversas maneiras e verifica se a recuperao adequadamente executada. O teste de recuperao usa casos de testes projetados a fim de examinar como o sistema pode se recuperar facilmente e completamente de uma falha. O sistema deve ter um log a fim de registrar as atividades antes da falha e um registro de mensagens durante a falha. Teste de segurana Qualquer sistema baseado em computadores que gerencie informaes ou provoque aes que possam impropriamente prejudicar (ou beneficiar pessoas) constitui um alvo para acesso imprprio ou ilegal. O papel do projetista fazer com que o acesso custe mais do que o valor da informao a ser obtida. O teste de segurana visa verificar se todos os mecanismos de proteo embutidos no sistema o protegero de fato de acesso indevidos. Objetivo garantir que o sistema se comporte adequadamente mediante tentativas ilegais de acesso. Teste de estresse realizado para confrontar os programas com situaes anormais, o sistema carregado com volumes no usuais com inteno de par-lo. Neste momento monitorada a perda de desempenho do sistema e a sua suscetibilidade de falhas durante estas cargas. O testador deve utilizar o sistema com recursos em quantidade e freqncia anormais, tais como procuras excessivas de dados em disco, abertura de muitas janelas, ate que haja um problema de falta de memria, utilizao de arquivos em formato no compatvel aos esperados pelo programa, e outros. Teste de desempenho idealizado para testar o desempenho de execuo do software dentro de um contexto de um sistema integrado.

O teste de desempenho , s vezes, combinado com teste de estresse e freqentemente existe instrumentao de hardware e de software. Ao instrumentar um programa, a realizao de teste pode descobrir situaes que levam a degradao e possvel falha do sistema. O teste de desempenho preocupa-se com tempo de resposta, rendimento e capacidade especialmente a capacidade do banco de dados. A preparao do teste de desempenho uma atividade extremamente importante e envolve nitidamente a simulao, modelagem e medida de capacidade.

Você também pode gostar