• Aucun résultat trouvé

Q UELQUES DECLINAISONS DE LA TOPOLOGIE DE BASE

Dans le document The DART-Europe E-theses Portal (Page 116-135)

4.D ECLINAISONS ET PERSPECTIVES

4.2 Q UELQUES DECLINAISONS DE LA TOPOLOGIE DE BASE

Após realizar o estudo aprofundado da abordagem de teste ponta a ponta e realizar estudos empíricos por meio do estudo de caso, foi coletado alguns dados por meio do questionário aplicado no estudo de caso final. Tais informações foram utilizadas para responder as duas questões de pesquisa elencadas no A.1. Após análisar as respostas do questionário, veja as análises à seguir:

• QP1: Quais as dificuldades evidentes na compreensão do teste ponta a ponta?

Posso concluir que há alguns fatores que dificultam a compreensão do teste ponta a ponta, esses fatores são:

– Falta de conhecimento no que diz respeito a definição do teste ponta a ponta.

– Falta de conhecimento para aplicar o teste ponta a ponta.

– Falta de conhecimento para compreender onde se deve aplicar o teste ponta a ponta.

– Falta de conhecimento para compreender quando se deve aplicar o teste ponta a ponta.

– Falta de conhecimento para compreender por que se deve aplicar o teste ponta a ponta.

– Falta de conhecimento no que diz respeito a ferramenta de apoio à aplicação do teste ponta a ponta.

• QP2: Quais os benefícios promovidos pela Diretriz para iniciantes no teste ponta a ponta?

Posso concluir que há alguns benefícios evidentes ao se introduzir a teória e a prática do teste ponta a ponta de forma empírica, por meio da Diretriz, como:

– Promover o conhecimento no que diz respeito a atividades utilizadas na atualidade para garantir a qualidade de aplicações web.

– Promover o conhecimento no que diz respeito a definição do teste ponta a ponta.

– Promover o conhecimento no que diz respeito a aplicar e/ou executar o teste ponta a ponta.

– Promover o conhecimento no que diz respeito a compreender por que se deve aplicar o teste ponta a ponta.

– Promover o conhecimento no que diz respeito a ferramenta de apoio à aplicação do teste ponta a ponta.

De maneira empírica foi identificado as limitações e as vantagens de se aplicar o teste ponta a ponta em aplicações web. À seguir veja a limitação identificada durante os estudos empíricos:

• Falta de controle sobre serviços de terceiros no que diz respeito a disponibilidade e desempenho o que pode afetar diretamente o comportamento da aplicação sob teste.

À seguir veja as vantagens identificadas durante os estudos empíricos:

• Garantir o comportamento esperado na interface do usuário.

• Garantir que todas as camadas da aplicação estão se comunicando exatamente conforme o esperado.

• Garantir que as informações preenchidas na interface do usuário de fato são persistidas no banco de dados.

• Facilidade para realizar manutenção e evolução da aplicação.

A seguir será mencionado algumas ameaças à validade ligadas ao estudo de caso:

• Ameaça 1: Estudo de caso realizado em um único ambiente de teste.

• Ameaça 2: Estudo de caso realizado com uma única ferramenta.

• Ameaça 3: Estudo de caso realizado somente com 6 e depois com 21 participantes.

5 TRABALHOS RELACIONADOS

O trabalho denominado Automação de Teste Funcional utilizando Selenium (do Inglês Automating functional tests using Selenium), descreve um relatório de experiência utilizando o Selenium para aplicação de testes funcionais, também inclui lições aprendidas sobre integração contínua. De maneira geral o trabalho discute quanto tempo levaram para escrever e manter os testes no ambiente de desenvolvimento iterativo, quão próximos chegaram de cobrir todos os requisitos funcionais e com que frequência os testes foram executados. Por fim concluiram que o Selenium se mostrou uma adição valiosa para compor o conjunto de ferramentas utilizadas no processo de garantia de qualidade (HOLMES, 2006).

