Published February 19, 2020 | Version v1

TÉCNICAS DE WEB SCRAP NA AUTOMAÇÃO DE TESTES PARA IDENTIFICAÇÃO DE ELEMENTOS EM SISTEMAS WEB LEGADOS OU COM AUSÊNCIA DE PADRONIZAÇÃO

Description

Este trabalho tem como objetivo apresentar um sistema de scripts para realizar a análise de páginas HTML a fim de identificar características em sistemas legados ou sem padronização, localizando elementos como botões, caixas de texto e marcadores de seleção, por meio da utilização de técnicas de raspagem de dados (webscrap). Tal abordagem visa promover a implementação da qualidade de software aos sistemas dessa natureza, mediante testes de software. A solução foi desenvolvida utilizando-se a linguagem Python com módulos auxiliares para tratamento de elementos HTML, expressões regulares, entre outros. Foram realizados 150 testes em três websites distintos, sendo o Mercado Livre e OLX com tecnologias modernas de construção e o da SPTrans com sistema legado e sem especificações do W3C (World Wide Web Consortium), para os quais foram obtidos índices de sucesso de 98,56%, 99,00% e 94,00% respectivamente na realização dos testes. Os resultados mostraram que a aplicação desenvolvida se mostrou eficiente para detecção dos padrões e identificação de elementos, fornecendo condições de avaliar as características quanto a arquitetura e tecnologias utilizadas na construção dos sites. Os aspectos observados nos resultados dos testes permitem concluir que a solução e as técnicas de webscrap aplicadas cumpriram o propósito de se obter automação de testes em sistemas com histórico de desenvolvimento legado ou que foram criados sem especificações. 

Abstract (English)

This work aims to present a script system to perform the analysis of HTML pages in order to identify features in legacy or non-standard systems, locating elements such as buttons, text boxes and selection markers, using scraping techniques, known as  webscrap. Such an approach aims to promote the implementation of software quality to such systems through software testing. The solution was developed using Python language with auxiliary modules for handling HTML elements, regular expressions, among others. Were performed 150 tests on three different websites, being Mercado Livre and OLX with modern building technologies and SPTrans with legacy system and without specifications of the World Wide Web Consortium (W3C), for which success rates of 98, 56%, 99.00% and 94.00% respectively in the tests. The results showed that the developed application proved to be efficient for pattern detection and element identification, providing conditions to evaluate the characteristics regarding the architecture and technologies used in the construction of the sites. The aspects observed in the test results allow us to conclude that the solution and applied webscrap techniques fulfilled the purpose of obtaining test automation on systems with legacy development history or that were created without specifications.

Files

2_ENGETEC_paper_25.pdf

Files (390.8 kB)

Name Size Download all
md5:075812203e71561c4fcd0d49cbadbf18
390.8 kB Preview Download

Additional details

