Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Testes - Parte 1 | Engenharia de Software

Material da disciplina de Engenharia de Software baseado em SOMMERVILLE, Software Engineering, 9a. Edição
by

Eduardo Mendes de Oliveira

on 2 December 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Testes - Parte 1 | Engenharia de Software

Quão crítico o software
é para a organização?
Engenharia
SOFTWARE
de
Objetivos
compreender
abordagem incremental e interativa conduz a uma entrega mais rápida de software
diferenças entre desenvolvimento ágil e orientado à documentação
conhecer
aprender
os princípios,
práticas e algumas limitações da XP e do gerenciamento ágil
BIBLIOGRAFIA
SOMMERVILLE, Ian. Engenharia de Software, 8a. edição. Addison Wesley, 2007
SOMMERVILLE, Ian. software engineering, 9a. edição. Addison Wesley, 2010
Testes - Parte 1
Testes
revelar a presença de erros
Teste de validação
X
Fases
Testes de desenvolvimento


Testes de release


Testes de usuário
Teste de defeitos
Um teste bem sucedido mostra que o sistema funciona como previsto
Um teste bem sucedido é aquele que faz com que o sistema funcione de forma incorreta e por isso apresenta um defeito no sistema
Verificação
Validação
x
Estamos construindo
o software correto?
Estamos construindo
o software corretamente?
Livre de defeitos
O que o usuário quer
Estabelecer a confiança
de que o software está apto
com sua finalidade
Depende
da finalidade
das expectativas
do usuário
pode haver baixa expectativa
Inspeções
Testes
Verificação dinâmica do comportamento do sistema
O sistema é executado com dados de teste e o seu comportamento é observado
Verificação da representação estática do sistema para descobrir problemas
Analisar o código do sistema, projetos ou testes para procurar problemas
o sistema é testado durante o desenvolvimento para descobrir erros e defeitos
uma equipe de testes independente testa uma versão completa do sistema antes que seja lançado para os usuários
os usuários, ou potenciais usuários de um sistema, testam o sistema no seu próprio ambiente
TDD
de unidade
de componente
de sistema
Concentram-se na funcionalidade dos objetos ou métodos
Objeto A
Objeto X
Objeto L
automatizados
Cada objeto foi testado como unidade,
mas a sua integração não foi testada
deve mostrar que a interface do componente se comporta de acordo com sua especificação
Integração dos componentes para
uma versão do sistema
teste do sistema integrado
interações entre os componentes
Espera-se que o sistema execute corretamente ao usar um determinado conjunto de casos de teste que refletem o uso esperado do sistema
demonstra que o software é o que o cliente deseja
ao menos 01 teste
para cada requisito
especificado
revela os defeitos no sistema
tentar eliminar falhas do sistema, cálculos incorretos, corrupção de dados
Os casos de testes de defeito podem ser deliberadamente obscuros e não precisam refletir a forma como o sistema é normalmente utilizado
TDD
Testes
Desenvolvimento
+
Teste de validação
Teste de defeitos
X
Mostrar que um programa
faz o que pretende fazer
Objetivos
antes de
colocar o software em produção
PROGRAMA
de TESTE
+
DADOS
de TESTE
METAS
Demonstrar ao
desenvolvedor
cliente
EXPECTATIVAS
Pessoas examinando o código

Não exigem a execução do sistema

Técnica efetiva para descoberta de erros
Funções individuais ou métodos dentro de um objeto
Classes de objetos com vários atributos e métodos
Componentes compostos com interfaces definidas usado para acessar sua funcionalidade.
JUnit
TestNG
Cucumber
Selenium
Deve haver testes para toda a interface do objeto
Testes de todas as operações associadas a um objeto
Utilizando o objeto em todos os estados possíveis
“Desenvolvimento baseado em testes
é uma forma de administrar o medo
durante a programação.”

(Kent Beck)
menos
testes
mais
problemas
menos
tempo
espiral
da morte
ACEITAÇÃO
Full transcript