testes de internacionalização e localização em sistemas de ...tg/2019-2/tg_cc/tg_efis.pdf ·...

71
Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação Testes de Internacionalização e Localização em Sistemas de Software: Levantamento do Estado da Arte Trabalho de Graduação Aluno: Emanuel Felipe Inácio da Silva Orientador: Alexandre Marcos Lins de Vasconcelos Recife, dezembro de 2019

Upload: others

Post on 16-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Universidade Federal de Pernambuco

Centro de Informática

Graduação em Ciência da Computação

Testes de Internacionalização e Localização em Sistemas de Software: Levantamento do

Estado da Arte

Trabalho de Graduação

Aluno: Emanuel Felipe Inácio da Silva

Orientador: Alexandre Marcos Lins de Vasconcelos

Recife, dezembro de 2019

Page 2: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Universidade Federal de Pernambuco

Centro de Informática

Emanuel Felipe Inácio da Silva

Testes de Internacionalização e Localização em Sistemas de Software: Levantamento do Estado da Arte

Trabalho de Graduação apresentado ao curso de Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco como requisito parcial para obtenção do grau de Bacharel em Ciência da Computação. Orientador: Alexandre Marcos Lins de Vasconcelos

Recife 2019

1

Page 3: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Resumo Com o crescente número de empresas de desenvolvimento de software tomando a

decisão de competir em nível internacional, atender às especificações de clientes de culturas diferentes se torna uma necessidade. Neste contexto, se vê a necessidade de atentar para requisitos não-funcionais chave, a Internacionalização e Localização, que ao longo dos anos se mostrou um fator essencial entre empresas que conseguem levar sua já consolidada “imagem comercial” para outros países.

Internacionalização é uma prática da engenharia de software onde se desenvolve um produto generalizando alguns aspectos de forma que ele consiga tratar diferentes idiomas, formatos de data e hora, convenções culturais, levando em conta que os elementos de design e código devem funcionar independentemente da língua onde o programa está sendo executado. Localização é o processo de adaptar o produto para cada idioma e cultura específicos, fazendo com que este seja linguisticamente e culturalmente apropriado ao local (país, região e idioma).

Se durante a concepção de um produto de software, especificações e conteúdo são criados ignorando as necessidades culturais de um grupo de pessoas, barreiras ao uso da tecnologia estão sendo colocadas para um grande número de pessoas ao redor do mundo. Logo, é preciso “Internacionalizar” seu produto, desenvolvendo conteúdo, aplicações e especificações de forma que se garanta a funcionalidade adequada, ou facilmente adaptável, para pessoas de quaisquer culturas, regiões ou idiomas.

O objetivo deste trabalho é investigar como os requisitos de Internacionalização e Localização em Testes de Software vêm sendo implantados e estudados na indústria e na comunidade acadêmica. Para isso, foi realizado um mapeamento sistemático da literatura, buscando identificar técnicas, processos e desafios do processo de desenvolvimento de software levando esses requisitos em consideração.

Palavras-chave: Teste de Software, Internacionalização, Localização de Software, Testes de Localização, Qualidade de Software, Mapeamento Sistemático.

2

Page 4: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Abstract

With the ever growing number of Software Development Companies taking the decision to compete in the international market, satisfying the specifications from clients that have a different culture is now a necessity. Based on that, it raises the need to closely watch out for non-functional key-requirements, Internationalization and Localization, that over the years have been the focal point of companies that successfully maintain their well-established “brand image” to other countries.

Internationalization, is a Software Engineering practice of generalizing a product during its development, so it can handle different languages, and cultural conventions like date, time formats and currency, in a way that code and design elements must work independently of the target language where the software is running. Localization is the process of adapting a product to each language and cultural region, guaranteeing that it is linguistically and culturally appropriate to the local (country, region and language).

If during a product conception, specifications and content are developed ignoring the cultural needs of a group of people, barriers to the use of this technology are being imposed to a large group of people all around the world to use it. Thus, you need to “internationalize” your product, developing content and specifications in a way that it works without or with minimum adaptation, for people from any culture, region or languages.

This study aims to investigate how Internationalization and Localization requirements on Software Testing are currently being deployed and studied on industry and academic community. To this, a systematic mapping was executed, aiming to identify techniques, processes and challenges of developing software taking this requirements in consideration.

Key-words: Software Testing, Internationalization, Software Localization, Localization Testing, Software Quality, Systematic Mapping.

3

Page 5: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Lista de Figuras Figura 1. Visão geral da relação dos processos……………………………………………...16 Figura 2. Ciclo de Pesquisa………………………………………………………………….19 Figura 3. Fases do Processo de Seleção dos Estudos………………………………………..26 Figura 4. Formulário de Extração de Dados………………………………………………...29 Figura 5. Processo de Síntese Temática……………………………………………………..29 Figura 6. Número de Estudos por Repositório Digital……………………………………....33 Figura 7. Estudos Selecionados por Repositório…………………………………………….34 Figura 8. Estudos Selecionados na Fase 3…………………………………………………...35 Figura 9. Distribuição dos Estudos por Faixa de Qualidade………………………………...36 Figura 10. Somatório de Pontos por Critério de Avaliação de Qualidade…………………..37 Figura 11. Estudos Publicados por Ano de Publicação……………………………………...39 Figura 12. Autoria dos Estudos por Países…………………………………………………..40 Figura 13. Relação dos Estudos com a Área de Testes……………………………………...41 Figura 14. Temas Abordados pelos Estudos………………………………………………...42 Figura 15. Tópicos Investigados pelos Estudos……………………………………………..46 Figura 16. Técnicas e Processos Referenciados nos Estudos……………………………….55

4

Page 6: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Lista de Quadros e Tabelas Quadro 1: Quadro metodológico…………………………………………………………....18 Quadro 2. Termos de Busca e seus sinônimos ou termos relacionados……………………..23 Tabela 1. Níveis de Qualidade……………………………………………………………….27 Tabela 2. Formulário de Avaliação de Qualidade………...………………………………....29 Tabela 3. Códigos Identificados pelos Estudos……………………………………………...48

5

Page 7: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Sumário 1. INTRODUÇÃO 8

1.1 MOTIVAÇÃO 9 1.2 OBJETIVOS 9 1.3 OBJETIVOS ESPECÍFICOS 9 1.4 QUESTÕES DA PESQUISA 10 1.5 ESTRUTURA DO TRABALHO 10

2. REFERENCIAL TEÓRICO 11 2.1 INTRODUÇÃO 11 2.2 DESENVOLVIMENTO DE SOFTWARE 11 2.3 REQUISITOS NÃO FUNCIONAIS 12 2.4 TESTES DE SOFTWARE 12 2.5 INTERNACIONALIZAÇÃO E LOCALIZAÇÃO 14 2.6 SÍNTESE DO CAPÍTULO 16

3. METODOLOGIA DE PESQUISA 17 3.1 INTRODUÇÃO 17 3.2 CLASSIFICAÇÃO DA PESQUISA 17 3.3 CICLO DA PESQUISA 18 3.4 PROCEDIMENTO DE COLETA DE DADOS 19 3.5 SÍNTESE DO CAPÍTULO 20

4. MAPEAMENTO SISTEMÁTICO DA LITERATURA 21 4.1. INTRODUÇÃO 21 4.2. PERGUNTAS DA PESQUISA 21 4.3 ESTRATÉGIA DE BUSCA 21 4.4 FONTES DE BUSCA 22 4.5 TERMOS DE BUSCA 22 4.6 STRING DE BUSCA 22 4.7 CRITÉRIOS DE SELEÇÃO DOS ESTUDOS 24

4.7.1 Critérios de Inclusão (IC) 24 4.7.2 Critérios de Exclusão (EC) 24

4.8 PROCESSO DE SELEÇÃO DOS ESTUDOS 25 4.9 AVALIAÇÃO DE QUALIDADE 26 4.10 EXTRAÇÃO DOS DADOS 27 4.11 SÍNTESE E ANÁLISE DOS DADOS 28 4.12 SÍNTESE DO CAPÍTULO 29

5. SUMARIZAÇÃO E RESULTADOS 30 5.1 RESULTADOS DOS PROCEDIMENTOS DE BUSCA E SELEÇÃO 30

5.1.1 Introdução 30 5.1.2 Busca 30

6

Page 8: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

5.1.3 Seleção de Estudos Pelo Título e Abstract 31 5.1.4 Seleção dos Estudos pela Introdução e Conclusão 32 5.1.5 Avaliação de Qualidade dos Estudos 33

5.2 RESUMO DO PROCESSO DE EXTRAÇÃO DE DADOS 36 5.2.1 Resumo da Execução da Estratégia de Busca 36 5.2.2 Visão Geral dos Estudos 37

5.2.2.1 Data de Publicação 37 5.2.2.2 Autoria por Países 38 5.2.2.3 Relação com a Área de Testes 38 5.2.2.4 Principais Temas Abordados pelos Estudos 39

5.3 MAPEAMENTO DAS EVIDÊNCIAS 40 5.4 LIMITAÇÕES DA PESQUISA E AMEAÇAS À VALIDADE 55 5.5 SÍNTESE DO CAPÍTULO 56

6. CONSIDERAÇÕES FINAIS 57 6.1 CONCLUSÕES 57 6.2 TRABALHOS FUTUROS 58

Referências 60

APÊNDICE A - ESTUDOS PRIMÁRIOS SELECIONADOS 62

APÊNDICE B - AVALIAÇÃO DE QUALIDADE POR ESTUDO 65

APÊNDICE C - IMPLICAÇÕES NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 67

APÊNDICE D - ÁREAS DE INVESTIGAÇÃO POR ESTUDO 68

APÊNDICE E - TÉCNICAS E PROCESSOS POR ESTUDO 69

7

Page 9: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

1. INTRODUÇÃO Tradicionalmente, muitas empresas se mantêm focadas em nichos domésticos do

mercado, e se restringem de competir em nível global. Geralmente, isso se dá pelo fato de que estas empresas conhecem bem seu mercado local, e têm consciência de que mudanças estruturais têm de ser feitas na maneira como trabalham para que elas sejam capazes de competir globalmente. Uma vez que se tome a decisão de “se tornar global”, as empresas têm de realizar melhorias em seus processos, de forma a se tornarem de fato competitivas.

Dentro desse contexto, se vê a necessidade de atentar para requisitos não-funcionais chave, a Internacionalização e a Localização, que ao longo dos anos, se mostraram essenciais para empresas que conseguem levar sua já consolidada “imagem comercial” para outros países.

Para corretamente abordar esse requisito, deve-se destacar a diferença entre três conceitos-chave relacionados: localização, internacionalização e globalização.

Entende-se como localização o processo de adaptar a aplicação para cada mercado, dessa forma, realizando a tradução dos elementos de interface, ajustando o tamanho de caixas de texto ou janelas, e assegurando que a aplicação de fato funciona como o esperado para a linguagem onde o usuário final deseja utilizá-la.

Já internacionalização consiste na atividade de desenvolver sua aplicação levando em conta que os elementos de design e código devem funcionar independentemente da língua onde o programa está sendo executado. Assim, elementos intrínsecos ao código devem ser capazes de mostrar o conteúdo apropriado ao usuário final, de forma que ao executar a aplicação para a língua Inglesa, por exemplo, o usuário possa interagir com campos monetários na unidade de dólar americano, campos de data no formato “mês/dia/ano”, bem como para Português do Brasil, a unidade monetária é modificada para real, e campos de data estão no formato “dia/mês/ano”.

Já a globalização se refere à combinação dos termos localização e internacionalização [1]. No contexto de “se tornar global”, o software escrito tem potencial de ser utilizado por milhões de pessoas, permitindo que estas consigam realizar suas atividades efetivamente e eficientemente, ou causando frustração ao tentar realizar essas atividades, resultando em perda de trabalho ou mesmo de negócios [2]. Portanto, é evidenciada a importância de assegurar que a maioria dos cenários que geram essa frustração aos usuários finais esteja sendo validada, no que se define, teste de software.

Segundo Glenford J. Myers [2], Teste de Software é um processo, ou uma série de processos, com o intuito de assegurar que o programa faz exatamente o seu objetivo quando foi escrito, bem como não faz algo inesperado. O software deve ser consistente e predizível, não apresentando surpresas a seus usuários.

O processo de Testes de Software, num mundo perfeito, deveria ser completo de forma que qualquer cenário possível de ser executado, ou quaisquer diferentes permutações de comportamento do software sejam analisadas, registradas e controladas. Porém, criar casos de testes para todos esses cenários se torna impraticável, pois demandaria muito tempo e

8

Page 10: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

recursos humanos. Logo, é evidenciada a importância da correta priorização de elementos a serem validados, bem como a implantação de técnicas e estratégias que sejam comprovadamente mais eficientes.

Neste contexto, este trabalho investiga através de um mapeamento sistemático da literatura, as principais técnicas e processos implantados na indústria e abordados pela comunidade acadêmica, quando se relaciona ao processo geral de Testes de Software com os requisitos de Internacionalização e Localização.

1.1 MOTIVAÇÃO

Segundo Bert Esselink [3], aproximadamente 80% dos produtos de software são localizados a partir do Inglês para outras línguas, devido à maioria das Aplicações Web serem desenvolvidas nos Estados Unidos, ou devido à prática dos desenvolvedores de outros países de adotar o Inglês como língua padrão da aplicação.

Quando um produto está bem localizado, o usuário pode interagir à vontade com a aplicação. Dessa forma, toda a estratégia de marketing, os estudos de usabilidade e design de interação com o usuário, bem como o objetivo de “look and feel” que uma empresa deseja 1

entregar ao cliente são satisfeitos. De acordo com dados disponibilizados pelo portal statista [4], nos últimos 10 anos (de

2009 a 2019) o tamanho de mercado da indústria de Global language services mais que dobrou: de 23,5 bilhões de dólares em 2009 para 49,6 bilhões de dólares em 2019. Dessa forma, a necessidade de especialistas em localização é maior que nunca.

Inevitavelmente, a competição nessa indústria é muito forte, e ao mesmo tempo que provedores de serviços de localização buscam se diferenciar de seus rivais, muitas empresas desenvolvedoras de software caminham para modelos que se adequem a esse novo mercado.

1.2 OBJETIVOS

É nesse contexto que se situa o presente trabalho, que tem por objetivo principal realizar um mapeamento sistemático da literatura, a fim de levantar trabalhos relacionados à realização de testes de internacionalização e localização, bem como sua implantação no processo de desenvolvimento de software, buscando assim identificar áreas de pesquisa pouco exploradas ou não exploradas, que contribuam com o objetivo geral deste trabalho.

1.3 OBJETIVOS ESPECÍFICOS

Os objetivos específicos deste trabalho, que contribuirão para a completude do objetivo geral são:

a) Realizar um mapeamento sistemático da literatura sobre testes de Internacionalização e Localização;

1 Look and Feel é um termo usado na descrição dos produtos e áreas, como a concepção de produtos, marketing, branding e trademarking, para descrever as principais características da sua aparência.

9

Page 11: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

b) Sumarizar evidências existentes do processo de testes de software sobre esses dois requisitos;

c) Identificar trabalhos que auxiliem no mapeamento de técnicas e processos relacionados ao tema proposto;

d) Identificar áreas de pesquisa não exploradas ou pouco exploradas que contribuam com o objetivo geral deste trabalho.

1.4 QUESTÕES DA PESQUISA

Para atingir os objetivos deste trabalho, foi elaborada a seguinte Questão de Pesquisa Principal (QPP):

● Que trabalhos existem na área de Testes de Internacionalização e Localização no processo de desenvolvimento de software? Para orientar a condução do estudo, a correta extração, análise e síntese dos resultados

