Planilha de notas (definitiva).
Na seção de "CAUSA", as células vazias contém "F".
CAUSA | |||||||||
Cliente A | V | V | V | ||||||
Cliente B | V | V | V | ||||||
Cliente C | V | V | V | ||||||
Qtde 0-9 | V | V | V | ||||||
Qtde 10-99 | V | V | V | ||||||
Qtde 100-1000 | V | V | V | ||||||
EFEITO | |||||||||
Desc. 0% | X | X | |||||||
Desc. 5% | X | X | |||||||
Desc. 10% | X | X | |||||||
Desc. 20% | X | X | |||||||
Desc. 30% | X |
Def(01-03) = {comeco, fim, achou}
Def(05) = {meio}
Def(07) = {comeco}
Def(09-10) = {achou, onde}
Def(11) = {fim}
c-uso(01-03) = {tamanho_tabela}
c-uso(05) = {comeco, fim}
c-uso(07) = {meio}
c-uso(09-10) = {meio}
c-uso(11) = {meio}
p-uso(04a,04b) = {comeco, fim}
p-uso(04a,fim) = {comeco, fim}
p-uso(04b,05) = {achou}
p-uso(04b,fim) = {achou}
p-uso(06,07) = {chave, tabela, meio}
p-uso(06,08) = {chave, tabela, meio }
p-uso(08,09-10) = {chave, tabela, meio}
p-uso(08,11) = {chave, tabela, meio }
Na figura abaixo, T1, T2 e T3 são a primeira tela, segunda tela e terceira tela, respectivamente.
A informação sobre quem vai realizar os testes e quais métricas serão colhidas está no Plano de Testes, pois este documento visa responder às seguintes questões:
O Critério de Teste determina um conjunto finito de elementos do modelo de teste que devem ser exercitados durante os testes.
Sim, pois a resposta seria diferente, já que o primeiro elemento (2) seria somado duas vezes aos números pares:
Soma dos pares = 18
Menor nr. impar = 5
int vet[] = { 3, 5, 1, 8, 4, 9, 3, 7, 6, 8 };
int vet[] = { 0, 5, 3, 8, 4, 9, 3, 7, 6, 8 };
1 - erro | (2) comportamento incorreto do software |
2 - defeito | (3) linha de código incorreta |
3 - falha | (1) valor calculado de forma incorreta |
1 - Requisitos | (4) Testes de Unidades |
2 - Análise | (3) Testes de Integração |
3 - Arquitetura e Projeto | (2) Testes de Sistemas |
4 - Codificação | (1) Testes de Aceitação |
Complexidade ciclomática diz respeito a um limite máximo para o número de testes necessários para cobrir todas as instruções de um programa. Porém testes caixa-preta (ou funcionais) focam nas entradas e saídas especificadas nos requisitos funcionais e não se preocupam com a estrutura interna (intruções) do programa, pois não têm acesso ao código. O correto seria:
"O aumento na medida de complexidade ciclomática de um programa introduz mudanças significativas no refinamento de uma abordagem do tipo caixa-branca" .
Inspeções e testes são atividades complementares, e não mutuamente exclusivas.
Inspeções servem para verificar a conformidade com as especificações e se as convenções e padrões de desenvolvimento estão sendo seguidos. Inspeções prescindem da execução do sistema, portanto podem ser aplicadas antes da implementação e ser aplicadas a qualquer representação do sistema: requisitos, projeto, modelo e código, sendo técnicas efetivas para o descobrimento de erros no programa, além de promoverem troca de conhecimento entre os participantes. Por outro lado, inspeções aumentam o custo do processo de desenvolvimento, pois as equipes devem ser bem informadas e ter acesso a especificações precisas, padrões organizacionais devem ser bem definidos e a gerência pode utilizar os achados de inspeção para avaliar indivíduos.
Os testes servem para verificar conformidade com requisitos do usuário e são capazes de verificar requisitos de qualidade (não funcionais). Por outro lado, os testes podem precisar de várias execuções para descobrir certas falhas, pois uma falha pode mascarar outras.
Verificação refere-se ao conjunto de atividades que garantem que o software implementa corretamente as funções especificadas, é o processo de se avaliar um software a cada fase para determinar se o produto dessa fase satisfaz ao que foi requerido no início da fase visando responder a seguinte pergunta "estamos desenvolvendo o produto corretamente?". Entre suas atividades pode-se citar: inspeções (verificacação estática) e testes (verificação dinâmica).
Validação é o processo de se avaliar um software, durante ou após o desenvolvimento, para determinar se o produto satisfaz aos requisitos do cliente, visando responder a seguinte pergunta: "estamos desenvolvendo o produto correto?". Entre suas atividades pode-se citar: homologação, testes de aceitação (beta) e revisões.
Inspeção: estática
Execução simbólica: dinâmica
Revisão técnica: estática
Grafo: 8 pontos; cobertura de nós: 8 pontos; cobertura de ramos: 8 pontos.
Quem deu condições (p.ex. "par e maior que 100") em vez de valores concretos (p.ex. 102) perdeu 2 pontos.
Quem não entendeu que cada if correspodia a dois nós, por causa da condição composta, perdeu 2 pontos.
Quem fez a tabela corretamente ganhou 1,11 ponto por cada coluna correta. Mas quem fez uma linha só para a saída perdeu 2 pontos. Quem não colocou a saída de 0% perdeu 2 pontos. Quem não colocou a parte de baixo da tabela perdeu 3 pontos.
Quem fez a tabela transposta, ou seja, linhas em lugar de colunas e vice-versa, perdeu pelo menos 1 ponto. Se não explicitou a saída, perdeu 3 pontos.
Quem fez um arranjo 3x3 ou outra forma tabular que não a correta, ficou com 3 pontos nesta questão.
Grafo: 5 pontos; def: 5 pontos; c-uso: 5 pontos; p-uso: 5 pontos.
Quem não entendeu que while correspodia a dois nós, por causa da condição composta, perdeu 2 pontos.
Falta de ramo voltando do end-while ao while: perdeu 2 pontos; if seguidos em vez de aninhados: perdeu 2 pontos.
Quem não modelou o número de vezes que se pode errar perdeu 3 pontos. Quem modelou isto usando variáveis perdeu 1 ponto.
Quem não rotulou arestas perdeu 1 ponto.
Quem omitiu nós os arestas perdeu no máximo 1 ponto por elemento omitido.
Quem: 2 pontos; Métricas: 2 pontos. Foi considerado correto dizer que as métricas podem ser definidas no documento de Critérios de Teste.
O conceito de qualidade de software valia 2 pontos. Os fatores valiam 2 pontos.
Quem acertou 5 fatores ganhou 2; quem acertou de 1 a 4 fatores ganhou 1 ponto; quem não acertou enhum fator ganhou 0.
Para acertar um fator era necessário dar-lhe o nome correto e a definição correta. Exemplos de nomes incorretos que NÃO foram aceitos: acertividade (isto acho que nem existe no dicionário), legibilidade (o correto é manutenibilidade ou flexibilidade), durabilidade, adaptabilidade (o correto é portabilidade).
Cada item valia 1,5 pontos.
Acertou tudo: 2 pontos; acertou algo: 1 ponto; errou tudo: 0 pontos.
Quem observou que complexidade ciclomática está relacionado ao código e que testes caixa-preta não utilizam código, acertou. Quem não fez esta observação, errou.
Acertou tudo: 2 pontos; acertou algo: 1 ponto; errou tudo: 0 pontos.
Vaidação: 1 ponto; verificação: 1 ponto.
Acertou: 1 ponto; errou:0 pontos.
© 2014 João Meidanis