Desenvolvimento

Ξ Deixe um comentário

Técnicas e critérios de teste

publicado por Vanessa Gomes

Figura - Técnicas e critérios de testeAplicação para cada tipo estágio de teste

 Teste Caixa Preta (Black Box):

Visa avaliar a funcionalidade e a aderência aos requisitos, em uma ótica externa ou do usuário, sem basear em qualquer conhecimento do código e da lógica interna do componente testado. (RIOS, Emerson & MOREIRA, Trayahú, 2003) 

Teste Caixa Branca (White Box):

Visam avaliar as clausulas de código, a lógica interna do componente codificado, as configurações e outros elementos técnicos. (RIOS, Emerson & MOREIRA, Trayahú, 2003) 

Estágios ou níveis de teste 

Testes unitários: os testes unitários verificam o funcionamento de um pedaço do sistema ou software isoladamente ou que possam ser testados separadamente, podendo, inclusive, ser um programa ou um componente. Na grande maioria estes testes são realizados pelos desenvolvedores. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Testes de integração: os testes de integração são executados em uma combinação de componentes para verificar se eles funcionam corretamente juntos, ou seja, assegurar que as interfaces funcionem corretamente e que os dados são processados de forma correta, conforme as especificações. Componentes podem ser pedaços de código, módulos, aplicações distintas, clientes e servidores etc.

Estes tipos de testes podem ser feitos de forma incremental, onde cada módulo ou componente vai sendo incluído sequencialmente até que todos os casos de testes possam ser testados. (RIOS, Emerson & MOREIRA, Trayahú, 2003) 

Teste de sistema: são realizados pela equipe de testes, visando a execução do sistema como um todo ou um subsistema (parte de um sistesma), dentro de um ambiente operacional controlado, para validar a exatidão e perfeição na execução de suas funções. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

O teste “end-to-end” é um tipo de teste de sistemas que visa a provar o sistema de uma forma mais completa imitando o ambiente real, tais como: acessar um banco de dados, usar uma rede de comunicação e interagir com outros hardwares ou sistema. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Teste de aceitação: são os testes  finais de execução do sistema, realizado pelos usuários, visando verificar se a solução atende aos objetivos do negócio e a seus requisitos, no que diz respeito à funcionalidade e usabilidade, antes da utilização no ambiente de produção. Embora os testes sejam de responsabilidade dos usuários, são conduzidos com total suporte da equipe de testes e da equipe de projeto. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Testes de regressão: visam a garantir que o software permaneça intacto depois de novos testes serem realizados. Um conjunto de dados e scripts deve ser mantido como “baseline” e executado para verificar que mudanças introduzidas posteriormente não danificarão códigos já considerados aos resultados após as mudanças. As discrepâncias antes de atingir o próximo nível de testes. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Testes de carga: visam a avaliar a resposta de um software sob uma pesada carga de dados, repetição de certas ações de entrada de dados, entrada de valores numéricos grandes, grandes e complexas “queries” a um banco de dados ou uma grande quantidade de usuários simultâneos para verificar o nível de escalabilidade, ou seja, o momento onde o tempo de resposta começa a degradar ou a aplicação começa a falhar. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Testes Back-to-back: o teste é executado em diferentes versões do software e os resultados são comparados. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Testes de configuração: verificam se o software esta apto a rodar em diferentes versões ou configurações de ambientes (hardware e software), como, por exemplo diversos browsers ou versões de browsers. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Testes de usabilidade: verificam o nível de facilidade de uso do software pelo usuário. Deve ser efetuado principalmente em aplicações web, onde existe muita navegação ente páginas. As telas de ajuda devem ser avaliadas quanto ao seu conteúdo e clareza de linguagem, assim como as mensagens de erro. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Segundo (RIOS, Emerson & MOREIRA, Trayahú, 2003), é um tipo de teste subjetivo, baseado nas opiniões de usuários obtidas através de reuniões, entrevistas ou de outras pesquisas.