da pesquisa, as seguintes Questões de Pesquisa Específicas (QPE) foram elaboradas: ● Como os Testes de Internacionalização e Localização influenciam o processo de

desenvolvimento de Software? ● O que vem sendo investigado na área de Testes de Internacionalização e Localização

de Sistemas de Software? ● Quais os desafios e limitações do emprego de Internacionalização e Localização em

Testes de Software? ● Quais as principais técnicas e processos empregados na realização de Testes de

Internacionalização e Localização?

1.5 ESTRUTURA DO TRABALHO

Este trabalho está estruturado da seguinte forma: ● Capítulo 1 - Introdução: Apresenta o conteúdo necessário para contextualização

base deste trabalho; ● Capítulo 2 - Referencial Teórico: Neste capítulo, é apresentado e definido o

conteúdo diretamente relacionado ao tema proposto e referenciado ao longo deste documento;

● Capítulo 3 - Metodologia de Pesquisa: Apresenta os procedimentos metodológicos utilizados para realização deste trabalho;

● Capítulo 4 - Mapeamento Sistemático da Literatura: Apresenta toda a parametrização e os detalhes da realização do mapeamento sistemático da literatura realizado com relação aos temas propostos;

● Capítulo 5 - Sumarização e Resultados: Os resultados obtidos durante o mapeamento sistemático da literatura, depois de sintetizados são então sumarizados e apresentados;

● Capítulo 6 - Considerações Finais: apresenta as limitações e ameaças à validade da pesquisa, assim como suas implicações, recomendações para trabalhos futuros e conclusões finais do trabalho.

10

Page 12: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

2. REFERENCIAL TEÓRICO

2.1 INTRODUÇÃO

Este capítulo busca evidenciar os principais conceitos e temas diretamente relacionados ao desenvolvimento deste trabalho, resultantes de uma revisão bibliográfica não sistemática. Nas próximas seções serão abordados os temas desenvolvimento de software, testes de software, requisitos não funcionais, bem como internacionalização e localização.

2.2 DESENVOLVIMENTO DE SOFTWARE

De acordo com PRESSMAN [13], Software pode ser definido como um conjunto de instruções que, quando executadas, realizam funcionalidades, funções e performance desejadas. Hoje em dia, software tem um papel dualizado, podendo ser tanto um produto quanto o meio de entregar um serviço ou produto. Como produto, o software tem a capacidade de oferecer e disponibilizar todas as funcionalidades dos dispositivos de hardware sobre os quais estão executando, quer estejam dispostos num telefone celular ou num mainframe, por exemplo. Já como o meio, funciona como a base para o controle de computadores, a comunicação da informação, e a criação e manutenção de outros produtos de software [13].

Software, de acordo com a IBM Research [5], é um conjunto de instruções que diz ao computador o que fazer. Desenvolvimento de software, por outro lado, se refere ao conjunto de atividades dedicadas ao processo de criar, definir, entregar e suportar o software. O desenvolvimento de software é uma disciplina importante porque é um diferencial para empresas (facilitando e automatizando processos), e as torna mais competitivas. Ele pode melhorar experiências dos consumidores, trazer maior potencial inovador ao negócio, entregar produtos com mais funcionalidades, e tornar operações mais eficientes, seguras e produtivas.

Uma das disciplinas de Desenvolvimento de Software é chamada de desenvolvimento incremental de software, sendo essa um interessante objeto de pesquisa para a aplicação de Testes de Internacionalização e Localização. Ao desenvolver um software de maneira incremental, é mais barato e fácil fazer mudanças no software durante seu desenvolvimento pois cada incremento ou versão do sistema, incorpora novas funcionalidades necessárias para o cliente, de modo que funcionalidades mais importantes ou críticas para os stakeholders sejam logo adicionadas ao sistema. Segundo Sommerville [14], o desenvolvimento incremental é a abordagem mais comum para o desenvolvimento de aplicativos. No entanto, os problemas do desenvolvimento incremental são particularmente críticos para os sistemas de longa vida, que são grandes e complexos [14].

Para Deutsch [6], o desenvolvimento de sistemas de software envolve uma série de atividades de produção, onde as oportunidades de injeção de falhas humanas é enorme. Por causa da falta de habilidade humana de executar tarefas e se comunicar com perfeição, o

11

Page 13: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

desenvolvimento de software deve sempre ser acompanhado por atividades de garantia de qualidade.

2.3 REQUISITOS NÃO FUNCIONAIS

Requisitos são descrições do que deve ser implementado em um produto de software, contendo informações sobre o funcionamento da aplicação (requisitos funcionais), e suas restrições de operacionalização (requisitos não funcionais). Os requisitos são ponto de partida para a definição exata de um sistema, e por este motivo, são decisivos ao sucesso do desenvolvimento de um sistema de software [16].

O objetivo principal da engenharia de requisitos é levantar as reais necessidades dos stakeholders, que são as pessoas envolvidas no processo de desenvolvimento do sistema, sejam elas participantes na criação, na manutenção, ou mesmo pessoas que são afetadas pelo sistema [16].

De acordo com Sommerville [14], os requisitos de um sistema de software podem ser classificados como funcionais, não funcionais e requisitos de domínio. Porém, a distinção entre eles nem sempre é tão clara.

Os requisitos não funcionais, são aqueles que não estão diretamente ligados às funcionalidades fornecidas pelo sistema. Podem estar relacionados a propriedades de sistemas emergentes [15]. Às vezes este tipo de requisito pode dizer respeito ao sistema em sua íntegra, o que faz com que às vezes eles possuam mais importância que os requisitos funcionais, pois sua falha compromete grande parte ou mesmo todo o sistema [14].

Um dos principais problemas dos requisitos não funcionais é que geralmente eles são de difícil verificação e quantificação nas primeiras versões do produto [15]. Esses requisitos apresentam um elevado grau de complexidade à medida que abrem a possibilidade de múltiplas interpretações e discussões pelos stakeholders [14].

2.4 TESTES DE SOFTWARE

Testes de software são um elemento crítico do processo de garantia de qualidade, e representam a revisão final da especificação, design e criação de código. É comum que numa organização de desenvolvimento de software, de 30% a 40% do esforço total do projeto esteja relacionado às atividades de testes. A crescente visibilidade do software como um elemento do sistema, e o custo associado a falhas de software são motivadores para um processo de testes bem planejado [13].

Os testes não podem demonstrar que um software é livre de defeitos ou se ele se comporta conforme especificado em qualquer situação [14]. De acordo com DIJKSTRA et al. 1972, “Os testes podem mostrar apenas a presença de erros, e não a sua ausência.”.

Glen Myers [2] define algumas regras que podem ser aplicadas como objetivos de testes:

● Teste é um processo de executar um programa com o intuito de encontrar um erro;

12

Page 14: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

● Um bom Caso de Teste é aquele que tem uma alta probabilidade de encontrar um erro que ainda não tinha sido encontrado;

● Um teste bem sucedido é aquele que encontra um erro que ainda não tinha sido encontrado. Segundo Myers [2], os testes de software são criados com a finalidade de se obter a

maior quantidade possível de erros do software sob teste. Após a correção destes erros, a aplicação dos mesmos testes confere um grau de qualidade ao sistema de software. Dessa forma, encontrar e remover erros aumenta a confiabilidade do programa, e torna o processo de testes um agregador de valor para o software.

Os testes de software são, portanto, parte de um processo formal de garantia de qualidade de software, cujo objetivo é revisar o estado atual do funcionamento de um sistema de software, baseando-se na execução de uma lista de casos de teste que representam uma variedade de cenários esperados [17].

De maneira simples, um Caso de Teste pode ser classificado como um conjunto de entradas e saídas esperadas. As saídas esperadas devem ser definidas durante a fase de criação dos testes, antes da execução dos testes, de forma que sejam eliminados quaisquer viés neste processo [18]. Se as saídas não forem pré-definidas, existe a chance de que resultados errôneos, porém plausíveis, sejam interpretados como corretos [17].

Apesar de ser uma atividade técnica, o processo de testes deve levar em consideração também outras questões, que envolvem características econômicas e psicológicas. Criar e executar casos de testes para todas as entradas e saídas de um programa é uma atividade inviável e impraticável, uma vez que podem existir milhares dessas combinações. Testar todas as permutas de um programa complexo levaria muito tempo e exigiria muitos recursos humanos para que esse processo fosse viável. Dessa forma, os casos de teste devem ser elaborados levando em consideração conjuntos específicos de entradas e saídas. É importante estabelecer o propósito correto do processo de testes, para aqueles que irão testar as aplicações, pois entendê-los pode ser decisivo para seu sucesso. Nós, seres humanos, somos orientados a objetivos, e esses têm um efeito psicológico importante nas nossas atividades [2].

A criação de casos de teste pode ser tão desafiadora quanto a criação do software em si. Quaisquer produtos de engenharia podem ser testados em uma das duas seguintes formas: (1) conhecendo as funções para as quais um determinado produto foi desenvolvido, e (2) conhecendo os procedimentos internos realizados pelo produto, de forma a garantir que este executa suas funções de acordo com especificações [13].

Quando consideramos produtos de software, testes de caixa-preta são os executados sobre a interface do software. Eles são escritos para encontrar erros decorrentes das funcionalidades do software, de modo que entradas controladas sejam corretamente aceitas pelo software, e saídas esperadas sejam corretamente produzidas. Os testes de caixa-preta examinam aspectos fundamentais das funcionalidades do sistema, com pouca consideração à lógica interna e a estrutura do software. Já os testes de caixa branca são baseados na examinação minuciosa em nível de componentes. Caminhos lógicos do software são testados através de casos de teste que exercem conjuntos específicos de ações, condições e loopings.

13

Page 15: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Nestes, os “estados” do programa são examinados durante vários momentos da execução, de forma a determinar se os estados esperados correspondem aos estados atuais [13].

Ainda de acordo com Pressman [13], à medida que os softwares vão se tornando mais complexos, a necessidade de testes especializados também cresce. Os testes de caixa branca e caixa preta são aplicáveis através de vários ambientes, arquiteturas e aplicações, porém, para sistemas de software mais complexos, alguns guidelines e técnicas mais específicas se fazem necessários.

Testes de “localização” de software são um desses exemplos de testes especializados. A maioria dos iniciantes nesse tipo de testes realizará apenas testes cosméticos, levando em consideração interfaces de usuário nas aplicações. Testes cosméticos representam apenas uma pequena porção do processo de qualidade de software para software “localizado” [3].

2.5 INTERNACIONALIZAÇÃO E LOCALIZAÇÃO

De acordo com a LISA (do inglês, Localisation Industry Standards Association) [7], Internacionalização é o processo de generalização de um produto, de forma que ele possa suportar múltiplos idiomas e convenções culturais, sem a necessidade de re-design. Internacionalização, é comumente abreviada para “i18n”, onde o número 18 indica a quantidade de caracteres presentes entre as letras “i” e “18” da palavra em inglês “Internationalization”.

Um importante aspecto de internacionalização é a separação dos elementos de texto que serão exibidos nas interfaces de usuário, do código fonte do software. Esse texto considerado traduzível é o texto visível para o usuário, e deve ser movido para arquivos separados de recursos, fazendo com que as mudanças no texto traduzível não impliquem diretamente em mudanças no código-fonte. Uma das características principais da internacionalização é a capacidade de exibir conjuntos de caracteres e padrões específicos de um idioma ou país em particular. Por exemplo, para que um produto possa ser traduzido para japonês, o software deve ser capaz de suportar caracteres de dois bytes. Da mesma forma, o software deve ser capaz de suportar diferentes esquemas de teclados, métodos de entrada de dados, ou mesmo padrões de hardware [3].

A LISA [7] define localização como o processo de tomar um produto e torná-lo linguisticamente e culturalmente apropriado ao local (país, região e idioma) desejado, onde será vendido e utilizado. Normalmente, o processo de localização inclui atividades como: tradução de software, tradução e teste de manuais online e conteúdo web, traduções de documentação, traduções e adequação de conteúdos multimídia ou componentes de treinamentos, testes funcionais sobre software localizado. Localização, é também comumente abreviada, para o acrônimo “l10n”, pois há 10 caracteres entre as letras “l” e “n” na palavra do inglês “localization”.

Aproximadamente, 80% dos produtos de software são localizados a partir do inglês para outros idiomas porque a maioria das aplicações de software são desenvolvidas nos Estados Unidos. Em adição, desenvolvedores de software em outros países desenvolvem seus

14

Page 16: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

produtos em inglês, ou os localizam primeiramente para inglês, e usam essa versão como base para futuras localizações [3].

A indústria de localização é relativamente nova, ganhando força apenas no início dos anos 90, com o crescimento da internet, e a facilidade dos desenvolvedores de software em comercializar e distribuir seus produtos para outros países. A complexidade e o tamanho dos projetos localizados forçou as companhias a adotarem serviços contratados para localização, de forma que no meio dos anos 80, a primeira companhia de multi-linguagem foi formada, tais como a Lionbridge e a Bowne, especializadas em gerenciamento e traduções de documentação técnica e software [3].

Ainda de acordo com Bert Esselink [3], existem duas razões chave para internacionalizar software: Assegurar que o produto é funcional e aceitável em mercados internacionais e garantir que o produto é localizável. No primeiro caso o produto deve ser criado de forma que suporte conjuntos de caracteres internacionais, estilos de teclados, formatos de data e hora, e valores monetários. Além disso, o conteúdo do software deve ser conciso e limpo, não deve conter termos técnicos e jargões, e a disposição do conteúdo deve ser feita de maneira livre de exemplos ou referências culturais. No segundo caso, isso vai ajudar a reduzir os custos de localização, pois o produto permitirá um processo de localização mais simples. Uma das principais formas de atingir esses objetivos é externalizar todo o conteúdo traduzível, transformando estes em arquivos de recurso separados do código fonte da aplicação, de forma que possa ser mandado para profissionais linguistas.

Segundo Bert Esselink [3], tradicionalmente, os seguintes atores estão envolvidos num projeto de localização:

● A empresa desenvolvedora do sistema, responsável pelo gerenciamento, engenharia, e o suporte à tradução;

● Uma empresa provedora de serviços de localização, responsável pelas traduções e recomendações/adequações das regiões. Mais um conceito chave nesse processo é Globalização (ou “g11n”), que refere-se a

uma grande variedade de processos de engenharia e negócios, necessários para preparar e distribuir produtos e atividades de uma companhia globalmente. As atividades do processo de globalização são compostas pela internacionalização e localização, enquanto as atividades de negócios focam no gerenciamento financeiro, legal e no marketing dos produtos. A Figura 1 exibe uma visão simplificada da relação entre as atividades relacionadas à globalização.

15

Page 17: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Figura 1. Visão geral da relação dos processos

Fonte: Próprio Autor

Realizar testes de localização sobre um produto é uma parte integral do processo de localização de software. Um produto de software deve ser submetido a diversos ciclos de testes antes que possa ser considerado localizado e pronto para lançamento. Testes de Internacionalização devem ser realizados antes que o produto seja localizado, pois buscam garantir o suporte internacional e a capacidade de ser localizado de um produto. Testes de localização são realizados depois do ciclo de traduções, e aspectos contextuais do software são verificados, bem como a aplicação dos conteúdos localizados e sua comparação com o produto em inglês [3].

Testes de internacionalização focam no suporte a diferentes idiomas pela aplicação, e quão bem estão suportados os idiomas, configurações regionais e contextualização [3]. Esse tipo de testes deve ser realizado iterativamente durante o processo de desenvolvimento do software, resultando num produto que pode ser facilmente ajustado para suportar localização.

