Este documento fornece uma introdução aos conceitos básicos de teste de software, incluindo o papel de um profissional de teste de software, os diferentes níveis de teste, e as diferenças entre testes estáticos e dinâmicos. O objetivo principal do teste de software é encontrar erros e problemas para garantir que o produto atenda às necessidades do cliente.
Este documento fornece uma introdução aos conceitos básicos de teste de software, incluindo o papel de um profissional de teste de software, os diferentes níveis de teste, e as diferenças entre testes estáticos e dinâmicos. O objetivo principal do teste de software é encontrar erros e problemas para garantir que o produto atenda às necessidades do cliente.
Este documento fornece uma introdução aos conceitos básicos de teste de software, incluindo o papel de um profissional de teste de software, os diferentes níveis de teste, e as diferenças entre testes estáticos e dinâmicos. O objetivo principal do teste de software é encontrar erros e problemas para garantir que o produto atenda às necessidades do cliente.
rosanete.santos@sistemafiep.org.br Conhece o termo “Teste de Software”? O que faz uma pessoa que trabalha com testes de software? • Encontra erros • Encontra falhas • Encontra “bugs” • Encontra diversos tipos de “problemas” não detectados na fase de desenvolvimento • Procura fazer o que um usuário comum de sistemas faria no software (sim, pode deixar sua imaginação fluir, afinal, os usuários são realmente criativos ao utilizarem sistemas!) O que faz uma pessoa que trabalha com testes de software? • Elabora planos e casos de testes • Precisa conhecer lógica da programação • Precisa entender o mínimo de programação • DIFERENCIAL: Saber programar • Trabalha em conjunto com o desenvolvimento ou, muitas vezes É O PRÓPRIO DESENVOLVEDOR! • No decorrer do semestre você se familiarizará com as tarefas e quem sabe até queira trabalhar na área! ☺ O que faz uma pessoa que trabalha com testes de software? RESUMINDO…
Busca garantir que o produto seja entregue
respeitando as qualidades pretendidas pelo cliente! Qual é o profissional da área de testes? • Analista de Testes • Tester • Testador de Software • QA (Quality Assurance) -> “Garantia de Qualidade” A pergunta que não cala!
Mas isso varia de Empresa para empresa!
Conceitos de Testes Por que os testes não são executados como deveriam? • Pressão por menores prazos e entrega • Valores negociados pelo desenvolvimento do produto
Lembrem: Os valores INVESTIDOS com testes, são justificáveis quando
verificado o prejuízo causado pelas falhas. Problemas ocasionados pela falta de testes Pesquisar e comentar com a turma
As 10:05 todos falam
Pense nisso…
"Se alguma coisa pode dar errado, dará.
E mais, dará errado da pior maneira, no pior momento e de modo que cause o maior dano possível." Testes Estáticos X Testes Dinâmicos As atividades relacionadas ao teste do software em si não envolvem somente a execução do programa, que é o teste dinâmico.
Existem também os testes estáticos, que não precisam da execução de
um software (ou nem mesmo a sua existência) para serem realizados.
Os testes estáticos podem ser aplicados a diferentes artefatos como a
revisão de documentos de requisitos, análise, do próprio código fonte, etc. Testes Funcionais X Testes Estruturais • Testes de Caixa-preta = Testes Funcionais
• Testes de Caixa Branca = Testes Estruturais
Testes de Caixa-Preta • Pesquisar e comentar com a turma • O que é? • Como deve ser feito? • Como faz? • Tem alguma estrutura a seguir ou posso fazer de qualquer jeito?
É um teste de software que visa buscar e garantir que o sistema funciona
desde a entrada e saída de dados e que ocorra corretamente sem ver o código fonte. Testes de Caixa-Branca • Pesquisar e comentar com a turma No teste de caixa branca o tester tem acesso ao código fonte do software.
Basicamente, o “teste de caixa branca” é realizar teste na parte
interna do programa (código fonte), assim, garantindo o funcionamento do sistema, visando a qualidade e a validação do sistema. Pense nisso…
“O teste não pode nunca demonstrar a
ausência de defeitos, apenas sua presença”. Níveis de Testes • Teste Unitário: Quem testa são os desenvolvedores, pois aqui testamos métodos, funções... Objetivo: encontrar erros de programação (digitação mesmo) e lógica. Ex: Aquele código não foi colocado a barra (foguete que explodiu segundos após o lançamento). Níveis de Testes • Teste de Integração: Quem testa, ainda é o desenvolvedor ou a equipe de testes, integrando as funcionalidades do sistema. Aqui ocorrem inúmeros erros, onde nos testes unitários não foram visíveis. Ex: Não conectar com o banco de dados. Níveis de Testes • Teste de Sistema: Quem faz estes testes é o tester ou a equipe de testes. Objetivo: Testar o sistema como um todo, no ambiente de uso do sistema do cliente, ou sejam, devem ser utilizadas as mesmas configurações (inclusive de hardware) que o cliente possui no uso do sistema no dia a dia. Níveis de Testes • Teste de Aceitação: Este deve ser executado pelo cliente ou usuário do sistema. Para verificar se o sistema ficou “nos conformes”, se está conforme esperado, solicitado... Todos os testes devem ser realizados DURANTE O DESENVOLVIMENTO do software / sistema. Tema de casa • Pesquisar a definição das seguintes técnicas de testes • Teste de regressão • Teste de estresse • Teste de recuperação • Teste de performance • Teste de segurança • Teste paralelo
O que é? Como funciona (usa-se ferramenta específica ou é via código)? É
realizado por quem? Teste de Software Conceitos Iniciais e Ferramentas