0% acharam este documento útil (0 voto)
98 visualizações59 páginas

Teste Funcional

Este documento apresenta conceitos sobre teste funcional de software. Aborda tópicos como planejamento de testes, tipos de teste funcional e não funcional, técnicas de teste como particionamento de equivalência e valor limite, casos de teste, cenários e relatórios de bugs.

Enviado por

Naara Veronez
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
98 visualizações59 páginas

Teste Funcional

Este documento apresenta conceitos sobre teste funcional de software. Aborda tópicos como planejamento de testes, tipos de teste funcional e não funcional, técnicas de teste como particionamento de equivalência e valor limite, casos de teste, cenários e relatórios de bugs.

Enviado por

Naara Veronez
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 59

Teste Funcional

Prof. Jean-Rémi Bourguet

Qualidade de Software e Testes de Sistemas


Teste funcional

I Teste funcional é uma técnica para se projetarem casos de teste.


I O programa ou sistema é considerado uma caixa-preta.
I Nessa técnica, os detalhes de implementação não são considerados.
I O software é avaliado segundo o ponto de vista do usuário.

Teste Funcional 2/26


Planejamento dos testes

I Um plano de teste serve para definir estratégias.


I Define a abrangência dos testes e os recursos disponíveis.
I Definir quais funcionalidades deverão ser testadas (nível macro).

u https://www.youtube.com/watch?v=btNboe_EhX8
u https://www.youtube.com/watch?v=Vdm1Lh540LM
Teste Funcional 3/26
Teste funcional e não funcional

I Teste funcional:
Baseia-se nas especificações dos componentes de software sob teste.
Testados alimentando-as com entradas e examinando as saídas.
I Teste não funcional:
Teste dos requisitos não funcionais do software.
Como um sistema opera, em vez de comportamentos específicos.

u https://www.youtube.com/watch?v=n2A9OakDYcY
Teste Funcional 4/26
Teste funcional e não funcional

I O escopo é definido em reunião com clientes e analistas de sistemas.


I Definir os requisitos funcionais e não-funcionais a testar.
I Requisitos funcionais: casos de uso
I Requisitos não-funcionais: desempenho, segurança, interface, etc...

Teste Funcional 4/26


Subdomínios de teste
Formas de selecionar elementos

I Teste aleatório:
Grande número de casos de teste é selecionado aleatoriamente.
Boa chance de que todos os subdomínios estejam representados.
I Teste de partição:
Establecer quais são os subdomínios a serem utilizados.
Seleciona os casos de teste em cada subdomínio.

Teste Funcional 5/26


Particionamento de Equivalência

I O teste pode detectar todos os defeitos.


I Submete o programa a todas as possíveis entradas (teste exaustivo).
I O domínio de entrada pode ser infinito, muito grande.
I Pode tornar o tempo da atividade de teste inviável.
I Então essa alternativa se torna impraticável e muito custosa.

Teste Funcional 6/26


Particionamento de Equivalência

I Mas é possível conduzir essa atividade de maneira mais sistemática.


I Um de seus critérios é o Particionamento de Equivalência.
I O teste de partição faz uma divisão do domínio de entrada.
I Particionamento permite uma boa representação de todo o domínio.

Teste Funcional 6/26


Particionamento de Equivalência

I Uma outra possibilidade é de realizar um teste randômico.


I Isso consiste em definir um domínio de entradas para um programa...
I ...e testá-lo com dados que são selecionados randomicamente.

u https://www.youtube.com/watch?v=N9423-yju6w
Teste Funcional 6/26
Particionamento de Equivalência

I A qualidade dos requisitos de uma boa especificação deles.


I Especificações ausentes ou mesmo incompletas dificultam.
I Isso evita que partes essenciais ou críticas não sejam exercitadas.

Teste Funcional 6/26


Valor limite

I Análise de Valor-Limite é uma técnica de teste.


I Explora os limites dos valores para preparar Casos de Teste.
I Um grande número de erros tende a ocorrer nos limites do domínio.
I Esta técnica complementa a técnica de classes de equivalência.
I A diferença é que os dados não são escolhidos aleatoriamente.

u https://www.youtube.com/watch?v=P1Hv2sUPKeM
Teste Funcional 7/26
Valor limite

