ROTEIRO
• Introdução
• Fundamentação teórica:
– Computação em Nuvem
– Engenharia Dirigida por Modelos (MDE)
– Teste de Sof...
Introdução
• A importância dos campos de estudo: Computação em Nuvem,
Engenharia Dirigida por Modelo e Teste de Software.
...
Introdução
• Estas áreas tem se relacionado com grande frequência nos
últimos anos, sendo objetos de muitas pesquisas.
• E...
Fundamentação Teórica:
Computação em Nuvem
• Paradigma de computação que possui como principais características:
virtualiz...
Fundamentação Teórica:
Computação em Nuvem
Infrastructure as a Service Representa um ambiente completo e gerenciado, que
t...
Fundamentação Teórica:
Computação em Nuvem
Outros tipos de serviços:
Database as a Service, Test
as a Service, Security as...
Fundamentação Teórica: Engenharia
Dirigida por Modelos (MDE)
• Abordagem que coloca os modelos como os principais artefato...
Fundamentação Teórica:
Teste de Software
• Teste de software consiste na verificação e eliminação de erros
nos requisitos ...
Problema
Figura 2. Tabela retirada de Inçki et al. (2012)
Problema
• De acordo com a Figura 2, os tipos de teste mais usados na
literatura levantada por (Inçki et al. 2012) são o t...
Solução
• Diante do problema colocado, ou seja, a baixa ocorrência ou
mesmo a desconsideração com os testes não funcionais...
Solução
Captura dos
requisitos não-
funcionais do
serviço da
nuvem
Geração dos
modelos e
casos de teste,
segundo a
abordag...
REFERÊNCIAS
• B. Dougherty, J. White, and D. C. Schmidt. Model-driven Auto-scaling of
Green Cloud Computing Infrastructure...
REFERÊNCIAS
• H. Brunelière, J. Cabot, and F. Houault, Combining Model-Driven
Engineering and Cloud Computing, AtlanMod, I...
REFERÊNCIAS
• Priyanka, I. Chana, and A. Rana, Empirical evaluation of cloud-based
testing techniques: a systematic review...
Próximos SlideShares
Carregando em…5
×

Uma metodologia para captura e teste de requisitos não funcionais de ambientes em nuvem segundo uma abordagem mde

