24
CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO UNICERP Graduação em Sistemas de Informação ALTAIR VICENTE FERREIRA JÚNIOR O USO DA FERRAMENTA KATALON STUDIO EM UM TESTE DE SOFTWARE PATROCÍNIO/MG 2018

CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

1

CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO UNICERP

Graduação em Sistemas de Informação

ALTAIR VICENTE FERREIRA JÚNIOR

O USO DA FERRAMENTA KATALON STUDIO EM UM TESTE DE

SOFTWARE

PATROCÍNIO/MG

2018

Page 2: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

2

ALTAIR VICENTE FERREIRA JÚNIOR

O USO DA FERRAMENTA KATALON STUDIO EM UM TESTE DE

SOFTWARE

Trabalho de Conclusão de Curso

apresentado como exigência parcial para

obtenção do grau de bacharel em Sistemas

de Informação, pelo Centro Universitário

do Cerrado Patrocínio - UNICERP.

Orientador: Prof. Esp. Breno Cristovão Rocha.

PATROCÍNIO/MG

2018

Page 3: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

3

Page 4: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

4

AGRADECIMENTOS

A Deus por estar sempre ao meu lado em todos os momentos da minha vida me

iluminando, abençoando e me capacitando para todas as situações que possam aparecer;

Aos meus pais, que não mediram esforços para me ajudar em todas etapas da minha

vida;

A minha namorada Renata, que sempre esteve me apoiando em todos os momentos;

Aos meus amigos e futuros companheiros de profissão que fiz ao longo do curso;

Ao meu orientador Breno Cristovão Rocha que com sua saberia não mediu esforços

para me auxiliar a concluir este trabalho;

A todos os professores que com sabedoria me passaram seu conhecimento e me

ajudaram em minha formação profissional;

À instituição UNICERP, pelo auxilio durante toda essa jornada;

A todos que contribuíram diretamente ou indiretamente para que esse trabalho pudesse

ser concluído.

Page 5: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

5

RESUMO

Introdução: Em um cenário onde empresas e clientes têm altos valores investidos em um

software, obter a qualidade desejada tem se tornado cada vez mais difícil devido os softwares

estarem cada vez com mais funcionalidades e complexos. Por isso muitos erros podem ser

descobertos e impactar na qualidade do software. É por isso que a automação de teste de

software se tornou indispensável dentro de uma organização que se propõe a desenvolver

software com qualidade. Objetivo: Apresentar o uso da ferramenta Katalon Studio em um

uso e estudo de teste de software. Metodologia: Para realização deste trabalho, foram

realizadas pesquisas bibliográficas por meio de sites e artigos pertinentes ao tema.

Conclusão: Com tantos problemas que podem surgir e precisam ser resolvidos durante o

desenvolvimento de um software, ao termino deste trabalho pode se mostrar a importância

dos testes para a automação de software realizada como ferramenta de contribuição para a

obtenção da qualidade final esperada do produto.

Palavras-Chave: Automação, qualidade de software, software.

Page 6: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

6

Lista de Siglas e Abreviações

API – Application Programming Interface

WEB – World Wide Web

Page 7: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

7

Sumário

1. INTRODUÇÃO .................................................................................... Error! Bookmark not defined.

2. OBJETIVOS .................................................................................................................................... 10

2.1. Geral: ........................................................................................................................................ 10

2.2. Específicos: ............................................................................................................................... 10

3. DESENVOLVIMENTO ................................................................................................................. 11

3.1 INTRODUÇÃO ......................................................................................................................... 12

3.2 MATERIAL E MÉTODOS ..................................................................................................... 13

3.3 RESULTADOS E DISCUSSÃO .............................................................................................. 13

3.3.1 Engenharia de Software e Projetos ...................................................................................... 13

3.3.2. Desenvolvimento Ágil de Software .................................................................................... 14

3.3.3 Métodos para controle da Qualidade ................................................................................... 14

3.3.4 Testes ................................................................................................................................... 15

3.3.4.1 Teste de Unidade .............................................................................................................. 15

3.3.4.2 Teste de Integração ........................................................................................................... 16

3.3.4.3 Teste de Validação............................................................................................................ 16

3.3.4.4 Teste de Sistema ............................................................................................................... 17

3.3.4.5 Ferramenta Katalon .......................................................................................................... 18