Para o valor limite temos as seguintes entradas:


I valores válidos no limite, valores sucessor e antecessor ao limite.
I valores inválidos imediatamente fora dos limites.

Teste Funcional 7/26


Caso de teste

I Caso de teste descreve uma sequência de passos a serem executados.


I Testa através de entradas pré-definidas e o resultado esperado.

u https://www.youtube.com/watch?v=BBmA5Qp6Ghk
Teste Funcional 8/26
Caso de teste

Um caso de teste pode ser composto por:

I Id do Caso de Teste I Resultado esperado


I Nome do Caso de Teste I Dados de entrada
I Prioridade I Ambiente
I Pré-condições I Técnica: Manual/Automática
I Procedimentos I Iteração

Teste Funcional 8/26


Caso de teste

Teste Funcional 8/26


Cenário de Teste

I Definir casos de testes para cada cenário a ser testado.

u https://www.youtube.com/watch?v=wMN0pCyjQ9E
Teste Funcional 9/26
Cenário de Teste

Teste Funcional 9/26


Teste por Tabela de Decisão

I Tem por objetivo criar casos de teste que representem regras.


I Os conjuntos de ações relacionadas através de uma tabela.
I Transformando a tabela de decisão em casos de teste:
I Os títulos das colunas são os casos de teste
I As condições são as entradas e as ações os resultados esperados.

u https://www.youtube.com/watch?v=TSbIDrx_KVY
Teste Funcional 10/26
Relatórios de Bugs

I Estes relatórios podem ser criados por qualquer usuario.


I Alguns relatórios de bugs serão escritos por desenvolvedores.
I Eles notarão comportamentos estranhos no desenvolvimento.
I Outros serão escritos por testadores profissionais (caçador de bugs).
I Outros bugs serão encontrados em produção (pelo usuário final).

Teste Funcional 11/26


Relatórios de Bugs

I Qualquer bug merece um relatório e uma investigação formal.


I Bugs com títulos e descrições inadequadas serão difíceis de resolver.
I Um bom relatório de bug descreve o problema de forma clara.
I O desenvolvedor familiarizado com o projeto pode entender.
I Ele vai poder resolvê-lo, sem falar com a pessoa que o escreveu.

Teste Funcional 11/26


Relatórios de Bugs

I É importante levantar apenas um problema por relatório de defeito.


I Sempre tenha um número único para cada bug report.
I Cada bug é importante em si para merecer seu próprio relatório.

Teste Funcional 11/26


Relatórios de Bugs

I Um bom título é essencial para avaliação rápida do problema.


I Os títulos esclarecem a situação e não mascaram o problema real.

Teste Funcional 11/26


Relatórios de Bugs

As descrições descrevem contexto, ambiente, passos para reprodução:


RUIM: "A aplicação não responde";
BOM: "A aplicação não responde após a carga do arquivo X na tela";
RUIM: "Texto fora do padrão";
BOM: "Texto do título [Pesquisa] está desformatado";
RUIM: "Não consigo salvar imagens";
BOM: "Dentro da tela de redimensionar imagens, ao tentar salvar a
mesma após cortar 30% da largura da imagem, não consigo salvar";

Teste Funcional 11/26


Relatórios de Bugs

Um conjunto mínimo de passos ajuda muito:


RUIM:
"Loguei no sistema e cliquei em imprimir no relatório.";
BOM:
"Logar no sistema com usuário com permissão para gerar relatórios";
"Clicar na seção de relatórios"; "Escolher o relatório de faturamento";
"Agrupar por mês e filial"; "Clicar em gerar relatório";
"Sistema apresenta uma tela azul";
"Sistema deveria apresentar uma tela com um relatório em PDF";

Teste Funcional 11/26


Relatórios de Bugs

Contexto
I Informações de contexto são cada vez mais importantes.
I Sistema operacional e versão;
I Navegador utilizado e versão (em aplicações web);
I Versão do software que está sendo utilizado;
I Informações sobre o uso do sistema (usuários, grupos e permissões);
I Condições especiais (pouca bateria no notebook, rede ligada, etc);
I Quanto maior o número de detalhes, mais fácil.

Teste Funcional 11/26


Relatórios de Bugs

Severidade vs. Prioridade


