Author Image

Olá, eu sou Tássio

Tássio Virgínio

Professor at IFTO - Campus Dianópolis

Sou professor e engenheiro de software apaixonado com 14 anos de experiência profissional. Atualmente trabalho com JSF, JPA e EJB. Apoiar o sistema SIGA EPTC utilizado em todo o Instituto Federal do Tocantins.

Oracle Certified Professional Java SE 6 Programmer
Scrum Fundamentals Certified
Leadership
Team Work
Hard Working

Skills

Experiência

1
EBTT Teacher
IFTO

Fev 2022 - Present, Dianópolis - TO

O IFTO é uma instituição de ensino superior, básico e profissional, pluricurricular e multicampi (reitoria, campus, campus avançado e centros de educação a distância), especializada em oferecer educação profissional e tecnológica em diversas modalidades de ensino, a partir da combinação de conhecimentos técnicos e tecnológicos. com suas práticas pedagógicas/andragógicas.

Responsibilities:
  • Teach students at basic, technical and higher levels.

Information Technology Technician/Senior Software Engineer
IFTO

Aug 2014 - Fev 2022, Dianópolis-TO / Paraíso do Tocantins-TO

O IFTO é uma instituição de ensino superior, básico e profissional, pluricurricular e multicampi (reitoria, campus, campus avançado e centros de educação a distância), especializada em oferecer educação profissional e tecnológica em diversas modalidades de ensino, a partir da combinação de conhecimentos técnicos e tecnológicos. com suas práticas pedagógicas/andragógicas.

Responsibilities:
  • Systems development using Java language.
  • Responsible for internal systems support.
2

3
Software Engineer
SETAS - Secretaria de Trabalho e Assistência Social

March 2013 - Aug 2014, Palmas-TO

A SETAS, órgão da administração pública do Poder Executivo criado em 22 de dezembro de 1995, auxilia direta e imediatamente o Governo do Estado do Tocantins no desempenho de suas atribuições de planejar, coordenar, orientar e executar a Política Estadual de Assistência Social, Economia Solidária, Segurança Laboral e Alimentar, visando o desenvolvimento económico e social.

Responsibilities:
  • Systems development using Java language.

Software Engineer
M2M Solutions S/A

Jul 2009 - Fev 2013, Fortaleza, CE, Brasil

A M2M Solutions é uma fornecedora de soluções de Tecnologia da Informação para gestão e otimização de transport operations, serving bus companies government, unions and end users. Development de sistemas de gestão de transporte público urbano, utilizando dados geográficos.

Responsibilities:
  • Responsible for the realtime geographic metrics processing system.
  • Technologies used - Java, Scala, Akka, GWT, GXT, Hibernate and Spring.
4

5
Software Engineer
Pitang

Jan 2009 - Jun 2009, Recife, PE, Brasil

Fundada em 2004, a Pitang foi resultado de uma cisão da área de Projetos Comerciais do C.E.S.A.R., um dos principais institutos de inovação do país. Desenvolvemos serviços e soluções de alta qualidade em Tecnologia da Informação e Comunicação, focando nas demandas do mercado de forma inovadora, através do desenvolvimento de projetos exclusivos que apoiam a transformação digital de nossos clientes utilizando competências em Computação Cognitiva, Plataformas de Experiência Digital, Analytics, Cloud Computing , Aplicativos Móveis, UX, Agilidade, DevOps e Testes.

Responsibilities:
  • Systems development using Java language and Apache Wicket and Spring frameworks.

Software Engineer (trainee)
Centro de Informática UFPE/Motorola

Jan 2008 - Dez 2008, Recife, PE, Brasil

O Centro de Informática da UFPE é um dos mais renomados centros de ensino e pesquisa em computação do Brasil e da América Latina, formando profissionais qualificados e de excelência em Tecnologia da Informação e Comunicação (TIC).

Responsibilities:
  • Automated test development for mobile devices.
6

7
Software Engineer (trainee)
FACAPE

Jan 2005 - Dez 2007, Petrolina, PE, Brasil

A Faculdade de Petrolina (FACAPE) foi criada na forma de Autarquia Municipal com a denominação de Autarquia Educacional do Vale do São Francisco -AEVSF, pela lei municipal nº 25/76 de 19 de julho de 1976.

Responsibilities:
  • Systems development using Java language and Apache Struts.

Educação

Projetos

JNose
JNose
Owner

JNose Test is a tool developed to automatically detect test smells in test code, and to collect coverage metrics.

JNose-Jenkins-Plugin
JNose-Jenkins-Plugin
Owner

JNose plugin for Jenkins

M2M Frota
M2M Frota
Developer

Bus fleet management system.

SIGA EPCT
SIGA EPCT
Developer

Integrated Academic Management System for Professional and Technological Education. Developed with JSF, JPA and EJB.

Comtrol Point
Comtrol Point
Owner

A simple time attendance system made with Java, Wicket and Hibernate.

First Step In Agile
First Step In Agile
Owner