Testes de localização devem ser realizados de maneira independente para cada idioma suportado. Profissionais realizam os testes linguísticos baseados na versão localizada do produto, podendo estes serem executados por nativos da região, enquanto engenheiros de localização realizam os testes relacionados à apresentação do conteúdo, considerando o conhecimento contextual das versões localizadas que estão sob teste [3].

2.6 SÍNTESE DO CAPÍTULO

Neste capítulo foram apresentados os conceitos e fundamentos teóricos diretamente relacionados a Testes de Internacionalização e Localização, a serem usados como referencial teórico para este trabalho. Ao longo do capítulo foram abordados conceitos sobre desenvolvimento de software, testes de software, requisitos não funcionais, internacionalização e localização.

16

Page 18: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

3. METODOLOGIA DE PESQUISA

3.1 INTRODUÇÃO

Este capítulo descreve os métodos e técnicas de pesquisa utilizados na realização do mapeamento sistemático realizado neste trabalho.

Segundo Cleber e Cristiano [8], a metodologia é a aplicação dos procedimentos e técnicas que devem ser observados para construção do conhecimento, com o intuito de assegurar sua validade e utilidade.

3.2 CLASSIFICAÇÃO DA PESQUISA

Conforme descrevem Marconi e Lakatos [9], com o intuito de assegurar um maior rigor científico a determinada pesquisa, um quadro metodológico pode ser confeccionado de forma a compilar uma fácil visualização das informações relacionadas à metodologia de pesquisa implantada.

Este trabalho se classifica conforme o quadro metodológico apresentado no Quadro 1.

Método de abordagem Indutivo

Natureza dos dados Qualitativa

Escopo da Pesquisa Mapeamento Sistemático da Literatura

Método de procedimento Análise e Síntese Temática

Variáveis independentes (X) Internacionalização e Localização, Testes de Software, Desenvolvimento de Software

Variáveis dependentes (Y) Técnicas e Processos de desenvolvimento de software que levam em consideração Internacionalização e Localização, Técnicas de Testes de Internacionalização e Localização de Software

Quadro 1: Quadro metodológico Fonte: Próprio Autor

O método de abordagem deste trabalho é puramente indutivo que, segundo Marconi e

Lakatos [9], é um processo mental sobre o qual, partindo de dados particulares, suficientemente constatados, infere-se uma verdade geral ou universal, não contida nas partes examinadas.

A natureza dos dados é tida como qualitativa, apesar de pontuais resultados quantitativos desta pesquisa. O paradigma qualitativo preocupa-se em analisar e interpretar

17

Page 19: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

aspectos mais profundos, descrevendo a complexidade do comportamento humano, fornecendo análises mais detalhadas sobre as investigações, hábitos, atitudes, tendências de comportamento etc. [9].

O escopo da pesquisa é o de um mapeamento sistemático da literatura, o qual, a partir de artigos científicos primários e empíricos, identifica, analisa, interpreta e reporta todas as pesquisas relevantes disponíveis para responder a uma questão de pesquisa específica [19].

Definimos os métodos de procedimentos desta pesquisa como Análise e Síntese Temática, a fim de identificar os temas ou questões recorrentes em vários estudos, com o objetivo de interpretar e explicar esses temas e fenômenos, para tirar conclusões a partir dos resultados da revisão sistemática [20].

Segundo Lipset e Bendix [21], “variável é um conceito operacional, sendo que nem todo conceito operacional constitui-se em variável. Por definição, uma variável precisa conter valores”. Para Marconi e Lakatos [9], uma variável pode ser considerada como uma classificação ou medida; uma quantidade que varia; ou um conceito operacional, que contém ou apresenta valores. Os valores que essas variáveis podem assumir podem ser quantidades, qualidades, características, etc.

Por isso, as variáveis independentes identificadas nesta pesquisa são os conceitos operacionais Internacionalização, Localização, Testes de Software e Desenvolvimento de Software. Já as variáveis dependentes determinadas ou influenciadas pelas variáveis independentes são Técnicas e Processos de desenvolvimento de software que levam em consideração Internacionalização e Localização, e Técnicas de Testes de Internacionalização e Localização de Software.

3.3 CICLO DA PESQUISA

O ciclo de pesquisa desenvolvido neste trabalho está sumarizado na Figura 2, a seguir:

Figura 2. Ciclo de Pesquisa

Fonte: Próprio Autor

(1) Investigação e Revisão da Literatura: Uma preliminar investigação da literatura foi realizada de modo adhoc em artigos, livros e periódicos, buscando encontrar material relacionado ao tema proposto, evidenciando assim as lacunas apontadas por este trabalho e sugerindo a necessidade de um mapeamento sistemático da literatura. O processo de escolha e definição desta técnica de pesquisa é detalhado ao longo deste capítulo. A revisão de literatura realizada é sumarizada no Capítulo 2.

(2) Planejamento da Pesquisa: Nesta etapa, as questões da pesquisa começaram a ser definidas e refinadas, bem como a escolha e planejamento do protocolo de mapeamento sistemático da literatura como instrumento de coleta de dados. O

18

Page 20: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

detalhamento deste processo pode ser observado no Capítulo 4, que exibe as definições dos itens do Protocolo de Mapeamento Sistemático desta pesquisa.

(3) Coleta dos Dados: Nesta etapa foram realizadas as fases do mapeamento sistemático da literatura relacionadas à obtenção dos estudos, compondo assim a base inicial de estudos. É possível observar detalhadamente como foi realizado este processo ao longo da próxima seção, e em sua íntegra ao longo das seções de 4.3 a 4.6 do Capítulo 4.

(4) Análise dos Dados: Uma vez coletados os dados, iniciou-se sua análise e interpretação com o objetivo de responder às questões de pesquisa. Este processo se encontra detalhado ao longo das seções de 4.7 a 4.9 do Capítulo 4.

(5) Compilação e Consolidação dos Dados: Durante esta última etapa, os dados já analisados e categorizados foram enfim consolidados buscando-se destacar contribuições, limitações e possíveis escopos para trabalhos futuros, bem como a apresentação e elaboração deste documento. A Seção 4.10 do Capítulo 4 detalha os procedimentos realizados no processo de síntese e análise dos dados. O Capítulo 5 exibe os resultados desta pesquisa, e o Capítulo 6 apresenta as considerações finais deste estudo.

3.4 PROCEDIMENTO DE COLETA DE DADOS De acordo com Gil [12], a pesquisa é um “processo formal e sistemático de

desenvolvimento do método científico. O objetivo fundamental da pesquisa é descobrir respostas para problemas mediante o emprego de procedimentos científicos”. E segundo Kitchenham [19], “uma metodologia bem definida diminui as chances de resultados enviesados”.

Dessa forma, visando impor caráter científico à pesquisa proposta por este trabalho, se utilizaram os procedimentos metodológicos descritos por Kitchenham [19] para condução de revisões sistemáticas da literatura e de mapeamentos sistemáticos da literatura. Segundo o mesmo [10], uma revisão sistemática da literatura é uma maneira de identificar, avaliar e interpretar toda a pesquisa disponível, que é relevante para uma determinada questão de pesquisa.

Após a decisão do tema, durante a primeira fase de pesquisa ad hoc para levantamento de fontes teóricas e contextualização desta pesquisa, foi verificado que o tema escolhido se tratava de um tema muito amplo, com poucos estudos realizados na indústria e comunidade acadêmica.

Tomando-se em consideração as questões de pesquisa já elaboradas, constatou-se que um mapeamento sistemático da literatura seria o mais indicado para a condução desta pesquisa, uma vez que, através deste, é possível identificar e isolar grupos e áreas do conhecimento. Essas, posteriormente podem conduzir à realização de revisões sistemáticas da literatura, e áreas onde mais estudos primários podem ser conduzidos [10].

19

Page 21: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

3.5 SÍNTESE DO CAPÍTULO

Este capítulo descreveu a metodologia escolhida para esta pesquisa, bem como o ciclo de pesquisa a ser adotado ao longo do trabalho. Foram descritos os procedimentos de acordo com a literatura existente em metodologia de pesquisa, a fim de imputar maior rigor científico a esse trabalho, de forma que os resultados sejam confiáveis, auditáveis e reprodutíveis. Também foi descrito o processo de definição e escolha pela utilização da técnica de Mapeamento Sistemático da Literatura. O capítulo a seguir descreve o protocolo deste mapeamento sistemático.

20

Page 22: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

4. MAPEAMENTO SISTEMÁTICO DA LITERATURA

4.1. INTRODUÇÃO

Este capítulo descreve o mapeamento sistemática da literatura, realizada com o intuito de levantar os principais e mais relevantes estudos relacionados aos conceitos de Internacionalização e Localização para Testes de Software. É este o artefato chave da pesquisa conduzida e de acordo com as definições de Kitchenham [19], Dybâ el al., [23] e Travassos [22], seus métodos e processos devem ser pré-definidos para que a chance de se obter resultados enviesados através dessa pesquisa seja diminuída.

O protocolo de pesquisa tem como objetivo identificar trabalhos relacionados à realização de testes de Internacionalização e Localização no processo de desenvolvimento de software, bem como identificar áreas de pesquisa não exploradas ou pouco exploradas que contribuam com o objetivo geral deste trabalho.

4.2. PERGUNTAS DA PESQUISA

Segundo Kitchenham [19], a especificação das perguntas de pesquisa é a parte mais importante de qualquer revisão sistemática, pois estas dirigem toda a metodologia envolvida. Buscando dirigir a extração dos dados e sua análise de forma concisa e objetiva, de forma a garantir que se atinjam os objetivos deste trabalho, foi elaborada a seguinte Questão de Pesquisa Principal (QPP):

● QPP: Que trabalhos existem na área de Testes de Internacionalização e Localização no processo de desenvolvimento de software? Para orientar a condução do estudo, a correta extração, análise e síntese dos resultados

da pesquisa, as seguintes Questões de Pesquisa Específicas (QPE) foram elaboradas: ● QPE1: Como os Testes de Internacionalização e Localização influenciam o processo

de desenvolvimento de Software? ● QPE2: O que vem sendo investigado na área de Testes de Internacionalização e

Localização de Sistemas de Software? ● QPE3: Quais os desafios e limitações do emprego de Internacionalização e

Localização em Testes de Software? ● QPE4: Quais as principais técnicas e processos empregados na realização de Testes de

Internacionalização e Localização?

4.3 ESTRATÉGIA DE BUSCA

De acordo com Kitchenham [19], a estratégia que será utilizada para procurar por estudos primários deve ser bem definida. Esta deve incluir os termos e recursos que serão utilizados durante a pesquisa.

21

Page 23: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Com o objetivo de se obter um corpus mais relevante e um maior número de resultados, foram utilizadas adaptações nos termos e strings de busca, de acordo com as particularidades de cada repositório, quanto à idioma preferencialmente utilizado, algoritmos de busca implementados, e etc. A estratégia utilizada nesta pesquisa é detalhada nas próximas seções.

4.4 FONTES DE BUSCA

Levando em consideração informações publicadas por Dyba e Dingsøyr [11] e

Kitchenham [10], foram escolhidas os seguintes repositórios de dados identificados como mais relevantes fontes eletrônicas para engenheiros de software:

● IEEE Xplore (http://ieeexplore.ieee.org) ● Scopus (http://www.scopus.com) ● ACM Digital Library (http://dl.acm.org/) ● Google Scholar (http://scholar.google.com)

4.5 TERMOS DE BUSCA

Tomando como base a estrutura das questões de pesquisa específicas, foram extraídos os termos de busca. Esses termos foram então traduzidos para o inglês, por ser o idioma comumente mais utilizado para publicação de estudos primários e ser o idioma predominante nos repositórios utilizados.

Buscando evitar a possível perda de resultados devido a tecnicalidades de escolha de termos e expressões, os termos utilizados foram escritos buscando generalizar e abranger o máximo possível, impondo às strings de busca a função de evitar falsos positivos. O quadro 2 exibido a seguir apresenta os termos de busca, seus sinônimos e palavras relacionadas:

Termos de Busca Sinônimos ou Termos Relacionados

Internacionalização e Localização internationalization, localization, globalization, i18n, l10n

Testes de Software software testing, testing, test engineering

Desenvolvimento de Software software development, software, information system

Quadro 2. Termos de Busca e seus sinônimos ou termos relacionados Fonte: Próprio Autor

4.6 STRING DE BUSCA

Como descrito por Kitchenham [10], as strings de busca devem ser adaptadas para se adequar a diferentes requisitos derivados dos diferentes repositórios utilizados na pesquisa.

22

Page 24: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Dessa forma, pequenos ajustes foram realizados quando necessário, para cada repositório utilizado. Porém, a string de busca foi definida utilizando a estratégia de combinar os termos de busca e seus sinônimos e palavras relacionadas através de operadores lógicos “OU” e “E” (traduzidos para o inglês “OR” e “AND”).

O processo de definição da string de busca é ilustrado a seguir. Primeiro, a concatenação dos Termos de Busca através de conectores “AND”:

(Internacionalização e Localização) AND (Testes de Software) AND (Desenvolvimento de Software) Por fim, a concatenação dos Sinônimos e Termos Relacionados através de conectores “OR”, chegando a String de Busca: (“internationalization” OR “localization” OR “globalization” OR “i18n” OR “l10n” ) AND 2

(“software testing” OR “testing” OR “test engineering”) AND (“software development” OR “software engineering” OR “information system” OR “information system development” OR “information system engineering”)

Devido a limitações técnicas e a características próprias de cada repositório digital, como algoritmo de busca, caracteres permitidos na busca e formato de busca, foram realizadas adaptações na string de busca. As alterações foram realizadas exclusivamente com o intuito de se obter o máximo de resultados pertinentes ao estudo, excluindo ao máximo estudos não relacionados, sem enviesar ou comprometer a pesquisa. A seguir, são exibidas as adaptações feitas na string de busca, para aplicação em cada repositório digital.

● String de busca aplicada ao repositório IEEEXplore: ("All Metadata":"internationalization" OR "All Metadata":"localization" OR "All Metadata":"i18n" OR "All Metadata":"l10n") AND ("All Metadata":"software testing" OR "All Metadata":"testing" OR "All Metadata":"test engineering") AND ("All Metadata":"software" OR "All Metadata":"software engineering" OR "All Metadata":"information system" OR "All Metadata":"information system development" OR "All Metadata":"information system engineering") AND NOT "fault")

● String de busca aplicada ao repositório Scopus: TITLE-ABS-KEY("internationalization" OR "localization" OR "i18n" OR "l10n" AND "testing" OR "software testing" OR "test engineering" AND "software development" OR "software engineering" OR "information systems" AND NOT "fault") AND DOCTYPE(ar)

2 i18n e l10n referem-se à abreviações comuns da área, por constarem respectivamente 18 e 10 letras entre as letras “i” e “n” e “l” e “n”, nos termos em inglês “internationalization” e “localization”.

23

Page 25: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

● String de busca aplicada ao repositório ACM Digital Library: (+localization +internationalization test testing software development software information system -fault)

● String de busca aplicada ao Google Scholar: internationalization and localization and "software testing" and testing and test and software -fault -wifi -book

As modificações e tentativas de melhoria das strings de busca foram realizadas de modo empírico, baseando-se nos resultados obtidos a cada nova aplicação por repositório. Verificou-se que o termo “fault” deveria ser negado nas strings, uma vez que “fault localization” se refere a um jargão específico do campo de estudo da estatística, fazendo assim com que vários falsos positivos fossem retornados. Da mesma forma, para o Google Scholar foram removidos os termos “wifi” e “book”, uma vez que o primeiro resultava em estudos relacionados à localização de dispositivos em redes wifi, e o segundo se deu para excluir materiais de pesquisa que tratavam de livros, de acordo com os critérios de exclusão definidos por esse estudo.

