Fundamentos dos testes de software
Os testes de software abrangem diversas áreas e setores. Cada projeto traz um novo desafio. Antes de começar a testar, você precisa entender o ponto de vista do cliente e a área em que ele atua. Os métodos de teste também podem variar de um projeto para outro. Por isso, conhecer bem os fundamentos é o primeiro requisito para ter sucesso.
Por que os testes de software são necessários?Durante o desenvolvimento, é possível introduzir erros, defeitos ou bugs sem querer. Os softwares modernos são complexos, e falhas de entendimento podem levar a falhas na lógica e no código.
Os testes identificam falhas que podem ser corrigidas para melhorar a qualidade do software. O objetivo é desenvolver e entregar aplicações sem defeitos. Quando uma empresa concorda em desenvolver software para um cliente, requisitos legais, contratuais e específicos do setor orientam o trabalho. Uma empresa comprometida com a qualidade inclui os testes entre suas boas práticas.
É difícil determinar quantos testes são suficientes. Um planejamento cuidadoso e casos de teste bem elaborados tornam possível uma entrega de alta qualidade.
Quem faz os testes de software?Quem deve testar o software? Muitas vezes os desenvolvedores verificam o próprio código várias vezes antes de entregá-lo. Ainda assim, podem restar defeitos, porque é difícil perceber os próprios erros.
Quem testa adota um olhar imparcial, a partir da perspectiva do cliente, e se concentra nas especificações e nos requisitos. Assim pode descobrir problemas que passaram despercebidos por quem desenvolveu o software. Por isso, os testes devem sempre ser feitos por profissionais independentes da implementação.
Separar as equipes de desenvolvimento e de testes também tem desvantagens. Podem surgir falhas de comunicação. Ao considerar que a qualidade é responsabilidade da equipe de testes, os desenvolvedores podem deixar de revisar o código, o que aumenta o trabalho dessa equipe.
Às vezes, os desenvolvedores testam o trabalho uns dos outros. Essa prática é conhecida como teste entre colegas, ou buddy testing. Cada equipe de desenvolvimento deve ter profissionais dedicados aos testes, e um projeto normalmente conta com pelo menos uma equipe de testes dedicada. Algumas empresas formam equipes distintas para usabilidade, desempenho, segurança e outros tipos de teste. Outras contratam empresas especializadas, profissionais independentes ou consultores.
O que realmente precisa ser testado?Entenda os requisitos do projeto e o contexto real de uso do software. Isso ajuda a decidir o que testar e a criar uma estratégia de testes adequada.
O que realmente precisa ser testado?
Quando os testes de software são feitos?
Começar a testar cedo ajuda os desenvolvedores a cumprir os prazos e economiza tempo, dinheiro e esforço. Defeitos encontrados nas etapas finais podem custar caro para corrigir. Divida o desenvolvimento em etapas e teste o trabalho de cada uma antes de avançar. Isso favorece a entrega no prazo e melhora os resultados. A integração também fica mais fácil quando cada módulo já foi testado separadamente de acordo com suas especificações.
Com que frequência precisamos testar?Teste em paralelo ao desenvolvimento e procure encontrar o máximo de defeitos nas fases iniciais. A frequência dos testes depende da qualidade que você precisa atingir. Descobertas no início permitem alterar o projeto quando as mudanças ainda são mais simples e baratas. Mais tarde, mudanças importantes se tornam difíceis e caras.
Com que frequência precisamos testar?
O que são normas de testes de software?
As normas de teste são importantes tanto para clientes quanto para produtores. Os clientes investem em software e querem ter confiança de que a qualidade justifica a compra.
Empresas de boa reputação orientam a qualidade dos produtos por normas aprovadas publicamente. Cumprir essas normas dá segurança sobre o produto e o comportamento esperado. Assim, os clientes podem confiar que estão comprando software com o padrão adequado.
Para os produtores, as normas ajudam a melhorar o produto final. Depois de escolher as normas, uma empresa pode reutilizar essa base em outros projetos sem começar do zero. Muitas normas de teste ajudam a avaliar a qualidade e a melhorar a eficácia dos testes. Porém, nenhuma norma cobre todos os aspectos dos testes de software.
Tanto as normas que incluem os testes em um conjunto mais amplo de requisitos quanto as normas voltadas especificamente para testes podem orientar seu trabalho.
O que é testabilidade de software?A testabilidade indica com que facilidade um sistema pode ser testado. Avalie-a cedo para estimar os recursos necessários para os testes. Os testes revelam defeitos. A testabilidade ajuda a identificar áreas em que defeitos podem permanecer ocultos. Quanto maior a testabilidade, mais fácil é testar. Uma testabilidade baixa exige mais esforço. Considere os fatores a seguir.
- A controlabilidade permite controlar e otimizar o processo de teste.
- A observabilidade exige que o comportamento e os fatores que afetam os resultados estejam visíveis para que possam ser testados.
- A disponibilidade significa que você tem acesso ao sistema para testá-lo.
- Um projeto coerente, recursos fáceis de entender e práticas simples de programação reduzem a complexidade dos testes. Quanto mais complexo o software, mais difícil é testá-lo.
- A estabilidade favorece os testes. Mudanças frequentes no projeto podem atrapalhá-los.
- As informações disponíveis sobre o software influenciam muito a eficiência dos testes.
Tenha em mente as relações a seguir entre testabilidade e defeitos.
- Uma testabilidade maior favorece testes melhores e menos defeitos.
- Uma testabilidade menor pode reduzir a qualidade dos testes e deixar mais defeitos no sistema.
Verificação e validação são tipos diferentes de análise. A validação pergunta se você está construindo o sistema certo. Ele atende aos requisitos do cliente?
A verificação pergunta se você está construindo o sistema corretamente. Ela se concentra na qualidade da engenharia e no cumprimento das normas exigidas.
A validação verifica se as especificações atendem às necessidades do cliente. A verificação confirma se o desenvolvimento segue as normas de qualidade de software e as práticas de engenharia da organização.
Verificação e validação de software
Algumas abordagens aplicam a verificação em todas as fases do desenvolvimento, mas concentram a validação no início e no fim, durante a análise de requisitos e os testes de aceitação. Isso é difícil de seguir na prática. É difícil identificar todos os requisitos do cliente no início, e eles muitas vezes mudam depois que o desenvolvimento começa. As próprias equipes de desenvolvimento também podem pedir mudanças. Por isso, faça tanto a verificação quanto a validação ao longo de todo o desenvolvimento.
Profissionais de testes usam verificação e validação, ou V&V, para analisar diferentes aspectos da qualidade do software.
Testes de software e depuraçãoOs testes e a depuração têm objetivos diferentes. Os testes revelam defeitos. A depuração vem depois da descoberta de um defeito e elimina sua causa.
Depois que a equipe de testes relata um defeito, os desenvolvedores investigam a causa raiz. Eles analisam os módulos envolvidos, localizam o problema no código e o corrigem. A depuração identifica e resolve a causa passo a passo.
Entenda as possíveis causas de um defeito antes de tentar corrigi-lo. Depurar sem informações suficientes pode introduzir outro defeito em um módulo interligado. Evite experimentar sem método. Depois da correção, devolva o módulo à equipe de testes para uma verificação minuciosa.
- Os testes revelam defeitos. A depuração localiza e corrige as causas.
- Os testes são parte importante do desenvolvimento. A depuração trata dos defeitos que os testes revelam.
- Os testes começam no início do desenvolvimento. A depuração começa quando os defeitos são relatados.
- Os testes incluem verificação e validação (V&V). A depuração investiga e corrige a causa de um defeito.
Um defeito é um desvio em relação à especificação de requisitos do software. Os defeitos podem ocorrer no código ou no projeto e causar resultados incorretos durante a execução do programa.
- Um código com muitos defeitos costuma ser descrito como cheio de bugs.
- Um relatório de defeito descreve a natureza do problema.
- Ferramentas de acompanhamento de bugs permitem registrar e acompanhar os defeitos de um sistema.
- Em uma técnica de teste, introduzem-se defeitos no código de propósito. Em seguida, observam-se os resultados para verificar se o sistema reage a esses problemas como esperado.
O que é um defeito?
O que são gravidade e prioridade?
A gravidade descreve o impacto de um defeito no sistema. As categorias a seguir classificam esse impacto.
- Um defeito crítico impede a aplicação de funcionar corretamente devido a uma falha do sistema ou à corrupção de dados. O usuário não consegue prosseguir.
- Com um defeito grave, o sistema pode falhar, mas o usuário consegue chegar ao resultado de outra forma sem treinamento adicional. Esses defeitos são menos graves que os críticos.
- Com um defeito moderado, o sistema continua funcionando, mas produz resultados incorretos ou contraditórios.
- Um defeito leve não provoca falha no sistema nem afeta a usabilidade e pode ser corrigido com facilidade.
- Um defeito visual afeta a aparência do sistema.
O relatório de defeito registra a prioridade e a gravidade. A prioridade informa aos desenvolvedores em que ordem resolver os defeitos.
- Um defeito de prioridade baixa deve ser resolvido depois dos defeitos mais prioritários. Ele não precisa de atenção imediata.
- Um defeito de prioridade média deve ser resolvido logo após os defeitos de prioridade mais alta.
- Dê atenção imediata a um defeito de prioridade alta e resolva-o o mais rápido possível.
O que são gravidade e prioridade?
- Com prioridade e gravidade altas, um problema em uma função básica impede o usuário de usar o sistema. Corrija-o imediatamente.
- Com prioridade alta e gravidade baixa, um erro na grafia do nome da empresa ou um problema no logotipo tem pouco impacto no funcionamento, mas exige correção imediata.
- Com gravidade alta e prioridade baixa, um defeito grave afeta um módulo que o usuário não precisa usar de imediato. A correção pode esperar.
- Com prioridade e gravidade baixas, defeitos visuais que não afetam o funcionamento geralmente são corrigidos por último.
Garantimos que, com a sua formação gratuita online, passará no exame de certificação em testes de software!
-
01
Inscreva-se online
Escolha a sua certificação acreditada e conclua a inscrição.
-
02
Receba o código de acesso
O seu código pessoal de acesso ao exame é enviado imediatamente por e-mail.
-
03
Prepare e faça o exame
Estude com a sua formação gratuita e responda online a 50 perguntas de escolha múltipla.
-
04
Obtenha uma certificação vitalícia
Receba o seu certificado válido em todo o mundo e o distintivo digital verificável.
A SUA FORMAÇÃO PREMIUM GRATUITA ONLINE
A segunda edição de Software Testing Revealed já está disponível para si.
Criámos a sua formação com um grupo de líderes empresariais e de equipas reconhecidos, formadores de testes de software, mentores e especialistas de referência nos principais setores. Qualquer pessoa que visite International Software Test Institute™ pode aceder à formação. Encontre os materiais nas secções O seu livro gratuito de testes de software e A sua formação premium gratuita em testes de software do menu principal.
Estes materiais são propriedade intelectual de International Software Test Institute™ e estão protegidos por direitos de autor. Partilhamo-los gratuitamente com todos porque divulgar a nossa experiência apoia os profissionais de testes de software e ajuda a desenvolver a área.
O exame de certificação é composto por perguntas de escolha múltipla. Estude com a formação online para adquirir os conhecimentos de que precisa para passar no exame e obter a sua certificação em testes de software.
Garantimos que, com a sua formação premium gratuita online, passará no exame de certificação em testes de software!
