O documento discute os conceitos e objetivos do teste de software, incluindo:
1) Testar software significa verificar através de execuções controladas se o comportamento está de acordo com o especificado.
2) Os testes servem para revelar defeitos e medir a qualidade e funcionalidade de um sistema.
3) É necessário testar por diversos motivos como questões de negócio, qualidade, custos, segurança e confiabilidade.
3. “O teste de programas pode ser usado para
mostrar a presença de defeitos, mas nunca para
mostrar a sua ausência.”(Dijkstra)
Testar é medir a qualidade e funcionalidade de
um sistema.
CONCEITO
4. De uma forma simples, testar um software
significa verificar através de uma execução
controlada se o seu comportamento corre de
acordo com o especificado.
O objetivo principal desta tarefa é revelar o
número máximo de falhas dispondo do mínimo
de esforço, ou seja, mostrar aos que
CONCEITO
5. Atualmente não há definições de termos em teste de software aceitas
universalmente (padrão mundialmente conhecido e aceito).
No entanto, se pesquisarmos, encontraremos diversas definições sobre o que é
teste de software:
• “É analisar um programa com a intenção de descobrir erros e defeitos.” (Myers)
• É exercitar ou simular a operação de um programa ou sistema.
• É medir a qualidade e funcionalidade de um sistema.
• É avaliar se o software está fazendo o que deveria fazer, de acordo com os
seus requisitos, e não está fazendo o que não deveria fazer;
• “É qualquer atividade que a partir da avaliação de um atributo ou capacidade
de um programa ou sistema seja possível determinar se ele alcança os
resultados desejados.” (Bill Hetzel).
CONCEITO
6. Conforme afirmado em vários relatos de experiência e
já percebido no mercado, os reais benefícios são a
redução em 70% do índice de retrabalho na correção de
falhas em produção, redução em 50% do tempo de
homologação de uma nova versão.
Além disso, aumenta em aproximadamente 90% o
índice de falhas detectadas antes da produção onde o
custo é bem mais baixo, e aumenta a abrangência dos
PARA QUE TESTAR
7. Portanto, de uma forma geral, os maiores
benefícios são:
• Motivação por maior segurança aos clientes;
• Oferecer maior continuidade do serviço ao negócio
do cliente;
• Melhoria da qualidade dos softwares;
• Busca pela confiabilidade do software junto aos
clientes;
PARA QUE TESTAR
8. “Uma pessoa inteligente resolve um problema. Uma pessoa
sábia evita-o”. (Einsten)
Teste de software é uma das atividades executadas dentro do
processo de desenvolvimento de software, ele é feito para
determinar se certo produto atingiu suas especificações e
funcionou corretamente no ambiente para o qual foi projetado.
O seu objetivo é revelar falhas em um produto, para que as
causas dessas falhas sejam identificadas e possam ser
corrigidas pela equipe de desenvolvimento antes da entrega
PARA QUE TESTAR
Testes servem para evitar problemas em
produção
9. É necessário testar por diversos motivos: por questões
de negócio, de qualidade, de custos, de segurança e de
confiabilidade.
O principal motivo de porque devemos testar é que o ser
humano está sujeito a cometer erros (engano), o que
pode acarretar em um defeito (falha, bug), em um
código, em um software ou em um documento como os
de especificações por exemplo. Se um defeito no código
for executado, o sistema falhará ao tentar fazer o que
PARA QUE TESTAR
10. •Os defeitos ocorrem porque nós somos passíveis de
falha e porque existe pressão no prazo, códigos
complexos, complexidade ou carência de
infraestrutura, mudanças na tecnologia e/ou muitas
interações de sistema.
•Falhas também podem ocorrer por condições do
ambiente tais como: radiação, magnetismo, campos
eletrônicos e poluição, que podem causar falhas em
software embarcado (firmware) ou influenciar a
PARA QUE TESTAR
11. •Testes rigorosos em sistemas e documentações podem
reduzir os riscos de ocorrência de problemas no
ambiente operacional, e contribui para a qualidade dos
sistemas de software se os defeitos forem encontrados
e corrigidos antes de serem implantados em produção.
•O teste de software pode também ser necessário para
atender requisitos contratuais ou legais ou
determinados padrões de mercado.
PARA QUE TESTAR
12. Testamos os softwares para construir confiabilidade.
Confiabilidade do software é a probabilidade de que o
software não causará uma falha no sistema por um
tempo especificado, sob condições específicas.
É necessário definir que condições o software atingirá o
nível de confiabilidade prometido. Por exemplo, um
sistema pode atingir a confiabilidade de não apresentar
mais que uma falha por mês se usado por no máximo 10
usuários simultâneos.
PARA QUE TESTAR - Confiabilidade
13. •A confiabilidade do software aumenta à medida que o
software é executado ao longo do tempo, sem
apresentar falhas.
•Podemos afirmar também que a confiabilidade do
software é a medida através do tempo médio
entre falhas.
PARA QUE TESTAR - Confiabilidade
14. O resultado da execução dos testes pode
representar confiança na qualidade do software
caso sejam encontrados poucos ou nenhum
defeito. Um teste projetado adequadamente e cuja
execução não encontra defeitos reduz o nível de
riscos em um sistema. Por outro lado, quando os
testes encontram defeitos, a qualidade do sistema
aumenta quando estes são corrigidos.
PARA QUE TESTAR - Confiabilidade
15. PENSE QUE EMPRESAS VISAM O CRESCIMENTO E
CONSEQUENTEMENTE O LUCRO.
Embora ainda existam empresas no
mercado que prefiram não investir
em qualidade como um todo, a
maioria já entendeu que sem
qualidade mínima de uso perde-se
clientes.
Logo, começam a pensar de que
forma o teste pode auxiliar no
processo em direção ao sucesso dos
Compram
novos
produtos
divulgam a sua
satisfação
clientes
satisfeitos
UTILIZAÇÃO DO TESTE COMO PRÁTICA
ESTRATÉGICA DO MERCADO
16. Existem muitos métodos hoje em dia que
podem facilitar o entendimento do testador sem
depender apenas de um treinamento e estudo
sobre o que será desenvolvido.
É necessário que: o analista de teste, ou o
testador seja envolvido no início do projeto, isto
apresenta uma significante melhora no
entendimento de negócio, maior correção de
definições incoerentes e com isso mais
UTILIZAÇÃO DO TESTE COMO PRÁTICA
ESTRATÉGICA DO MERCADO
17. UTILIZAÇÃO DO TESTE COMO PRÁTICA
ESTRATÉGICA DO MERCADO
É notório que implementar testes e controles no
início do projeto os custos podem subir além do
normal, no entanto se lembrarmos que um
software bem planejado e testado da melhor
forma reduz o risco de falhas/defeitos, isso
retorna como um investimento visto que
falhas/defeitos em produção conforme a regra
de 10 Myers podem trazer prejuízos
imensuráveis aos clientes e as empresas ao fim
18. Para decidir isso devemos levar em conta o os riscos,
incluindo risco técnico, do negócio e do projeto, além
das restrições do projeto como tempo e orçamento.
O teste deve prover informações suficientes aos
interessados (stakeholders) para tomada de decisão
sobre a distribuição do software ou sistema, para as
próximas fases do desenvolvimento ou implantação nos
clientes
ABRANGÊNCIA DOS TESTES DE
SOFTWARE
COMO SABER O QUANTO DE TESTE É SUFICIENTE?
APROFUNDANDO O
CONHECIMENTO!
São as pessoas e as organizações que podem ser afetadas por um projeto ou empresa, de forma direta ou
indireta, positiva ou negativamente. Fonte: https://www.euax.com.br/
19. Se os testes forem executados apenas ao fim do processo
de desenvolvimento, certamente a abrangência será bem
menor que se forem executados em andamento ao
processo de desenvolvimento.
Não podemos esquecer que parte do trabalho dos testes é
de conferir se os requisitos estão conforme o solicitado. Por
isso o ideal é que o analista de teste acompanhe desde o
início do projeto, muitas documentações são incompletas,
dão ambiguidade no entendimento e podem ocultar
ABRANGÊNCIA DOS TESTES DE
SOFTWARE
O que faz? Planeja os testes e elabora o plano de testes visando reutilização. Fonte:
20. Se os testes forem executados apenas ao fim do processo
de desenvolvimento, certamente a abrangência será bem
menor que se forem executados em andamento ao
processo de desenvolvimento.
Não podemos esquecer que parte do trabalho dos testes é
de conferir se os requisitos estão conforme o solicitado. Por
isso o ideal é que o Analista de Teste acompanhe desde o
início do projeto, muitas documentações são incompletas,
dão ambiguidade no entendimento e podem ocultar
ABRANGÊNCIA DOS TESTES DE
SOFTWARE
ANALISTA DE TESTE O que faz? Planeja os testes e elabora o plano de testes visando reutilização. Fonte:
https://www.catho.com.br/
21. Quando desenvolvimento e testes andam juntos a
chance de se testar com capacidade e cobertura é muito
maior. Com isso os riscos reduzem e o profissional de
teste pode fazer seu trabalho com calma.
Cobertura de 100% não existe, mas podemos chegar
perto disso. Assim como os testes não resolverão todos
os problemas de um software, mas podem reduzir as
chances de eles serem encontrados aos clientes.
ABRANGÊNCIA DOS TESTES DE
SOFTWARE
22. TESTE É IGUAL A QUALIDADE? Não
SE TESTARMOS O SOFTWARE, TEREMOS QUALIDADE? Não
necessariamente...
Lembrando-se do conceito de qualidade que já vimos, podemos dizer
que:
O TESTE POR SI SÓ NÃO CONSTRÓI A QUALIDADE DO
SOFTWARE.
TESTE E QUALIDADE
23. QUAL A FUNÇÃO DO TESTE?
O teste tem a função de ajudar a medir a qualidade:
• À medida que os defeitos encontrados sejam
corrigidos avaliando requisitos funcionais do
software;
• Avaliando requisitos não funcionais;
• O teste pode fornecer confiança na qualidade de
software.
TESTE E QUALIDADE
24. Com a ajuda do teste é possível medir a
qualidade do software em termos de
defeitos encontrados, por características e
requisitos funcionais ou não funcionais do
software (confiabilidade, usabilidade,
eficiência, manutenibilidade e
portabilidade).
TESTE E QUALIDADE
25. TESTE E QUALIDADE
Teste de Software é uma parte de Controle da
Qualidade, que faz parte da Garantia da
Qualidade de Software.
O Controle da Qualidade é orientada a detecção
destes defeitos.
A Garantia da Qualidade de Software é orientada