4.7 CRITÉRIOS DE SELEÇÃO DOS ESTUDOS

Segundo Kitchenham [19], os critérios de seleção dos estudos servem para identificar quais os estudos primários que providenciam evidências diretas sobre as perguntas de pesquisa, logo, critérios de Inclusão e Exclusão devem ser definidos tomando como base as perguntas de pesquisa.

Os critérios de seleção devem ser inicialmente interpretáveis de forma que um estudo possa ser preliminarmente incluído ou excluído com base na leitura de seu título e abstract, e em critérios como a possibilidade de se conseguir uma cópia do mesmo por exemplo.

Posteriormente, são então aplicados os critérios de inclusão e exclusão mais práticos, que são descritos a seguir:

4.7.1 Critérios de Inclusão (IC)

● IC1. Documentos que demonstrem influência da aplicação de testes de internacionalização e localização;

● IC2. Documentos que discorram sobre técnicas de Testes de Internacionalização e Localização;

● IC3. Documentos que apresentem resultados da implantação e uso de Testes de Internacionalização e Localização;

● IC4. Documentos que façam levantamento de estudos primários sobre Testes de Internacionalização e Localização de Software;

● IC5. Artigos que apresentem resultados relacionados à execução de Testes de Internacionalização e Localização;

● IC6. Pesquisas qualitativas ou quantitativas;

24

Page 26: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

● IC7. Estudos primários.

4.7.2 Critérios de Exclusão (EC)

● EC1. Documentos similares a documentos já aceitos; ● EC2. Resumos de outros documentos e estudos; ● EC3. Documentos que não foram publicados no idioma inglês; ● EC4. Textos extraídos de livros, produção artística, conteúdo disponível em blogs sem

comprovação teórica ou aceite por banca; ● EC5. Estudos terciários; ● EC6. Estudos que não estejam disponíveis gratuitamente para download nos

ambientes institucionais do CIn/UFPE.

4.8 PROCESSO DE SELEÇÃO DOS ESTUDOS

Essa pesquisa foi realizada utilizando o modelo de Cruzes e Dyba [20], tomando quatro fases para seleção dos estudos, conforme ilustrado na Figura 3.

Figura 3. Fases do Processo de Seleção dos Estudos

Fonte: Cruzes e Dyba (2011)

A seguir, são detalhadas as fases da pesquisa: Fase 1: Foi realizada a busca em cada um dos repositórios escolhidos, executando a string de busca, e os resultados foram exportados para uma planilha Excel categorizada com informações de contexto, formando assim a base de dados inicial do estudo.

25

Page 27: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Fase 2: Cada estudo selecionado na fase anterior foi então analisado. Os títulos e resumos foram lidos e os critérios de inclusão e exclusão foram aplicados. Em caso de incerteza quanto à sua aceitação, o artigo era incluindo para análise nas etapas seguintes. Fase 3: Os critérios de inclusão e exclusão foram aplicados sobre os estudos com base na leitura da introdução e conclusão dos estudos. Quando ainda assim houve caso de incerteza quanto à sua aceitação, o artigo era lido por completo. Fase 4: Os estudos resultantes da terceira fase foram então lidos por completo e a avaliação da qualidade (descrita na próxima seção) foi aplicada sobre eles, de forma a classificá-los em faixas. Nos estudos classificados nas faixas Média, Alta e Muito Alta foi realizada a extração de dados, sendo os estudos classificados nas demais faixas, descartados.

4.9 AVALIAÇÃO DE QUALIDADE

Segundo Keele et. al., 2007, critérios de qualidade são definidos com o objetivo de que a seleção de estudos seja realizada de acordo com uma avaliação adequada, de onde se pode investigar se o nível de qualidade dos estudos afeta diretamente os tipos de resultados obtidos, orientar a interpretação dos mesmos, e propor recomendações para pesquisas futuras.

Para a avaliação de qualidade deste trabalho, foi formulado um formulário com questões baseadas na escala de 3 valores proposta por Likert (1932), onde são atribuídas respostas gradativas para avaliar o quanto o estudo está de acordo com cada critério de qualidade proposto no formulário. Os itens da escala para avaliação de cada critério são:

● Não Atende (0): É atribuído quando nada no trabalho em análise atende ao critério avaliado;

● Dúbio (0,5): É atribuído quando o trabalho não deixa claro se atende parcialmente ou não o critério avaliado;

● Atende (1): É atribuído quando o trabalho apresenta no texto evidências de que o critério é atendido. Os estudos são classificados então em quatro faixas de qualidade, de acordo com o

somatório resultado da avaliação de cada critério de qualidade, conforme especificado na Tabela 1 a seguir.

Baixa Média Alta Muito Alta

0 ≤ N ≤ 3 3 < N ≤ 7 7 < N ≤ 8,5 8,5 < N ≤ 10 Tabela 1. Níveis de Qualidade Fonte: Elaborado pelo autor.

O formulário exibido na Tabela 2 foi criado para registrar a avaliação de qualidade

dos estudos resultantes da Fase 3 de pesquisa deste trabalho.

26

Page 28: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Avaliação de Qualidade ID:

Item: Critério: Avaliação:

C1 Existe uma definição clara dos objetivos da pesquisa?

C2 Os processos, técnicas ou tecnologia, são claramente definidos?

C3 A estratégia de pesquisa se mostra adequada aos objetivos da pesquisa?

C4 Métodos de coleta de dados são claramente descritos?

C5 O estudo exibe seus resultados de forma clara e não ambígua?

C6 Os participantes ou unidades de observação estão adequadamente descritos?

C7 Os objetivos ou questões do estudo são alcançados?

C8 O estudo possui valor para a academia ou para a indústria?

C9 O estudo possui relevância de acordo com as tecnologias atuais?

C10 O estudo é resultado de uma pesquisa científica? Tabela 2. Formulário de Avaliação de Qualidade

Fonte: Próprio Autor

4.10 EXTRAÇÃO DOS DADOS

Uma vez obtidos os estudos resultantes de todas as fases de seleção, foram então criados formulários de extração de dados, aos quais esses estudos foram submetidos. Este processo se baseia no recomendado por Cruzes e Dyba [20], onde os estudos são estruturados nesses formulários, suas informações relevantes são extraídas e catalogadas, e estudos que não possuem relevância para responder às questões de pesquisa são descartados.

Esses formulários são elaborados com o intuito de organizar as informações do estudo, porém, seu objetivo principal é a coleta de informações relacionadas às questões de pesquisa (KEELE et al., 2007).

A Figura 4 exibe a ficha de extração de dados utilizada por esta pesquisa, com o objetivo de extrair dados dos estudos e estruturar as informações de forma a responder às questões da pesquisa.

27

Page 29: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Figura 4. Formulário de Extração de Dados

Fonte: Próprio Autor

4.11 SÍNTESE E ANÁLISE DOS DADOS

O processo de Síntese e Análise dos dados foi realizado baseado em uma abordagem qualitativa para extrair as informações dos estudos primários incluídos nesta pesquisa [19]. Este estudo realizou uma síntese e análise temática dos dados, conforme o processo recomendado por Cruzes e Dyba [20], que pode ser visualizado na Figura 5.

Figura 5. Processo de Síntese Temática

Fonte: Cruzes e Dyba (2011).

O processo constituiu-se em realizar a leitura inicial dos estudos selecionados, e então, aplicar as técnicas de extração a fim de se identificar temas de ordem superior, que serviram para explicar fenômenos observados ou questões de pesquisa, conforme sugere Cruzes e Dyba [20].

28

Page 30: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Segundo Miles e Huberman (1994), códigos são rótulos atribuídos a unidades do texto com significado, que podem ser anexados a palavras, a uma ou mais frases ou mesmo a um parágrafo inteiro, conectados ou não a um cenário.

Esses códigos são então agrupados em poucos conjuntos, os quais possuem mais significado, com o objetivo de reduzir a grande quantidade de códigos, em unidades menores. Essa fase termina quando a possibilidade de criação de temas é saturada e como resultado, um conjunto de tabelas, mapas de árvore e redes temáticas, bem como mapas mentais, são então obtidos. Os temas que surgiram dos passos anteriores devem agora ser explorados e interpretados a fim de se obter temas superiores e as relações entre estes.

Neste trabalho, para facilitar o processo de análise e síntese dos resultados, foi utilizada a ferramenta Planilhas Google (docs.google.com). A partir dos resultados da extração dos dados, foram realizadas as comparações e análises.

4.12 SÍNTESE DO CAPÍTULO

Este capítulo apresentou o protocolo do mapeamento sistemático da literatura realizado por este trabalho. Ao longo das seções foram definidos os detalhes da pesquisa que foi conduzida, como a criação das perguntas da pesquisa, a extração de termos a partir destas, e a criação da string de busca.

Também foram exploradas as fontes de busca escolhidas, os critérios de seleção e exclusão dos estudos, a definição dos processos de seleção dos estudos e do processo de avaliação de qualidade. Por fim, foi exibido o processo de extração de dados e a ficha de extração de dados, bem como o processo de síntese e análise dos resultados da pesquisa.

29

Page 31: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

5. SUMARIZAÇÃO E RESULTADOS Este capítulo apresenta o compilado dos resultados obtidos através da execução desta

pesquisa. Os resultados do mapeamento sistemático da literatura e de cada uma das etapas do processo de pesquisa são apresentados e analisados, com o objetivo de responder às questões de pesquisa deste trabalho.

5.1 RESULTADOS DOS PROCEDIMENTOS DE BUSCA E SELEÇÃO

5.1.1 Introdução

Nesta subseção são apresentados os resultados dos procedimentos e resultados obtidos durante a execução da busca e seleção dos estudos. A pesquisa foi realizada segundo o protocolo de mapeamento sistemático apresentado no Capítulo 4. As próximas seções descrevem o desenvolvimento de cada etapa e seus resultados, assim como uma análise de cada uma delas.

5.1.2 Busca

Seguindo as questões definidas no Protocolo de Mapeamento, foram definidas as questões de pesquisa, e a partir delas, extraídos os termos e seus equivalentes semânticos e técnico-contextuais. Então, a string de busca foi definida, e aplicada de forma manual à cada repositório digital selecionado para a pesquisa.

Segundo disponibilidade de cada repositório, os dados dos estudos primários selecionados foram exportados em formato Comma Separated Values , ou manualmente 3

extraídos de cada repositório, e organizados em planilhas na ferramenta Planilhas Google (docs.google.com), onde para cada estudo foi atribuído um identificador único.

O resultado da busca primária sob os repositórios digitais, foram 852 estudos, somando os valores de cada um dos repositórios. A porcentagem e a quantidade de estudos retornados por repositório é apresentada na Figura 6.

3 Os arquivos Comma-separated values, também conhecido como CSV, são arquivos de texto de formato regulamentado pelo RFC 4180, que faz uma ordenação de bytes ou um formato de terminador de linha, separando valores com vírgulas.

30

Page 32: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Figura 6. Número de Estudos por Repositório Digital

Fonte: Próprio Autor

Conforme pode ser observado na Figura 6, dos 852 estudos primários obtidos da aplicação da string de busca nos quatro repositórios, pouco mais da metade (52,2%, 445 estudos) são provenientes do Google Scholar. Isso se dá principalmente pelo fato deste não ser um repositório de estudos, mas sim um indexador de buscas com resultados acadêmicos. Devido a este fato, estudos encontrados nos outros repositórios foram também encontrados no Google Scholar e posteriormente descartados durantes as fases de seleção.

Tanto para o repositório IEEEXplore quanto para o ACM Digital Library, foi possível melhorar os resultados da busca primária através de ajustes realizados na string de busca (apresentada na Seção 4.5). Desta forma, um número considerável de estudos foi retornado: 266 estudos para IEEEXplore e 116 para ACM Digital Library. Desta forma estudos relacionados à pesquisa não foram ignorados, e um grande número de estudos não relacionados não foram retornados pelas buscas.

O caso do repositório Scopus é de longe o mais peculiar entre os repositórios, uma vez que grandes ajustes na string de busca não puderam ser feitos devido a limitações do próprio repositório, resultando assim no retorno de menos de 3% dos resultados da pesquisa, 2,9% em 25 estudos.

5.1.3 Seleção de Estudos Pelo Título e Abstract

Seguindo a fase 2 do processo de seleção descrito na Seção 4.8, com a base inicial dos estudos já composta, foi realizada a leitura do Título e Abstract de cada estudo, buscando identificar estudos relacionados ao tema proposto pela pesquisa, e descartar os não relacionados, e em caso de dúvida, o estudo era incluído para análise nas etapas seguintes. Desta forma, do total de 852 estudos primários, foram selecionados 104, o que corresponde à 12,2% do total de estudos. A Figura 7 exibe os resultados da Fase 2 da seleção dos estudos por repositório digital.

31

Page 33: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Figura 7. Estudos Selecionados por Repositório

Fonte: Próprio Autor

5.1.4 Seleção dos Estudos pela Introdução e Conclusão

Os 104 estudos potencialmente relevantes para a pesquisa foram então registrados e os critérios de seleção e exclusão (definidos na Seção 4.7) foram aplicados durante a leitura de sua Introdução e Conclusão. Esses critérios foram aplicados de forma independente, e quando não foi possível aplicá-los baseando-se apenas na leitura das duas seções, a leitura integral foi realizada. Dos 104 estudos iniciais desta fase, após a Fase 3 foram aceitos 47, sob os quais foram aplicados os critérios de avaliação de qualidade. A Figura 8 exibe os resultados da Fase 3 da seleção de estudos por base.

32

Page 34: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Figura 8. Estudos Selecionados na Fase 3

Fonte: Próprio Autor

5.1.5 Avaliação de Qualidade dos Estudos

Uma vez terminadas as etapas de seleção dos estudos, o corpus de estudos selecionados foi submetido à avaliação de qualidade, segundo os critérios estabelecidos na Seção 4.9 - Tabela 2, aos quais foram atribuídos valores para representar em que grau determinado quesito era satisfeito pelo estudo. O somatório de pontuação para cada critério foi atribuído como pontuação final de cada estudo, a pontuação de cada estudo selecionado pode ser observada no APÊNDICE B.

Após a aplicação da avaliação dos critérios de qualidade, 14 estudos dos 47 selecionados foram descartados por terem sido avaliados com classificação Baixa, esse número corresponde à 29,7% dos artigos aceitos. Acredita-se que esse número considerável de estudos descartados se deve à fatores como a indexação muito inclusiva das bases, que dão prioridade à retornar estudos resultados nas pesquisas do que ao conteúdo dos artigos. Outro motivo é à natureza do problema fonte de investigação deste estudo. Por se tratar de um tema pouco explorado pela academia, os resultados das buscas nem sempre eram de fato fonte de estudos científicos.

Restaram então 33 estudos, sobre os quais foi realizada a extração dos dados através das fichas de extração de dados (Seção 4.10 - Figura 4). A Figura 9 exibe a distribuição por níveis de qualidade dos estudos.

33

Page 35: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Figura 9. Distribuição dos Estudos por Faixa de Qualidade

Fonte: Próprio Autor

Conforme se pode observar na figura 9, 33,3%(11) estudos foram classificados com qualidade Média, 42,4% (14) com qualidade Alta e 24,2% (8) com qualidade Muito alta. Essa pontuação foi obtida através do somatório da aplicação dos critérios de qualidade.

Pode-se destacar que a grande quantidade de estudos com qualidade alta se dá ao fato de que os critérios de seleção para aceite em cada um dos repositórios utilizados nesta pesquisa já tenham comprovadamente contribuído com a avaliação de qualidade da pesquisa.