I Severidade: impacto do defeito no funcionamento da aplicação.
I Prioridade: ordem de correção do defeito.

Teste Funcional 11/26


Relatórios de Bugs

Screenshots
I Eles são muito úteis para provar a experiência real do usuário!
I Os screenshots colocam o desenvolvedor numa máquina do tempo.
I Os screenshots colocam o desenvolvedor na máquina do usuário.
I Sempre que possível, tire um screenshot, desenhe em cima dele...
I Aponte uma seta para o problema.

Teste Funcional 11/26


Relatórios de Bugs

u https://www.youtube.com/watch?v=EKv85-K_6w4
Teste Funcional 11/26
Relatórios de Bugs

Teste Funcional 11/26


Use o template de bug report abaixo

Número/ID do Bug*:
Título do bug*:
Quem está reportando:
Produto:
Versão:
Componente:
Plataforma*: [PC,MAC,HP,Sun,...]
Sistema operacional*: [Windows,Linux,Unix,SunOS,Mac OS,...]
Prioridade*: [P1,...,P5]. De Prioridade máxima até Quando tiver tempo.
Severidade: [Blocker,Critical,Major,Minor,Trivial,Enhancement]
Status: [New,Verified,Fixed,Reopen,Won’t fix]
Designado para:
URL:
Sumário:
Descrição*: Passos para reprodução, Resultado esperado e encontrado
Screenshot*
Tipo de report: Problema código, design, hardware, documentação.
Teste Funcional 12/26
Ciclo de Vida dos Defeitos (passos ou estados)

Existe ciclo de vida natural de um bug:


I Defeito é encontrado e Bug é relatado.
I Desenvolvedor faz uma triagem do bug.
I Desenvolvedor resolve o bug.
I Desenvolvedor altera o status do bug.
I Relator pode conferir se o problema realmente foi resolvido.
I Relator fecha o bug (ou reabre, caso o conserto não esteja bom).

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

New (Novo)

I Defeito é identificado e cadastrado na primeira vez.


I Seu estado é dado como Novo.

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

Assigned (Atribuído)

I Após o testador ter cadastrado o defeito...


I ...seu gerente verifica se esse defeito é realmente novo.
I Neste caso, atribui o defeito para que o time resolvam.

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

Open (Aberto)

I Desenvolvedor começa análise e trabalho para correção do defeito.

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

Fixed (Corrigido)

I Quando o desenvolvedor faz alterações no código.


I Muda o estado do Bug para Corrigido e passa ao Time de Testes.

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

Pending retest (Revalidação)

I Após a correção, o desenvolvedor entrega essa alteração.


I O testador vai refazer o teste.
I Neste caso, o teste está pendente aguardando o seu fim.

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

Retest (Reteste)

I Testador começa a fazer reteste da alteração feita pelo desevolvedor.


I O testador informa ao desenvolvedor se foi corrigido ou não.

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

Verified (Verificado ou Validado)

I Testador testa a correção após ele ser corrigido pelo desenvolvedor.


I Se o defeito não for mais localizado, o defeito foi consertado.

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

Reopen (Reaberto)

I Se o defeito ainda existir, mesmo após ter sido corrigido...


I ...o testador muda o estado para Reaberto.
I Então, o defeito inicia todo o ciclo de vida novamente.

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

Closed (Fechado)

I Uma vez corrigido, testado, verificado que o defeito não mais existe
I ... o testador muda o estado para Fechado.
I O estado informa que o defeito está corrigido, testado e aprovado.

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

Duplicate (Duplicado)

I Se existe mais de menção do mesmo defeito...


I ... então um desses defeitos recebe o estado de duplicado.

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

Rejected (Rejeitado)

I Se o desenvolvedor identificar que o defeito não é novo...


I ...ele rejeita tal defeito.

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

Deferred (Postergado)

I Se o defeito for baixa prioridade, estado alterado para Postergado.


I Ele será corrigido em versões futuras do software.
I Falta de tempo ou o defeito pode não causar sérios danos.

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

Not a bug (Não é um defeito)

I Esse estado é dado para o defeito quando não existir.

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

Teste Funcional 13/26


Ciclo de Vida dos Defeitos (passos ou estados)

I Quando o bug resolvido chegar na mesa do relator...


