Pular para o conteúdo principal

O que é Teste de Software?

Afinal o que é Teste de Software e por que ele é tão importante para uma empresa?

Muitas pessoas não compreendem exatamente o que significa testar um Software. Em muitos casos empresas utilizam seus próprios desenvolvedores para realizar verificações de qualidade em seus sistemas desenvolvidos. Dependendo da complexidade / tamanho da aplicação isto pode gerar muitos transtornos.

Mas o que é testar um software?


  • Avaliar se resultados de testes são compatíveis aos requerimentos;

  • Documentar as diferenças entre resultado esperado e resultado realmente exibido;

  • Ajudar a resolver tais diferenças provendo informações necessárias;


O propósito principal de se testar um software é descobrir suas falhas para serem corrigidas.

Este propósito de Teste de Software pode variar entre os vários papéis existentes num processo de software:

  • Do ponto de vista do desenvolvedor, testes validam se o programa/sistema foi desenvolvido conforme o requerimento;

  • Para o gerente do projeto, teste mede quando um deliverable possui alta qualidade;

  • Na visão do Analista de Testes, a atividade de teste se baseia em encontrar erros significativos no tempo designado, e verificar se as correções feitas façam com que o programa / sistema entre em conformidade com o requerimento;

  • Da perspectiva da empresa, teste pode aumentar a qualidade e a satisfação do cliente, reduzir custos relacionados a atendimento a cliente e re-codificação do software. Consequentemente aumentar a margem de lucro do negócio.


Em um software com tamanho moderado defeitos sempre existirão: não porque programadores são descuidados ou irresponsáveis, mas sim porque sua principal atividade é construir o software e não verificar se ele é desenvolvido de maneira correta. Também é verdade que para qualquer sistema complexo, defeitos de projeto nunca podem ser totalmente identificados / corrigidos.

Em suma, Testes de Software buscam o ponto de equilíbrio entre orçamento, tempo e qualidade.

Nos posts seguintes, abordaremos alguns fundamentos de Testes de Software e exemplos de possíveis aplicações no ciclo de vida de um Software.

Comentários

Postagens mais visitadas deste blog

FURPS

Olá! Nesse post, pretendo falar um pouco sobre o modelo FURPS para ilustrar atributos que estão envolvidos em Qualidade de Software : Vamos começar pela sigla FURPS: o que significa cada uma dessas letras? Do F temos Functionality, traduzimos como Funcionalidade: Representa basicamente os requisitos funcionais do sistema. Do U temos Usability, traduzimos como Usabilidade: Representa basicamente a interface sistema-usuário. Do R temos Reliability, traduzimos como Confiabilidade: Representa basicamente a eficiência e o índice de falhas do sistema. Do P temos Performance, traduzimos como Desempenho: Representa basicamente tempos de resposta e capacidade de processamento do sistema. Do S temos Supportability, traduzimos como Suportabilidade: Representa basicamente esforços necessários para manutenção e configuração do sistema. As definições acima representam o básico de cada uma das letras que compõem a sigla FURPS. A seguir entraremos em detalhes sobre cada uma das categorias, não ante...

O + do FURPS+

Segue a continuação do assunto FURPS: Posteriormente à definição do modelo FURPS, notou-se a necessidade da inclusão de mais atributos para encorpar e aumentar a cobertura do modelo. A partir dessa extensão, o acrônimo passou a ser mais comumente chamado de FURPS+ . Quais são os atributos do “+”? O + do FURPS refere-se a especificação de restrições que definirão determinados limites que deverão ser atendidos quando construímos um sistema. O + é composto dos seguintes requisitos não-funcionais: Design constraints – restrições de design: design nesse caso refere-se ao projeto, diretrizes e não a layout. A definição da utilização um banco de dados relacional no projeto é uma restrição de design, por exemplo. Implementation constraints – restrições de implementação: relacionado a limites impostos a código e construções. Como exemplo podemos citar a linguagem de programação que será utilizada para a codificação de um sistema. Interface constraints – restrições de interface: diretamente l...

Níveis de Testes - Parte 3: Testes de Sistema

Seguindo com os quatro principais níveis de testes do ciclo de vida de um software, abordaremos agora o terceiro nível, Testes de Sistema: 1. Testes Unitários 2. Testes de Integração 3. Testes de Sistema 4. Testes de Aceitação Nos próximos posts abordaremos os itens seguintes. Testes de Sistema Teste de sistema de um software, ou hardware, é todo teste conduzido em um sistema completo e integrado com o objetivo de avaliar se o sistema está em conformidade com os requerimentos especificados. Como comparação podemos ilustrar uma comparação entre os Testes de Integração e os Testes de Sistema: Pode-se dizer, de forma geral, que o propósito dos Testes de Integração é detectar qualquer inconsistência entre as unidades de software que funcionam em conjunto ou entre qualquer inconsistência entre essas unidades e o hardware. No caso dos Testes de Sistema, trata-se de um nível de teste mais limitado; o propósito dos Testes de Sistema é procurar defeitos tanto nas unidades integradas quanto no...