3.4 CONSIDERAÇÕES FINAIS ................................................................................................... 20

3.5 REFERÊNCIAS ........................................................................................................................ 21

4 CONCLUSÃO .................................................................................................................................. 22

5 REFERÊNCIAS ............................................................................................................................... 23

Page 8: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

8

1. INTRODUÇÃO

O processo de desenvolvimento de um software contém várias atividades como

levantamento de requisitos, análise de requisitos, escopo, desenvolvimento, teste e

implementação.

Os projetos de desenvolvimento de softwares podem não alcançar resultados

satisfatórios quando se trata do ciclo de vida do software e a qualidade do sistema. Um dos

grandes desafios vem sendo conseguir cumprir prazos e custos estabelecidos e alcançar a

qualidade desejada.

Para Roger Pressman, Qualidade de software é a conformidade com requisitos

funcionais e de desempenho explicitamente declarados, padrões de desenvolvimento

explicitamente documentados e características implícitas, que são esperadas em todo

software desenvolvido profissionalmente (PRESSMAN, 2016).

Ao falar em qualidade de software, o cenário ideal de uma empresa que desenvolve

soluções é não focar todos os seus esforços e mão de obra qualificada em ajustes funcionais

após a implantação de um sistema em ambiente de produção. Grande parte dos esforços para

se garantir uma solução de qualidade para os futuros usuários é realizada durante a fase de

planejamento, desenvolvimento e testes (GANDARA, 2012 p. 11-12).

Em busca de conseguir entregas de software com maior qualidade, as empresas

consumidoras de software e usuários buscam soluções que proporcionam entregas de software

especializadas no acompanhamento, elaboração, desenvolvimento, teste e homologação de

sistemas. Para evitar falhas, é necessário desde o início do projeto, proceder com seu

planejamento, pois grande parte do desenvolvimento com qualidade de um sistema está

associado aos testes, acertos, validações e homologações1 para entrar em produção

(GANDARA, 2012, p.11-12).

A etapa de teste de software é destinada a validar os requisitos do projeto. Na fase dos

procedimentos dos testes do software, casos de testes de software são executados usando

dados fictícios. Desse modo, os resultados são apurados e verificados à procura de erros,

bugs, anomalias ou informações não esperadas sobre os atributos não funcionais do sistema.

(SOMMERVILE, 2011, p.144).

Os testes em software em muitos casos são testados isoladamente à medida que vão

sendo concluídos, a fim de confirmar que estão corretos. Posteriormente, grupos de programas

1 GANDARA, Fernando. Qualidade e Teste em Software. Joinville: Clube dos Autores, 2012.

Page 9: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

9

são testados num "teste de sistema" onde é feito um teste de integração para testar as

interfaces e assegurar que os módulos estão se comunicando da maneira esperada. Em

seguida, o software é explorado como forma de detectar suas limitações e medir suas

potencialidades. Em um terceiro nível, sistemas completos são, por fim, submetidos a um

"teste de aceitação" para verificar a possibilidade de implantação e uso, geralmente feita pelo

cliente ou usuário final.

O trabalho propõe a apresentar um levantamento bibliográfico apoiado em artigos

científicos de modo a alcançar uma visão comum no gerenciamento e automação de testes no

âmbito de desenvolvimento de software. Apresentando a ferramenta Katalon Studio na

automação de software e a importância da realização dos testes funcionais de uma aplicação.

Page 10: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

10

2. OBJETIVOS

2.1. Geral:

Apresentar a ferramenta de testes de automação para software.

2.2. Específicos:

• Apresentar a revisão de literatura baseada em engenharia de softwares baseada em

automação de software.

• Expor a ferramenta Katalon Studio e seus recursos além de apresentar exemplos e

casos de teste.

• Apresentar os testes que foram executados através da ferramenta Katalon Studio.

Page 11: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

11

3. DESENVOLVIMENTO

O USO DE FERRAMENTAS DE AUTOMAÇÃO DE TESTES EM SOFTWARE

ALTAIR VICENTE FERREIRA JÚNIOR2

ESP. BRENO CRISTOVÃO ROCHA3

RESUMO

Introdução: Em um cenário onde empresas e clientes têm altos valores investidos em um

software, obter a qualidade desejada tem se tornado cada vez mais difícil devido os softwares