Apenas um estudo obteve nota 10 na avaliação de qualidade. Acredita-se que isto se deu devido à natureza dos critérios de seleção definidos, que serviram justamente para discriminar e eleger estudos com mais relevância ao tema proposto por esta pesquisa. Os critérios C8 e C9 se referem à importância e relevância do estudo avaliado tanto para a indústria quanto para a academia, no tangente ao tema proposto por esta pesquisa, Testes de Internacionalização e Localização.

A Figura 10 apresenta o total de pontos obtidos pelos 33 artigos em cada critério de avaliação adotado. Os critérios de C1 à C7 avaliam a clareza dos objetivos da pesquisa, seu teor científico,e a apresentação de resultados sem ambiguidades, com o objetivo de destacar a importância do método científico como avaliador de qualidade antes de se considerarem os dados apresentados. Já os critérios C8 e C9 dizem respeito à relevância do estudo para a academia e indústria em relação aos temas gerais propostos por esta pesquisa, buscando assim avaliar melhor estudos que possam de fato contribuir com mais robustez para os resultados da mesma.

34

Page 36: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Figura 10. Somatório de Pontos por Critério de Avaliação de Qualidade

Fonte: Próprio Autor

O critério de qualidade C1 (C1 - Existe uma definição clara dos objetivos da pesquisa?) obteve a maior pontuação sob a avaliação de qualidade de todos os estudos, o que evidencia que a grande maioria dos estudos apresentavam claras propostas de estudo e a que se destinavam. Esse valor elevado condiz também com a natureza do processo de seleção de estudos empregado nesta pesquisa, pois de acordo com a Fase 2 e a Fase 3 do processo de seleção de estudos, estudos que apresentavam seus objetivos claramente (e assim pontuaram mais no critério C1) eram mais propensos à avançarem de fase, uma vez que não satisfizesse os critérios de exclusão.

Já o critério de qualidade C6 (C6 - Os participantes ou unidades de observação estão adequadamente descritos?), foi o que obteve a nota mais baixa. Isso se deu principalmente pelo fato de que o foco maior desses artigos técnicos era a tecnologia, método ou processo proposto, dando maior foco a essas seções do artigo, e considerando as outras como secundárias. Isso evidencia a importância da correta avaliação de qualidade dos estudos no processo de pesquisa, uma vez que, para o tema deste (Testes de Internacionalização e Localização), informações relacionadas aos participantes, ambientes de teste e usuários-alvo são particularmente importantes, pois a alteração de cada um destes pontos muda o foco dos planos de teste e a escolha das técnicas a serem utilizadas.

35

Page 37: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

5.2 RESUMO DO PROCESSO DE EXTRAÇÃO DE DADOS

Finalmente, sobre os estudos resultantes dos processos de busca e seleção especificados na seção anterior, foi realizada a extração dos dados de publicação, contexto e evidências, conforme o modelo descrito na Seção 4.10, escrito conforme orientação de Cruzes e Dyba (2011). Os estudos relevantes selecionados para esta pesquisa estão detalhados no APÊNDICE A.

5.2.1 Resumo da Execução da Estratégia de Busca

Em primeiro momento, o resultado das buscas por repositório foi de 852 estudos. Durante a Fase 2 do processo de seleção, 748 estudos foram descartados após a investigação dos título e abstract, restando 104 estudos potencialmente relevantes, o que corresponde a 12,2% dos resultados iniciais.

Na Fase 3 do processo de seleção, os estudos foram analisados através da leitura de sua introdução e conclusão, sendo descartados 57 estudos, resultando em 47 estudos (aproximadamente 45,2% dos estudos potencialmente relevantes).

A Figura 11 exibe a quantidade de estudos resultantes de cada uma das etapas citada acima.

Figura 11. Estudos Escolhidos e Descartados por Fase

Fonte: Próprio Autor Nestes foi realizada a leitura integral e a avaliação de qualidade, resultando na

exclusão de 14 estudos. Restaram então 33 estudos considerados relevantes para serem utilizados na pesquisa. Esses 33 correspondem à 31,7% dos estudos considerados potencialmente relevantes, e a apenas 3,87% do resultado inicial da busca por repositórios.

36

Page 38: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Dentre os 805 estudos excluídos nas fases 2 e 3 do processo de seleção, vale destacar que 9 estudos foram descartados por não estarem acessíveis, se enquadrando no critério de exclusão EC6 (EC6 - Estudos que não estejam disponíveis gratuitamente para download nos ambientes institucionais do CIn/UFPE). E outros 13 estudos foram descartados por serem resultados duplicados de estudos já admitidos no estudo, se enquadrando no critério de exclusão EC1 (EC1 - Documentos similares a documentos já aceitos).

5.2.2 Visão Geral dos Estudos

Depois de concluídas as fases de coleta, seleção e extração dos dados, foi realizada a avaliação e sumarização dos resultados sobre os estudos aprovados. De acordo com os dados obtidos, foram levantadas informações para compor a visão geral dos estudos, sendo elas apresentadas nas seções a seguir.

5.2.2.1 Data de Publicação

Seguindo a disposição de publicações dos estudos que evidenciam informações relevantes ao tema de Testes de Internacionalização e Localização por ano de publicação, verificou-se que os resultados estão dispostos no período de 26 anos (de 1993 a 2019). Neste período o número de estudos publicados se manteve praticamente constante, tais informações podem ser observadas na Figura 11.

O número baixo porém constante de publicações relacionadas ao tema, demonstra evidência principal da carência de estudos e esforço nessa área, bem como a importância da mesma ao longo de pouco mais de duas décadas e meia de avanços da tecnologia.

Figura 11. Estudos Publicados por Ano de Publicação

Fonte: Próprio Autor

37

Page 39: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

5.2.2.2 Autoria por Países

Os estudos que evidenciam informações relevantes para a área de estudos de Testes de Internacionalização e Localização tem autorias distribuídas pelos países, de acordo com a Figura 12. Os Estados Unidos lideram o número de estudos como era de se esperar, uma vez que o país é referência na área de TI, bem como é sede de grande número de empresas globais sediadas em solo norte americano.

China e Índia seguem em segundo lugar no número de publicações, evidenciando o tamanho e força do mercado de software nesses dois países. Ambos possuem uma grande população em relação à população mundial, e que por fatores sociais e culturais, possuem a necessidade de produtos de software localizado para seu idioma e suas variantes. Junto a esses fatores, todos os outros fatores culturais e sociais devem ser levados em conta quando se tenta definir a importância da localização para esses dois países.

A Áustria também se destaca pelo número de publicações, uma vez que o país se auto-intitula como um dos pioneiros e líderes no processo de localização mundial.

Figura 12. Autoria dos Estudos por Países

Fonte: Próprio Autor

5.2.2.3 Relação com a Área de Testes

Buscando encontrar evidências de que mais estudos relacionados à área de Testes de Software são necessários, a Figura 13 mostra a quantidade de estudos que têm relação direta com a área. Todos os outros estudos são estudos que possuem variados temas principais,

38

Page 40: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

porém dos quais, através do processo de seleção foram identificados como relevantes, e durante o processo de extração mostraram evidências para responder às questões de pesquisa.

Figura 13. Relação dos Estudos com a Área de Testes

Fonte: Próprio Autor

5.2.2.4 Principais Temas Abordados pelos Estudos

A Figura 14 exibe os principais temas abordados pelos estudos selecionados. Cada tema é detalhado a seguir.

Figura 14. Temas Abordados pelos Estudos

Fonte: Próprio Autor

39

Page 41: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

● Testes de Software - 11 estudos tinham Testes de Software como um dos principais

temas abordados. Discussões a respeito de técnicas e processos de testes, bem como papel ou importância desses testes foram consideradas nesse quesito;

● Automação de Testes - 4 estudos abordavam o tema Automação de Testes, seja explicando suas vantagens como também evidenciando oportunidades da implantação de automação;

● Linguagens Bidirecionais - 3 estudos abordavam o tema. São linguagens cujo sentido da leitura é feito da direita para a esquerda, como por exemplo Árabe, Urdu e Persa;

● Engenharia de Software - 8 estudos tinham este como tema principal. Evidências do emprego de técnicas de Internacionalização e Localização foram encontradas;

● Redução de Tempo de Testes - 2 artigos evidenciaram oportunidades para reduzir o tempo e esforço empregado no processo de testes de software;

● Desenvolvimento Web - 4 estudos abordaram o impacto de Internacionalização e Localização no processo de desenvolvimento Web;

● Design/User Interfaces - 7 estudos abordaram estes temas em relação aos impactos do emprego de técnicas de Internacionalização e Localização;

● Desenvolvimento Mobile - 3 estudos abordaram o impacto de Internacionalização e Localização no processo de desenvolvimento para aplicativos móveis;

● Contextos Sócio-culturais - 3 estudos buscaram levantar os impactos sócio-culturais relacionados com os processos de Internacionalização e Localização;

● Tradução - 4 estudos abordaram tradução no contexto de Internacionalização e Localização.

5.3 MAPEAMENTO DAS EVIDÊNCIAS

Nesta seção, são apresentados os resultados do estudo sistemático realizado nesta pesquisa, utilizando as técnicas de mapeamento sistemático da literatura de acordo com as questões de pesquisa.

QPE1: Como os Testes de Internacionalização e Localização influenciam o processo de desenvolvimento de Software?

Após o processo de extração de dados de cada estudo, foram identificados códigos, temas e categorias que os estudos selecionados apresentavam, de acordo com o processo descrito por Cruzes e Dyba (2011). Após o refinamento sucessivo das informações, foi montada uma tabela (APÊNDICE C) com as principais evidências de influências causadas pela necessidade de Testes de Internacionalização e Localização no processo de desenvolvimento de software. A seguir as principais são abordadas:

40

Page 42: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

CD1 - Inserir técnicas de Internacionalização e Localização nas primeiras fases do desenvolvimento

Muitos estudos evidenciaram as dificuldades de se adaptar os produtos de software para suportar Internacionalização e Localização nos estágios mais avançados de desenvolvimento, e enalteceram as vantagens de levar esses requisitos em consideração nos estágios iniciais do desenvolvimento. O estudo A5 especificamente aborda o caso de refatoramento de um sistema legado com muitas linhas de código, a fim de suportar Internacionalização, ressaltando as muitas mudanças que tiveram de ser feitas.

No estudo A7 são referenciadas as áreas a se considerar, levando em conta a realização de testes de Internacionalização, e implicando na necessidade de se desenvolver tomando o cuidado para evitar tais problemas como “Date and time formatting, Currency handling, Language verbosity, non-ASCII characters, character corruption”.

Já os estudos A33 e A36, dão recomendações diretas desta necessidade, como pode ser observado nos seguintes transcritos: “From the beginning, the entire group would have to become skilled in thinking in the particulars of Arabic such as bidirectional reading flow and script-like letterforms. ” - A33 “The requirement phase is the most critical when dealing with Bidirectional software. Bidi requirements affect the design, coding and testing of the internationalized product” - A36 “seem to make decisions about L10N quite early in the development life cycle” - A42 “half of the interviewed SDs made this decision before starting product development.” - A42

CD2 - Inserir testes de Internacionalização e Localização no ciclo de vida do projeto

No estudo A2 são feitas referências à DSDM (Dynamic Systems Development Methodology), e seus processos que integram Internacionalização e Localização dentro do ciclo de vida do projeto de software. Já os estudos A7 e A11 destacam a importância de se considerar os Testes de Internacionalização e Localização como requisitos durante o processo de desenvolvimento de software.

CD3 - Ambiente separado para testes de Internacionalização e Localização

O estudo A3 indica repetidamente que é necessário um esforço extra para preparação de um ambiente separado para a execução deste tipo de testes, e que esse esforço deve ser conjunto por parte de toda a equipe envolvida no desenvolvimento do produto. Isso se dá principalmente a fatores relacionados à qualidade. CD4 - Refatoração para incluir Internacionalização e Localização é um grande desafio

Conforme evidenciado no estudo A5, um grande esforço e mudanças de proporções gigantescas são necessários para refatorar grandes sistemas legados a fim de suportar Internacionalização.

41

Page 43: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

No estudo A39 os pesquisadores deixam claro os inúmeros riscos que são tomados ao decidir refatorar um sistema para suportar Internacionalização, pois “é uma tarefa não trivial que requer discernimento humano, toma bastante tempo, é custoso do ponto de vista monetário, e habilita a inserção de uma grande quantidade de defeitos decorrentes da validação de Internacionalização e Localização”. O seguinte transcrito retirado do estudo A18 evidencia alguns desses problemas: “Devanagari script for Hindi could not be accommodated in the label sizes originally designed in English. We had to resize them as well as the overall size of the graphs to incorporate the chosen languages. We have also used separate resource bundles for the following categories such as UI Labels, Graphs, Messages and XML references so that possible confusions about message contexts could be avoided.” - A18.

CD5 - Conhecimento adicional em Internacionalização e Localização é necessário

Praticamente em sua totalidade os estudos selecionados apresentam evidência de que é necessário um conhecimento adicional para desenvolver sistemas de software que suportem Internacionalização e Localização, dos quais se destacam A5, A7, A9, A10, A13, A19, A20, A25, A26, A33, e A44.

A5 evidencia as necessidades de se realizar escolhas relacionadas a características intrínsecas do suporte à localização, como encoding. Já o estudo A9 destaca a grande dificuldade que desenvolvedores web têm para consertar Presentation Failures decorrentes 4

de localização nas páginas Web. O estudo A13 destaca a necessidade de se saber diferenciar jargões e termos técnicos. E o estudo A44 explicitamente indica que “Desenvolvedores devem ter um melhor entendimento para selecionar corretamente strings que devem ser traduzidas”.

No estudo A26 é observada através de estudo de caso o emprego de profissionais especialistas no processo de localização, que trabalham junto dos desenvolvedores, e que estes precisam de treinamento adicional para conseguir atender às demandas e corretamente exigir resultados de linguistas e tradutores.

CD6 - Tradução das Strings e suas implicações

É necessário atentar para características próprias do processo de tradução de strings, e como essas vêm a implicar no produto de software. No estudo A10, alerta-se que “Strings traduzidas podem expandir ou contrair de tamanho de acordo com cada linguagem suportada, o que pode distorcer a aparência das interfaces de usuário.”.

No estudo A13 está evidenciado outro problema relacionado ao processo de tradução de strings: A falta de contexto. Devido ao fato dos sistemas de software apresentarem strings muito curtas normalmente relacionadas à botões e itens de listas ou menus, profissionais de tradução podem necessitar de contexto adicional para evitar problemas de ambiguidade nas traduções.

4 Distorções no layout de páginas Web, causadas pela mudança no tamanho de elementos de texto após a localização para diferentes idiomas.

42

Page 44: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

O seguinte transcrito do estudo A26 serve para ilustrar um caso crítico de implicações na necessidade de traduções de recursos do sistema: “This means that at some point, two different types of specialists – software developers (engineers) and translators (linguists) – with widely differing work cultures, educations and values, will communicate and collaborate at specific stages of a project: - During internationalization, when translators might advise software developers what elements to internationalize. - Before localization, when developers provide source material like resource files, prototypes or documentation, to the translators. - During localization, in case translators need additional information from developers or have further enquiries.” - A26.

CD7 - Necessidade de atentar para informações sócio-culturais

Uma grande maioria dos estudos evidenciam a necessidade de se atentar para informações sócio-culturais durante o processo de desenvolvimento de software. Tais implicações podem significar a perda de um contrato, casos judiciais, ou o fracasso de adoção de um produto em determinado país.

Em alguns estudos como A19 e A25, são evidenciados traços culturais que devem ser observados para compor ou adaptar a identidade visual dos produtos. Esses traços podem ser sutis como a escolha de diferentes cores para determinados públicos, como o emprego ou não de certos ícones, gestos e conteúdo de mídia, que podem se mostrar ofensivos à determinadas culturas.

