Testando sua arquitetura... antes ou depois da implementação?!
-
Upload
antonio-carlos -
Category
Software
-
view
100 -
download
0
Transcript of Testando sua arquitetura... antes ou depois da implementação?!
![Page 1: Testando sua arquitetura... antes ou depois da implementação?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/1.jpg)
Testando sua arquitetura… Antes ou depois da implementação?!
Antônio Carlos
![Page 2: Testando sua arquitetura... antes ou depois da implementação?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/2.jpg)
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?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/3.jpg)
● 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?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/4.jpg)
![Page 5: Testando sua arquitetura... antes ou depois da implementação?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/5.jpg)
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?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/6.jpg)
● 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?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/7.jpg)
![Page 8: Testando sua arquitetura... antes ou depois da implementação?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/8.jpg)
![Page 9: Testando sua arquitetura... antes ou depois da implementação?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/9.jpg)
Antes
![Page 10: Testando sua arquitetura... antes ou depois da implementação?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/10.jpg)
● 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?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/11.jpg)
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?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/12.jpg)
● 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?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/13.jpg)
● 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?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/14.jpg)
● 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?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/15.jpg)
Depois
![Page 16: Testando sua arquitetura... antes ou depois da implementação?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/16.jpg)
● 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?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/17.jpg)
● Teste de instalação● Teste operacional
Portabilidade
![Page 18: Testando sua arquitetura... antes ou depois da implementação?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/18.jpg)
Desempenho
● Teste de performance
● Ferramentas○ JMeter○ LoadUI
![Page 19: Testando sua arquitetura... antes ou depois da implementação?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/19.jpg)
● Complexidade Ciclomática● Coesão e acoplamento● hints
● Ferramentas○ Sonar○ PlatoJS
Manutenibilidade
![Page 20: Testando sua arquitetura... antes ou depois da implementação?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/20.jpg)
● Teste de integração
● Ferramentas○ JUnit○ NUnit○ PHPUnit
Dependências externas
![Page 21: Testando sua arquitetura... antes ou depois da implementação?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/21.jpg)
Então, antes ou depois?
![Page 22: Testando sua arquitetura... antes ou depois da implementação?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/22.jpg)
Custo de manutenção de software
![Page 23: Testando sua arquitetura... antes ou depois da implementação?!](https://reader035.fdocumentos.tips/reader035/viewer/2022062406/55c5a0a2bb61eb62468b4618/html5/thumbnails/23.jpg)
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