estarem cada vez com mais funcionalidades e complexos. Por isso muitos erros podem ser

descobertos e impactar na qualidade do software. É por isso que a automação de teste de

software se tornou indispensável dentro de uma organização que se propõe a desenvolver

software com qualidade. Objetivo: Apresentar o uso da ferramenta Katalon Studio em um

uso e estudo de teste de software. Metodologia: Para realização deste trabalho, foram

realizadas pesquisas bibliográficas por meio de sites e artigos pertinentes ao tema.

Conclusão: Com tantos problemas que podem surgir e precisam ser resolvidos durante o

desenvolvimento de um software, ao termino deste trabalho pode se mostrar a importância

dos testes para a automação de software realizada como ferramenta de contribuição para a

obtenção da qualidade final esperada do produto.

Palavras-Chave: Automação, qualidade de software, software.

ABSTRACT

Introduction: In a scenario where companies and clients have high values invested in a

software, obtaining the desired quality has become increasingly difficult due to the fact that

the software is increasingly more complex and complex. That is why many errors can be

discovered and impact the quality of the software. That is why software testing automation

has become indispensable within an organization that proposes to develop software with

quality. Objective: To present the use of the Katalon Studio tool in a software test.

Methodology: For the accomplishment of this work, bibliographical researches were carried

out through researches in websites and articles pertinent to the theme. Conclusion: With so

many problems that can arise and need to be solved during the development of a software, at

the end of this work can show the importance of the tests for the software automation

performed as a contribution tool to obtain the expected final quality of the product.

Keywords: automation, software quality, software.

2 Graduando do Curso de Sistema de Informação do UNICERP 3 Professor orientador. Especialista e docente do Curso de Sistemas de Informação do UNICERP

Page 12: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

12

3.1 INTRODUÇÃO

Os testes de software são vistos como uma tarefa contínua de avaliar e qualificar a

qualidade do trabalho desenvolvido em cada etapa do processo de desenvolvimento de

sistemas, desde a análise de requisitos até a fase que compreende a manutenção do software.

Quase 50% do tempo e mais 50% do custo total de um sistema são gastos no teste de

programas ou sistemas em desenvolvimento.

Segundo Myers (2004), a atividade de teste é um mecanismo que tem como objetivo

encontrar falhas no software. Após a fase de testes e eles terem cumprido seu objetivo, é

possível então saber onde estão os erros e desta forma corrigi-los, consequente o produto terá

melhorias e aprimoramento final, para que possa atender de forma plena o desejo do cliente

que o requisitou.

O autor Myers ainda informa, que, contudo, na realização dos testes é inviável testar

todas as possíveis entradas e analisar se as mesmas estão de acordo com o que se deseja, pois

com o grande número de dados a serem controlados o custo poderá aumentar o

desenvolvimento do software. Por isso, segundo Pressman e Maxim (2016), para se obter pelo

menos a maioria de defeitos de determinado programa, define-se técnicas e critérios que

auxiliem na criação de subconjunto de entradas potencializadas.

Para o controle de qualquer projeto de desenvolvimento de software, os testes são

ferramentas eficientes e essenciais para o controle de boa qualidade. É uma das formas de

verificar se o sistema em desenvolvimento está sendo feito de maneira correta. O teste de

software envolve: planejamento de testes, projeto de casos de testes, execução e avaliação dos

resultados obtidos. Segundo Hetzel (1987), teste é qualquer atividade que vise avaliar uma

característica ou recurso de um programa ou sistema.

Para um software ter qualidade, não basta estar livre de defeitos, pois é uma tarefa

praticamente impossível, a tendência de sistemas de software é melhorar gradativamente, o

que chamamos de melhoria contínua, e a integração com as demais funcionalidades acaba

acarretando novos problemas, e a facilidade de resolução de problemas, assim como a sua

respectiva solução e previsão cabe à Engenharia de Software, assim como a qualidade do

mesmo, principalmente em automação.

Para automatizar os testes se tem como base o uso de casos de teste.

Segundo Lages (2010):

Caso de teste é a representação de uma instância de teste para aquela funcionalidade

que está sendo avaliada, de acordo com as entradas e o resultado esperado é

Page 13: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

13

percorrido um determinado caminho no algoritmo para que se avalie aquela