No estudo A12, é indicado que para ultrapassar as barreiras sócio-culturais, os envolvidos no processo de desenvolvimento de software devem aumentar sua consciência cultural e realizar mudanças dentro do próprio processo de desenvolvimento. Entre as principais indicações do estudo estão os jargões de cada cultura, palavras que simplesmente não existem, nomes de produtos que já foram adotados, ou que não devem ser traduzidos, e casos de relações culturais propriamente ditas, como se pode observar no seguinte transcrito:

“For instance, because the Japanese keep dates in years of the Emperor, Lotus thought it would be helpful to provide a feature that would allow users to change the Emperor’s name, when needed. When Lotus talked to the consultants about this they quickly learned that “they should not even dream about marketing a program that appeared, in any respect whatsoever, to question the Emperor’s immortality’’ - A12

QPE2: O que vem sendo investigado na área de Testes de Internacionalização e Localização de Sistemas de Software?

A Figura 15 apresenta o resultado do levantamento de tópicos relacionados à Testes de Internacionalização e Localização que são investigados nos 33 estudos selecionados. Segundo o levantamento, um total de 13 tópicos são investigados em conjunto com o tema desta pesquisa, para os quais se destaca a quantidade de vezes que cada um é citado nos estudos.

43

Page 45: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Figura 15. Tópicos Investigados pelos Estudos

Fonte: Próprio Autor

Conforme evidenciado na Figura 15, e exibido no APÊNDICE D, os tópicos relacionados a Testes de Internacionalização e Localização que mais são citados são Tradução e Design / Interfaces de Usuário. Isso evidencia a carência de mais estudos nessa área, uma vez que esses dois tópicos são os que acompanham o processo de testes funcionais e podem ser considerados os mais intuitivamente exploráveis no contexto de Internacionalização e Localização.

Machine Translation, que refere-se a técnica de utilizar processos de sistemas de software baseados em Inteligência Artificial e Aprendizagem de Máquina para traduzir conteúdos é um tópico em ascensão e bastante promissor devido ao crescimento de estudos nessa área, bem como a evolução das próprias áreas de pesquisa de Inteligência Artificial.

O tópico Qualidade do Processo de Testes é citado por vários estudos, e evidencia a preocupação com a qualidade desse novo processo de testes, pois a importância é alta devido aos fatores de risco envolvidos e à quantidade de recursos investidos. Assim como, devido à

44

Page 46: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

pouca investigação dessa área e a falta de conhecimento e profissionais capacitados na indústria.

Pode-se destacar também a presença de tópicos como Automação de Testes, pois como indicado no estudo A15, testes de Internacionalização e Localização lidam com o escopo de um grande número de idiomas ou linguagens, onde ocorre a repetição de passos de teste, o que os torna perfeitos candidatos à automação.

Relacionado à automação, temos o tópico que indica a preocupação quanto à eficiência na execução dos ciclo de testes, que conforme evidenciado no estudo A39, é de fundamental importância procurar formas de auxiliar os testadores, a fim de evitar um processo que toma muito tempo.

Vemos também o tópico de Overlocalization, que conforme definido no estudo A37, trata da necessidade de se investigar a existência de strings que não devem ser localizadas. QPE3 - Quais os desafios e limitações do emprego de Internacionalização e Localização em Testes de Software?

Após a análise de códigos e categorias extraídos dos estudos selecionados, e sucessivos refinamentos e revisões, foi montada a Tabela 3, conforme o processo indicado por Cruzes e Dyba (2011). Nesta, é possível observar o surgimento de 6 códigos principais, que especificam desafios e limitações relacionados ao emprego de Testes de Internacionalização e Localização.

Tabela 3. Códigos Identificados pelos Estudos

Fonte: Próprio Autor

Nos próximos tópicos desta seção, serão especificados os códigos dos desafios e limitações que foram identificados como predominantes nos estudos analisados, conforme a Tabela 3. Q3P1 - Conhecimento adicional para os profissionais

A grande maioria dos estudos resultado desta pesquisa evidenciam a necessidade de profissionais mais qualificados como um dos principais desafios e limitações para o emprego de Testes de Internacionalização e Localização. O que, segundo os estudos A3 e A7, pode se resumir ao emprego de profissionais especializados neste tipo de testes, e no processo geral de Internacionalização e Localização.

Segundo estudos como o estudo A9, que tratam em sua maioria de temas relacionados a desenvolvimento Web, e profissionais da área de design que levam principalmente em

45

Page 47: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

consideração o layout das interfaces de usuário, lidar e corrigir problemas relacionados à Internacionalização e Localização é um grande desafio. Já o estudo A10 cita um problema específico relacionado a estes critérios, no que diz respeito à necessidade de entender que as strings traduzidas e localizadas podem distorcer as interfaces de usuário.

O estudo A26 evidenciou que, devido às novas interações com profissionais tradutores, ou linguistas, o time de desenvolvimento de software teve de realizar treinamentos voltados à destacar a necessidade de se considerar características relacionadas à localização de produtos por região. O que ocasionou na necessidade de uma nova abordagem do time de testes para validação desses novos requisitos incluídos no processo. Já o estudo A33 evidencia a necessidade que todo o time envolvido no desenvolvimento teve de se especializar em considerar as particularidades relacionadas à implantação de seu produto para linguagens bidirecionais.

Indicações diretas foram feitas principalmente pelos estudos A34 e A37. O estudo A34 por se relacionar à uma pesquisa mais voltada a área de acessibilidade para profissionais do processo de localização, faz indicações diretas como por exemplo “Especialistas de localização devem ser melhor treinados”.

A seguir, são exibidas algumas transições extraídas durante a análise dos estudos: “Given the clear difficulty of having the necessary knowledge to ensure that no characteristic offends any culture anywhere in the world...” - A2 “For user acceptance testing, the testers should be familiar with all cultures for which they represent potential users.” - A2 “Repairing Internationalization Presentation Failures in a web page is challenging for web developers.” - A9 “[...] relevancy of data elements towards localization as well as functional elements or difficulties during functional testing and regression testing.” - A11 “During localization, in case translators need additional information from developers or have further enquiries.” - A26 “[...] often it can’t ultimately be decided what the appropriate translation for a term is, or if one even exists.” - A26 “From the beginning, the entire group would have to become skilled in thinking in the particulars of Arabic such as bidirectional reading flow and script-like letterforms.” - A33 “Internationalization testing and localization testing should be performed by professional, native-speaking specialists.” - A36

46

Page 48: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

“The software localization process comprise of difficult technical task that is to be carried out by a variety of specialists including graphic designers, programmers, project managers, testers, engineers and translators.” - A37 “Localization testing for mobile applications is more complex and challenging as compared to localization testing of traditional web-based and desktop applications” - A38 “[...] having the tester verify and interpret product output is a time-consuming process and risks the loss of information and/or accuracy during translation.” - A39 Q3P2 - Testes de Localização demandam muito recurso pessoal, financeiro e tempo

Uma das limitações mais citadas pelos estudos foi a quantidade extra de esforço, tempo e dinheiro que tem de ser consideradas ao implantar testes de localização. Em linhas gerais, os estudos que citaram esse código se referem ao fato de assumirem que a quantidade de recursos necessários para os testes cresce de acordo com um fator multiplicativo ao número de idiomas suportados, como descreve o estudo A1.

O estudo A3 descreve que os erros encontrados pelos testes de localização consomem mais tempo para serem corrigidos do que os outros tipos de erros encontrados. Já o estudo A17 descreve os custos e o volume de investimento que grandes companhias realizam para incluir o suporte e validação de internacionalização e localização em seus produtos. Segundo o mesmo, para localizar completamente um produto de software para uma nova linguagem o custo estimado é de 100 mil dólares americanos.

Devido a essas evidências, esse código se torna um contra fator para a implantação efetiva do suporte à localização, devido aos custos do processo de validação. Segundo o estudo A33, um nível adequado de testes não pode ser atingido no produto observado pelo estudo, devido à fatores como orçamento, tempo para desenvolvimento, e qualificação dos profissionais.

Outro forte evidência desse código é imposta pelo estudo A38, que indica que os testes de localização para produtos desenvolvidos em plataformas mobile, além dos problemas relatados pelos estudos anteriores, ainda apresentam a necessidade de sua execução em diferentes tipos de dispositivos e plataformas, para uma validação efetiva.

A seguir, são exibidas algumas transições extraídas durante a análise dos estudos: “Localization testing a resource-intensive and time-consuming task. The effort multiplies for software products supporting many different localized variants.” - A1 “This may introduce serious time delays and an increase in costs, which go far beyond just engineering. For instance, big companies typically invest $2M and 12–18 months of their engineering resources in internationalization and delivery of the first foreign language [SurveyMonkey 2013]. Then, fully localizing a software product for one additional language can add up to $100K, whereas Microsoft estimates its costs are $300K or more per product

47

Page 49: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

[Collins 2002]. This can be a tall order for small software companies, but also for big companies to target languages with low strategic value in terms of market share.” - A17

“The optimal amount of testing could not be conducted due to several constraints. First was budget, as time and travel across the globe are very expensive. Second was our limited access to users, as many are employed only during the 4-week enumeration and 4-week testing period.” - A33 “Testing for “user-friendliness” is not easy because it depends on the targeted enduser or customer experience. Developers need to recruit participants from different age groups, genders, backgrounds, and skill levels to test the product.” - A36 “The software localization process comprise of difficult technical task that is to be carried out by variety of specialists including graphic designers, programmers, project managers, testers, engineers and translators.” - A37 “Localization testing for mobile applications is more complex and challenging as compared to localization testing of traditional web-based and desktop applications...” - A38 “The localization testing needs to be done on different types of devices on different platforms.” - A38 Q3P3 - Necessidade de Informações de Contexto

Esse código foi evidenciado tanto em estudos que se referiam às características do ambiente de testes, quanto aos que se referiam às dificuldades encontradas pela equipe de desenvolvimento para dar suporte à Internacionalização.

Como descrito no estudo A13, além das dificuldades encontradas pela necessidade de se considerar jargões e termos técnicos de cada linguagem e região, as strings em geral são bem curtas, por se tratarem de strings exibidas em botões e menus. Logo, durante o processo de localização surge o problema de falta de contexto, o que em cascata se torna um problema durante a realização dos testes de localização.

O estudo A25 descreve a dificuldade para lidar com as informações de contexto, especificando técnicas para lidar com o problema, como a tokenização de páginas para tentar contornar o problema. A seguir, são exibidas algumas transições extraídas durante a análise dos estudos: “... localization testing a resource-intensive and time-consuming task. The effort multiplies for software products supporting many different localized variants.” - A1 “Besides the jargon and technical terms, many of the strings are often very short, such as those shown in buttons and pulldown menus. Then, as a result of the lack of visual context in the traditional localization process, an important ambiguity problem arises.” - A13

48

Page 50: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

“We have also used separate resource bundles for the following categories such as UI Labels, Graphs, Messages and XML references so that possible confusions about message contexts could be avoided.” - A18 “Very little contextual information is available, and evaluations are dependent on structural features of the page that can be tokenized.” - A25 Q3P4 - Necessidade de sensibilidade sócio-cultural dos profissionais

Esse código é, conforme evidenciado por sua presença nos estudos, de fundamental importância para o processo de testes de internacionalização e localização. Segundo o artigo A2, os testadores devem estar familiarizados com todas as culturas para as quais seu produto apresenta mercado. Ainda segundo este estudo, é importante evitar ofensas culturais e a potencial perda de clientes resultante desses.

O estudo A12 descreve várias características sócio-culturais que devem ser observadas, e que influenciam diretamente a composição do time de testes. Um dos casos apresentados pelo estudo é o de uma ofensa cultural não intencional ao imperador do japão, feita por um dos engenheiros de software, que poderia ter sido evitada caso validações realizadas por um time de localização tivessem sido realizadas.

Conforme evidenciado pelos estudos A14, A16 e A33, essa sensibilidade deve estar presente em todos os profissionais envolvidos na validação, por esse desafio não ser facilmente verificável através de casos de teste, mas sim de nuances próprias de cada região. A seguir, são exibidas algumas transições extraídas durante a análise dos estudos: “Given the clear difficulty of having the necessary knowledge to ensure that no characteristic offends any culture anywhere in the world. [...] For user acceptance testing, the users should be familiar with all cultures for which they represent potential users.” - A2 “All user interface controls must not contain any characteristic that might be offensive to the culture from which potential users of the application might come.” - A2 “For instance, because the Japanese keep dates in years of the Emperor, Lotus thought it would be helpfid to provide a feature that would allow users to change the Emperor’s name, when needed. When Lotus talked to the consultants about this they quickly learned that “they should not even dream about marketing a program that appeared, in any respect whatsoever, to question the Emperor’s immortality’’- A12

“Text localization consists in translating the interface and application documentation. Cultural localization includes respect for all cultural conventions of a particular region” - A14 “... in order to understand differences and in the design of the GUI for a global audience we had to account for cultural issues such as uncertainty avoidance.” - A25

49

Page 51: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

“Currently, interfaces are developed according to the former approach on the principle that “one-size-fits-all” and thus often do not meet the needs of diverse individuals or communities.” - A31 “Identify the initial region. There are four identifiable regions in the Arabic market. They differ with respect to issues of calendar, date/time formats, currency, holidays, etc.;” - A36 “... determine relevant cultural issues including color themes, pictures, icons, navigation, sound, and expected navigation mode…” - A36 Q3P5 - Especificidades de determinados idiomas

Ao se tomar a decisão de dar suporte à diferentes linguagens e regiões, deve-se atentar ao aumento de complexidade e características que algumas dessas trazem para o processo de validação, conforme evidenciam os estudos A2, A7, A11, A12 e A14. Uma grande maioria desses idiomas diz respeito a regiões que utilizam o sistema de linguagens bidirecionais. Os estudos A2, A7 e A14 citam algumas dessas várias características como estilos de documentação, caracteres especiais, valores numéricos e monetários, data e hora, métodos de seleção e ordenação e a direcionalidade do texto.

O estudo A38 indica alguns idiomas como os mais propensos a apresentarem erros relacionados à Internacionalização e Localização, sendo elas o Alemão, Japonês, Árabe e Hindu. Esses erros estão particularmente atrelados às características como bidirecionalidade e termos que não devem ser traduzidos de acordo com especificidades de cada região.

A seguir, são exibidas algumas transições extraídas durante a análise dos estudos: “Many languages, especially Asian languages, have more characters in their language than keys on the keyboard.” - A2 “... several issues and areas to consider when developing and testing an internationalized application such as Date and time formatting, currency handling, Language verbosity, non-ASCII characters, character corruption.” - A7 “When internationalizing the product, certain strings or variables should not be translated” - A7 “... low transparency in terms of which functional elements are used in which countries.” - A11

“Devanagari script for Hindi could not be accommodated in the label sizes originally designed in English. We had to resize them as well as the overall size of the graphs to incorporate the chosen languages. We have also used separate resource bundles for the

50

Page 52: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

following categories such as UI Labels, Graphs, Messages and XML references so that possible confusions about message contexts could be avoided.” - A18 “Icons are displayed on opposite side of an input field: • Navigation buttons are displayed in reverse order • Icons with a particular directional orientation, e.g., undo and redo • Translated text is aligned to the right” - A19 “... critical issues and challenges concerning QA/Testing of Bidirectional languages software.” - A36 “identify the UI requirements and mirroring issues; determine relevant cultural issues including color themes, pictures, icons, navigation, sound, and expected navigation mode;” - A36 “Experience has shown that we are most likely to find specific issues in the following languages: German, Japanese, Arabic, and Hindi.” - A38 Q3P6 - Necessidade de incluir linguistas no processo de validação

