testando sua arquitetura... antes ou depois da implementação?!

24
Testando sua arquitetura… Antes ou depois da implementação?! Antônio Carlos

Upload: antonio-carlos

Post on 08-Aug-2015

100 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Testando sua arquitetura... antes ou depois da implementação?!

Testando sua arquitetura… Antes ou depois da implementação?!

Antônio Carlos

Page 2: Testando sua arquitetura... antes ou depois da implementação?!

Segundo o padrão ISO/IEEE 1471-2000,

“Arquitetura é a organização fundamental de um sistema incorporada em seus componentes, seus relacionamentos com o ambiente, e os princípios que conduzem seu design e evolução.”

O que é arquitetura de software?

Page 3: Testando sua arquitetura... antes ou depois da implementação?!

● Segurança● Confiabilidade ● Tolerância a falhas● Portabilidade● Desempenho● Manutenibilidade● Usabilidade● Dependências externas

Principais aspectos arquiteturais

Page 4: Testando sua arquitetura... antes ou depois da implementação?!
Page 5: Testando sua arquitetura... antes ou depois da implementação?!

Propriedade Métrica

Desempenho Transações por segundoTempo de resposta por requisiçãoTempo de carregamento da tela

Usabilidade Tempo de treinamento necessárioTempo de execução de uma rotina

Confiabilidade Tempo médio para falhasProbabilidade de falhasDisponibilidade

Segurança Número de vulnerabilidades conhecidasNúmero de ameaças conhecidasProbabilidade de ataques

Page 6: Testando sua arquitetura... antes ou depois da implementação?!

● Verificação○ Estamos construindo “certo” o produto?

● Validação○ Estamos construindo o produto “certo”?

V & V

Page 7: Testando sua arquitetura... antes ou depois da implementação?!
Page 8: Testando sua arquitetura... antes ou depois da implementação?!
Page 9: Testando sua arquitetura... antes ou depois da implementação?!

Antes

Page 10: Testando sua arquitetura... antes ou depois da implementação?!

● Visa descobrir defeitos o mais cedo possível;● Visa a melhoria da qualidade dos artefatos;● Evitar retrabalho;

Revisões técnicas

Page 11: Testando sua arquitetura... antes ou depois da implementação?!

Segundo McGraw Hill (1998)● Cada seção de inspeção remove de 60 a 65% dos

defeitos● Quando combinados com práticas de testes esse

número pode subir para 90%

Revisões técnicas

Page 12: Testando sua arquitetura... antes ou depois da implementação?!

● Reuniões informais para avaliação de artefatos● Não existem restrições quanto à discussão sobre

validação dos defeitos e/ou solução● Apresentação dos artefatos e avaliação prática

Walkthroughs

Page 13: Testando sua arquitetura... antes ou depois da implementação?!

● Checklist de avaliação preparados por pessoas com conhecimento técnico

● Reuniões são realizadas para identificar os artefatos

Checklists

Page 14: Testando sua arquitetura... antes ou depois da implementação?!

● Um especialista na área valida o artefato● O processo de desenvolvimento deve considerar a

validação● Especialista interno ou externo

Parecer do especialista

Page 15: Testando sua arquitetura... antes ou depois da implementação?!

Depois

Page 16: Testando sua arquitetura... antes ou depois da implementação?!

● Teste de segurança○ SQLInjection○ DDoS○ Teste de penetração

● Ferramentas ○ SQLMap○ Nikto2○ Wapiti○ Brutos

Segurança

Page 17: Testando sua arquitetura... antes ou depois da implementação?!

● Teste de instalação● Teste operacional

Portabilidade

Page 18: Testando sua arquitetura... antes ou depois da implementação?!

Desempenho

● Teste de performance

● Ferramentas○ JMeter○ LoadUI

Page 19: Testando sua arquitetura... antes ou depois da implementação?!

● Complexidade Ciclomática● Coesão e acoplamento● hints

● Ferramentas○ Sonar○ PlatoJS

Manutenibilidade

Page 20: Testando sua arquitetura... antes ou depois da implementação?!

● Teste de integração

● Ferramentas○ JUnit○ NUnit○ PHPUnit

Dependências externas

Page 21: Testando sua arquitetura... antes ou depois da implementação?!

Então, antes ou depois?

Page 22: Testando sua arquitetura... antes ou depois da implementação?!

Custo de manutenção de software

Page 23: Testando sua arquitetura... antes ou depois da implementação?!

Segundo Martin & McClure (1984):● Manutenção contabiliza quase 67% dos custos totais;● 20% do orçamento de manutenção é para corrigir

defeitos;● 25% é gasto para adaptar a um novo ambiente;● 6% é gasto para corrigir documentação;● 4% é gasto com problemas de performance; e● 42% é gasto com solicitação de usuário.

Custo de manutenção de software

Page 24: Testando sua arquitetura... antes ou depois da implementação?!

Obrigado!

[email protected]