situação. Logo, existem duas categorias de ferramentas, uma que gera conjuntos de

casos de teste e a outra que os executam e verificam o resultado, ambos de modo

automático (LAGES, 2010).

Empresas que trabalham com desenvolvimento de software utilizam as ferramentas

para automatizar o teste por muitas razões, seja para aumentar a velocidade, diminuir tempo

de testes repetitivos (WIKLUND et al., 2014). De acordo com a pesquisa feita por Rafi et al.

(2012), a prática de automatizar o teste de software apresentam benefícios como melhoria da

qualidade do produto, cobertura do teste, redução do tempo de teste, aumento na confiança,

reutilização de testes, menor esforço humano, redução dos custos e aumento na detecção de

falhas.

3.2 MATERIAL E MÉTODOS

Estre trabalho foi desenvolvido através de pesquisas bibliográficas, artigos acadêmicos

e livros voltados para área tecnológica englobando assuntos de engenharia de software,

qualidade e automatização de testes de software. Foram analisados primeiramente os quesitos

que fazem parte de todo o processo de desenvolvimento de um software e em seguida o uso

de uma ferramenta de automação de testes de software. O trabalho abordou o uso da

ferramenta de teste na prática, contendo testes em uma aplicação web para demonstrar seu

auxilio em todo o processo de desenvolvimento com o intuito de alçar a qualidade que foi

proposta.

3.3 RESULTADOS E DISCUSSÃO

3.3.1 Engenharia de Software e Projetos

Para Araújo Spínola (2007) a Engenharia de Software é a aplicabilidade de

abordagens sistemáticas, disciplinadas e quantificáveis no desenvolvimento e manutenção de

software. Com isso, se atenta em como atingir as diversas atividades envolvidas no processo

de desenvolvimento de software de forma que se tenha um produto preparado com maior

qualidade e menor custo.

Page 14: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

14

Segundo Paulino Filho (2007) a Engenharia de Software aponta para a criação de

produtos de software que acatem as necessidades de pessoas e instituições e, portanto, tenham

valor econômico. Para isso, usa conhecimentos científicos, técnicos e gerenciais, tanto

teóricos quanto empíricos. A engenharia de software atinge seus objetivos de produzi-los com

alta qualidade e produtividade quanto é praticada por profissionais treinados e bem

informados, utilizando tecnologias adequadas, dentro de processos que tirem proveito tanto da

criatividade quanto da racionalização do trabalho.

3.3.2. Desenvolvimento Ágil de Software

O desenvolvimento ágil é bastante popular na indústria do software. Valores como

rapidez, flexibilidade e a capacidade de resposta são as principais razões desta popularidade.

Estes valores são fundamentais e definem a cultura da organização. Em contramão aos

métodos de desenvolvimento tradicionais, onde o foco é nos processos e ferramentas, esta

abordagem dá especial ênfase às equipes, ao software funcional, à colaboração com o cliente

e à resposta às mudanças (MADI, 2011).

Os objetivos dos princípios do Manifesto Ágil centram-se em promover uma correta

percepção acerca do que são os métodos ágeis e guiar as equipes de desenvolvimento do

projeto, no sentido de perceberem se realmente estão a usar os métodos ágeis (FERNANDES,

2010). Este manifesto e todos os valores e princípios inerentes, representam a filosofia dos

métodos ágeis que idealmente deve estar presente em todas as práticas propostas pelos

métodos ágeis.

3.3.3 Métodos para controle da Qualidade

No desenvolvimento de um software a busca por qualidade se tornou fundamental,

pois os sistemas estão com várias funcionalidades integradas e devido a esse fator a qualidade

final pode ser comprometida (BARTIÉ, 2002).

Alexandre Bartié em seu livro enfatiza que "Qualidade de software é um processo

sistemático que focaliza todas as etapas e artefatos produzidos com o objetivo de garantir a

conformidade de processos e produtos, prevenindo e eliminando defeitos". (BARTIÉ, 2002).

Page 15: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

15

Para que a garantia da qualidade seja comprida existem algumas atividades voltadas

para esse objetivo que serão descritas a seguir:

• Revisões e Auditorias – A atividade de revisão tem o intuito de apontar erros e a

atividade de auditoria é garantir que a qualidade que foi proposta esteja sendo seguida.

