Teste de Confiabilidade
O Teste de Confiabilidade é um processo de teste de software que verifica se o software pode executar uma operação sem falhas por um período de tempo especificado em um ambiente específico. O objetivo do teste de confiabilidade é garantir que o produto de software esteja livre de bugs e seja confiável o suficiente para o propósito esperado.
Confiabilidade significa "produzir o mesmo"; em outros termos, a palavra "confiável" significa que algo é confiável e que sempre dará o mesmo resultado. O mesmo se aplica aos testes de confiabilidade.
Neste tutorial, você aprenderá-
- O que é teste de confiabilidade?
- Exemplo de teste de confiabilidade
- Fatores que influenciam a confiabilidade do software
- Por que fazer testes de confiabilidade
- Tipos de teste de confiabilidade
- Como fazer testes de confiabilidade
- Métodos de exemplo para teste de confiabilidade
- Ferramentas de teste de confiabilidade
Exemplo de teste de confiabilidade
A probabilidade de um PC em uma loja ficar ligado e funcionando por oito horas sem travar é de 99%; isso é conhecido como confiabilidade.
O teste de confiabilidade pode ser categorizado em três segmentos,
- Modelagem
- Medição
- Melhoria
A fórmula a seguir é para calcular a probabilidade de falha.
Probabilidade = Número de casos de falha / Número total de casos em consideração
Fatores que influenciam a confiabilidade do software
- O número de falhas presentes no software
- A forma como os usuários operam o sistema
- O teste de confiabilidade é uma das chaves para uma melhor qualidade de software. Esse teste ajuda a descobrir muitos problemas no design e na funcionalidade do software.
- O principal objetivo do teste de confiabilidade é verificar se o software atende aos requisitos de confiabilidade do cliente.
- O teste de confiabilidade será realizado em vários níveis. Os sistemas complexos serão testados nos níveis de unidade, montagem, subsistema e sistema.
Por que fazer testes de confiabilidade
O teste de confiabilidade é feito para testar o desempenho do software nas condições fornecidas.
O objetivo por trás da realização de testes de confiabilidade é,
- Para encontrar a estrutura de falhas repetidas.
- Para encontrar o número de falhas ocorrendo é o período de tempo especificado.
- Para descobrir a principal causa da falha
- Para realizar testes de desempenho de vários módulos de aplicativo de software após corrigir o defeito
Também após o lançamento do produto, podemos minimizar a possibilidade de ocorrência de defeitos e, assim, melhorar a confiabilidade do software. Algumas das ferramentas úteis para isso são: Análise de tendências, Classificação ortogonal de defeitos e métodos formais, etc ...
Tipos de teste de confiabilidade
O teste de confiabilidade do software inclui teste de recursos, teste de carga e teste de regressão
Teste de recursos: -
Os testes apresentados verificam o recurso fornecido pelo software e são realizados nas seguintes etapas: -
- Cada operação no software é executada pelo menos uma vez.
- A interação entre as duas operações é reduzida.
- Cada operação deve ser verificada para sua execução adequada.
Teste de carga: -
Normalmente, o software terá um desempenho melhor no início do processo e, depois disso, começará a degradar. O teste de carga é realizado para verificar o desempenho do software sob carga de trabalho máxima.
Teste de regressão:-
O teste de regressão é usado principalmente para verificar se novos bugs foram introduzidos devido à correção de bugs anteriores. O teste de regressão é realizado após cada alteração ou atualização dos recursos do software e de suas funcionalidades.
Como fazer testes de confiabilidade
O teste de confiabilidade é caro em comparação com outros tipos de teste. Portanto, planejamento e gerenciamento adequados são necessários durante os testes de confiabilidade. Isso inclui o processo de teste a ser implementado, dados para ambiente de teste, cronograma de teste, pontos de teste, etc.
Para começar com o teste de confiabilidade, o testador deve continuar seguindo as coisas,
- Estabeleça metas de confiabilidade
- Desenvolver perfil operacional
- Planejar e executar testes
- Use os resultados dos testes para tomar decisões
Como discutimos anteriormente, existem três categorias nas quais podemos realizar o Teste de Confiabilidade - Modelagem, Medição e Melhoria .
Os principais parâmetros envolvidos no Teste de Confiabilidade são: -
- Probabilidade de operação sem falhas
- Período de tempo de operação sem falhas
- O ambiente em que é executado
Etapa 1) Modelagem
A Técnica de Modelagem de Software pode ser dividida em duas subcategorias:
1. Modelagem de previsão
2. Modelagem de estimativa
- Resultados significativos podem ser obtidos aplicando modelos adequados.
- Suposições e abstrações podem ser feitas para simplificar os problemas e nenhum modelo será adequado para todas as situações.
As principais diferenças entre os dois modelos são: -
Problemas | Modelos de Predição | Modelos de Estimação |
---|---|---|
Referência de Dados | Ele usa dados históricos | Ele usa dados atuais do desenvolvimento de software. |
Quando usado no Ciclo de Desenvolvimento | Geralmente, ele é criado antes das fases de desenvolvimento ou teste. | Ele geralmente será usado no estágio posterior do Ciclo de Vida de Desenvolvimento de Software. |
Prazo | Ele vai prever a confiabilidade no futuro. | Ele irá prever a confiabilidade para o tempo presente ou no futuro. |
Etapa 2) Medição
A confiabilidade do software não pode ser medida diretamente e, portanto, outros fatores relacionados são considerados para estimar a confiabilidade do software. As práticas atuais de medição de confiabilidade de software são divididas em quatro categorias: -
1. Métricas do produto: -
As métricas do produto são a combinação de 4 tipos de métricas:
- Tamanho do software : - Linha de código (LOC) é uma abordagem inicial intuitiva para medir o tamanho do software. Apenas o código-fonte é contado nesta métrica, e os comentários e outras instruções não executáveis não serão contados.
- Ponto de função Metric : - Função Pont Metric é o método para medir a funcionalidade do Desenvolvimento de Software. Ele irá considerar a contagem de entradas, saídas, arquivos mestre, etc. Ele mede a funcionalidade entregue ao usuário e é independente da linguagem de programação.
- Complexidade : - Está diretamente relacionada à confiabilidade do software, portanto, representar a complexidade é importante. A métrica orientada para a complexidade é um método de determinar a complexidade da estrutura de controle de um programa, simplificando o código em uma representação gráfica.
- Métricas de cobertura de teste : - É uma forma de estimar falhas e confiabilidade realizando o teste completo de produtos de software. A confiabilidade do software significa que é a função de determinar se o sistema foi completamente verificado e testado.
2. Métricas de gerenciamento de projetos
- Os pesquisadores perceberam que um bom gerenciamento pode resultar em produtos melhores.
- Um bom gerenciamento pode alcançar maior confiabilidade usando um melhor processo de desenvolvimento, processo de gerenciamento de risco, processo de gerenciamento de configuração, etc.
3. Métricas de Processo
A qualidade do produto está diretamente relacionada ao processo. As métricas do processo podem ser usadas para estimar, monitorar e melhorar a confiabilidade e a qualidade do software.
4. Métricas de falha e falha
As métricas de falha e falha são usadas principalmente para verificar se o sistema está totalmente livre de falhas. Tanto os tipos de falhas encontradas durante o processo de teste (ou seja, antes da entrega), quanto as falhas relatadas pelos usuários após a entrega, são coletados, resumidos e analisados para atingir esse objetivo.
A confiabilidade do software é medida em termos de tempo médio entre falhas (MTBF) . MTBF consiste em
- Média de falha (MTTF): É a diferença de tempo entre duas falhas consecutivas
- Tempo médio de reparo (MTTR): É o tempo necessário para consertar a falha.
MTBF = MTTF + MTTR
A confiabilidade de um bom software é um número entre 0 e 1.
A confiabilidade aumenta quando erros ou bugs do programa são removidos.
Etapa 3) Melhoria
A melhoria depende totalmente dos problemas ocorridos no aplicativo ou sistema, ou então nas características do software. De acordo com a complexidade do módulo de software, a forma de melhoria também será diferente. Duas restrições principais: tempo e orçamento, que limitarão os esforços colocados na melhoria da confiabilidade do software.
Métodos de exemplo para teste de confiabilidade
O teste de confiabilidade consiste em exercitar um aplicativo para que as falhas sejam descobertas e removidas antes que o sistema seja implantado.
Existem basicamente três abordagens usadas para testes de confiabilidade
- Confiabilidade teste-reteste
- Confiabilidade de formulários paralelos
- Consistência de Decisão
A seguir, tentamos explicar tudo isso com um exemplo.
Confiabilidade teste-reteste
Para estimar a confiabilidade teste-reteste, um único grupo de examinandos executará o processo de teste com apenas alguns dias ou semanas de intervalo. O tempo deve ser curto o suficiente para que as habilidades do candidato na área possam ser avaliadas. A relação entre as pontuações do examinado em duas administrações diferentes é estimada, por meio de correlação estatística. Esse tipo de confiabilidade demonstra até que ponto um teste é capaz de produzir pontuações estáveis e consistentes ao longo do tempo.
Confiabilidade de formulários paralelos
Muitos exames têm vários formatos de questionários. Essas formas paralelas de exame fornecem Segurança. A confiabilidade dos formulários paralelos é estimada administrando os dois formulários do exame ao mesmo grupo de examinandos. As pontuações dos examinandos nos dois formulários de teste são correlacionadas a fim de determinar quão similarmente os dois formulários de teste funcionam. Esta estimativa de confiabilidade é uma medida de quão consistentes as pontuações dos examinandos podem ser esperadas nos formulários de teste.
Consistência de Decisão
Depois de fazer o Teste-Reteste de Confiabilidade e a Confiabilidade do Formulário Paralelo, obteremos o resultado de os examinandos passarem ou reprovarem. É a confiabilidade dessa decisão de classificação que é estimada na confiabilidade da consistência da decisão.
Importância do teste de confiabilidade
Uma avaliação completa da confiabilidade é necessária para melhorar o desempenho do produto e processo de software. Testar a confiabilidade do software ajudará muito os gerentes e profissionais de software.
Para verificar a confiabilidade do software por meio de testes: -
- Um grande número de casos de teste deve ser executado por um longo período de tempo para descobrir quanto tempo o software será executado sem falhas.
- A distribuição dos casos de teste deve corresponder ao perfil operacional real ou planejado do software. Quanto mais frequentemente uma função do software é executada, maior a porcentagem de casos de teste que devem ser alocados para aquela função ou subconjunto.
Ferramentas de teste de confiabilidade
Algumas das ferramentas de teste de confiabilidade usadas para a confiabilidade do software são:
1. WEIBULL ++: - Análise de Dados de Vida de Confiabilidade
2. RGA: - Análise de crescimento de confiabilidade
3. RCM: - Manutenção centrada em confiabilidade
Resumo:
O teste de confiabilidade é a parte importante de um programa de engenharia de confiabilidade. Mais corretamente, é a alma do programa de engenharia de confiabilidade.
Além disso, os testes de confiabilidade são projetados principalmente para descobrir modos de falha específicos e outros problemas durante o teste de software.
Em Engenharia de Software, o Teste de Confiabilidade pode ser categorizado em três segmentos,
- Modelagem
- Medição
- Melhoria
Fatores que influenciam a confiabilidade do software
- O número de falhas presentes no software
- A forma como os usuários operam o sistema