References

  • AGRAWAL, M.; CHARI, k. Software Effort, Quality, and Cycle Time: A Study of CMM Level 5 Projects. IEEE Transactions on Software Engineering, Vol.33, N.3, Março, 2007.
  • BASTOS, R. L. Ciências humanas e complexidades: Projetos, métodos e técnicas de pesquisa. O caos, a nova ciência. 2a edição. ed. Rio de Janeiro: e-Papers, 2009.
  • BIBEAULT, B.; KATZ, Y. jQuery in Action. 2 ed. Greenwich, CT: Manning Publications Co., 2008. p. 475. ISBN 1-935182-32-3.
  • BORGES, L.E. Python para desenvolvedores: aborda Python 3.3. Novatec Editora. 2014.
  • BRANNAN, J. A. Briliant HTML & CSS. 1 ed. Edinburgh, UK: Pearson Education, 2009, p. 304. ISBN: 978-0-273-72152-9.
  • CALDERÓN, J. J.; GUTIÉRREZ, M. A. A. Web-scrap: A tool for accelerated and optimized navigation and web search. In: 12TH AMERICAS CONFERENCE ON INFORMATION SYSTEMS, AMCIS 2006 Proceedings (2006): 515. 2006.
  • CHAFFER, J.; SWEDBERG, K. Learning jQuery 1.3 - Better Interaction Design and Web Development with Simple JavaScript Techniques. Birmingham, UK: Packt Publishing Ltd., 2009. p. 421. ISBN 978-1-84719670-5.
  • CHATTERJEE, P. et al. Exploratory Study of Slack Q&A Chats as a Mining Source for Software Engineering Tools. 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (msr), [s.l.], p.490-501, may. 2019. IEEE. <http://dx.doi.org/10.1109/msr.2019.00075>.
  • CIRIBELLI, M. C. Como elaborar uma dissertação de mestrado através da pesquisa científica. Rio de Janeiro: 7Letras, 2003.
  • COSTA, Fernanda Guimarães. Problemas na Manutenção de Sistemas Legados: Um Estudo de Caso. 2018.
  • COSTA, Mozart Guerra. Estratégia de automação em testes: requisitos, arquitetura e acompanhamento de sua implantação. 2006. 116f. Dissertação (mestrado profissional) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: <http://www.repositorio.unicamp.br/handle/REPOSIP/276289>. Acesso em: 6 ago. 2018.
  • DATA SCIENCE INSTITUTE. O Incrível Crescimento da Linguagem Python. Disponível em: <http://datascienceacademy.com.br/blog/o-incrivel-crescimento-da-linguagem-python/>. Acesso em: 20 out. 2019.
  • DE SOUZA, Edson Melo. Desenvolvimento de um Sistema de Apoio à Decisão e Operacional para a Otimização dos Parâmetros de Corte em Usinagem (COPPISYS). 2013. 149 f. Dissertação (Mestrado em Engenharia de Produção) – Programa de Mestrado em Engenharia de Produção, Universidade Nove de Julho, São Paulo, 2013.
  • ENTRINGER, T. C; DA SILVA FERREIRA, A. Software quality evaluation: a bibliometric analysis and future perspectives. Independent Journal of Management & Production, v. 10, n. 5, p. 1499-1515, 2019.
  • FERREIRA FILHO, O. F.; FERREIRA, M. A. G. V. Serviços Semânticos: uma Abordagem RESTful. In: IADIS Conferência Ibero-Americana WWW/Internet - CIAWI 2009, 2009, Madrid, Spain. Annals... Madrid, Spain, 2009. p. 35-46.
  • GUERRA, A.; COLOMBO, RMT. Qualidade de produto de software. Ministério da Ciência e Tecnologia, 2009. Disponível em: <http://www.mct.gov.br/upd_blob/0203/203505.pdf>. Acesso em: 26 out. 2019.
  • HARRIS, B. A. Core HTML. Image Rochester NY, p. 1-6, 2009.
  • JAMMALAMADAKA, K.; RAMAKRISHNA, V. A model to quantify and improve software test automation. International Journal of Control Theory and Applications, [s. l.], v. 9, n. 34, p. 273–282, 2016.
  • PRESSMAN, R. S. Engenharia de Software - Uma Abordagem Profissional. 7. ed. Porto Alegre: Bookman, 2011. p. 780.
  • RAMPAZZO, L. Metodologia Científica Para alunos de graduação e pós-graduação. 3ª. ed. São Paulo: Edições Loyola, 2005.
  • RICHARDS, G.; LEBRESNE, S.; BURG, B.; VITEK, J. An analysis of the dynamic behavior of JavaScript programs. 2010 ACM SIGPLAN conference on Programming language design and implementation PLDI 10, v. 45, n. 6, p. 1, 2010.
  • SERNA, E. M.; MARTÍNEZ, R. M.; TAMAYO, P. O. A review of reality of software test automation | Una revisión a la realidad de la automatización de las pruebas del software. Computacion y Sistemas, [s. l.], v. 23, n. 1, p. 169–183, 2019.
  • TONINI, A. C.; CARVALHO, M. M.; SPINOLA, M. M. Contribuição dos modelos de qualidade e maturidade na melhoria dos processos de software. Produção, v. 18, n. 2, p. 275-286, 2008.
  • VIEGAS, Júlio. Teste de Software: Introdução, Conceitos Básicos e Tipos de Testes. 2017. Disponível em: <https://blog.onedaytesting.com.br/teste-de-software/>. Acesso em: 20 set. 2018.
  • VIEIRA, F. J. R.; NUNES, M. A. S. N. DICA: Sistema de Recomendação de Objetos de Aprendizagem Baseado em Conteúdo. Scientia Plena. v. 8, p. 1-10, 2012.