• Testes – A finalidade dos testes é direcionar determinadas atividades com o intuito de

descobrir erros para serem eliminados e não danificar a qualidade.

• Coleta e análise de erros/defeitos – Essa atividade coleta e examina erros e defeitos e

direciona a engenharia de software qual atividade deve ser realizada para sua

eliminação.

• Gerência de Mudanças – Todo projeto pode acontecer mudanças ao logo do

desenvolvimento, essa atividade de gerência de mudança visa verificar os impactos

que a mudança pode causar no projeto e direcionar a melhor opção para que não afete

a qualidade.

• Gestão de Riscos – Essa atividade analisa todo o desenvolvimento e através dessa

analise procura a melhor solução para eliminar tais riscos.

3.3.4 Testes

No cenário atual de desenvolvimento de software existe uma grande preocupação

quando se fala em desenvolver um produto com qualidade que não contém erros e que venha

atender as necessidades solicitadas pelo cliente. Os testes se tornaram um fator indispensável

quando se fala em desenvolvimento, pois tem como objetivo encontrar o maior número de

erros possíveis com mais facilidade para que a qualidade desejada não seja comprometida. O

teste de software pode ser visto como um fragmento no processo de qualidade.

3.3.4.1 Teste de Unidade

O teste de unidade concentra-se em cada unidade do software, conforme

implementado no programa-fonte (classe ou componente). Este teste tem como objetivo

descobrir a menor unidade do projeto, procurando falhas ocasionadas por defeitos de lógica,

seu principal foco são os métodos dos objetos e até mesmo os pequenos trechos de código do

sistema (MARTINS, 2007, p.15).

Page 16: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

16

Na visão de Pressman e Maxim (2016, p.474) o teste de unidade normalmente é

considerado um auxiliar para etapa de codificação. O projeto dos testes de unidade pode

ocorrer antes de a codificação começar ou depois que o código-fonte tiver sido gerado. Um

exame das informações de projeto fornece instruções para estabelecer casos de testes que

provavelmente mostrarão os erros.

3.3.4.2 Teste de Integração

Na etapa de teste de integração, o propósito é encontrar falhas provenientes da

conexão interna dos componentes de um sistema. Geralmente, a maioria dos erros

encontrados ocorre em razão de problemas na transferência de dados. Por exemplo, o

componente A pode estar esperando retorno de um valor X ao executar um método do

componente B; porém, esse retorna um valor Y, gerando um erro.

Não faz parte do escopo desta etapa de teste o tratamento de interfaces com outros

sistemas. Essas verificações são atentadas na fase de teste do sistema, apesar que, ao critério

do gerente do projeto, essas interfaces podem ser testadas mesmo antes do sistema estar

plenamente construído. Para Reisswitz (2009, p.53), é relevante verificar se o sistema se

comporta conforme especificação do design arquitetural. No entendimento de Wazlawick

(2011, p.309):

O objetivo do teste de integração é verificar se os objetos se comunicam

adequadamente. Isso pode ser feito de forma modular e sistemática. Estando os

métodos básicos resolvidos, cabe verificar se os métodos delegados e operações de

sistema funcionam conforme o esperado.

3.3.4.3 Teste de Validação

Deve-se verificar se as expectativas do cliente ao iniciar os testes de validação,

verificando as especificações dos requisitos de software, elaboradas durante a etapa de

análise, estão sendo atendidas. Segundo Kechi (2012, p.37), esse teste é a garantia final de

que o software realmente satisfaz a todos os requisitos funcionais e comportamentais

desejados pelos agentes humanos envolvidos no projeto. Para Pezzè e Young (2009, p. 40):

As atividades de validação procuram medir o quanto o sistema realmente atinge seus

propósitos. As atividades de validação referem-se principalmente a especificação

geral do sistema e ao código final. Com respeito à especificação geral do sistema, a

validação busca discrepâncias entre as necessidades reais e a especificação do

Page 17: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

17

sistema tal como elaborada pela análise a fim de garantir que a especificação é um

guia adequado para construir um produto que atingirá os objetivos.

3.3.4.4 Teste de Sistema

No teste do sistema a finalidade principal é executar o sistema com relação ao ponto

de vista do seu usuário final, fazendo uma varredura em busca de falhas associadas aos

objetivos originais. Para Reisswitz (2009, p.53), os testes de sistema são executados em