I ...ele deve separar um tempo para fazer o teste da resolução.
I Se outro defeito foi encontrado, crie outro bug.
I A maior parte das ferramentas atuais permitem de referenciar bugs.

u https://www.youtube.com/watch?v=NpDZ2NJmDrE
Teste Funcional 13/26
A Equipe de Testes
Gerente de teste (Test manager)

I Lidera a equipe de teste.


I Faz a comunicação entre a equipe de teste e de desenvolvimento.
I Planeja os testes, define estratégias, etc.

Teste Funcional 14/26


A Equipe de Testes
Arquiteto de teste

I Conhece os requisitos do sistema.


I Elabora os roteiros de teste.

Teste Funcional 15/26


A Equipe de Testes
Testador

I É criativo ao executar os testes e rem noções de programação.


I É objetivo ao descrever um erro e é perfeccionista.

Teste Funcional 16/26


A Equipe de Testes
Testador

1. Não deve testar seu próprio programa.


2. Não deve duvidar que um erro existe.
3. Deve ter cuidado para não reportar falsos bugs.
4. O testador não é inimigo do desenvolvedor.
5. O testador deve saber se comunicar com o desenvolvedor.
6. Os bugs descritos por ele devem ser baseados em fatos.
7. Um bom testador é aquele que encontra muitos bugs!

Teste Funcional 17/26


Mitos

I O testador é inimigo do desenvolvedor.


I Os testadores devem ser os desenvolvedores menos qualificados.
I O sistema está pronto quando o desenvolvedor termina de codificar.
I Um programador consegue testar eficientemente o próprio código.

Teste Funcional 18/26


Referências

Teste Funcional 19/26


Creditos das ilustrações

Page 2: https://www.codefirst.co.uk/blog/file/74/

Page 3: https:
//www.eviltester.com/2011/03/the-untold-story-of-the-test-plan.html
Page 4: https://in.pinterest.com/pin/504895808195195450/

Page 5: https://www.monkeyuser.com/2019/mvp/

Page 6: https://www.cartoonstock.com/directory/r/risk_management.asp

Page 7: https://www.cartoonstock.com/directory/c/crash_test_dummy.asp

Page 8: https:
//www.factinate.com/things/24-powerful-facts-avengers-infinity-war/
Page 9: https://ppt-online.org/41744

Page 10: https://www.cartoonstock.com/directory/g/gambling_addiction.asp

Page 11: http://www.quickmeme.com/p/3w1a11,


https://www.modernanalyst.com/Resources/BusinessAnalystHumor/tabid/
218/ID/2778/How_to_get_Approval_for_your_Business_Requirements.aspx
Page 12: http://joyreactor.com/post/606803

Teste Funcional 20/26


Creditos das ilustrações

Page 13: https://www.trademarkandcopyrightlawblog.com/2014/01/


martin-luther-king-jr-and-publication-under-the-1909-copyright-act/
Page 16: https://knowyourmeme.com/photos/1845265-back-to-the-future

Page 18: https://www.sitepoint.com/testing-functional-javascript/

Page 19: http://clipart-library.com/class-representative-cliparts.html

Page 20: https://www.npr.org/2019/04/25/716359470/


eight-ways-to-teach-climate-change-in-almost-any-classroom
Page 27: https://www.softwaretestinghelp.com/test-coverage/

Page 28: https://memeshappen.com/meme/jack-sparrow-being-chased/


enough-test-cases-40783
Page 30:
https://viniciuspessoni.com/2020/03/15/analise-do-valor-limite/<
Page 31: https:
//www.toolsqa.com/software-testing/istqb/boundary-value-analysis/
Page 32: https://qa.world/writing-good-test-cases/

Teste Funcional 21/26


Creditos das ilustrações

Page 33:
https://www.slideshare.net/ProfessionalQA/test-case-a-detailed-guide
Page 34,37: http://www.sti.ufpb.br/~caroline/

Page 35: https://www.pinterest.com/pin/288652657341722380/

Page 36: https://www.testbytes.net/blog/


difference-between-test-case-vs-test-scenario/
Page 38: https://www.youtube.com/watch?v=Kj6Q1XiP2ZI

Page 39: http://www.quickmeme.com/p/3w59bq

