Você está na página 1de 20

ASSUNTOS:

-QUALIDADE DE SOFTWARE
-TESTES DE SOFTWARE
QUALIDADE DE SOFTWARE
- FATORES QUE AFETAM A QUALIDADE:

(SOMMERVILLE, 2011)

- DEFINIÇÃO DE QUALIDADE DO PRODUTO:


- o grau em que o sistema, componente ou processo atende os
requisitos especificados e as expectativas (IEEE 610, 1990)
MODELO DE QUALIDADE
- AJUDA A DEFINIR E MEDIR AS CARACTERÍSTICAS DE QUALIDADE DE
UM SOFTWARE.

- EXEMPLO: NORMAS DA ISO 25000 (“junção” da 9126 e 14598)

- auxilia na especificação de requisitos e avaliação da


qualidade do produto de software
- tem 5 divisões:
- gerenciamento de qualidade
- modelo de qualidade
- medição da qualidade
- requisitos de qualidade
- avaliação da qualidade
TESTES DE SOFTWARE
POR QUE TESTAR?
1 - Demonstrar aos desenvolvedores e ao 2 - Descobrir situações em que o software se
cliente que o software atende a seus comporta de maneira incorreta, indesejável ou
requisitos. diferente das especificações.
(TESTE DE VALIDAÇÃO) (TESTE DE DEFEITOS)
“Teste é o processo de executar um programa com o objetivo de encontrar erros.”
(MYERS, 2004)

O teste é parte de um amplo processo de verificação e validação (V&V)


VALIDAÇÃO: VERIFICAÇÃO:
estamos construindo o produto certo? estamos construindo o produto da maneira
correta?

tem por objetivo garantir que o tem o objetivo de checar se o


software atenda às expectativas software atende a seus requisitos
do cliente. funcionais e não funcionais.

o objetivo final dos processos de V&V é estabelecer a confiança de que o software está pronto para seu propósito
Caracterização de teste de software

exemplo das divisões:

● Forma de execução do teste


● Técnicas de teste
● Etapas de teste
● Estágio de teste
● Níveis de teste
Formas de execução

Manual Automatizados

o testador executa o programa com alguns os testes são codificados em um programa


dados de teste e compara os resultados com que é executado cada vez que o sistema em
suas expectativas. desenvolvimento é testado. São muito úteis
principalmente quando envolve testes de
regressão e é uma tendência dos testes.

tem alguns princípios para automatizar (MESZAROS, 2007)

na prática, o processo de teste geralmente envolve uma mistura de testes manuais e automatizados.
Técnicas de teste

TESTE CAIXA PRETA (FUNCIONAL): TESTE CAIXA BRANCA (ESTRUTURAL):


● Não usa nenhum detalhe interno (estrutura, ● Teste feito considerando o conhecimento
código e etc…) da estrutura interna do código
● Alguns métodos: ● problema: muitos caminhos
○ partição em classes de equivalência ● solução: critério para escolha de caminhos
○ valor limite baseado em fluxo de controle (precisa
○ tabelas de decisão
transformar o código em grafo)
○ grafos de causa e efeito
○ outros.
● ferramenta: Junit

Podem ser automatizados usando o Selenium ou Cypress

ajuda a escolher os conjuntos de dados de teste


Etapas de teste
Geralmente, o sistema de software comercial tem de passar por
três estágios de teste:

1. Testes em desenvolvimento
sistema é testado durante o processo de desenvolvimento

2. Testes de release
uma equipe independente testa uma versão completa do sistema antes que seja
liberado para os usuários

3. Testes de usuários
usuários ou potenciais usuários testam o sistema em seu próprio ambiente
Testes de Desenvolvimento

pode ocorrer em três níveis: TESTE UNITÁRIO

1. Teste unitário ● menores componentes do programa


2. Teste de integração ● deve automatizar sempre que possível,
exemplo de ferramenta: Junit
3. Teste de sistema
● a grande dificuldade é determinar o
domínio de entrada, para ajudar tem os
métodos de teste caixa preta
● outro problema é dependência entre as
classes, então devemos isolar e usar
um dublê, por exemplo o mock.
Testes de Desenvolvimento

pode ocorrer em três níveis: TESTE DE INTEGRAÇÃO

1. Teste unitário ● interage os componentes e vê se essa


2. Teste de integração interação funciona corretamente
● os testes unitários devem estar
3. Teste de sistema
concluídos
● exemplo: problemas em relação a
passagem de parâmetros entre classes
● Junit também pode ser usado
Testes de Desenvolvimento

pode ocorrer em três níveis: TESTE DE SISTEMA

1. Teste unitário ● fase onde o sistema completo é testado


2. Teste de integração ● verifica se os componentes são
compatíveis, interagem corretamente e
3. Teste de sistema
transfere dados certos no momento certo,
por suas interfaces.
● pode-se interligar componentes reusáveis
para testar o sistema completo.
● mais difícil de automatizar em relação aos
outros níveis.
● exemplo de ferramenta é o Selenium
Teste de release

● Objetivo de verificar se o sistema atende é dividido em:


seus requisitos e é bom o suficiente para
uso externo (teste de validação). ● testes baseados em requisitos
● Costuma ser um teste caixa-preta em ● testes de cenário
que os testes são derivados da ● testes de desempenho
especificação do sistema. ○ para desempenho uma ferramenta que
pode ser usada é o Jmeter
● É similar ao teste de sistema mas não se
centra em encontrar defeitos.
Testes de usuário

● estágio em que clientes ou usuários dividido em 3 tipos de teste:


testam para verificar o sistema no
ambiente que ele será usado. ● teste alfa
○ usuário e desenv. juntos
● teste beta
○ release disponibilizado para usuários
relatarem a experiência aos desenv.
● teste de aceitação
○ clientes testam para decidir se está
pronto
Desenvolvimento dirigido a testes
TDD - Test-Driven Development

- ideia de “test-first” BENEFÍCIOS


- Surgiu como parte de métodos ágeis(XP)
- Intercala testes e implementação de - Melhor entendimento do código
código - Cobertura mínima de código pelo teste
- Teste de regressão automatizado
- Depuração simplificada
- Documentação indireta do sistema

Ferramenta: Junit

NÃO ELIMINA NECESSIDADE DE TESTE DE SISTEMA


POSTERIOR
Mais ferramentas

Existem ferramentas indicadas para testar voltadas ao gerenciamento de testes:


cada requisito, exemplos: -testlink, RTH, T-Plan Professional,
QADirector
teste de portabilidade:
-virtualbox, docker para gestão de defeitos:
-Mantis, Scarab, Trac
teste de acessibilidade:
-AChecker de performance:
WAPT, LoadRunner, JMeter
teste de usabilidade:
-Loop11 entre outras categorias e ferramentas.
entre outros requisitos e ferramentas.

Você também pode gostar