591 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
591
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
9
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Uma metodologia para captura e teste de requisitos não funcionais de ambientes em nuvem segundo uma abordagem mde

  1. 1. ROTEIRO • Introdução • Fundamentação teórica: – Computação em Nuvem – Engenharia Dirigida por Modelos (MDE) – Teste de Software • Problema • Solução • Referências
  2. 2. Introdução • A importância dos campos de estudo: Computação em Nuvem, Engenharia Dirigida por Modelo e Teste de Software. • Computação em Nuvem: redução na quantidade de recursos físicos, virtualização, contribuição para uma economia mais sustentável (Dougherty et al. 2012), etc.; • Engenharia Dirigida por Modelos: modelos formais, interoperabilidade entre os modelos criados, garantia de qualidade, etc.; • Teste de Software: verificação e eliminação dos erros durante o desenvolvimento do software, software com maior qualidade.
  3. 3. Introdução • Estas áreas tem se relacionado com grande frequência nos últimos anos, sendo objetos de muitas pesquisas. • Esta apresentação tem por objetivo fazer uma breve explanação destes campos de pesquisa, identificar o problema com base no estudo realizado e propor uma solução para o problema.
  4. 4. Fundamentação Teórica: Computação em Nuvem • Paradigma de computação que possui como principais características: virtualização, orientação a serviço, baixo acoplamento, forte tolerância a falhas, modelo de negócio e de fácil uso. (Gong et al. 2010) • “Computação em Nuvem é um modelo que oferece um acesso conveniente e sob demanda a um conjunto compartilhado de recursos computacionais configuráveis, como redes, servidores, armazenamento, aplicações e serviços que podem ser rapidamente ofertados e liberados com esforço mínimo de gerenciamento ou interação do provedor do serviço.” (Priyanka et al 2012) • Os serviços mais comuns são: – Software-as-a-Service (SaaS) – Platform-as-a-Service (PaaS), – Infrastructure-as-a-Service (IaaS)
  5. 5. Fundamentação Teórica: Computação em Nuvem Infrastructure as a Service Representa um ambiente completo e gerenciado, que torna fácil a entrega de recursos acessíveis (como memória e rede) Platform as a Service Ambiente de desenvolvimento de software que permite um usuário implantar aplicações sem custos e sem complexidade. Oferece, por exemplo, sistemas operacionais, bancos de dados, serviços de mensagens, armazenamento de dados. Software as a Service Aplicações completas que executam no ambiente de nuvem. Caracteriza-se pelo acesso centralizado à informação através da internet. Tabela 1. Principais serviços da Computação em Nuvem
  6. 6. Fundamentação Teórica: Computação em Nuvem Outros tipos de serviços: Database as a Service, Test as a Service, Security as a Service, Communication as a Service, Modelling as a Service (Brunelière et al. 2010), entre outros, que são oferecidos como um serviço. Figura 1 – Hierarquia dos serviços na Computação em Nuvem (retirado de Hilley 2009)
  7. 7. Fundamentação Teórica: Engenharia Dirigida por Modelos (MDE) • Abordagem que coloca os modelos como os principais artefatos em todas as fases de desenvolvimento de software; • Possui como benefícios o baixo custo e a redução de tempo no desenvolvimento de software. • Lida com a complexidade das fases de desenvolvimento, manutenção e evolução dos sistemas de software. • Exemplos de abordagens MDE: MDA, MDT, MDD, EMF. • Teste Dirigido por Modelo (MDT): reduzir os esforços na criação de casos de teste de software, oferecendo geração automática de casos de teste de software a partir dos modelos.
  8. 8. Fundamentação Teórica: Teste de Software • Teste de software consiste na verificação e eliminação de erros nos requisitos funcionais e não funcionais presentes durante o desenvolvimento de software. • Teste de software é uma parte integral de um ciclo de vida de desenvolvimento de software que se espalha sobre todas as fases de desenvolvimento. (Inçki et al. 2012) • Os tipos de testes mais conhecidos: testes funcionais, testes não funcionais, testes de performance, teste de segurança, teste de integração, entre outros.
  9. 9. Problema Figura 2. Tabela retirada de Inçki et al. (2012)
  10. 10. Problema • De acordo com a Figura 2, os tipos de teste mais usados na literatura levantada por (Inçki et al. 2012) são o teste funcional (teste das funcionalidades da aplicação) e o teste de performance (teste do desempenho do aplicativo). • Na literatura presente nessa Figura, podemos observar que os testes não funcionais não foram considerados entre os tipos de teste, fazendo com que requisitos não funcionais como usabilidade, segurança, confiabilidade, portabilidade, etc., sejam colocados de lado, privilegiando apenas os requisitos funcionais dos serviços e a performance dos mesmos.
  11. 11. Solução • Diante do problema colocado, ou seja, a baixa ocorrência ou mesmo a desconsideração com os testes não funcionais em serviços e/ou aplicativos baseados na nuvem, torna-se necessário desenvolver uma solução que realize a identificação e o teste dos requisitos não funcionais de um serviço baseado na Nuvem. • A solução consiste na elaboração de uma metodologia que realiza a identificação e o teste dos requisitos não funcionais de um serviço baseado em nuvem segundo uma abordagem MDE. Uma ferramenta será construída também com o objetivo de implementar a metodologia.
  12. 12. Solução Captura dos requisitos não- funcionais do serviço da nuvem Geração dos modelos e casos de teste, segundo a abordagem do Teste Dirigido por Modelos Utilização dos casos de teste não funcionais no serviço da nuvem para fins de Verificação e Validação do serviço.
  13. 13. REFERÊNCIAS • B. Dougherty, J. White, and D. C. Schmidt. Model-driven Auto-scaling of Green Cloud Computing Infrastructure. Future Gener. Comput. Syst., 28(2):371-378, Feb. 2012. • C. Gong, J. Liu, Q. Zhang, H. Chen, and Z. Gong, "The Characteristics of Cloud Computing", 391h iEEE international Conference on Parallel Processing Workshops 2010, IEEE Computer Society, pp. 275-279. • D. Hilley. Cloud Computing: A Taxonomy of Platform and Infrastructure- level Offerings. Technical Report 13, Center for Experimental Research in Computer Systems – Georgia Institute of Technology, April 2009.
  14. 14. REFERÊNCIAS • H. Brunelière, J. Cabot, and F. Houault, Combining Model-Driven Engineering and Cloud Computing, AtlanMod, INRIA RBA Center & EMN, France, Nantes, 2010 • K. Inçki, I. Ari, and H. Sozer, “A survey of software testing in the cloud,” in Proceedings of the 2012 IEEE Sixth International Conference on Software Security and Reliability Companion, ser. SERE-C ’12. Washington, DC, USA: IEEE Computer Society, 2012, pp. 18–23. • Kristoffer Dyrkorn and Frank Wathne. Automated testing of nonfunctional requirements. In Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, OOPSLA Companion ’08, pages 719–720, New York, NY, USA, 2008. ACM.
  15. 15. REFERÊNCIAS • Priyanka, I. Chana, and A. Rana, Empirical evaluation of cloud-based testing techniques: a systematic review. ;In Proceedings of ACM SIGSOFT Software Engineering Notes. 2012, 1-9. • SOUSA, Helaine; LOPES, Denivaldo; ABDELOUAHAB, Zair; CLARO, Daniela; HAMMOUDI, Slimane. An Approach for Model Driven Testing: framework, metamodels and tools. Computer Systems Science and Engineering, v. 26, p. 41-55, 2011. ISSN 0267-619

×