Sei sulla pagina 1di 6

Introduo

Cada vez mais os softwares esto presentes na vida das pessoas, seja em celulares, bancos, avies, cirurgias, entre outros. Conseqentemente os mesmos esto se tornando cada vez mais complexos, devido ao surgimento de novas tecnologias. A maioria das pessoas passam por alguma experincia com um software que no funciona como o esperado, softwares que no funcionam corretamente podem levar a muitos problemas e no inspiram confiana aos usurios. Existem vrios exemplos de softwares que geraram problemas na fase de produo, trazendo custos altos, m reputao nos negcios e at mesmo colocou em risco a vida de seres humanos como foi o caso de pacientes de um centro mdico para veteranos em Washington que receberam doses incorretas de medicamentos devido as informaes incorretas exibidas pelo sistema eletrnico de registros. O grande desafio das empresas produzir softwares com qualidade, em um curto espao de tempo, com baixo custo e atender as expectativas do cliente com o produto desenvolvido, ou seja, atender aos requisitos impostos pelo mesmo. Realizar testes dentro de um processo com metodologia prpria o grande X da questo. Os testes tm por finalidade agregar qualidade ao produto podendo tambm fazer uma medio desta qualidade em relao aos defeitos encontrados, pois, caso sejam encontrados poucos defeitos, o software ser mais confivel, com os testes possvel tambm antecipar a descoberta de falhas e incompatibilidades, reduzindo assim o custo do projeto. Testar software no somente execut-lo com a inteno de encontrar erros, existem vrias atividades como: planejamento e controle, escolha das condies de teste, modelagem dos casos de teste, checagem dos resultados, avaliao de concluso dos testes, gerao de relatrios como tambm a reviso dos documentos. Algumas pessoas confundem a atividade de depurao (debbuging) com a atividade de teste, mas elas diferem. Pois, a atividade de teste pode demonstrar falhas que so causadas por defeitos enquanto a depurao uma atividade de desenvolvimento que repara o cdigo e checa se os defeitos foram corrigidos corretamente para ento ser feito um teste de confirmao por um testador com a inteno de certificar se o mesmo foi eliminado. Podemos listar a seguir alguns conceitos importantes muito usados quando se fala em teste de software:

Defeito: o resultado de um erro encontrado num cdigo ou num documento. Erro: um engano cometido por seres humanos. Falha: o resultado ou manisfestao de um ou mais defeitos. Bug: um erro de lgica na programao de um determinado software. Testware: Define toda a documentao de teste.

Caso de Teste: uma descrio de um teste a ser executado. Um ou mais casos de teste costumam estar relacionados a um caso de uso.
Sute de Testes: Pacote de casos de teste relacionados. Por exemplo: Sute de cadastro, sute de consulta.

Plano de Teste: o documento de planejamento do projeto de teste equivalente ao Plano de Projeto definido pelo PMI (Project Management Institute).

Script de Teste: uma automao da execuo de um caso de teste.

Ambiente de Testes
O ambiente de testes deve ser definido pelo nvel de testes a ser executado, ou seja, quanto maior o nvel, mas, o ambiente de teste dever ser capaz de reproduzir as caractersticas do ambiente de produo. Esse ambiente de testes deve ser isolado, com processamento independente e caractersticas similares ao ambiente de desenvolvimento e produo e deve ser restrito equipe de testes para garantir a integridade dos testes realizados.

Dimenses do Teste
Tcnica de Teste (Como Testar?):
Tcnica o processo que assegura o funcionamento correto de alguns aspectos do software ou de uma unidade do software. Existem dois tipos de tcnicas de teste de software: A Estrutural que tende a revelar erros que ocorrem durante a codificao do programa, conhecida tambm como tcnica de Caixa Branca essa tcnica no determina o funcionamento correto da aplicao e sim da estrutura. E a Tcnica de Teste Funcional que garante o cumprimento dos requisitos pelo sistema essa tcnica conhecida tambm como tcnica de Caixa Preta. Cada tcnica possui tipos de testes especficos que sero listados abaixo.