Uma técnica bastante difundida na indústria no que diz respeito à validação de conteúdos localizado é a utilização de profissionais especialistas para cada região a ser validada. Evidências disso foram encontradas em vários estudos, dos quais se destacam por abordarem o tema mais diretamente, os estudos A2, A18, A26, A36, A37, A42 e A47.

A inclusão de profissionais linguistas nos processos, combinada com as corretas técnicas de execução de validações resulta em possibilidades para a área de localização que antes não existiam, uma vez que estudos como A2 e A26 são bem enfáticos ao afirmar que é necessário maior conhecimento dos membros da equipe. Já nos estudos A18 e A36 são feitas indicações diretas de que é necessária a atuação de linguistas para validar as localizações feitas nos produtos objetos de estudo de caso de cada um deles. O estudo A26 oferece diretivas e recomendações para a melhor colaboração entre os desenvolvedores e testadores com os profissionais linguistas. Essas, vão desde recomendações comunicativas, como também de suporte e proatividade. E nos estudos A42 e A47, os linguistas são tratados como parte integrante do processo de validação de localização.

A seguir, são exibidas algumas transições extraídas durante a análise dos estudos: “Testing the application for the verification of the semantics of the language and its validity seemed to be a problem as we had to go to the experts to perform these tasks and also the natural flow of the language used in the translation is quite questionable as it is always of aesthetic concern whether the translation has led to a better understanding in the localized

51

Page 53: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

language or not. The improvements or changes to the workflow system now also need many linguists to verify the additions that are to be made to the product.” - A18

“This means that at some point, two different types of specialists – software developers (engineers) and translators (linguists) – with widely differing work cultures, educations and values, will communicate and collaborate at specific stages of a project: - During internationalization, when translators might advise software developers what elements to internationalize. - Before localization, when developers provide source material like resource files, prototypes or documentation, to the translators. - During localization, in case translators need additional information from developers or have further enquiries.” - A26 “Linguistic errors are the most common and the most visible kind of errors in localization”- A36 “They are equipped with specific language linguistic experts, language-aware testers and universal testers to conduct this type of tests.” - A37 QPE4 - Quais as principais técnicas e processos empregados na realização de Testes de Internacionalização e Localização? A Figura 16 exibe os dados resultantes do levantamento de técnicas e processos utilizados na realização de testes de Internacionalização e Localização. Na figura é possível observar as principais técnicas e processos mais citados pelos estudos, sobre as quais foi feita menção direta ou indireta, e que tem relação com o processo de testes de internacionalização e localização. A tabela que exibe o resultado da extração das referências de técnicas e processos quanto à quais estudos as referenciam é apresentada no APÊNDICE E deste documento.

52

Page 54: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Figura 16. Técnicas e Processos Referenciados nos Estudos

Fonte: Próprio Autor Através da figura é possível observar que a técnica de Uso de Profissionais Linguistas

foi a mais referenciada, sendo citada em 14 dos 33 estudos selecionados (42,4% dos estudos). Nestes, são feitas claras indicações à necessidade de emprego de profissionais ou empresas especializadas nos idiomas e regiões específicos, para os quais se deseja implantar o suporte à localização.

O uso de tais profissionais impacta diretamente os processos de testes, uma vez que os linguistas, apesar de serem especialistas nas linguagens e nuances das regiões, não necessariamente possuem conhecimentos relacionados à área de desenvolvimento de

53

Page 55: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

software. Como especificado no estudo A26, surge uma nova relação de colaboração entre os profissionais relacionados ao processo de desenvolvimento de software, inclusive os testadores, com os profissionais linguistas. Tal relação, conforme descrita no estudo, deve observar regras claras de proatividade na colaboração e deficiências de contexto dos recursos a serem localizados.

A seguir, são definidas as principais técnicas e processos referenciados pelos estudos selecionados:

● Scripts de Automação: Conforme referenciado em 8 estudos, técnicas relacionadas ao processo de automação de testes são, em especial, efetivas no processo de Testes de Internacionalização e Localização, uma vez que nestes, vários locais são objetos de validação para um mesmo conjunto de requisitos.

● Testes language-independent: Esse tipo de técnica consiste em escrever casos de teste de uma forma generalizada, de modo que estes sejam executados de uma mesma forma, “independente” do idioma sob os quais serão executados.

● Strings com caracteres especiais: Esse tópico diz respeito às técnicas de validação que foram referenciadas com o objetivo de verificar esse tipo de strings. Em sua maioria, dizem respeito à truncamentos , corrupção das strings e dos elementos visuais do 5

sistema, e à capacidade do software de exibir diferentes caracteres localizados. ● IMEs por locais: IMEs do inglês “Input Methods/Mode Editors” diz respeito ao uso

de diferentes métodos de entrada para cada idioma específico, como teclados, por exemplo. Dois estudos fizeram referências às técnicas de validação sob esse aspecto.

● Pseudo-localization: Três estudos referenciam o uso desta técnica de validação, que diz respeito ao uso de uma interface “pronta” para receber a localização, mas que ainda não foi de fato localizada. Isso implica num melhor aproveitamento de tempo, pois enquanto os recursos a serem localizados estão nas mãos dos profissionais linguistas, o time de testes pode validar aspectos do software antecipadamente.

● Overtranslation: Referenciado por 3 estudos, essa técnica diz respeito à validação de strings ou elementos que não devem ser traduzidos, seja por se tratarem de termos técnicos, jargões, expressões universais, ou palavras em determinado idioma cujo significado é adotado por diferentes regiões.

● Informar contexto das strings: Referenciada por 5 estudos, esse tópico diz respeito à necessidade de lidar com o problema de falta de contexto nos recursos enviados para localização. Essa é uma preocupação tanto da equipe de desenvolvimento e testes, que precisam saber o quanto determinados recursos podem ou devem mudar, quanto para os profissionais linguistas, que podem precisar de mais contexto para adequadamente traduzir strings muito curtas, sem clara indicação de onde e como serão utilizadas nas interfaces de usuário.

● Uso de arquivos de recursos: Um dos processos mais referenciados direta e indiretamente, diz respeito à separação dos elementos do software que serão localizados, de modo que profissionais qualificados possam realizar o serviço de

5 Jargão técnico sobre o processo de redução de uma palavra devido à limitações de componentes visuais.

54

Page 56: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

tradução e localização sob esses recursos, e o desenvolvimento do software continue em paralelo. O uso dessa técnica faz com que validações possam ser realizadas diretamente sobre os recursos, mas também sobre a integração destes com os sistema final.

● Técnicas Padrão: observadas em 11 dos 33 estudos (33,3% dos estudos), diz respeito às técnicas já adotadas e consolidadas no processo de testes de software, que também foram referenciadas no contexto de testes de internacionalização e localização. São exemplos, o uso de planos de testes específicos, ciclos de regressão, integração, sanidade, testes exploratórios, técnicas de limites e fronteiras, e outras técnicas de testes funcionais.

Além das técnicas e processos exibidos na Figura 16 também foram indicadas pela

minoria dos estudos, as técnicas de Machine Translation e a estratégia de Fallback Languages. A técnica de Machine Translation, referenciada pelo estudo A46, refere-se ao uso de técnicas de Inteligência Artificial e Aprendizagem de Máquina para automaticamente traduzir recursos, buscando eliminar o tempo e recursos necessários do emprego de profissionais especializados.

A estratégia de Fallback Languages é citada pelo estudo A38, e pode ser definida como a estratégia de reusar recursos de uma determinada linguagem, para outras, cuja a localização não seja completa. Essa decisão de não localizar completamente uma linguagem pode ter várias justificativas, como o pequeno número de usuários para aquela região, ou simplesmente regionalidades que se intersectam com outra linguagem, para a qual será feito o processo de fallback.

5.4 LIMITAÇÕES DA PESQUISA E AMEAÇAS À VALIDADE

Inerente ao processo de mapeamento sistemático, uma limitação da pesquisa é encontrar todos os artigos relevantes existentes. Buscando contornar esse problema, foram utilizadas as recomendações propostas por Kitchenham et al. (2007) e Dyba e Dingsøyr (2008) para escolha dos repositórios, bem como adaptações da string de busca. Ainda assim, há um número considerável de outras bases e publicações possivelmente relevantes.

Segundo Dyba e Dingsoyr (2008), deve-se ter cuidado com o viés introduzido pelos pesquisadores na seleção dos estudos. Para reduzir essa possibilidade de viés, todas as etapas da revisão devem ser conduzidas envolvendo no mínimo uma dupla de pesquisadores. Desta forma, por mais que revisões sucessivas tenham sido realizadas, há a possibilidade de viés na realização deste trabalho por ter sido realizado por um único pesquisador.

Por fim, outras limitações desta pesquisa envolvem o número de artigos não disponíveis na rede do CIn/UFPE, e a falta de conhecimento técnico para adaptações e aplicação das strings de busca nos repositórios.

55

Page 57: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

5.5 SÍNTESE DO CAPÍTULO

Este capítulo descreveu os resultado desta pesquisa, que foram obtidos através da realização do mapeamento sistemático da literatura já mencionados. O mapeamento sistemático foi conduzido com o objetivo de investigar a questão da pesquisa principal, quais os trabalhos existentes na área de Testes de Internacionalização e Localização, no processo de desenvolvimento de software. Foram selecionados 33 estudos relacionados à pergunta principal, através das técnicas de seleção do mapeamento sistemático da literatura, em observação às quatro perguntas específicas da pesquisa.

Como principais fatores que influenciam o processo de desenvolvimento de software, foram identificados 7 códigos, dos quais se destacam Inserir técnicas de Internacionalização e Localização nas primeiras fases do desenvolvimento, e Conhecimento adicional em Internacionalização e Localização é necessário. Dos tópicos indicados nos estudos foram identificados 13 principais, dos quais se destacam interações com a área de Design e Interfaces de Usuário, e o tópico de Tradução.

Dentre os principais desafios e limitações do emprego de Internacionalização e Localização em testes de software, 6 códigos se destacaram, sendo Conhecimento adicional para os profissionais e Testes de Localização demandam muito recurso pessoal, financeiro e tempo os mais citados. Já as principais técnicas e processos identificados pelos estudos foram resumidas à 10 principais, das quais se destacam o emprego de técnicas já conhecidas e consolidadas da área de testes de software, e o emprego de profissionais linguistas.

Baseado nesses resultados apresentados, o capítulo seguinte traz as conclusões do autor sobre o trabalho finalizado.

56

Page 58: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

6. CONSIDERAÇÕES FINAIS

6.1 CONCLUSÕES

Este trabalho buscou destacar quais os trabalhos existentes na área de testes de internacionalização e localização, no processo de desenvolvimento de software. Para isso, foram criadas questões de pesquisa específicas, buscando identificar nos estudos às seguintes questões: Como os Testes de Internacionalização e Localização influenciam o processo de desenvolvimento de Software? O que vem sendo investigado na área de Testes de Internacionalização e Localização de Sistemas de Software? Quais os desafios e limitações do emprego de Internacionalização e Localização em Testes de Software? e Quais as principais técnicas e processos empregados na realização de Testes de Internacionalização e Localização?

A fim de obter estas respostas, foi realizado um mapeamento sistemático da literatura, onde 852 estudos foram obtidos e então filtrados buscando aplicar critérios de inclusão e exclusão, chegando por fim a 33 estudos considerados relevantes, sob os quais foi realizada a extração de dados para responder às questões da pesquisa.

Foram mapeados códigos que indiquem o quanto a inserção de Testes de Localização e Internacionalização influenciam o processo de desenvolvimento de software. Assim, foi constatado que um terço dos estudos consideram a necessidade de treinamento adicional ou de profissionais capacitados no processo de desenvolvimento de software um dos principais impactos. E em sua grande maioria, os estudos defendem que o ideal é inserir o suporte à Internacionalização desde os primeiros estágios do desenvolvimento. Outro impacto considerado bastante importante diz respeito às implicações sócio-culturais derivadas da decisão de suportar mais idiomas e regiões pelo produto de software.

Analisando os estudos foi possível constatar a indicação de 13 tópicos que vêm sendo investigados em relação à área de testes de internacionalização e localização. Os estudos fazem referências diretas a esses tópicos, sendo os mais referenciados tradução e questões envolvendo elementos de design e interfaces de usuário. Em 45% dos estudos é possível observar menções à necessidade de tradução de recursos, preocupação com a qualidade e o processo de validação destes, e à necessidade de implantação de profissionais qualificados para esta tarefa. Com relação a design e interfaces de usuário, um número um pouco menor de estudos, 42%, mencionam o tópico, relatando as diversas experiências com problemas em telas, elementos gráficos, e alterações decorrentes do redimensionamento de elementos localizados e que precisam ser validados. Outro destaque dessa questão de pesquisa são os tópicos Qualidade do Processo de Testes e Eficiência na execução de Testes, por lidarem com os resultados e a acurácia do suporte à internacionalização e localização. Por se tratar de um processo muito custoso às equipes, é preciso assegurar a qualidade dos resultados para que os investimentos de fato se façam valer.

Foram mapeados também os principais desafios e limitações do emprego de testes de Internacionalização e Localização, sendo o tópico Conhecimento adicional para os

57

Page 59: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

profissionais recorrente e o mais citado pelos estudos, 22 vezes (66,6% dos estudos). Outros fatores que foram indicados pelo estudo são o fato deste tipo de testes ser muito custoso, quanto a dinheiro, tempo e recursos humanos, a necessidade de um time com sensibilidade sócio-cultural, a necessidade de se trabalhar com profissionais linguistas no processo de validação, e as particularidades que determinados idiomas apresentam. Todos estes tópicos se relacionam e deixam claro não só a complexidade desta área bem como a necessidade de que mais estudos sejam realizados buscando investigar mais a fundo essas questões.

Por fim, foram mapeadas as principais técnicas e processos empregados na realização deste tipo de testes, identificando 10 principais técnicas e processos dentre mais de 15 técnicas citadas. A utilização de scripts de automação, que se faz mais presente na área de testes de software foi bastante citada, o que é condizente com os estudos que vêm sendo realizados na área, bem como outras técnicas já consolidadas e empregadas nos processos de testes de software. Algumas técnicas mais específicas da área de internacionalização e localização surgiram durante o mapeamento, como a validação de strings com caracteres especiais, a utilização de casos de testes que independem do idioma, testes de métodos de entrada de dados, dentre outros. Com os resultados desse mapeamento foi possível observar uma clara tendência a empregar certas técnicas, pelo que os diversos estudos indicaram, como a de separar arquivos de recursos para localização, o uso de profissionais linguistas, e a importância de lidar com o problema de falta de contexto das strings.

Analisando os resultados gerais desta pesquisa, conclui-se que este trabalho tem implicações tanto para a academia quanto para a indústria, uma vez que os resultados destacam áreas pouco exploradas e que possuem relevância, bem como as principais técnicas e temas explorados pelos estudos da indústria. Para os praticantes, esses resultados podem ajudar a entender melhor a aplicação e resultados das técnicas e processos de Testes de Internacionalização e Localização, bem como as limitações encontradas.

Diante do exposto, considera-se que esta pesquisa atingiu os objetivos esperados através da aplicação do mapeamento sistemático da literatura, tendo destacado evidências de relevância e necessidade de ações tanto da indústria quanto da academia para explorar mais efetivamente e quantitativamente o objeto de estudos “Testes de Localização e Internacionalização”.

6.2 TRABALHOS FUTUROS

A partir da condução deste trabalho, e a partir dos resultados obtidos, os seguintes direcionamentos para novos trabalhos são propostos:

● Estender este mapeamento sistemático para outros repositórios de estudos; ● Realizar um estudo sistemático sobre os principais tópicos que surgiram como