Teste de instalação: verificam o processo de instalação parcial, total ou atualização do aplicativo. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Teste de segurança: validam a capacidade de proteção do software contra acesso interno ou externo não autorizado. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Teste de recuperação: validam a capacidade e qualidade de recuperação do software após “crashes”, falhas de hardware ou outros problemas catastróficos. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Teste de compatibilidade: validam a capacidade do software de executar em um particular ambiente de hardware/software/sistema operacional/rede etc. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Teste de desempenho: visam a garantir que o sistema atende aos níveis de desempenho e tempo de resposta acordados com os usuários e definidos nos requisitos. São também chamados de testes de performance.  (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Testes funcionais: grupos de testes que avaliam se o que foi especificado foi implementado, normalmente servindo de base de um processo de verificação automática. Neste teste devem ser considerados os valores extremos que examinam os limites do sistema. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Teste de Qualidade de Código: grupos de testes com o intuito de verificar o código fonte dos programas em consonância com padrões, melhores práticas, instruções não executadas e outras. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Testes de alterações: visam a rastrear alterações de programas durante o processo de teste. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Teste de recuperação de versões: verificam a capacidade de retornar a uma versão anterior do sistema. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Teste de interoperabilidade: avaliam as condições de integração com outros softwares e/ou ambientes. Por exemplo, se o sistema recebe informação de um outro, se alguma ação deve ser tomada e vice-versa. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Teste de sobrevivência (ou Confiabilidade ou Disponibilidade): avaliam a capacidade do software em continuar operando mesmo quando algum elemento (software ou hardware) fica inoperante ou para de funcionar. Por exemplo: queda de um dos servidores utilizados, queda de uma parte do Bando de Dados etc. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Testes estáticos: avaliam toda a documentação do projeto, tais como modelos, requisitos etc. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Testes embutidos: avaliam a integração entre o hardware e o software, como por exemplo, um sinal para que um equipamento entre em funcionamento. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Teste de verificação de verificação do Site Web: verificam problemas que possa haver no site Web tais como links inválidos, arquivos órfãos, páginas lentas, ligações entre páginas/componentes e outros. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Teste de Conferência de Arquivos: Verificam alterações nos arquivos usados. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Testes Alfa: são executados quando o desenvolvimento está próximo a sua conclusão. Este tipo de teste é geralmente realizado por usuários ou outros usuários internos e não pelos programadores ou equipe de testes. Normalmente, estes são feitos de forma descontrolada, isto é, sem nenhuma relação com o organograma de testes. (RIOS, Emerson & MOREIRA, Trayahú, 2003)

Testes Beta: são executados quando o desenvolvimento e testes estão praticamente concluídos, e o maior número possível de defeitos/problemas precisam ser encontrados antes da “release” final. Normalmente estes testes são feitos de forma descontrolada, isto é, sem nenhuma relação com o plano de testes. (RIOS, Emerson & MOREIRA, Trayahú, 2003) 

No quadro abaixo são indicados alguns tipos de testes com sua correspondente Característica de Qualidade. Esta relação serve de apoio para a definição da ênfase dos testes durante a preparação da estratégia de testes. (RIOS, Emerson & MOREIRA, Trayahú, 2003) 

Figura: No quadro abaixo são indicados alguns tipos de testes com sua correspondente Característica de Qualidade

Figura: No quadro são indicados alguns tipos de testes com sua correspondente Característica de Qualidade

[Crédito da Imagem: Teste – ShutterStock]

Autor

Atua profissionalmente como Analista de Desenvolvimento e Analista de Teste em Qualidade. - Certificação em ITIL V3 Foundation - CTFL - Certified Tester Foundation Level - SFPC - Scrum Foundation Professional Certificate - DEPC - Devops Essencial Professional Certificate - Linguagens: PHP, SQL, HTML, Java,.NET, Groovy; - Automação de Testes com JUnit, Selenium e Cucumber - Big Data Foundation - Scrum Master (fundamentos),

Vanessa Gomes

Comentários

You must be logged in to post a comment.

Busca

Patrocínio

Publicidade



Siga-nos!

Newsletter: Inscreva-se

Para se inscrever em nossa newsletter preencha o formulário.

Artigos Recentes