portability testing guide with practical examples
Introdução ao teste de portabilidade:
O teste de portabilidade é uma metodologia de teste não funcional que determina a facilidade ou dificuldade com a qual um componente de software ou aplicativo pode ser movido de um ambiente para outro.
Os resultados do teste obtidos do Teste de Portabilidade ajudam a descobrir com que facilidade um componente de software de um ambiente pode ser usado em outro ambiente.
O termo 'ambiente' refere-se à mudança de um sistema operacional para outro sistema operacional, de um navegador para outro navegador ou de uma versão de banco de dados para outra.
Uma das principais regras do Teste de Portabilidade é que ele deve ser usado apenas se o componente de software tiver que ser movido de um ambiente para outro.
Uma medida de portabilidade é o esforço necessário para mover o componente de software de um ambiente para outro. Uma unidade de medida de portabilidade é o custo de adotar um software para o novo ambiente em comparação com o custo de redesenvolvimento do software.
Este tutorial oferece uma visão geral completa do significado, objetivos, atributos, lista de verificação, vantagens e desvantagens do Teste de Portabilidade, juntamente com alguns exemplos práticos em termos simples para seu fácil entendimento.
O que você aprenderá:
- Diferença entre teste de portabilidade e compatibilidade
- Objetivos
- Atributos
- Lista de verificação de teste de portabilidade
- Prós e contras
- Exemplos de teste de portabilidade
- Conclusão
- Leitura recomendada
Diferença entre teste de portabilidade e compatibilidade
Os pontos fornecidos abaixo irão distinguir brevemente as diferenças entre portabilidade e compatibilidade.
=> A compatibilidade trata se dois ou mais componentes podem ser executados no mesmo ambiente ao mesmo tempo, sem afetar adversamente o comportamento um do outro.
Exemplo: Um processador de texto e uma calculadora em execução no mesmo sistema operacional, como o Windows 10, podem ser considerados compatíveis entre si, pois a execução de um aplicativo não afetará o comportamento do outro.
=> A portabilidade trata de mover o componente de um ambiente para outro.
Exemplo: Um jogo rodando no Windows XP é considerado portátil se o mesmo jogo puder ser rodado no Windows 7 sem qualquer mudança no comportamento do jogo.
=> Resumindo, o teste de portabilidade lida com componentes de software em vários ambientes, enquanto o teste de compatibilidade lida com o teste de dois aplicativos diferentes no mesmo ambiente.
Objetivos
A seguir estão os objetivos deste teste:
- Determine se um sistema pode ser portado para cada uma das características ambientais, como velocidade do processador, espaço em disco e RAM, resolução do monitor, sistema operacional e versões do navegador.
- Determine se a aparência do aplicativo em relação à interface do usuário e recursos funcionais são semelhantes a vários sistemas operacionais e navegadores.
- Esse teste ajuda a determinar se o sistema pode estar pronto para lançamento, especialmente quando há um conhecimento de que os clientes do produto usarão vários sistemas operacionais com várias versões de navegador.
- Esse teste geralmente é executado em relação a um conjunto predefinido de requisitos de portabilidade, que ajudam a encontrar os defeitos que foram perdidos como parte da unidade e do teste de integração do aplicativo.
- Os defeitos encontrados neste teste precisam ser corrigidos e entregues como parte do lançamento do produto pelos Desenvolvedores.
- Esse teste geralmente é executado de maneira incremental ao longo do ciclo de vida de desenvolvimento do software.
Atributos
A placa de teste de software definiu alguns atributos principais desse teste.
Eles estão:
- Instalabilidade
- Adaptabilidade
- Substituibilidade
- Compatibilidade ou Coexistência
# 1) Instalabilidade:
A instalabilidade é executada em um software que precisa ser instalado em um ambiente de destino.
As seguintes características são validadas como parte do teste de instalabilidade:
- Requisitos do sistema operacional para instalação.
- Requisitos do navegador para o uso de um aplicativo.
- Requisitos de memória ou RAM.
- Procedimento de instalação.
- Procedimento de desinstalação.
- Exceções de interrupção de instalação.
- Pré-requisitos para instalação do software.
# 2) Adaptabilidade:
O teste de adaptabilidade é o processo de validação se o sistema é adaptável a cada um dos ambientes de destino. O uso de padrões de comunicação comuns entre vários sistemas pode ajudar a melhorar a adaptabilidade do sistema como um todo.
O teste de adaptabilidade inclui as seguintes características:
- Dependência de hardware.
- Dependência de software.
- Linguagem padrão.
- Comunicação do sistema com cada um dos ambientes de destino.
- Encapsulamento de dependência.
- Representação de dependência em vários sistemas.
# 3) Capacidade de substituição:
Substituibilidade é a capacidade de substituir um componente de software por outro. O componente que está substituindo o componente anterior deve produzir os mesmos resultados que o componente anterior em todos os ambientes de destino. Idealmente, ele deve ter o mesmo propósito que o componente que é substituído.
Produtos concorrentes do mesmo domínio serão os candidatos ideais para a capacidade de substituição, pois o produto que está sendo substituído pode ser muito mais barato do que o produto existente de um concorrente.
# 4) Compatibilidade ou Coexistência:
Compatibilidade é a capacidade de dois ou mais componentes para o existente no mesmo ambiente sem afetar adversamente o comportamento um do outro. Este teste é especialmente útil em grandes sistemas que incluem vários subsistemas como parte dele.
Idealmente, os subsistemas compartilham uma área de pilha e memória comuns. Como resultado, uma exceção ocorrida em um subsistema pode facilmente se propagar para o outro subsistema, causando o travamento de todo o aplicativo.
Alterar o componente existente, atualizar para um novo componente, adaptar a nova interface ao componente existente são todos os problemas que os sistemas de software enfrentam com o passar do tempo.
Componentes que falham no teste de compatibilidade os requisitos têm um efeito profundo em todo o sistema e, portanto, cada componente deve ser testado exaustivamente quanto ao seu efeito nos recursos comuns.
Poucos outros na lista:
Além desses atributos principais, o teste de portabilidade também pode incluir vários outros atributos, como teste de interoperabilidade e teste de localização.
(i) Interoperabilidade: O teste de interoperabilidade ajuda a determinar se dois ou mais componentes podem interagir uns com os outros sem qualquer problema de comunicação.
Por exemplo , A transferência de dados via Bluetooth entre um PC com Windows 10 e um smartphone com Android pode ser realizada para testes de interoperabilidade.
(ii) Localização: O teste de localização é feito para garantir se o software desenvolvido pode ser compreendido no idioma local onde está sendo usado. Esse tipo de teste também é conhecido como teste de internalização.
Por exemplo , o software deve ser testado em vários idiomas internacionais, como chinês, italiano, russo, etc.
Lista de verificação de teste de portabilidade
A lista de verificação inclui os requisitos que devem ser testados como parte do Teste de Portabilidade.
Antes de prosseguir com a preparação de uma lista de verificação, é imperativo certificar-se de que todos os componentes individuais do sistema foram totalmente testados e integrados uns com os outros para formar um grande sistema.
Todos os objetivos do Teste de Portabilidade devem ser mantidos em mente para que o checklist seja efetivo e eficiente.
- Este teste deve cumprir todos os requisitos de portabilidade.
- O teste do aplicativo em vários sistemas operacionais deve ser executado.
- O teste do aplicativo em várias versões do navegador deve ser executado.
- Esse teste pode ser automatizado para teste de regressão contínua.
- Esse teste deve ser feito de maneira incremental e iterativa ao longo do ciclo de vida de desenvolvimento do software.
Prós e contras
O teste de portabilidade tem seus próprios méritos, bem como deméritos, como qualquer outro teste. Vamos dar uma olhada neles.
c ++ gerador de números aleatórios entre dois números
Prós:
- Ajuda a identificar as dependências entre vários componentes.
- Esse teste é especialmente útil em sistemas grandes, que possuem vários subsistemas que interagem entre si.
- Este teste é preferido quando os clientes de um produto usam vários sistemas operacionais com várias versões de navegador.
- Bugs que são perdidos durante os testes de unidade e integração podem ser descobertos usando este teste.
- A instalação e desinstalação do software também podem ser testadas como parte desse teste.
- A capacidade de resposta e o desempenho de um aplicativo podem ser testados em vários navegadores e sistemas operacionais.
- A aparência do aplicativo em vários navegadores e sistemas operacionais pode ser validada usando este teste.
- Esse teste ajuda a determinar se a funcionalidade do aplicativo é a esperada em vários sistemas operacionais e navegadores.
- Também ajuda a eliminar a propagação de erros entre vários sistemas.
Contras:
- Geralmente, esse teste não é preferido quando há uma restrição de tempo no ciclo de teste de software.
- Este teste requer muito orçamento da organização, pois requer várias configurações de teste, como vários sistemas operacionais e vários navegadores.
- Todas as configurações de hardware de instalação devem estar disponíveis para que o teste de portabilidade seja realizado. Isso significa que uma organização deve pagar para fornecer suporte para manutenção das configurações de hardware de instalação.
- O teste de portabilidade é um processo repetitivo, o que significa que os testadores podem perder o foco durante o teste.
- A automação do teste de portabilidade é uma tarefa tediosa e requer habilidade e paciência dos testadores para ser implementada com sucesso.
- A execução de testes de portabilidade em um ambiente multiusuário pode ser muito complicada. Além disso, requer muita carga de trabalho de dados para que o teste seja bem-sucedido.
- O espaço de armazenamento para ambientes de hospedagem pode se tornar caro para uma organização.
Exemplos de teste de portabilidade
Abaixo estão alguns exemplos clássicos:
- Software projetado para funcionar nos sistemas operacionais Windows 7 e Macintosh.
- Aplicativos projetados para serem executados em dispositivos Apple iOS e Google Android.
- Software projetado para ser compatível com os navegadores Microsoft Edge e Google Chrome.
- Videogames projetados para rodar nos sistemas operacionais Windows 10 e Apple Macintosh.
- Software projetado para funcionar no servidor MySQL do Windows 7 e banco de dados Oracle Macintosh.
- Instalação de software nos sistemas operacionais Windows 10 e Windows XP.
- Desinstalação de software em sistemas operacionais Macintosh e Linux.
Conclusão
O Teste de Portabilidade é geralmente preferido quando há um requisito para o componente de software ser movido de um ambiente para outro. Esse teste ajuda a descobrir os defeitos que não são identificados como parte do teste de unidade e do teste de integração de sistema.
Uma grande desvantagem do Teste de Portabilidade é a quantidade de orçamento a ser alocado para esse teste, pois ele exige o uso de várias configurações de hardware. A manutenção e o fornecimento de suporte para essas configurações de hardware podem ser uma tarefa muito tediosa e demorada.
Portanto, o teste de portabilidade é geralmente preferido quando os benefícios superam as desvantagens.
Espero que você tenha entendido claramente o conceito de Teste de Portabilidade por meio deste excelente tutorial!
Leitura recomendada
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Tipos de teste de software: diferentes tipos de teste com detalhes
- Teste Funcional Vs Teste Não Funcional
- Trabalho de assistente de controle de qualidade de teste de software
- Teste prático de software - Novo e-book GRATUITO (Download)
- O que é Endurance Testing in Software Testing (exemplos)
- Teste Alfa e Teste Beta (um guia completo)
- Pensando fora da caixa ao testar o software!