Prof. Esp. Fernando Barreto A importância de se ter uma equipe de testes no desenvolvimento de softwares Prof. Esp. Fernando Barreto
O que é software? É um conjunto de programas de computador, em suas diversas formas (código fonte, objetos, executáveis, API’s, scripts, etc.) e toda a sua documentação associada;
O que é programa de computador? Um programa é um conjunto de soluções algorítmicas, codificadas numa linguagem de programação, executado numa máquina real;
O que é teste de software? É a investigação do software a fim de coletar informações sobre sua qualidade em relação ao contexto em que ele deve operar. Isso inclui o processo de utilizar o produto para encontrar eventuais defeitos;
O que é qualidade de software? Área de conhecimento da engenharia de software que objetiva garantir a qualidade do software através da definição e normatização de processos de desenvolvimento; Seu principal objetivo é garantir um produto final que satisfaça às expectativas do cliente, dentro daquilo que foi acordado inicialmente;
Objetivos do teste de software Atestar o nível de qualidade do produto no qual se está trabalhando; Verificar se todos os requisitos levantados foram corretamente implementados; Reduzir custos de manutenção corretiva e retrabalho de desenvolvimento; Assegurar a satisfação do cliente com o produto desenvolvido;
Objetivos do teste de software Mostrar que o sistema está de acordo com a especificação e que ele atende às expectativas de clientes e usuários; Assegurar-se de que o programa está fazendo aquilo que foi definido na sua especificação (fazendo a coisa certa); Verificar se o programa está correto, isto é, se não possui erros de execução (fazendo certo a coisa);
Funções da equipe de testes Investiga o software a fim de fornecer informações sobre sua qualidade; Responsável por utilizar o produto para encontrar seus defeitos; Envolve ações que vão do levantamento de requisitos até a execução do teste propriamente dito;
Quem deve fazer parte da equipe de testes? Qualquer funcionário da empresa que esteja vinculado ao projeto do desenvolvimento; Não precisa ter experiência nem conhecimentos aprofundados de informática; Deve conhecer as regras de negócio pertencentes ao sistema; Deve conhecer as funcionalidades oferecidas no software;
Conceitos Defeito: É o resultado de um erro encontrado num código ou num documento; Erro: É um engano cometido por seres humanos; Falha: É o resultado ou manifestação de um ou mais defeitos; Bug: É um erro de lógica na programação de um determinado software;
Razões para testar Qualidade do produto final; Tempo reduzido de desenvolvimento; Redução de custos; Atender aos requisitos;
Razões para testar A complexidade na construção do software é alta, o que facilita a ocorrência de falhas em diversos pontos do sistema;
Engano -> Defeito -> Erro -> Falha Um engano humano produz um defeito; A existência de um defeito pode ocasionar a ocorrência de um erro durante a execução do programa que se caracteriza por um estado inconsistente ou inesperado de uma determinada funcionalidade; A ocorrência do erro produz uma falha no software;
Identificação do problema Quanto mais tarde um problema no software for descoberto, maior será o custo decorrente para a sua correção;
A importância dos testes Os testes de software estão diretamente relacionados com a qualidade de software; Contribuem para a melhoria do produto final; Representam redução de custos significativos dentro dos orçamentos da empresa, visto que diminuirão o retrabalho;
Quem testa o software? Até certo tempo, o próprio programador era responsável por realizar os testes; Esta prática deve continuar, porém, o foco do programador deve ser transformar os modelos do Analista aplicando lógica em programas; A equipe de testes deverá testar exaustivamente o produto, possibilitando a entrega ao cliente dentro do prazo e com garantia de funcionamento;
Espaço aberto para perguntas...
Contato http://www.fbi-softnet.com http://fernando.fbi-softnet.com fernando.barreto@fbi-softnet.com
Muito obrigado!