Vantagens para automatizar testes funcionais de interface com o usuário na visão de uma equipe de testes



Baixar 1,42 Mb.
Página5/56
Encontro17.10.2018
Tamanho1,42 Mb.
1   2   3   4   5   6   7   8   9   ...   56

Introdução


Este primeiro capítulo expõe qual o contexto em que o trabalho está inserido, o problema a ser resolvido, a justificativa do problema, os objetivos gerais e específicos e a descrição de cada capítulo.

Contexto


O nível de qualidade de um software está diretamente ligado ao sucesso da sua fase de desenvolvimento (Gopal, 2010). Para avaliar se o desenvolvimento foi feito de maneira correta e se o sistema apresenta um nível e qualidade desejado pelo cliente, é necessário a realização de testes. Galin(2004) faz um apanhado de conceitos sobre o significado genérico do termo qualidade de software onde são apresentadas definições clássicas como:

O grau no qual um sistema, componente ou processo satisfaz requisitos especificados ou o grau no qual eles satisfazem as espectativas do usuário” (IEEE, 1990).

No seu apanhado Galin (2004) acrescenta outras definições de autores consagrados na área, onde a qualidade também significa ausência de deficiências, segundo Juran, e conformidade com os requisitos estabelecidos pelos usuários (clientes), segundo Crosby. Desta forma, ao satisfazer as necessidades dos clientes as funcionalidades provêm a sua satisfação sobre o produto entregue.

Ao detalhar conceitos de qualidade de software, a norma ISO/IEC 25000 (ISO/IEC-25000, 2005) os subdivide nos seguintes grandes aspectos: A qualidade do produto e a qualidade em uso. A qualidade em uso envolve os benefícios esperados pelo usuário ao usar o software solicitado. Desta forma, o atendimento aos requisitos definidos tendem a gerar produtos de alta qualidade que, por sua vez serão fornecerão benefícios ao serem usados pelos seus usuários. Além disso, a melhoria na qualiade do processo usado na construção do software é uma maneira de fomentar a qualidade do produdo de software que será entregue de forma que os aspectos se completam influenciando uns aos outros em termos de qualidade de software.

Continuando no esclarecimento do seu raciocínio, Galin (2004) cita Pressman que, por sua vez, defende que a qualidade também está relacionada aos requisitos funcionais do software, aos padrões de qualidade definidos nos acordos de prestação de serviços de desenvolvimento e ao uso de boas práticas de engenharia de software. Neste sentido as definições de Pressman, segundo Galin (2004), provêm direcionamentos operacionais indicando a necessidade de se testar o grau no qual os requisitos estabelecidos para a aplicação sejam satisfeitos, sejam eles funcionais ou de outras naturezas.

Neste contexto surgem os conceitos de verificação e validação do software sendo construído onde:



  • A verificação é uma tarefa que tem o objetivo de confirmar ou não a fidelidade do produto entregue após uma das fases de desenvolvimento à especificação dos requisitos que foram feitas anteriormente, ou seja, avsoaliar se o produto foi construído corretamente (Maldonado, 2007; Naik, 2011).

  • A validação está voltada para os critérios de aceitação do cliente, ou seja, tem o objetivo de garantir que o sistema se comporta de acordo com as especificações que o cliente descreveu ao leventar as características e funcionaldiades do sistema (Maldonado, 2007; Galin, 2003).

Neste caminho surge o conceito de teste de software como uma forma de avaliar (verificar ou validar) se as características estabelecidas pelos requisitos do software foram antendidas para, consequentemene, satisfazer as expectativas do usuário no atingimento de maiores níveis de qualidade do software entregue (Maldonado, 2007). Neste caso,

“O teste é o processo de execução de um programa com a intenção de encontrar erros.” (Myers, 2012)

Os testes podem ser organizados em unidades chamadas de casos de teste. Um caso de teste descreve os passos ordenados para a execução do teste e também apresentam o que é esperado do sistema após o usuário seguir essas instruções (Rätamann, 2003). Os tipos, níveis e casos de testes são declarados em um documento conhecido como roteiro de testes.

As atividades necessárias para realizar os testes poder ser abordadas sob a ótica de um subprocesso existente no processo de desenvolvimento de software. Neste caso , o subprocesso de teste pode ser definido pelos passos de Planejamento, Geração dos casos de teste, Execução e Avaliação dos resultados obtidos (IEEE, 2014).

Ahmed(2015) afirma que os testes são atividades que exigem esforço e dedicação dos envolvidos para que a qualidade do software esteja aceitável.



“O teste é uma forma importante para garantir e melhorar a qualidade do sistema de software. No entanto, é uma atividade demorada e de trabalho intensivo.”(Mao, 2014) e, por este motivo, automatizar a atividade de teste é uma boa política ao longo do ciclo de vida de desenvolvimento de software, pois pode minimizar erros de execução dos testes envolvidos devido a falhas humanas dos próprios testadores (Hushalini, 2014).

Os testes funcionais de interface com o usuário são normalmente feitos manualmente e estão dentro do nível de teste de sistema e de aceitação com o objetivo de, respectivamente, verificar se as funcionalidades estão funcionando corretamente e validar se as funcionalidades existem conforme foram definidas pelo usuário.

Além disso, caso sejam solicitadas mudanças ao longo do desenvolvimento, ambos os tipos de teste devem ser repetidos para avaliar se a funcionaliade está de acordo com suas especificações. Unindo essa ideia de repetição dos testes com as ideias de Mao, 2014 e Hushalini, 2014 citadas anteriormente, é razoável pensar em automatizar os testes funcionais de interface com o usuário ao longo de um desenvolvimento de software.




Compartilhe com seus amigos:
1   2   3   4   5   6   7   8   9   ...   56


©psicod.org 2017
enviar mensagem

    Página principal