Publicação

Teste de Software

testes de software/Gineldio.langa
Tipos de teste de software
Para garantir a qualidade de um programa, as desenvolvedoras realizam testes nele. Isso é necessário para que falhas sejam detectadas antes que o software seja colocado no mercado. Sabe aquele programa que vive travando, não roda direito ou que faz o PC ficar lento?
Esse, provavelmente, deve ter passado pelo processo de desenvolvimento com essas imperfeições. Então, para evitar que isso aconteça, as empresas contratam profissionais (os testadores de software ou analistas de testes) para identificarem esses problemas e relatarem para que os desenvolvedores os corrijam.
Mas, para fazer isso eles precisam realizar uma bateria de testes diferentes, que envolvem desde análise da estrutura interna do software até a avaliação da interface.
O que são ferramentas de teste de software?
Para que esses testes possam ser realizados de modo mais rápido e com maior abrangência, existem ferramentas que automatizam alguns deles ou auxiliam na execução de outros. Essas são as ferramentas de teste de software.
Tipos de ferramentas de teste de software
Os tipos de ferramentas de teste de software são tão amplos quantos os tipos de testes que podem ser realizados. Ou seja, para cada teste a ser aplicado é possível encontrar uma aplicação/ferramenta que o auxilie. Por isso, destacamos apenas os principais, que você confere a seguir!
– Teste de funcionalidade: aqui o objetivo é avaliar a interface do programa, os links, campos de preenchimento, botões etc. Uma ferramenta que pode ser útil nesse caso é o Push Test Maker. Para aplicações web, temos o Apodora, o Sikuli e o Watir.
– Teste de desempenho: esse teste visa avaliar a performance de um programa, se ele atende aos requisitos mínimos preestabelecidos, como o tempo que demora para dar respostas a ações realizadas e se ele rende como o esperado. Um software que pode ajudar é o Apache Jmater, que pode ser usado em aplicações Web.
– Teste unitário: esse visa avaliar pequenas unidades que compõem um software, responsáveis por funções diferentes dentro dele. Podem ser avaliados códigos, sub-rotinas entre outros. O foco aqui é descobrir se todas essas partes estão funcionando adequadamente. As ferramentas que podem ajudar aqui são: NUnit e JUnit (para aplicações Java).
– Gestão dos testes – existem ferramentas que auxiliam no gerenciamentos dos testes a serem realizados, permitindo acompanhamento e controle dos casos e atividades de testes . Entre elas temos o TestMaster e o Testlink.
– Bugs e defeitos – há ferramentas que são importantes para se encontrar bugs e erros durante o desenvolvimento dos programas. Podemos destacar o Redmine, Mantisbt e o Bugzilla.
Ainda há ferramentas que podem auxiliar nos testes de segurança, de ambiente, de integração entre outros.
A importância dessa ferramentas
Muitos dos testes necessários são numerosos e trabalhosos. Alguns requerem verificações rotineiras e repetitivas, que podem cansar o testador, deixando margem para que falhas escapem da análise. Sem falar no tempo que isso pode tomar. Algumas das ferramentas de teste, ao automatizarem terefas repetitivas, podem não só liberar o profissional encarregado para atividades mais importantes, como garantem maior confiabilidade e qualidade ao teste realizado.
Tipo de Teste Descrição
Teste de Unidade Teste em um nível de componente ou classe. É o teste cujo objetivo é um “pedaço do código”.
Teste de Integração Garante que um ou mais componentes combinados (ou unidades) funcionam. Podemos dizer que um teste de integração é GINELDIO LANGA_TESTE DE SOFTWARE composto por diversos testes de unidade
Teste Operacional Garante que a aplicação pode rodar muito tempo sem falhar.
Teste Positivo-negativo Garante que a aplicação vai funcionar no “caminho feliz” de sua execução e vai funcionar no seu fluxo de exceção.
Teste de regressão Toda vez que algo for mudado, deve ser testada toda a aplicação novamente.
Teste de caixa-preta Testar todas as entradas e saídas desejadas. Não se está preocupado com o código, cada saída indesejada é visto como um erro.
Teste caixa-branca O objetivo é testar o código. Às vezes, existem partes do código que nunca foram testadas.
Teste Funcional Testar as funcionalidades, requerimentos, regras de negócio presentes na documentação. Validar as funcionalidades descritas na documentação (pode acontecer de a documentação estar inválida)
Teste de Interface Verifica se a navegabilidade e os objetivos da tela funcionam como especificados e se atendem da melhor forma ao usuário.
Teste de Performance Verifica se o tempo de resposta é o desejado para o momento de utilização da aplicação.
Teste de carga Verifica o funcionamento da aplicação com a utilização de uma quantidade grande de usuários simultâneos.
Teste de aceitação do usuário Testa se a solução será bem vista pelo usuário. Ex: caso exista um botão pequeno demais para executar uma função, isso deve ser criticado em fase de testes. (aqui, cabem quesitos fora da interface, também).
Teste de Volume Testar a quantidade de dados envolvidos (pode ser pouca, normal, grande, ou além de grande).
Testes de stress Testar a aplicação sem situações inesperadas. Testar caminhos, às vezes, antes não previstos no desenvolvimento.
Testes de Configuração Testar se a aplicação funciona corretamente em diferentes ambientes de hardware ou de software.
Testes de Instalação Testar se a instalação da aplicação foi OK.
Testes de Segurança Testar a segurança da aplicação das mais diversas formas. Utilizar os diversos papéis, perfis, permissões, para navegar no sistema.
Muitos outros tipos de testes são possíveis. Entretando, é preciso entender os requisitos funcionais e não funcionais (garantia e utilidade) do negócio, para definir exatamente o nível de testes que pretende-se estabelecer para uma determinada aplicação. Testar demais é tão infeficiente quanto testar pouco.

Comentários