Page 40: https://www.monkeyuser.com/2018/focus/

Page 41: http:


//gtsw.blogspot.com/2007/10/como-elaborar-um-roteiro-de-testes.html,
https://www.youtube.com/watch?v=nevAO35IjM4
Page 42:
https://learnenglishkids.britishcouncil.org/jokes/spider-the-computer
Page 43: https://www.grammarly.com/blog/email-subject-lines/

Teste Funcional 22/26


Creditos das ilustrações

Page 44: https:


//www.testingalgorithms.com/blog/acceptance-criteria-or-test-cases
Page 45-46: http://gtsw.blogspot.com/

Page 48,49: http://www.sti.ufpb.br/~caroline/

Page 50: https://www.istockphoto.com/br/vetor/bot%C3%


B5es-quadrados-de-relat%C3%B3rio-de-bug-cor-gm649570944-118050497,
https://newline.tech/blog/bug-report/
Page 51: http://www.desertnews.com/classifieds/community/pdfdisplayad_
c12b1972-7934-11e7-950f-df86b4755b90.html
Page 52: http://ithare.com/how-to-report-cpp-compiler-bugs/

Page 53: https://www.pinterest.com/pin/529595237404368117/

Page 54: https://devrix.com/tutorial/good-bug-report/

Page 55: https://dev.to/wemake-services/


best-engineering-practices-how-to-fix-a-bug-58g5
Page 56: https://connecthedot.com/seo/
if-you-dont-have-anything-nice-to-say-dont-say-it-in-that-context/

Teste Funcional 23/26


Creditos das ilustrações

Page 57: https://www.guru99.com/defect-severity-in-software-testing.html

Page 58: https://www.pinterest.ru/pin/478085316691720956/

Page 59,60, 62: http://www.sti.ufpb.br/~caroline/

Page 63: https://www.pinterest.com/pin/389068855278827968/

Page 64: https://wronghands1.com/tag/taxonomy/

Page 65: https:


//www.twinkl.com.br/resource/t-t-982-parts-of-the-insect-activity
Page 71: https://sachachua.com/blog/2011/9/19/

Page 72: https://www.ibm.com/ibm/history/ibm100/fr/fr/icons/gooddesign/

Page 73: https://www.pngwing.com/en/free-png-nmhpl

Page 66: https://www.dataversity.net/what-is-taxonomy/

Page 67: https://extension.entm.purdue.edu/radicalbugs/default.php?page=


pest_identification

Teste Funcional 24/26


Creditos das ilustrações

Page 68: https://www.vectorstock.com/royalty-free-vector/


a-ladybug-life-cycle-vector-22557870
Page 69: https://www.pinterest.com/pin/507358714246244294/

Page 70: https://medium.com/@CPP_Coder/


static-analysis-in-video-game-development-top-10-software-bugs-a32b1ed4
Page 71:
https://medium.com/@techindustan/funny-programming-jokes-f4d9a9fdd816
Page 72:
https://www.reddit.com/r/ProgrammerHumor/comments/93eq0e/everytime/
Page 73:
https://www.cybersecurity-insiders.com/pen-testing-service-life-cycle/
Page 74: https://www.slideserve.com/ghazi/test-test-retest

Page 75: https://www.facebook.com/Funny-Verified-966282716784716/

Page 76: https://tenor.com/view/


bugs-reopen-resolved-daffi-duck-bugs-bunny-gif-15871969

Teste Funcional 25/26


Creditos das ilustrações

Page 77: https://www.vectorstock.com/royalty-free-vector/


glowing-closed-neon-sign-with-glitter-vector-18788762
Page 78: http://simply-the-test.blogspot.com/2019/06/
duplicate-bugs-arguing-in-jira.html
Page 79: https://www.kickstarter.com/projects/rejectedcharacters/
rejected-characters-enamel-pin-series/faqs?lang=fr
Page 80: https://me.me/i/
welcome-to-heaven-where-is-everyone-they-upgraded-to-heaven-2552202
Page 81: https://www.pinterest.com/pin/615796949032178104/

Page 82: https://www.gratispng.com/png-0jnpn6/download.html

Page 83: https://plan.io/blog/bug-tracking-tools/

Teste Funcional 26/26

Você também pode gostar