Agile project management system, made with Java and Wicket.

Print Server
Print Server
Owner

Print management system with login through LDAP.

Reserva de Recursos
Reserva de Recursos
Owner

Reservation system for laboratories and resources, which can be used in various types of institutions.

Conquistas

Best Paper - CIbSE 2022

Melhor Dissertação

Best Paper - SBES 2020

CBSOFT'19 - Web Chairs

Master in Science Computer

Specialist in Agile Software Development

Publicações

An empirical evaluation of RAIDE: a semi-automated approach for test smells detection and refactoring - A4

Effective test code refactoring is essential for maintaining the quality and efficiency of software development. Automated support for test code refactoring can significantly enhance its cost-effectiveness. However, there is limited evidence on the effectiveness of such automated support, especially for addressing Assertion Roulette and Duplicate Assert test smells. To address this gap, we present RAIDE, an Eclipse IDE plugin that provides an easy-to-use approach to identifying and refactoring test smells. In this study, we conduct a controlled experiment with twenty participants to evaluate RAIDE’s capability to detect and refactor Assertion Roulette and Duplicate Assert test smells. The results demonstrate that RAIDE outperforms comparable state-of-the-art approaches in detecting test smells, and can detect and refactor test smells in a fraction of the time. Our findings highlight the potential benefits of automated test code refactoring support for improving the efficiency and effectiveness of software development, and suggest avenues for future research to extend and evaluate RAIDE for handling other test smells and refactoring techniques.

Test smells can reduce the developers’ ability to interact with the test code. Refactoring test code offers a safe strategy to handle test smells. However, the manual refactoring activity is not a trivial process, and it is often tedious and error-prone. This study aims to evaluate RAIDE, a tool for automatic identification and refactoring of test smells. We present an empirical assessment of RAIDE, in which we analyzed its capability at refactoring Assertion Roulette and Duplicate Assert test smells and compared the results against both manual refactoring and a state-of-the-art approach. The results show that RAIDE provides a faster and more intuitive approach for handling test smells than using an automated tool for smells detection combined with manual refactoring

Avaliação empírica da geração automatizada de testes desoftware sob a perspectiva de Test Smells

O teste de software é uma atividade-chave para o desenvolvimento de software de qualidade, sendo tão ou mais custoso do que o desenvolvimento do código de produção. De modo a reduzir os custos de projetos de software, o uso de ferramentas de geração automatizada de testes, tais como Randoop e Evosuite tem sido fortemente encorajado. No entanto, é necessário obter evidências sobre como o uso dessas ferramentas afeta a qualidade dos testes. Neste sentido, o presente estudo apresenta uma avaliação empírica da qualidade de testes gerados automaticamente, sob a perspectiva de test smells. O estudo contemplou o desenvolvimento de uma ferramenta open source de coleta e análise automatizada de test smells, a JNose Test, no desenvolvimento da ferramenta foi realizado estudo utilizando 11 projetos open source para verificar a relação entre test smells e a cobertura dos testes, e posteriormente no segundo estudo que avaliou a qualidade de testes gerados automaticamente para 21 projetos open source. No primeiro estudo encontramos relações fortes entre métricas de cobertura e test smells, e no segundo estudo os resultados indicam uma alta difusão dos test smells e co-ocorrências entre diferentes tipos de test smells nos projetos avaliados. Além disso, foi identificada uma alta difusão de test smells nos códigos de teste gerados pelas ferramentas Evosuite e Randoop que, frequentemente, estão correlacionados.

Several strategies have supported test quality measurement and analysis. For example, code coverage, a widely used one, enables verification of the test case to cover as many source code branches as possible. Another set of affordable strategies to evaluate the test code quality exists, such as test smells analysis. Test smells are poor design choices in test code implementation, and their occurrence might reduce the test suite quality. A practical and largescale test smells identification depends on automated tool support. Otherwise, test smells analysis could become a cost-ineffective strategy. In an earlier study, we proposed the JNose Test, automated tool support to detect test smells and analyze test suite quality from the test smells perspective. This study extends the previous one in two directions: i) we implemented the JNose-Core, an API encompassing the test smells detection rules. Through an extensible architecture, the tool is now capable of accomodating new detection rules or programming languages; and ii) we performed an empirical study to evaluate the JNose Test effectiveness and compare it against the state-of-the-art tool, the tsDetect. Results showed that the JNose-Core precision score ranges from 91% to 100%, and the recall score from 89% to 100%. It also presented a slight improvement in the test smells detection rules compared to the tsDetect for the test smells detection at the class level.

Several strategies have been proposed for test quality measurement and analysis. Code coverage is likely the most widely used one. It enables to verify the ability of a test case to cover as many source code branches as possible. Although code coverage has been widely used, novel strategies have been recently employed. It is the case of test smells analysis, which has been introduced as an affordable strategy to evaluate the quality of test code. Test smells are poor design choices in implementation, and their occurrence in test code might reduce the quality of test suites. Test smells identification is clearly dependent on tool support, otherwise it could become a cost-ineffective strategy. However, as far as we know, there is no tool that combines code coverage and test smells to address test quality measurement. In this work, we present the JNose Test, a tool aimed to analyze test suite quality in the perspective of test smells. JNose Test detects code coverage and software evolution metrics and a set of test smells throughout software versions.