O trabalho denominado Automação de geração e execução de casos de teste para testar orquestrações de serviços da Web (do Inglês Automation of Test Case Generation and Execution for Testing Web Service Orchestrations), descreve os desafios de se testar orquestração de seviços. Embora exista soluções e ferramentas com propósito de solucionar o problema, grande parte das ferramentas são soluções parciais tais como: teste de análise de caminho, geração de casos de teste, emulação de serviços, injeção de falhas de maneira artificial, e etc. Os autores desenvolveram uma estrutura de testes integrada denominada TASSA, se trata de uma metodologia e um conjunto de ferramentas para testar processos de negócios. Por fim concluiram que o trabalho abordou a geração, execução e gerenciamento de casos de teste em serviços web e orquestrações BPEL (Linguagem de Execução de Processos de Negócios), juntamente com a geração de modelos de requisição SOAP, testes orientados a dados, definição de asserções em diferentes níveis (variável HTTP, SOAP e BPEL) e execução e gerenciamento de casos de teste. (STOYANOVA DESSISLAVA PETROVA-ANTONOVA, 2013).

O trabalho denominado Rumo à geração de scripts de teste da Web de ponta a ponta a partir das especificações de requisitos (do Inglês Towards the Generation of End-to-End Web Test Scripts from Requirements Specifications), descreve a importância de manter a qualidade das aplicações web, uma vez que atualmente os sistemas são

partes de nossas vidas, sendo cruciais para uma infinidade de atividades econômicas, sociais e educacionais. Os autores descrevemos uma nova abordagem que visa gerar scripts de teste para aplicações web a partir de especificações de requisitos textuais ou baseados em UML. Um conjunto de transformações automatizadas foi empregado para manter as especificações de requisitos textuais e baseados em UML sincronizadas e, mais importante, para gerar scripts de teste de ponta a ponta a partir de artefatos UML. Por fim concluiram que trabalharam na implementação de várias transformações e incluindo-as em uma ferramenta protótipo, visando também reduzir o esforço manual necessário para aplicar nossa proposta de gerar scripts de teste ponta a ponta a partir de artefatos UML (CLERISSI MAURIZIO LEOTTA, 2017).

Diferente dos trabalhos mencionados acima, o presente trabalho tem como objetivo contribuir para comunidade acadêmica com uma Diretriz de apoio à aplicação do teste ponta a ponta, com intuíto de dissenimar o conhecimento sobre a abordagem de ponta a ponta e a ferramenta cypress, para assim se desenvolver, manter e evoluir software com mais qualidade e de forma mais simples.

6 CONCLUSÕES

Levando em consideração os problemas relacionados a software de má qualidade, com comportamentos estranhos e errôneos, principalmente no contexto de aplicações web. Foi proposto realizar estudos sobre atividades relacionadas a garantia de qualidade de software, especificamente a abordagem de teste denominada ponta a ponta e de uma ferramenta de apoio para construir uma Diretriz de apoio a aplicação do teste ponta a ponta e produzir recursos humanos com intuito de disseminar o conhecimento.

Visando atender os objetivos esperados pelo trabalho, foi construído a Diretriz com intuito de utilizá-la no estudo de caso juntamente com os alunos e também atender o Objetivo Geral do trabalho. As respostas obtidas por meio do questionário aplicado no fim do estudo de caso foram utilizadas para nos apoiar nas respostas das questões de pesquisa.

Já em relação aos Objetivos Específicos, no primeiro momento houve um levantamento de informações bibliográfica, onde ficou evidente a escassez de material acadêmico sobre o teste ponta a ponta. Sendo assim o estudo foi realizado em partes com materiais acadêmicos e informais (portais e blogs na internet ), e utilizando a própria documentação da ferramenta Cypress.

Antes de construir a Diretriz foi necessário desenvolver um cenário de teste com algumas funcionalidades básicas e comuns em grande parte dos sistemas web atuais, como por exemplo: Cadastro de Usuário, Autenticação de Usuário, Cadastros, Edições e Exclusões de quaisquer entidades. Em seguida foi desenvolvido os casos teste contendo diagramas de caso de uso, diagramas de sequência e o código propriamente dito apoiado pela ferramenta Cypress. Por fim foi construído a Diretriz, onde foi exemplificado cada caso de teste e o questionário para levantar informações sobre a abordagem de teste ponta a ponta e a ferramenta Cypress.

