Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants 

Detalhes bibliográficos
Autor(a) principal: Pinto, Victor Hugo Santiago Costa
Data de Publicação: 2019
Tipo de documento: Tese
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da USP
Texto Completo: https://www.teses.usp.br/teses/disponiveis/55/55134/tde-31012020-181537/
Resumo: Multi-tenancy é um padrão arquitetural para SaaS (Software as a Service) pois permite que múltiplas organizações, ou tenants, tenham sua própria versão da aplicação executando e coexistindo em espaços virtualizados e isolados no mesmo hardware, reduzindo custos operacionais. Uma única instância com meta-dados configuráveis pode oferecer aos usuários finais, interfaces e funcionalidades alinhadas às regras de negócio diferentes para cada tenant. Entretanto, isso representa um desafio para a atividade de teste, uma vez que a execução das versões incluem fluxos de controle e dados em funcionalidades compartilhadas que podem ser afetadas pelo comportamento não determinístico, uma dificuldade conhecida na área de testes de programas concorrentes. Apesar da importância de desenvolver esses sistemas com alta qualidade, os modelos de implementação são fragmentados e não seguem uma metodologia padronizada, falta uma arquitetura de referência e abordagens de teste direcionadas às particularidades desse modelo de aplicações. Embora o modelo SaaS seja provavelmente o mais adotado no contexto de Computação em Nuvem e que multi-tenancy seja o mecanismo chave para isso, existe muita desconfiança em relação à segurança dos dados e a capacidade de uma única instância em execução não ser afetada por defeitos em versões isoladas. Este projeto de doutorado contribui nessa direção, propondo uma abordagem de teste que permite explorar defeitos relacionados ao atendimento às requisições e redirecionamentos que ocorrem nessas versões, uma vez que tais operações implicam em definições e usos subsequentes de uma variável de identificação dos tenants e seus recursos. Uma taxonomia preliminar de defeitos foi proposta, um sistema de e-commerce chamado MtShop foi desenvolvido seguindo práticas recentes, estudos experimentais foram conduzidos envolvendo testes de aceitação automatizados com execução paralela, um modelo de teste foi definido para apoiar a definição de um conjunto de critérios de cobertura e a extração de elementos requeridos pelos testes e estudos foram realizados para avaliar a aplicabilidade dos critérios propostos. Os resultados dos estudos exploratórios demonstram que a abordagem proposta é aplicável e o modelo de teste é capaz de representar aplicações multi-tenants. Os critérios podem contribuir para a qualidade desse tipo de sistemas em termos de cobertura e identificação de defeitos que possuem natureza concorrente.
id USP_38e52c9ccedc95a534f29714107b887d
oai_identifier_str oai:teses.usp.br:tde-31012020-181537
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants Study and Definition of Software Testing for the context of Multi-tenant SystemsCloud computingComputação em nuvemCritérios de testeMulti-tenancyMulti-tenancySoftware testingTeste de softwareTesting criteriaMulti-tenancy é um padrão arquitetural para SaaS (Software as a Service) pois permite que múltiplas organizações, ou tenants, tenham sua própria versão da aplicação executando e coexistindo em espaços virtualizados e isolados no mesmo hardware, reduzindo custos operacionais. Uma única instância com meta-dados configuráveis pode oferecer aos usuários finais, interfaces e funcionalidades alinhadas às regras de negócio diferentes para cada tenant. Entretanto, isso representa um desafio para a atividade de teste, uma vez que a execução das versões incluem fluxos de controle e dados em funcionalidades compartilhadas que podem ser afetadas pelo comportamento não determinístico, uma dificuldade conhecida na área de testes de programas concorrentes. Apesar da importância de desenvolver esses sistemas com alta qualidade, os modelos de implementação são fragmentados e não seguem uma metodologia padronizada, falta uma arquitetura de referência e abordagens de teste direcionadas às particularidades desse modelo de aplicações. Embora o modelo SaaS seja provavelmente o mais adotado no contexto de Computação em Nuvem e que multi-tenancy seja o mecanismo chave para isso, existe muita desconfiança em relação à segurança dos dados e a capacidade de uma única instância em execução não ser afetada por defeitos em versões isoladas. Este projeto de doutorado contribui nessa direção, propondo uma abordagem de teste que permite explorar defeitos relacionados ao atendimento às requisições e redirecionamentos que ocorrem nessas versões, uma vez que tais operações implicam em definições e usos subsequentes de uma variável de identificação dos tenants e seus recursos. Uma taxonomia preliminar de defeitos foi proposta, um sistema de e-commerce chamado MtShop foi desenvolvido seguindo práticas recentes, estudos experimentais foram conduzidos envolvendo testes de aceitação automatizados com execução paralela, um modelo de teste foi definido para apoiar a definição de um conjunto de critérios de cobertura e a extração de elementos requeridos pelos testes e estudos foram realizados para avaliar a aplicabilidade dos critérios propostos. Os resultados dos estudos exploratórios demonstram que a abordagem proposta é aplicável e o modelo de teste é capaz de representar aplicações multi-tenants. Os critérios podem contribuir para a qualidade desse tipo de sistemas em termos de cobertura e identificação de defeitos que possuem natureza concorrente.Multi-tenancy is an architectural pattern for Software as a Service (SaaS) because it allows multiple organizations, so-called tenants, to have their own version of the application running and coexisting in virtual and isolated spaces on the same hardware, reducing operating costs. A single instance with configurable metadata can provide to end-users, different interfaces and features targeted to the business rules for each tenant. However, this represents a challenge for testing activity, once the execution of the versions includes control and data flow in shared functionality that may be affected by non-deterministic behavior, a known difficulty in the testing of concurrent programs. Despite the importance of developing high-quality cloud applications, implementation models are fragmented and do not follow a standardized methodology, a reference architecture and testing approaches to address the particularities of this application model are lacking. Although the SaaS model is probably the most widely adopted in the context of cloud computing and multi-tenancy is the key mechanism for this, there is mistrust about data security and the fact of a single instance running not being affected by faults from isolated versions. This project contributes in this direction and it proposes a testing approach that allows identifying faults related to the fulfillment of requests and redirects that occur in these versions, since such operations involve the definition and subsequent uses of a variable for tenant identification, including its resources. A preliminary fault taxonomy for multi-tenant SaaS systems was proposed, an ecommerce system called MtShop was developed following recent practices, experimental studies were conducted involving parallel and automated acceptance tests, a testing model was defined to support the definition of a set of coverage criteria and extraction of required elements by the tests and studies were performed to evaluate the applicability of the proposed testing criteria. The exploratory case studies indicate that the proposed approach is applicable and the testing model can represent multi-tenant applications. The proposed criteria can contribute to the quality of such systems in terms of coverage and reveal faults with concurrent nature.Biblioteca Digitais de Teses e Dissertações da USPSouza, Simone do Rocio Senger dePinto, Victor Hugo Santiago Costa2019-08-29info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/55/55134/tde-31012020-181537/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesspor2020-02-04T00:57:02Zoai:teses.usp.br:tde-31012020-181537Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212020-02-04T00:57:02Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants 
Study and Definition of Software Testing for the context of Multi-tenant Systems
title Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants 
spellingShingle Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants 
Pinto, Victor Hugo Santiago Costa
Cloud computing
Computação em nuvem
Critérios de teste
Multi-tenancy
Multi-tenancy
Software testing
Teste de software
Testing criteria
title_short Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants 
title_full Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants 
title_fullStr Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants 
title_full_unstemmed Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants 
title_sort Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants 
author Pinto, Victor Hugo Santiago Costa
author_facet Pinto, Victor Hugo Santiago Costa
author_role author
dc.contributor.none.fl_str_mv Souza, Simone do Rocio Senger de
dc.contributor.author.fl_str_mv Pinto, Victor Hugo Santiago Costa
dc.subject.por.fl_str_mv Cloud computing
Computação em nuvem
Critérios de teste
Multi-tenancy
Multi-tenancy
Software testing
Teste de software
Testing criteria
topic Cloud computing
Computação em nuvem
Critérios de teste
Multi-tenancy
Multi-tenancy
Software testing
Teste de software
Testing criteria
description Multi-tenancy é um padrão arquitetural para SaaS (Software as a Service) pois permite que múltiplas organizações, ou tenants, tenham sua própria versão da aplicação executando e coexistindo em espaços virtualizados e isolados no mesmo hardware, reduzindo custos operacionais. Uma única instância com meta-dados configuráveis pode oferecer aos usuários finais, interfaces e funcionalidades alinhadas às regras de negócio diferentes para cada tenant. Entretanto, isso representa um desafio para a atividade de teste, uma vez que a execução das versões incluem fluxos de controle e dados em funcionalidades compartilhadas que podem ser afetadas pelo comportamento não determinístico, uma dificuldade conhecida na área de testes de programas concorrentes. Apesar da importância de desenvolver esses sistemas com alta qualidade, os modelos de implementação são fragmentados e não seguem uma metodologia padronizada, falta uma arquitetura de referência e abordagens de teste direcionadas às particularidades desse modelo de aplicações. Embora o modelo SaaS seja provavelmente o mais adotado no contexto de Computação em Nuvem e que multi-tenancy seja o mecanismo chave para isso, existe muita desconfiança em relação à segurança dos dados e a capacidade de uma única instância em execução não ser afetada por defeitos em versões isoladas. Este projeto de doutorado contribui nessa direção, propondo uma abordagem de teste que permite explorar defeitos relacionados ao atendimento às requisições e redirecionamentos que ocorrem nessas versões, uma vez que tais operações implicam em definições e usos subsequentes de uma variável de identificação dos tenants e seus recursos. Uma taxonomia preliminar de defeitos foi proposta, um sistema de e-commerce chamado MtShop foi desenvolvido seguindo práticas recentes, estudos experimentais foram conduzidos envolvendo testes de aceitação automatizados com execução paralela, um modelo de teste foi definido para apoiar a definição de um conjunto de critérios de cobertura e a extração de elementos requeridos pelos testes e estudos foram realizados para avaliar a aplicabilidade dos critérios propostos. Os resultados dos estudos exploratórios demonstram que a abordagem proposta é aplicável e o modelo de teste é capaz de representar aplicações multi-tenants. Os critérios podem contribuir para a qualidade desse tipo de sistemas em termos de cobertura e identificação de defeitos que possuem natureza concorrente.
publishDate 2019
dc.date.none.fl_str_mv 2019-08-29
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.teses.usp.br/teses/disponiveis/55/55134/tde-31012020-181537/
url https://www.teses.usp.br/teses/disponiveis/55/55134/tde-31012020-181537/
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1815256566039838720