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...

Níveis de Testes - Parte 2: Testes de Integração

Seguindo com os quatro principais níveis de testes do ciclo de vida de um software, abordaremos agora o segundo nível, Testes de Integração: 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 Integração Testes de Integração representam o nível de testes no qual módulos individuais de um software são combinados e testados como um grupo. Tais testes encontram-se em um nível intermediário aos Testes Unitários e aos Testes de Sistema. Testes de integração recebem como entrada os módulos que já passaram por testes unitários, agrupam tais módulos e aplicam testes nos mesmos. Geralmente as diretrizes para tais testes encontram-se no Plano de Testes de Integração. A saída gerada é passada pro próximo nível de testes: os Testes de Sistema. O objetivo dos testes de integração é verificar requerimentos funcionais, de performance e de confiabilidade de um projeto de software. A idéia principal é test...

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...