Com isso acredito ter atendido por completo as três primeiras contribuições esperadas e parcialmente a quarta contribuição esperada, uma vez que houve a geração de recursos humanos por meio do estudo de caso porém não houve publicação de trabalhos

científicos. Veja à seguir as quatro contribuições esperadas:

1. Desenvolvimento do ambiente experimental para aplicar o teste ponta a ponta;

2. Avaliações empíricas replicáveis do uso prático do teste ponta a ponta, destacando suas limitações e suas vantagens;

3. Estabelecimento de uma diretriz para a aplicação do ponta a ponta. A saber: um workflow para a aplicação do teste contendo recomendações; e

4. Geração de recursos humanos que se envolverem no projeto, nos estudos empíricos e nas publicações de trabalhos científicos.

Como mencionado acima a quarta contribuição foi realizada de maneira parcial, e ficará como sugestão para trabalho futuro. Além dessa sugestão posso citar mais algumas sugestões para trabalhos futuros como:

• Construção de uma Diretriz para profissionais da área, ou seja, um material mais avançado e objetivo, uma vez que o material criado neste trabalho é um material básico para iniciantes.

• Aplicar tal abordagem em um produto do mundo real, com intuíto de coletar informações mais precisas.

• Comparação da abordagem de testa ponta a ponta com outras abordagens em um ambiente real.

REFERÊNCIAS

ATOMIC Design. 2016. Http://atomicdesign.bradfrost.com/. Acessado em: 2019-02-04.

BASILI GIANLUIGI CALDIERA, H. D. R. V. R. The goal question metric approach. FB Informatik, Universität Kaiserslautern Kaiserslautern, Germany, p. 1–10, 1994.

BERTOLINO, A. Software testing research: Achievements, challenges, dreams. In: Future of Software Engineering, 2007. FOSE ’07. [S.l.: s.n.], 2007. p. 85–103.

BESZEDES, A.; VIDACS, L. Academic and industrial software testing conferences: Survey and synergies. In: 2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW). [S.l.: s.n.], 2016. p. 240–249.

C. Diego, L. Maurizio, R. Gianna, R. Filippo. In: Towards the Generation of End-to-End Web Test Scripts from Requirements Specifications. Anais da 25th IEEE / Computer Society: [s.n.], 2017. p. 343–350.

CHROME. 2019. Https://www.google.com/chrome/. Acessado em: 2019-01-26.

CLERISSI, D. et al. Towards the generation of end-to-end web test scripts from requirements specifications. In: 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW). [S.l.: s.n.], 2017. p. 343–350.

CLERISSI MAURIZIO LEOTTA, G. R. F. R. D. Towards the generation of end-to-end web test scripts from requirements specifications. 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW), p. 343–350, 2017.

CYPRESS. 2018. Https://www.cypress.io/. Acessado em: 2018-11-20.

DEBROY, V. et al. Automating web application testing from the ground up: Experiences and lessons learned in an industrial setting. In: 2018 IEEE 11th International Conference on Software Testing, Verification and Validation (ICST). [S.l.: s.n.], 2018. p. 354–362.

ELOQUENT JavaScript. 2018. Https://eloquentjavascript.net/Eloquent_JavaScript.pdf. Acessado em: 2019-02-04.

F. Ricca, P. Tonella. In: Analysis and testing of Web applications. Toronto, Ontario, Canada, Canada: [s.n.], 2001. p. 25–34.

FAKER. 2019. Https://github.com/Marak/Faker.jsreadme/. Acessado em: 2019-03-26.

G. J. Myers, B. Tom, S. Corey. The Art of Software Testing. Hoboken, New Jersey - 3th edition: John Wiley - Sons, Inc, 2012.

GIL, A. C. Métodos e técnicas de pesquisa social. 6. ed. Atlas, 2008. ISBN 978-3-642-29043-5,978-3-642-29044-2. Disponível em: <https://bit.ly/1wWv2eR>.

GITHUB. 2019. Https://github.com/. Acessado em: 2019-01-20.

GRAPHQL. 2019. Https://graphql.org/. Acessado em: 2019-01-26.