Tipos de Testes (O Que Testar?): 1. Tcnica de Teste Funcional


Teste de Requisitos: Verifica se o sistema executado conforme o que foi especificado. So realizados atravs da criao de condies de testes e cheklists de funcionalidades. Teste de Regresso: Testa se algo mudou em relao ao que j estava funcionando corretamente, ou seja, voltar a testar segmentos j testados aps uma mudana em outra parte do software. Os testes de regresso devem ser feitos tanto no software quanto na documentao.

Teste de Tratamento de Erros: Determina a capacidade do software de tratar transaes incorretas. Esse tipo de teste requer que o testador pense negativamente e conduza testes como: entrar com dados cadastrais imprprios, tais como preos, salrios, etc., para determinar o comportamento do software na gesto desses erros. Produzir um conjunto de transaes contendo erros e introduzi-los no sistema para determinar se este administra os problemas.

Teste de Suporte Manual: Verifica se os procedimentos de suporte manual esto documentados e completos, determina se as responsabilidades pelo suporte manual foram estabelecidas. Teste de Interconexo: Garante que a interconexo entre os softwares de aplicao funcione corretamente. Pois, softwares de aplicao costumam estar conectados com outros softwares de mesmo tipo. Teste de Controle: Assegura que o processamento seja realizado conforme sua inteno. Entre os controles esto a validao de dados, a integridade dos arquivos, as trilhas de auditoria, o backup e a recuperao, a documentao, entre outros. Teste Paralelo: Comparar os resultados do sistema atual com a verso anterior determinando se os resultados do novo sistema so consistentes com o processamento do antigo sistema ou da antiga verso. O teste paralelo exige que os mesmos dados de entrada rodem em duas verses da mesma aplicao. Por exemplo: caso a verso mude e os requisitos no, os dados de sada das duas verses devem ser iguais.

2.

Tcnicas de Teste Estrutural

Teste de Execuo: Verifica os tempos de resposta, de processamento e o desempenho (performance), avaliando o comportamento do software no ambiente de produo e verificando se as premissas de desempenho so atendidas. Em um sistema que possui dez mdulos diferentes e que foi desenvolvido por equipes diferentes, o teste de execuo avalia o sistema como um todo, como se o teste de execuo fosse um play no sistema.

Teste de Estresse: Avalia o comportamento do software sob condies crticas, tais como restries significativas de memria, espao em disco, etc., ou seja, coloca o software sob condies mnimas de operao.

Teste de Recuperao: A recuperao a capacidade de reiniciar operaes aps a perda da integridade de uma aplicao como, por exemplo: Ao desligar o computador, queda de energia eltrica, entre outros. O teste de recuperao garante a continuidade das operaes aps um desastre.

Teste de Operao: Avalia o processo e sua execuo, so desenhados para estabelecer se o sistema executvel durante a operao normal, um tipo de teste muito especfico, depende do software a ser testado um exemplo o software de Call Center.
Teste de Conformidade: Verifica se o software foi desenvolvido de acordo com padres, normas, procedimentos e guias de TI.

Teste de Segurana: Avalia a adequao dos procedimentos de proteo e as contramedidas projetadas, para garantir a confidencialidade das informaes e a proteo dos dados contra o acesso no autorizado de terceiros.

Estgios ou Nveis de Teste (Quando Testar?):


a dimenso do teste que determina a fase do desenvolvimento se aplica um determinado teste. Esses testes so listados a seguir:
Teste de Unidade: aplicado aos menores componentes de cdigo, feito pelos programadores e testa as unidades individuais: funes, objetos e componentes.