resultado da questão de pesquisa sobre o que vem sendo investigado na área de Testes de Internacionalização e Localização;

● Realizar uma síntese sistemática de boas práticas e técnicas e processos adequados, relacionados ao processo de Testes de Internacionalização e Localização;

58

Page 60: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

● Realizar uma pesquisa de campo com analistas e testadores, incluídos nos campos de estudo observados por esta pesquisa;

● Realizar estudos de caso sobre as principais técnicas e processos resultados desta pesquisa.

59

Page 61: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

Referências [1] Reis, Leandro. Globalization Myth Series – Myth 1: Software Globalization = Internationalization = Localization = Translation. 2012. Disponível em: <https://blogs.adobe.com/globalization/2012/04/12/globalization-myth-series-myth-1-software-globalization-internationalization-localization-translation/>. Acesso em: 29 nov. 2019. [2] MYERS, Glenford J. The Art of Software Testing. 2 ed. John Wiley & Sons, Inc., Hoboken, New Jersey, 2004. [3] ESSELINK, Bert. A Practical Guide to Localization. John Benjamins Publishing Company, ISBN 90 272 1956 7, 2000. [4] Statista 2019. Market size of the global language services industry from 2009 to 2021. Disponível em: <https://www.statista.com/statistics/257656/size-of-the-global-language-services-market/>. Acesso em: 29 nov. 2019. [5] IBM Research. What is software development?. 2014. Disponível em: <https://www.ibm.com/topics/software-development>. Acesso em: 29 nov. 2019. [6] Deutsch, M., "Verication and Validation" in Software Engineering (R. Jensen and C. Tonies, eds.), Prentice-Hall, 1979, pp. 329–408. [7] LISA, - BB. Who is LISA. Disponível em: <https://www.w3.org/International/O-LISA-intro.html>. Acesso em 29 nov. 2019. [8] Cristiano, Cleber.; de Freitas, Ernani Cesar. Metodologia do trabalho científico [recurso eletrônico] : métodos e técnicas da pesquisa e do trabalho acadêmico. 2. ed. – Novo Hamburgo: Feevale, 2013. [9] MARCONI, M.; LAKATOS, E. M. Fundamentos de metodologia científica. 5. ed. - São Paulo : Atlas, 2003. [10] Guidelines for performing Systematic Literature Reviews in Software Engineering. Software Engineering Group School of Computer Science and Mathematics Keele University Keele, Staffs ST5 5BG, UK and Department of Computer Science University of Durham Durham, UK. 9 July, 2007

60

Page 62: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

[11] DYBA, T.; DINGSOYR, T. Empirical studies of agile software development: A systematic review. Information and Software Technology, doi:10.1016/j.infsof.2008.01.006, USA, 2008. [12] GIL, Antônio Carlos. Como Elaborar Projetos de pesquisa. 2002. Disponível em: <https://professores.faccat.br/moodle/pluginfile.php/13410/mod_resource/content/1/como_elaborar_projeto_de_pesquisa_-_antonio_carlos_gil.pdf>. Acesso em: 01 nov. 2018. [13] Pressman, Roger S. Software engineering : a practitioner’s approach / Roger S. Pressman. — 7th ed. ISBN 978–0–07–337597–7 — ISBN 0–07–337597–7, 2010 [14] SOMMERVILLE, Ian. Engenharia de Software : 8 ed. Rio de Janeiro: Prentice-Hall, 2008. [15] PAULA FILHO, Wilson de Pádua. Engenharia de Software: fundamentos, métodos e padrões. São Paulo: LTC Editora, 2000. [16] KOTONYA, G.; SOMMERVILLE, I. Requirements engineering: process and techniques. Chichester: John Wiley & Sons, 2000. [17] GALIN, Daniel. Software Quality Assurance from Theory to Implementation. Person: Addison-Wesley, 2004. [18] NAIK K.; TRIPATHY, P. Software testing and quality assurance: Theory and Practice. Hoboken, New Jersey: John Wiley & Sons, 2008. [19] KITCHENHAM, B.; CHARTERS, S. Guidelines for performing Systematic Literature Reviews in Software Engineering. Keele University and Durham University Joint Report, Tech. Rep. EBSE 2007-001, 2007. [20] CRUZES, D.S; DYBA, T. Recommended Steps for Thematic Synthesis in Software Engineering. ESEM, 2011. [21] TRUJILLO FERRARI, Alfonso. Metodologia da ciência. 2. ed. Rio de Janeiro: Kennedy, 1974. Capítulo 1. [22] Travassos, G. H. ; Santos, P. S. M. ; Mian, P. ; Dias Neto, A. C. ; Biolchini, J. (2008) . An Environment to Support Large Scale Experimentation in Software Engineering. In: IEEE International Conference on Engineering of Complex Computer Systems, 2008, 2008, Belfast. Proceedings of ICECCS 2008. p. 193-202.

61

Page 63: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

[23] Dyba, T.; Kampenes, V.; Sjoberg, D. A Systematic Review of Statistical Power in Software Engineering Experiments. Information and Software Technology. Elsevier, 2006.

62

Page 64: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

APÊNDICE A - ESTUDOS PRIMÁRIOS SELECIONADOS

ID ANO FONTE REFERÊNCIA

A1 2017 IEEEXplore Rudolf Ramler, Robert Hoschek: How to Test in Sixteen Languages? Automation Support for Localization Testing

A2 2009 IEEEXplore Sameer Abufardeh, Kenneth Magel: Software Internationalization: Testing Methods for Bidirectional Software

A3 2010 IEEEXplore Chunsheng Zhao, Zhiyong He, Wei Zeng: Study on International Software Localization Testing

A4 2019 IEEEXplore Yajun Liu, Aimin Li, Sheng Liu, Ailin Zhang, Yuan Ting: Autonomic Self-Testing of Regression and Internationalization Based on Cloud Computing

A5 2013 IEEEXplore Xin Xia, David Lo, Feng Zhu, Xinyu Wang, Bo Zhou: Software Internationalization and Localization: An Industrial Experience

A7 2013 IEEEXplore J. Archana, Senthil Raja Chermapandan, Saravanan Palanivel: Automation framework for localizability testing of internationalized software

A9 2019 IEEEXplore Abdulmajeed Alameer, Paul T. Chiou, William G. J. Halfond: Efficiently Repairing Internationalization Presentation Failures by Solving Layout Constraints

A10 2016 IEEEXplore Abdulmajeed Alameer, William G.J. Halfond: An Empirical Study of Internationalization Failures in the Web

A11 2010 IEEEXplore Andrej Danko: Formalization of Functional Aspects in Business Software Globalization

A12 1993 ACM Digital Library

Patricia Russo, Stephen Boor: How fluent is your interface?: designing for international users

A13 2014 ACM Digital Library

LuisA.Leiva, Vicent Alabau: The Impact of Visual Contextualization on UI Localization

A14 2013 ACM Digital Library

Mario Batista, Carlos J. Costa, Manuela Aparício: ERP OS localization framework

63

Page 65: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

A15 2009 ACM Digital Library

Wenlin Peng, Xiaohu Yang, Feng Zhu: Automation technique of software internationalization and localization based on lexical analysis

A16 2008 ACM Digital Library

Elvis Hau, Manuela Aparício: Software internationalization and localization in web based ERP

A17 2015 ACM Digital Library

Luis A. Leiva, Vicent Alabau: Automatic Internationalization for Just In Time Localization of Web-Based User Interfaces

A18 2004 ACM Digital Library

Bastin Tony Roy Savarimuthu, Maryam Purvis: Towards a multi-lingual workflow system: a practical outlook

A19 2017 ACM Digital Library

Aiman M. Ayyal Awwad, Christian Schindler, Kirshan Kumar Luhana, Zulfiqar Ali, Bernadette Spieler: Improving pocket paint usability via material design compliance and Internationalization & localization support on application level

A20 2006 ACM Digital Library

Terence Parr: Web application internationalization and localization in action

A25 2001 ACM Digital Library

Michael Cooper, Piotr Rejmer: Case study: localization of an accessibility evaluation

A26 2011 ACM Digital Library

Malte Ressin, José Abdelnour-Nocera, Andy Smith: Of code and context: collaboration between developers and translators

A31 2006 ACM Digital Library

M. Cameron Jones, Dinesh Rathi, Machael B. Twidale: Wikifying your interface: facilitating community-based interface translation

A33 2005 ACM Digital Library

Hala Hemayssi, Elyse Sanchez, Robert Moll, Charles Field: Designing an Arabic user experience: methods and techniques to bridge cultures

A34 2014 ACM Digital Library

Silvia Rodríguez Vázquez: Introducing web accessibility to localization students: implications for a universal web

A36 2008 IEEEXplore Sameer Abufardeh, Kenneth Magel: QA/Testing Bi-directional Languages Software: Issues and Challenges

64

Page 66: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

A37 2013 JGRCS Manisha Bhatia, Varsha Tomar, Aparna Sharma: A SURVEY OF SOFTWARE LOCALIZATION WORK

A38 2016 Hindawi Aiman M. Ayyal Awwad, Wolfgang Slany: Automated Bidirectional Languages Localization Testing for Android Apps with Rich GUI

A39 2008 IEEEXplore Xin Guo, William Tay, Tong Sun, Rodrigo Andres Urra: Intelligent Multilingual Software Testing Tool

A40 2016 Google Scholar

A. Santra, Y Radhika: Automation Testing Approach for Multilingual Application

A42 2003 Google Scholar

Jarkko Immonen, Jorma Sajaniemi: Globalisation Practices in the Finnish Software Industry

A43 2005 Google Scholar

Ghassan Al Qaimari: Web globalization: a methodology for developing usable websites for the global market

A44 2012 IEEEXplore Xiaoyin Wang, Lu Zhang, Tao Xie, Hong Mei, Jiasu Sun: Locating Need-to-Externalize Constant Strings for Software Internationalization with Generalized String-Taint Analysis

A46 1996 Google Scholar

Reinhard Schäler: Machine Translation, Translation Memories and the Phrasal Lexicon: The Localisation Perspective

A47 2017 Google Scholar

Larisa Beatriz Rodríguez Pagador: TESTING ROLE IN THE SOFTWARE LOCALIZATION PROCESS

65

Page 67: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

APÊNDICE B - AVALIAÇÃO DE QUALIDADE POR ESTUDO

AVALIAÇÃO DE QUALIDADE

ID Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 NOTA AVALIAÇÃO

A1 1 0,5 1 0 1 1 1 1 1 1 8,5 Alta

A2 1 1 1 1 1 1 1 1 1 0 9 Muito Alta

A3 0,5 1 1 0,5 1 1 1 0,5 1 0 7,5 Alta

A4 1 0,5 0,5 0 0 1 0,5 0,5 1 0 5 Média

A5 1 1 1 1 1 1 1 0,5 0,5 0 8 Alta

A6 1 0 0 0 0,5 0 0,5 1 0 0 3 Baixa

A7 0,5 1 0,5 0,5 1 1 0,5 0 1 0 6 Média

A8 0 0 0 0 0,5 0 0,5 1 0 0 2 Baixa

A9 1 1 1 0,5 0,5 1 1 1 0,5 0 7,5 Alta

A10 1 0,5 0 0,5 1 0,5 1 1 1 0,5 7 Média

A11 1 1 1 1 1 1 1 0,5 0,5 0 8 Alta

A12 1 0,5 0,5 0,5 1 1 0,5 0 1 0 6 Média

A13 1 0 1 1 1 1 0,5 1 1 1 8,5 Alta

A14 1 1 1 0 1 0 1 1 1 0 7 Média

A15 1 1 0,5 1 1 0,5 1 1 1 1 9 Muito Alta

A16 1 1 1 0,5 0,5 1 0,5 1 1 1 8,5 Alta

A17 1 1 1 1 1 1 1 1 0 1 9 Muito Alta

A18 1 1 0,5 0 1 1 1 1 1 0 7,5 Alta

A19 1 0,5 1 0,5 1 1 1 1 1 0 8 Alta

A20 1 1 1 1 1 1 1 0,5 0,5 0 8 Alta

A21 0,5 0 0 0 0,5 0 0,5 0 0 1 2,5 Baixa

A22 0,5 0 0 0 0,5 0 0 0,5 0,5 0 2 Baixa

A23 0,5 0 0,5 0,5 0 0 0 0 0 0 1,5 Baixa

A24 0 0 0 0,5 0 0 0 0,5 0 1 2 Baixa

A25 1 0,5 0,5 0 1 0,5 1 1 0 0 5,5 Média

A26 1 0,5 1 1 1 1 1 1 1 1 9,5 Muito Alta

A27 1 0 0,5 0,5 0 0 0 0 0 0 2 Baixa

A28 1 1 0,5 0 0 0 0 0 0 0 2,5 Baixa

A29 1 0 0,5 0 0 0 0 0 0 0 1,5 Baixa

A30 0,5 0,5 0,5 0,5 0 0 0 0 0 0 2 Baixa

A31 1 1 1 1 1 0 1 1 0 0,5 7,5 Alta

66

Page 68: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

A32 0,5 0 0 0 1 0 0 1 0 0 2,5 Baixa

A33 1 1 0,5 1 1 1 1 1 1 0,5 9 Muito Alta

A34 1 0,5 0,5 0 1 1 1 1 0 0 6 Média

A35 1 0 0 0 0,5 0 0 0 0 0 1,5 Baixa

A36 1 1 1 1 1 1 1 1 1 1 10 Muito Alta

A37 1 1 1 0 1 0,5 1 1 1 1 8,5 Muito Alta

A38 1 1 1 1 1 0 1 1 1 1 9 Muito Alta

A39 1 0,5 0 0 0,5 0 0,5 0,5 0,5 0,5 4 Média

A40 1 1 0 0 1 0 0,5 0,5 0 0 4 Média

A41 0,5 1 0 0 1 0 0 0 0 0 2,5 Baixa

A42 1 1 1 1 0,5 0 1 1 0,5 1 8 Alta

A43 0,5 0,5 0,5 0 1 0 0,5 1 1 1 6 Média

A44 1 1 1 1 1 0 1 1 0 0,5 7,5 Alta

A45 0,5 1 0 0 0,5 0 0 0 0 0 2 Baixa

A46 1 1 1 1 0,5 0 1 1 0,5 1 8 Alta

A47 1 0,5 0 0 0,5 0 0,5 0,5 0,5 0 3,5 Média

67

Page 69: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

APÊNDICE C - IMPLICAÇÕES NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

ID Descrição do Código Tema Estudos

CD1 Inserir técnicas de i18n.l10n no início do desenvolvimento Técnico

a1, a5, a7, a10, a11, a15, a18, a31, a33,

a36, a42

CD2 Inserir testes de i18n l10n no ciclo de vida do projeto Gerencial a2,a3, a7, a11, a17, a26, a42

CD3 Ambiente separado para testes de i18n l10n Técnico a3

CD4 Refatoração para incluir i18n l10n é um desafio Técnico a5, a15, a18, a31, a39

CD5 Conhecimento em i18n l10n é necessário Gerencial

a5, a7, a9, a10, a13, a19, a20, a25, a26,

a33, a44

CD6 Tradução das Strings e suas implicações Técnico a10, a13, a19, a26, a44

CD7 Atentar para informações sócio-culturais Multidisciplinar a12, a19, a25

68

Page 70: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

APÊNDICE D - ÁREAS DE INVESTIGAÇÃO POR ESTUDO

69

Page 71: Testes de Internacionalização e Localização em Sistemas de ...tg/2019-2/TG_CC/tg_efis.pdf · especificações de forma que se garanta a funcionalidade adequada, ou facilmente

APÊNDICE E - TÉCNICAS E PROCESSOS POR ESTUDO

70