condições similares de ambiente, interfaces sistêmicas e massas de dados àquelas que um

usuário utilizará no seu dia-dia de manipulação do sistema. Na visão de Sommerville (2011,

p.153), esse teste examina se os componentes são compatíveis, se interagem corretamente e se

transferem os dados certos na hora certa.

Reisswitz (2009) apresenta duas diferenças, a primeira é que durante o teste de

sistema, os componentes reusáveis são desenvolvidos separadamente e os sistemas de

prateleira podem ser integrados com módulos recém-desenvolvidos. Assim, o sistema

completo é testado. Já a segunda diferença é que os componentes desenvolvidos por

diferentes grupos ou pessoas da equipe podem ser integrados.

Na verdade, o teste de sistema é um processo coletivo, não individual. Em algumas

empresas, o teste de sistema pode envolver uma equipe independente, sem participação de

projetistas e programadores. Quando você integra partes para criar um sistema, um novo

comportamento é obtido. Portanto, esse teste deve focar em verificar interações entre

componentes e objetos que formam um sistema.

Conforme Figura 1, o lado esquerdo destaca o detalhamento e transformação de

requisitos em código ao passo que o lado direito indica diferentes abordagens de testes,

verificação e validação adequadas para cada fluxo de desenvolvimento.

Page 18: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

18

Figura 1 - Testes no ciclo de vida de software, fluxo de verificação e validação.

Fonte: Retirado de Kechi (2012, p.36).

A qualidade de software está ligada em entregar ao cliente o produto final que

satisfaça suas expectativas, levando em consideração aquilo que foi acordado inicialmente por

meio dos requisitos do projeto (KECHI, 2012, p.140).

3.3.4.5 Ferramenta Katalon

Automação de testes está relacionada às atividades e trabalhos que possam automizar

as atividades de um processo no teste de software, por meio de ferramentas próprias podem

controlar e executar comparações dos resultados previstos (LAM, 2017).

O Katalon Studio é uma solução de automação de testes que utiliza o mecanismo

principal do Selenium. Os principais recursos dessa ferramenta é, como usuários de destino,

implantação, gerenciamento de teste e suporte à linguagem de script, desempenho,

usabilidade e integração com outras ferramentas (LAM, 2017).

Segundo Lam (2017) os usuários do Katalon Studio não precisam ser conhecedores e

especialistas em informática, podem ser os testadores com conhecimento limitado. Esta

ferramenta esconde todas as complexidades técnicas e fornece interface amigável com o

modo manual, com isso o usuário pode arrastar e soltar, selecionar palavras-chave e testar

objetos para formar etapas de teste.

O Katalon Studio oferece uma rica interface gráfica com menus, visualizações em

árvore, tabelas, etc. para gerenciar casos de teste, objetos e arquivos de dados. Seu criador de

scripts com realce de sintaxe total, sugestão de código, depuração é ideal para os testadores

que querem apenas arrastar ou ter habilidades de programação limitadas:

Page 19: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

19

Figura 2 - Modo manual do Katalon Studio

Fonte: Lam, 2017

A principal maneira e melhor de ajudar os usuários a se adaptarem rapidamente aos

testes de automação é por meio da Gravação de Testes. Ela ajuda um testador de automação a

executar duas tarefas primárias: capturar objetos (durante a gravação) e gerar etapas de teste

com ações ou palavras-chave apropriadas, economizando pelo menos 50 a 60% do tempo de

composição dos casos de teste.

Page 20: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

20

Figura 3 – Modo de Gravação de Testes

Fonte: Lam, 2017

Assim sendo, o Katalon Studio é uma plataforma de testes automatizada que oferece

um conjunto abrangente de recursos para implementar soluções completas de testes

automatizados para Web, API (Application Programming Interface) e dispositivos

móveis. Construído sobre as bases e estruturas de código aberto Selenium e Appium, o

Katalon Studio da a oportunidade de que todos iniciem de foram rápida a automação de testes,

minimizando esforços e conhecimento para interagir com as estruturas necessárias da

ferramenta (LAM, 2017).

3.4 CONSIDERAÇÕES FINAIS

Como visto no decorrer deste trabalho, é cada vez mais importante que as empresas

que desenvolvem software criem ambientes favoráveis para desenvolver sistemas com

