1/20
Looks like no tags are added yet.
Quais são os principais tipos de white box testing?
Statement-Testing;
Branch Testing
O que trata o Statement Testing e como é a sua cobertura?
A coverage analisa se todas as instruções, o objetivo é criar casos de teste que executem todas as instruções do código!
O que trata o branch testing e como é a sua cobertura?
branch → ramo que representa as possíveis sequências , e os testes representam os ramos, temos 100% coverage se conseguirmos percorrer os dois (ou mais) caminhos.
nestes casos podemos precisar de dois casos de teste para conseguirmos percorrer tudo.
O que é Decision Coverage?
A decision coverage preocupa-se em testar os diferentes resultados das decisões.
devemos ter testes que testem ambos os lados possíveis.
esta cobertura é 100% quando o branch coverage também é.
é mais forte do que statement coverage.
O que é Condition Coverage?
Todas as condições possíveis têm de ser testadas, por exemplo:
se formos testar a>0 e b>0 (simultaneamente) e se for True segue por esse caminho e se for False segue por outro, temos de ter um teste que teste T e outro que teste F
O que é Multiple Condition Coverage?
Testar todas as combinações possíveis!
tipo a= 0 e b= 0 , a=1 e b=1, a= 0 e b=1, a=1 e b= 0
Qual a vantagem de white-box testing?
A vantagem é que toda a implementação do código é considerada mesmo quando a especificação é vaga.
Qual a desvantagem de white-box testing?
Apesar de white-box verificar o código e testar, não consegue detetar funcionalidades que deviam existir e não estão, porque não sabe que deviam estar → o chamado teste por omission. O teste passa na coverage apenas com o que ESTÁ no código
Porque ao contrário do black-box não verifica requisitos nem nada.
White-Box pode ser usado em static testing?
Sim. Com o chamado dry running: simular a execução manualmente.
ou seja é usado para rever código que ainda não está pronto para ser executado e para rever a lógica
Compara a cobertura ente white e black?
O black por si só não nos diz quanto código foi executado, mas o white-box permite medir essa cobertura e identificar as partes que ainda não foram testadas e criar novos testes para aumentar a confiança no software.
Quais são os tipos de experience-based test?
Error Guessing;
Exploratory Guessing;
Checklist-based Testing.
O que é Error Guessing?
Técnica para antecipar a ocorrência de erros, defeitos e falhas, baseado no conhecimento do tester, ou seja:
com base em:
como a aplicação trabalhou no passado;
tipos de erros que os developers tendem a fazer;
tipos de erros que ocorreram noutras aplicações parecidas.
Esses erros podem estar relacionados com o quê?
input, output, lógica, dados, interface, computação.
O que são fault attacks?
O tester cria lista de possíveis erros e depois concebe os testes para encontrar esses erros que listou.
O que é Exploratory Testing?
o tester vai explorando o software e aprendendo como funciona, vai criando testes e executando-os à medida que descobre o seu comportamento. o teste seguinte é desenhado conforme a reação ao anterior.
e os testes são ao mesmo tempo concebidos, executados e avaliados
Como é feito o exploratory testing?
Através de sessões, chamadas session-based testing.
O que acontece nessas sessões?
É definida uma time-box (limite de tempo para determinada atividade);
O tester usa um test charter que tem os objetivos de teste (como um guia);
Há um debriefing → reunião onde o tester partilha o que descobriu;
Os elementos da cobertura são identificados e testados durante a sessão do teste;
O tester pode usar folhas de registo para documentar as descobertas;
Perante um objetivo geral, o tester pode aprofunda-lo
Quando é que a exploratory testing é útil?
Quando não temos especificações adequadas ou tempo reduzido.
O que é a Checklist Based Testing?
Existe uma checklist de objetivos de teste e fazemos testes de acordo com a lista
Como são formadas as listas? e o que fazer?
São baseadas na experiência, e na análise de requisitos.
Ao longo do tempo podem ficar ineficientes e é necessário dar updates.
quando não existem muitos testes detalhados, estes testes baseados em listas podem fornecer orientações e consistência a fazer os testes.
Qual é um desafio das checklists?
Se os testes forem high-level (ou seja, muito gerais), o tester pode interpretar de formas distintas (variabilidade) → o que pode resultar em mais cobertura (porque diferentes testers fazem testes diferentes) mas menos repetições dos mesmos