Publicação

Quality assurance

Ver documento

Detalhes bibliográficos
Resumo:O 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?
Autores principais:Fernandes, Maria de Fátima Abrunhosa
Assunto:ERP Scripts Workflows Produção e Assistências Técnicas Teses de mestrado - 2022
Ano:2022
País:Portugal
Tipo de documento:dissertação de mestrado
Tipo de acesso:acesso aberto
Instituição associada:Universidade de Lisboa
Idioma:português
Origem:Repositório da Universidade de Lisboa
Descrição
Resumo:O 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?