qualidade. E realizar entregas com qualidade requer a utilização técnicas de gerenciamento e

automação de testes para que o produto final seja entregue com o máximo de concordância e

credibilidade. A implantação do teste em um projeto de software ajuda a identificar e obter

uma visão completa dos erros a serem analisados e corrigidos ao longo de todo o processo de

Page 21: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

21

seu desenvolvimento. Para isto, devem-se definir etapas de gerenciamento e automação dos

testes que contribuem para redução do tempo e custo gastos com testes.

É possível, e se faz necessário que em projetos futuros, realizam-se todas estas etapas

de gerenciamento e automação, a fim de colocar em prática cada abordagem para obter

conclusões concretas de quais testes são mais adequados a depender do domínio de estudo

junto a empresas.

3.5 REFERÊNCIAS

ARAÚJO, M.; SPÍNOLA, E. Editorial Qualidade de Software. Engenharia de software

magazine, ano 1, ed. 1, 2007. Edição especial. p. 3. Disponível em:

<http://www.devmedia.com.br/articles/viewcomp.asp?comp=8028> Acesso em: 20 set.2018.

BARTIÉ, Alexandre. Garantia da qualidade de software: adquirindo maturidade

organizacional. Rio de Janeiro: Elsevier, 2002

FERNANDES, J. M e M. Almeida, “Classification and Comparison of Agile Methods,”

2010 Seventh Int. Conf. Qual. Inf. Commun. Technol., pp. 391–396, Sep. 2010.

GANDARA, Fernando. Qualidade e Teste em Software. Joinville: Clube dos Autores, 2012.

KECHI, Hirama. Engenharia de Software. Rio de Janeiro: Elsevier, 2012.

LAGES, Scaldaferri Daniel. Automação dos Testes: um lobo na pele de cordeiro?.

Engenharia de Software Magazine, n. 29, p. 20-25, 2010.

LAM, Vu. Simplifique Testes de API, Web, Mobile Automation : Livre. Robusto.

Plataforma cruzada. 2017. Disponível em: <https://www.katalon.com/>. Acesso em: 08 out.

2018.

MADI, T. Z. Dahalin, and F. Baharom, “Content analysis on agile values: A perception

from software practitioners,” 2011 Malaysian Conf. Softw. Eng., pp. 423–428.

MARTIMIANO, L. A. F., Integração da ferramenta de teste de software Poke-Tool em

PCTE. 1995. Trabalho de Graduação, DIN/UEM, Maringá.

MARTINS, José Carlos Cordeiro. Técnicas para Gerenciamento de Projetos de Software.

Rio de Janeiro: Brasport, 2007.

MYERS, G. J. The Art of Software Testing. 2. ed. Hoboken: John WileyeSons Inc., 2004.

ISBN 0-471-46912-2. Citado nas páginas 12, 18 e 19.

PEZZÈ, Mauro; YOUNG, Michal. Teste e Análise de Software. Porto Alegre: Bookman,

2009.

Page 22: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

22

PRESSMAN, Roger S. Engenharia de Software: uma abordagem profissional. 2016. 8.

ed.

PRESSMAN, Roger; MAXIM, Bruce. Engenharia de Software: . 8ª Ed., São Paulo:

McGraw-Hill, 2016.

RAFI, D. M. et al. Benefits and limitations of automated software testing: Systematic

literature review and practitioner survey. In: Automation of Software Test (AST), 2012

7th International Workshop on. [S.l.: s.n.], 2012. p. 36–42. Citado nas páginas 15, 21 e 22

REISSWITZ, Flavia. Análise e de Sistemas V. 4. Joinville: Clube de Autores, 2009.

SOMMERVILLE, Ian. Engenharia de Software. 9ª Ed., São Paulo: Addison Wesley, 2011.

WAZLAWICK, Raul Sidnei. Análise e Projeto de Sistemas da Informação. 2ª Ed., Rio de

Janeiro: Elsivier, 2011.

WIKLUND, K. et al. Impediments for automated testing – an empirical analysis of a user

support discussion board. In: 2014 IEEE Seventh International Conference on Software

Testing, Verification and Validation. [S.l.: s.n.], 2014. p. 113–122. ISSN 2159-4848. Citado

na página 21

4 CONCLUSÃO

Como visto no decorrer deste trabalho, é cada vez mais importante que as empresas