HOLMES, M. K. A. Automating functional tests using selenium. AGILE 2006 (AGILE’06), p. 1–6, 2006.

IEEE. IEEE Standard Glossary of Software Engineering. Hoboken, New Jersey - 3th edition: IEEE, 1983.

IVORY M. Y.; HEARST, M. A. The state of the art in automating usability evaluation of user interfaces. In: ACM Computing Surveys. [S.l.: s.n.], 2001. v. 33, n. 4, p. 470–516.

M, E, Delamaro. J, C, Maldonado. M, Jino. Introdução Ao Teste de Software. [S.l.]: Elsevier, 2016.

MATERIAL Design. 2019. Https://material-ui.com/. Acessado em: 2019-01-25.

NETO, A. C. D. Introdução a teste de software. Engenharia de Software Magazine, p. 54–59, 2007.

NODE. 2019. Https://nodejs.org/en. Acessado em: 2019-01-22.

NPM. 2019. Https://www.npmjs.com/. Acessado em: 2019-01-22.

OGHENEOVO, E. E. Software dysfunction: Why do software fail ? Journal of Computer and Communications, v. 2, p. 25–35, 2014.

POLITOWSKI, C. et al. Are the old days gone? a survey on actual software engineering processes in video game industry. In: 2016 IEEE/ACM 5th International Workshop on Games and Software Engineering (GAS). [S.l.: s.n.], 2016. p. 22–28.

PRISMA. 2019. Https://www.prisma.io/. Acessado em: 2019-01-24.

R. S. Pressman, Bruce R. Maxim. Software Engineering - A Practitioner’s Approach. 2 Penn Plaza, New York - 8th edition: McGraw-Hill Education, 2015.

REACT. 2019. Https://reactjs.org/. Acessado em: 2019-01-24.

ROCHA, A. R. C. da. Qualidade de Software Teoria e Prática. Av. Paulista, 50: Pretince Hall, 2001.

SMITH, E. K.; BIRD, C.; ZIMMERMANN, T. Beliefs, practices, and personalities of software engineers: A survey in a large software company. In: 2016 IEEE/ACM Cooperative and Human Aspects of Software Engineering (CHASE). [S.l.: s.n.], 2016. p. 15–18.

Sommerville. Engenharia de Software. Rua Nelson Francisco, 26 - São Paulo: Pearson Education do Brasil Ltda, 2013.

STOYANOVA DESSISLAVA PETROVA-ANTONOVA, S. I. V. Automation of test case generation and execution for testing web service orchestrations. 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW), p. 274–279, 2013.

SYSTEM-TESTING-VS-END-TO-END-TESTING: Which-One-is-Better-to-Opt. 2018. Https://www.softwaretestinghelp.com/system-vs-end-to-end-testing/. Acessado em: 2018-10-28.

Tobias Palmér, Markus Waltré. In: Automated end-to-end user testing on single page web applications. Linköping University Electronic Press: [s.n.], 2015. p. 1–91.

VIEIRA, M. D. K. M. Dilemas na construção de escalas tipo likert: o número de itens e a disposição influenciam nos resultados? ANPAD, p. 1–15, 2008.

VISHAWJYOTI; GANDHI, P. A survey on prospects of automated software test case generation methods. In: 2016 3rd International Conference on Computing for Sustainable Global Development (INDIACom). [S.l.: s.n.], 2016. p. 3867–3871.

VISUAL Studio Code. 2019. Https://code.visualstudio.com/. Acessado em: 2019-01-20.

W3SCHOOLS. 2019. Https://www.w3schools.com/. Acessado em: 2019-01-26.

WHAT-END-TO-END-TESTING? 2017. Https://screenster.io/end-to-end-testing/. Acessado em: 2018-10-20.

"WHY-IS-SOFTWARE-TESTING

NECESSARY?". 2017. Http://istqbexamcertification.com/ why-is-testing-necessary/. Acessado em: 2018-10-10.

APÊNDICE A -- PROTOCOLO DE ESTUDO DE CASO

Dans le document The DART-Europe E-theses Portal (Page 116-135)

Documents relatifs