Developing test code can be as or more expensive than developing production code. Commonly, developers use automated unit test generators to speed up software testing. The purpose of such tools is to shorten production time without decreasing code quality. Nonetheless, unit tests usually do not have a quality check layer above testing code, which might be hard to guarantee the quality of the generated tests. A strategy to verify the tests quality is to analyze the presence of test smells in test code. Test smells are characteristics in the test code that possibly indicate weaknesses in test design and implementation. Their presence could be used as a quality indicator. In this paper, we present an empirical study to analyze the quality of unit test code generated by automated test tools. We compare the tests generated by two tools (Randoop and Evo- Suite) with the existing unit test suite of twenty-one open-source Java projects. We analyze the unit test code to detect the presence of nineteen types of test smells. The results indicated significant differences in the unit test quality when comparing data from the automated unit test generators and existing unit test suites.

Test smells are fragments of code that can affect the comprehensibility and the maintainability of the test code. Preventing, detecting, and correcting test smells are tasks that may require a lot of effort, and might not scale to large-sized projects when carried out manually. Currently, there are many tools available to support test smells detection. However, they usually do not provide neither a user-friendly interface nor automated support for refactoring the test code to remove test smells. In this work, we propose RAIDE, an open-source and IDE-integrated tool. RAIDE assists testers with an environment for automated detection of lines of code affected by test smells, as well as a semi-automated refactoring for Java projects using the JUnit framework.

Software testing is a key practice in the software quality assurance process. Usually, the quality of a test is not analyzed before its execution, i.e., there are no tests to check the tests. When the quality of tests is not guaranteed, it may impair the quality of the software. Test Smells are an alternative to indicate problems in the test code that can affect test maintainability, more specifically readability and comprehension. This study investigates correlations between test coverage and test smells types. We also introduce the JNose Test, a tool to automate test smells detection. We analyzed 11 open source projects and detected 21 types of smells and 10 different test coverage metrics to each test class. We identified 63 out of 210 calculated correlations. Our results show that there is a relationship between test smells and test coverage, in which test smells may influence code coverage. Our findings might support software testers and help them understand the behavior and consequences of poorly written and designed tests.

According to the ILO (International Labour Organisation) about 218 million children between 5 and 17 years working in the world, of which 50% have jobs at risk. On the basis of this information, arising questions on how to understand and find the factors that comprise the ratings of child labour, and which properties are important to analyze these cases.With the use of data mining techniques to find valid patterns on Brazilian social databases were evaluated data of child labour in the State of Tocantins (located north of Brazil with a territory of 277 thousand and composed of 139 cities).This work aims to identify factors that are deterministic to the practice of child labour and their relationships with financial indicators, educational, social, and regional generating information that are not explicit in the Government database, thus enabling a better monitoring and updating policies to that end.

Conquistas

Scrum Fundamentals Certified (SFC)
SCRUMstudy May 2019

O curso ‘Scrum Fundamentals Certified’ foi desenvolvido para ajudar qualquer pessoa interessada em aprender mais sobre Scrum; conhecer os principais conceitos do Scrum definidos no Guia SBOK®; e obter uma compreensão básica de como a estrutura Scrum funciona na entrega de projetos bem-sucedidos. O objetivo do exame ‘Scrum Fundamentals Certified’ é confirmar se você tem um conhecimento básico da estrutura Scrum.

TOEFL ITP (A2)
UFBA August 2018

O teste TOEFL ITP de proficiência na língua inglesa é aceito por universidades de todo o mundo. Além de ser utilizado por escolas de idiomas e programas de internacionalização educacional. Devido ao seu caráter acadêmico, pode ser utilizado por estudantes que desejam acompanhar sua evolução no idioma e principalmente para aqueles que irão participar de programas de intercâmbio acadêmico.

Oracle Certified Professional, Java SE 6 Programmer
Oracle October 2010

Um Oracle Certified Professional, Java SE 6 Programmer tem experiência no uso da linguagem de programação Java, entende a sintaxe básica e a estrutura da linguagem de programação Java e pode criar aplicativos de tecnologia Java que são executados em sistemas de servidor e desktop usando J2SE 6.0.

Linux System Administration: Services for Internet - RNP
RNP Nov 2017 - Mar 2018

Instale e configure serviços LDAP e DNS, e integre a eles outros serviços como Email, Web, SSL e serviços adicionais como Proxy, DHCP, SSH e FTP. Aprenda também como instalar e operar a integração com o sistema Windows através do software Samba. A nível avançado, o curso apresenta formas de autenticação integrada utilizando o serviço LDAP, e através de cenários práticos que facilitam a compreensão dos conceitos associados a cada um dos serviços.tudied.

Posts Recentes