Teste de Integrao ou Iterao: feito ao trmino de cada iterao para validar a execuo das funes referentes aos casos de uso, feito normalmente pelo analista de sistemas.
Teste de Sistema: Executa o sistema como um todo para validar a execuo das funes acompanhando cenrios elaborados (casos de teste) por um analista de testes em um ambiente de testes. Teste de Aceitao: feito antes da implantao do software, o cliente quem executa este tipo de teste no ambiente de homologao, tem como objetivo verificar se o software est pronto para ser utilizado pelos usurios finais.

Ciclo de Vida de Testes


O ciclo de vida de testes composto pelas seguintes etapas: Planejamento que a etapa onde se estabelece o que vai ser testado, em quanto tempo e em que momento os testes ser interrompido. Preparao onde o objetivo preparar toda a estrutura do ambiente de testes como: equipamentos, configurao de hardware e softwares usados (sistemas operacionais, browsers, etc.), criao da massa de dados de teste, pessoal, ferramentas de automao, entre outros. Na etapa de Especificao a atividade principal elaborar e revisar os cenrios e roteiros de testes. Na Execuo executam-se os testes planejados e registrar os resultados obtidos e por fim na Entrega onde se arquiva toda a documentao e descrevem-se todas as ocorrncias do projeto relevantes para a melhoria do processo. Para se obter resultados positivos nos projetos de testes necessrio que o mesmo inicie desde a especificao dos requisitos do sistema a ser implementado, ou seja, to logo comece o projeto de desenvolvimento do software inicia-se tambm em conjunto o projeto de testes de software.

Papis e Responsabilidades
Os principais participantes no processo de testes so: Gerente de Teste: Tem como papel defender a qualidade dos testes, planejar e gerenciar os recursos e resolver os problemas que representam obstculos ao esforo de teste.

Lder de Teste: Pessoa responsvel pela liderana de um projeto de teste especfico, normalmente relacionado a um projeto de desenvolvimento, seja um projeto novo ou uma manuteno. Analista de Teste: Elabora e modela os casos e roteiros de testes. Deve focar seu trabalho nas tcnicas de teste adequadas fase de teste trabalhada.

Arquiteto de Teste: responsvel por montar a infra-estrutura de testes como: ambiente, ferramentas, capacitao da equipe, entre outros.
Testador: Executa os testes, o mesmo deve observar as condies de teste e respectivos passos de teste documentados pelo analista de teste e evidenciar os resultados de execuo. Automatizador: Tem como papel automatizar as situaes de teste em ferramentas observando as condies de teste documentadas pelo analista de teste e automatizar a execuo desses testes na ferramenta utilizada. Normalmente so gerados scripts de teste que permitam a execuo de ciclos de teste sempre que se julgar necessrio.

O Processo de Teste
O Processo de Testes de Software representa uma estrutura das etapas, atividades, artefatos, papis e responsabilidades buscando padronizar os trabalhos para um melhor controle dos projetos de testes. O objetivo de um processo de teste (com metodologia prpria, ciclo de vida, etc.) minimizar os riscos causados por defeitos provenientes do processo de desenvolvimento como tambm a reduo de custos de correo de defeitos, pois, o custo do software (desenvolvimento + manuteno) tendem a ser menor quando o software bem testado. Testes bem planejados e automatizados permitem execues de testes em grande escala, com rapidez e preciso, detectando as no conformidades do software, iniciando as correes pela equipe de desenvolvimento o mais breve possvel.

Meios Eletrnicos
Disponvel: http://pt.wikipedia.org/wiki/Teste_de_software Disponvel: http://www.bstqb.org.br/uploads/docs/syllabus_2007br.pdf Disponvel: http://info.abril.com.br/aberto/infonews/012009/16012009-19.shl Disponvel:http://imasters.uol.com.br/artigo/6102/des_de_software/processo_de_teste_d e_software_parte_01/ Disponvel:http://imasters.uol.com.br/artigo/9369/des_de_software/a_evolucao_do_test e_de_software/.

Disponvel:http://www.alats.org.br/Default.aspx?
tabid=206&mid=1073&ctl=Details&ItemID=109

Potrebbero piacerti anche