que desenvolvem software criem ambientes favoráveis para desenvolver sistemas com

qualidade. E realizar entregas com qualidade requer a utilização técnicas de gerenciamento e

automação de testes para que o produto final seja entregue com o máximo de concordância e

credibilidade. A implantação do teste em um projeto de software ajuda a identificar e obter

uma visão completa dos erros a serem analisados e corrigidos ao longo de todo o processo de

seu desenvolvimento. Para isto, devem-se definir etapas de gerenciamento e automação dos

testes que contribuem para redução do tempo e custo gastos com testes.

É possível, e se faz necessário que em projetos futuros, realizam-se todas estas etapas

de gerenciamento e automação, a fim de colocar em prática cada abordagem para obter

conclusões concretas de quais testes são mais adequados a depender do domínio de estudo

junto a empresas.

Page 23: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

23

5 REFERÊNCIAS

ARAÚJO, M.; SPÍNOLA, E. Editorial Qualidade de Software. Engenharia de software

magazine, ano 1, ed. 1, 2007. Edição especial. p. 3. Disponível em:

<http://www.devmedia.com.br/articles/viewcomp.asp?comp=8028> Acesso em: 20 set.2018.

BARTIÉ, Alexandre. Garantia da qualidade de software: adquirindo maturidade

organizacional. Rio de Janeiro: Elsevier, 2002.

FERNANDES, J. M e M. Almeida, “Classification and Comparison of Agile Methods,”

2010 Seventh Int. Conf. Qual. Inf. Commun. Technol., pp. 391–396, Sep. 2010.

GANDARA, Fernando. Qualidade e Teste em Software. Joinville: Clube dos Autores, 2012.

KECHI, Hirama. Engenharia de Software. Rio de Janeiro: Elsevier, 2012.

LAGES, Scaldaferri Daniel. Automação dos Testes: um lobo na pele de cordeiro?.

Engenharia de Software Magazine, n. 29, p. 20-25, 2010.

MADI, T. Z. Dahalin, and F. Baharom, “Content analysis on agile values: A perception

from software practitioners,” 2011 Malaysian Conf. Softw. Eng., pp. 423–428.

MARTIMIANO, L. A. F., Integração da ferramenta de teste de software Poke-Tool em

PCTE. 1995. Trabalho de Graduação, DIN/UEM, Maringá.

MARTINS, José Carlos Cordeiro. Técnicas para Gerenciamento de Projetos de Software.

Rio de Janeiro: Brasport, 2007.

MYERS, G. J. The Art of Software Testing. 2. ed. Hoboken: John WileyeSons Inc., 2004.

ISBN 0-471-46912-2. Citado nas páginas 12, 18 e 19.

PEZZÈ, Mauro; YOUNG, Michal. Teste e Análise de Software. Porto Alegre: Bookman,

2009.

PRESSMAN, Roger S. Engenharia de Software: uma abordagem profissional. 2016. 8.

ed.

PRESSMAN, Roger; MAXIM, Bruce. Engenharia de Software. 8ª Ed., São Paulo: McGraw-

Hill, 2016.

RAFI, D. M. et al. Benefits and limitations of automated software testing: Systematic

literature review and practitioner survey. In: Automation of Software Test (AST), 2012

7th International Workshop on. [S.l.: s.n.], 2012. p. 36–42. Citado nas páginas 15, 21 e 22

REISSWITZ, Flavia. Análise e de Sistemas V. 4. Joinville: Clube de Autores, 2009.

SOMMERVILLE, Ian. Engenharia de Software. 9ª Ed., São Paulo: Addison Wesley, 2011.

Page 24: CENTRO UNIVERSITÁRIO DO CERRADO PATROCÍNIO …...descobertos e impactar na qualidade do software. É por isso que a automação de teste de software se tornou indispensável dentro

24

WAZLAWICK, Raul Sidnei. Análise e Projeto de Sistemas da Informação. 2ª Ed., Rio de

Janeiro: Elsivier, 2011.

WIKLUND, K. et al. Impediments for automated testing – an empirical analysis of a user

support discussion board. In: 2014 IEEE Seventh International Conference on Software

Testing, Verification and Validation. [S.l.: s.n.], 2014. p. 113–122. ISSN 2159-4848. Citado

na página 21