Quality assurance
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10451/55515 |
Resumo: | Trabalho de Projeto de Mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de Ciências |
id |
RCAP_71cb482a43279186856f53b8ff7cc754 |
---|---|
oai_identifier_str |
oai:repositorio.ul.pt:10451/55515 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Quality assuranceERPScriptsWorkflowsProdução e Assistências TécnicasTeses de mestrado - 2022Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaTrabalho de Projeto de Mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de CiênciasO software do ARTSOFT é um ERP (enterprise resource planning), em português planeamento dos recursos empresariais, um programa que ajuda empresas a gerir as suas atividades relacionadas com: contabilidade; recursos humanos; projetos; produção; entre outras. Neste software, esteve-se encarregue de testar os módulos, secções do programa: workflows; produção e assistências técnicas. Um workflow é uma máquina de estados que armazena o estado de um objeto em um determinado momento e pode mudá-lo através de ações baseadas no input que recebe. No ARTSOFT, os workflows são usados para gerir fluxos de trabalho de uma empresa com o objetivo de automatizar os processos desta e aumentar a eficiência de trabalho. O módulo de produção gere a estruturação dos processos de produção de materiais, que consiste no planeamento, organização e controlo dos stocks dos diversos materiais tal como a coordenação dos pedidos dos clientes dos produtos finais. Desta forma, uma empresa pode controlar efetivamente quanto stock é que precisam de um determinado material e quando o precisam de começar a produzir para conseguirem entregar ao cliente o produto. O módulo também permite definir tarefas para cada trabalhador, definindo o seu papel na produção de uma ordem, e registar quaisquer custos relacionados com a produção dos materiais. As assistências técnicas, referem-se a serviços pós-venda, como reparações; substituições; revisões; entre outros. Assim, no ARTSOFT, foi elaborado este módulo para ajudar na gestão dos equipamentos sobre os quais os serviços vão ser realizados os serviços; na gestão das informações dos clientes associados aos equipamentos; na gestão do estado em que o serviço está e os custos que vão sendo acumulados devido ao serviço. Quality Assurance é um processo que garante aos clientes um software com o nível de qualidade pretendido, ou seja, tem os requisitos pedidos pelos clientes e os mesmos não tenham quaisquer erros e tenham um funcionamento correto. Assim, o trabalho de um tester é desenvolver os testes necessários, automáticos ou manuais e Black-Box ou White-box, conforme o que seja melhor para o software em questão. De forma a poder escolher qual a melhor forma de testar um programa ou uma certa funcionalidade é preciso saber quais as vantagens e desvantagens entre os testes manuais e os testes automáticos. Contudo, é normal ser usado uma combinação entre os dois tipos de teste. Em black-box é possível encontrar bugs que os programadores nem sequer tinham pensado em testar, como o programa está a ser testado como um utilizador o utilizaria. Também é possível encontrar erros enquanto o software está em desenvolvimento, ajudando a poupar tempo aos programadores, visto que podem continuar o desenvolvimento com os erros identificados em mente. Contudo, muitas das vezes pode-se acabar por gastar mais tempo do que o suposto pois esteve-se a testar um comportamento que não era um requisito da aplicação. Para evitar esta situação, convém a equipa de programadores e testers estarem continuamente a partilhar conhecimento entre si. Para se poder testar a qualidade dos módulosforam elaborados ficheiros de scripts, código de linguagem C que contêm o automatismo para testar todas as funcionalidades existentes nos módulos. Os testes automáticos são uma forma de teste em que são usadas ferramentas para executar os casos de teste, sem ser preciso interferência humana. Com estas ferramentas podemos abordar diversos inputs permitidos, e não permitidos, pelo programa a testar e validar o resultado obtido com o esperado. Logo, permitem a testagem de casos de teste repetitivos e com ligação a vários serviços, que, caso contrário, levariam bastante mais tempo a testar. Para além destes testes automáticos, realizou-se testes manuais de black-box sempre que era feita uma correção de um bug reportado pelos parceiros/clientes. Ao longo do projeto, foram atribuídos eventos diariamente para proceder à testagem das alterações feitas. A testagem foi elaborada através de testes manuais, onde é necessário ter conhecimentos profundos sobre a funcionalidade sobre a qual se está a testar. Desta forma, se quando começa a analisar um evento, para além de se analisar o contexto do mesmo, é necessário ir à documentação do programa para estudar qual o comportamento esperado do software tal como que outras funcionalidades podem ter sido afetadas com as alterações efetuadas. À medida que se vai analisando a documentação, num ficheiro à parte, anota-se os casos de teste a realizar. Após ter os casos de teste descritos, é preciso ter o ambiente de teste preparado para os executar. Isto envolve preparar uma base de dados, com as configurações e os critérios que são indicados no evento. Neste projeto, os meus ambientes de testes consistiram em cópias das bases de dados dos clientes, para ter a certeza de que estou a simular os passos que os futuros utilizadores iram seguir. Com os casos de teste e o ambiente de teste preparados, executam-se os testes. No caso de eventos, os testes elaborados foram do tipo black-box, que, como descrito na Subsecção 2.2.1, são testes realizados do ponto de vista do cliente sem o tester ter acesso à parte interna do software. No fim da testagem, registam-se os resultados obtidos e comparam-se com os esperados para verificar que o programa está a funcionar corretamente. Quando dos testes se obtêm resultados corretos é dado como concluído a tarefa de testagem e transferese o evento para que as alterações possam ser disponibilizadas aos clientes nas próximas versões do programa. Por outro lado, se os resultados esperados forem diferentes dos obtidos é preciso rever a suposta correção ou alteração feita ao código. Para isso o evento é transferido para o programador que realizou as modificações para que possam verificar a situação e corrigir. Como o ARTSOFT é um software em que os vários módulos estão interligados entre si com bastantes configurações, antes de se poder realizar testes, teve-se de ter uma formação sobre as funcionalidades do programa. O mesmo ocorreu antes de começar a elaborar ficheiros de scripts. Houve uma formação sobre o software de testes que é usado pela empresa, TestComplete. O TestComplete é um programa de testes automatizados de UI (user interface), em português interface do utilizador, desenvolvido pela Smartbear. Neste software foram desenvolvidos os scripts e corrigidos sobre todas as versões do programa ARTSOFT que estivessem para sair, verificando se ocorria algum erro na sua execução. Com o desenvolvimento de técnicas de testagem de software, várias ferramentas capazes de testar diferentes tipos de programas foram realizadas com o objetivo de ajudar os testers de software na automatização do seu trabalho. No entanto, com várias ferramentas veem múltiplas escolhas de qual utilizar e quando. Assim, nos últimos anos, foram realizados estudos que comparam ferramentas de automatização de testes disponíveis no mercado a escolha de qual usar seja eficaz, mais rápida e certa. Nas próximas Subsecções são descritas três das mais populares ferramentas de executar testes automáticos disponíveis, as suas caraterísticas e, no final, qual a melhor a ser usada no meu projeto e porquê. O principal objetivo deste projeto, é que todas as versões que sejam entregues aos parceiros e clientes da empresa ARTSOFT não tenham nenhuns bugs, erros no programa, principalmente os módulos a que este projeto se dedica. De modo, a que a qualidade do software seja melhorada tal como a impressão dos utilizadores sobre a empresa e o programa. De onde vem a pergunta de pesquisa deste projeto: Os testes e scripts aumentam a qualidade do código?ARTSOFT’s software is an ERP (enterprise resource planning), a program that helps the management of a company’s activities related to accounting; human resources; projects; productions; among others. A workflow is a state machine that stores the state of an object, at a given moment, and can change it through actions that are based on the input it receives. The production module manages the structuring of the process of material production, which consists of planning, organizing, and controlling the stocks of various materials, as well as, coordinating the customers' orders of the final products. Technical assistance refers to after-sales services, such as: repairs, replacements, overhauls, among others. Thus, in ARTSOFT, this module was developed to help in the management of the equipment on which the services will be performed. To be able to test the quality of these modules I elaborated script files, C language code that contain the automatism to test all the existing functionalities in the modules. In addition to these automated tests, I performed manual black-box tests each time a bug reported by partners/customers was fixed. I was trained about the testing software that is used by the company, TestComplete. TestComplete is an automated UI (user interface) testing program, developed by Smartbear. In this software I wrote the scripts and ran them over all versions of ARTSOFT that were about to be released, verifying if any error occurred in their execution. My main task in this project is that all versions are delivered to the partners and customers of the ARTSOFT company without any bugs, errors in the program, mainly the modules that were under my responsibility. So that the quality of the software is improved as well as the users' impression of the company and its software.Oliveira Júnior, Wellington deRepositório da Universidade de LisboaFernandes, Maria de Fátima Abrunhosa2022-12-27T16:11:15Z202220222022-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10451/55515porinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-08T17:02:33Zoai:repositorio.ul.pt:10451/55515Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T22:06:10.505375Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Quality assurance |
title |
Quality assurance |
spellingShingle |
Quality assurance Fernandes, Maria de Fátima Abrunhosa ERP Scripts Workflows Produção e Assistências Técnicas Teses de mestrado - 2022 Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
title_short |
Quality assurance |
title_full |
Quality assurance |
title_fullStr |
Quality assurance |
title_full_unstemmed |
Quality assurance |
title_sort |
Quality assurance |
author |
Fernandes, Maria de Fátima Abrunhosa |
author_facet |
Fernandes, Maria de Fátima Abrunhosa |
author_role |
author |
dc.contributor.none.fl_str_mv |
Oliveira Júnior, Wellington de Repositório da Universidade de Lisboa |
dc.contributor.author.fl_str_mv |
Fernandes, Maria de Fátima Abrunhosa |
dc.subject.por.fl_str_mv |
ERP Scripts Workflows Produção e Assistências Técnicas Teses de mestrado - 2022 Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
topic |
ERP Scripts Workflows Produção e Assistências Técnicas Teses de mestrado - 2022 Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
description |
Trabalho de Projeto de Mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de Ciências |
publishDate |
2022 |
dc.date.none.fl_str_mv |
2022-12-27T16:11:15Z 2022 2022 2022-01-01T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10451/55515 |
url |
http://hdl.handle.net/10451/55515 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799134614703308800 |