how test banking domain applications
Um guia completo para aplicativos de teste de banco: Processo e dicas de teste BFSI (Banking, Financial Services e Insurance)
Os aplicativos bancários são um dos aplicativos mais complexos na indústria de teste e desenvolvimento de software de hoje.
O que torna os aplicativos de banco tão complexos? Qual abordagem deve ser seguida para testar os fluxos de trabalho complexos envolvidos em aplicativos bancários?
Neste artigo, iremos destacar diferentes estágios e técnicas envolvidas no teste de aplicativos de banco.
O que você aprenderá:
- Como testar aplicativos bancários?
- Importância de testar aplicativos bancários
- Fluxo de trabalho de teste de aplicativos bancários
- Casos de teste de amostra para aplicação bancária
- Conclusão
Como testar aplicativos bancários?
Várias funções executadas por aplicativos bancários são:
Vamos primeiro entender as características de um aplicativo bancário:
- Funcionalidade multicamadas para suportar milhares de sessões de usuário simultâneas
- Integração em grande escala: normalmente, um aplicativo bancário se integra a vários outros aplicativos, como o utilitário Bill Pay e contas comerciais
- Fluxos de trabalho de negócios complexos
- Processamento em tempo real e em lote
- A alta taxa de transações por segundo
- Transações Seguras
- Seção de relatórios robusta para controlar as transações do dia a dia
- Auditoria forte para solucionar problemas do cliente
- Sistema de armazenamento massivo
- Gerenciamento de desastres / recuperação.
Os dez pontos listados acima são os características mais importantes de um aplicativo Banking.
Os aplicativos bancários têm várias camadas envolvidas na execução de uma operação.
Por exemplo , para A aplicação bancária pode ter:
- Servidor Web para interagir com usuários finais via navegador
- Camada intermediária para validar a entrada e a saída do servidor da web
- Banco de dados para armazenar dados e procedimentos
- Processador de transações, que pode ser um mainframe de grande capacidade ou qualquer outro sistema legado para realizar trilhões de transações por segundo.
Se falamos sobre testes de aplicativos bancários, isso requer um Metodologia de teste ponta a ponta envolvendo várias técnicas de teste de software para garantir:
- Cobertura total de todos os fluxos de trabalho bancários e requisitos de negócios
- O aspecto funcional do aplicativo
- O aspecto de segurança do aplicativo
- Integridade de dados
- Simultaneidade
- Experiência de usuário
O que torna os aplicativos de banco tão complexos?
- O software bancário lida principalmente com dados financeiros confidenciais, portanto o desempenho do software deve ser livre de erros e seguro.
- Os desenvolvedores preferem um design complicado para desenvolver esses aplicativos para garantir que o aplicativo seja executado da maneira segura desejada.
- A atividade bancária é um mundo em constante mudança. A atividade bancária, hoje, é disponibilizada ao cliente por meio de diversos canais, como agências físicas, caixas eletrônicos, banco online e atendimento ao cliente.
- Com o advento da tecnologia, muitas carteiras inundaram os mercados que se conectam aos sistemas bancários para transações financeiras.
- O sistema bancário também deve funcionar 24 horas por dia, 7 dias por semana, com alto desempenho. Atualizações de software, correções instantâneas, etc. não podem afetar esta disponibilidade.
- O mundo bancário também é altamente impactado pelas constantes mudanças introduzidas pelo governo na forma de regulamentações bancárias. Quaisquer mudanças na estrutura tributária também afetam o sistema bancário.
- O sistema bancário também precisa estar atualizado no que diz respeito às novas tecnologias. A análise de dados como o processamento de big data e a obtenção de instintos de big data usando a ciência de dados estão ganhando força no mundo bancário.
Os pontos mencionados acima tornam o sistema bancário complexo para os desenvolvedores criarem um aplicativo de software em torno dele.
Importância de testar aplicativos bancários
- Testar o aplicativo Banking garante que todas as atividades não apenas sejam bem executadas, mas também permaneçam protegidas e seguras.
- O software bancário é complicado com milhares de dependências, o processo de teste requer mais tempo, recursos e monitoramento contínuo.
- Como as finanças estão envolvidas aqui, as diretrizes devem ser seguidas à risca. Testadores e desenvolvedores devem ter bom conhecimento do domínio.
- Mais importante ainda, deve-se garantir que as leis e os regulamentos sejam aplicados corretamente nas transações financeiras. Isso só pode ser garantido com testes.
- Também é importante garantir que o aplicativo e a infraestrutura em que o aplicativo foi implantado sejam capazes de lidar com a carga, especialmente durante o horário comercial de pico, sem causar qualquer interrupção. Isso pode ser garantido por meio de testes de desempenho.
- No mundo digital de hoje, a única coisa que preocupa a todos é a segurança. Os aplicativos bancários e as transações financeiras realizadas neles precisam estar protegidos de qualquer tentativa de invasão. Isso pode ser garantido por meio de testes de segurança. Os testes de segurança ajudam a aplicar os padrões da indústria para proteger as transações financeiras.
- Também é importante garantir que os diferentes módulos de um aplicativo bancário sejam integrados adequadamente e atinjam o objetivo do cliente. O Teste de Integração do Sistema ajuda a realizar essa tarefa.
Fluxo de trabalho de teste de aplicativos bancários
Estágios típicos envolvidos no teste de aplicativos bancários são mostrados no fluxo de trabalho abaixo. Estaremos discutindo cada etapa individualmente.
Este é um modelo em cascata de teste de um aplicativo.
# 1) Coleta de requisitos
Fase de coleta de requisitos envolve a documentação de requisitos como especificações funcionais ou como casos de uso. Os requisitos são coletados de acordo com as necessidades do cliente e documentados por especialistas em bancos ou analista de negócios.
Os especialistas estão envolvidos na redação de requisitos em mais de um assunto, já que o próprio banco tem vários subdomínios e um aplicativo bancário completo será a integração de todos esses domínios.
Por exemplo, Um aplicativo bancário pode ter módulos separados para Transferências, Cartões de Crédito, Relatórios, Contas de Empréstimos, Pagamentos de Contas, Negociação etc.
# 2) Revisão de Requisitos
A entrega da Coleta de Requisitos é revisada por todas as partes interessadas, como Engenheiros de QA, Líderes de Desenvolvimento e Analistas de Negócios Pares.
Eles verificam se nem o fluxo de trabalho de negócios existente nem os novos fluxos de trabalho foram violados. Todos os requisitos são verificados e validados. Ações de acompanhamento e revisões de documentos de requisitos são feitas com base nas mesmas.
# 3) Preparação do cenário de negócios
Nesse estágio, os engenheiros de QA derivam os cenários de negócios dos documentos de requisitos (especificações de funções ou casos de uso); Os cenários de negócios são derivados de forma que todos os requisitos de negócios sejam cobertos. Os cenários de negócios são cenários de alto nível, sem etapas detalhadas.
Além disso, esses cenários de negócios são revisados por analistas de negócios para garantir que todos os requisitos de negócios sejam atendidos. É mais fácil para BAs revisar cenários de alto nível em vez de revisar casos de teste detalhados de baixo nível.
Por exemplo , um cliente abrindo um depósito fixo na interface do banco digital pode ser um cenário de negócios. Da mesma forma, podemos ter diferentes cenários de negócios relacionados à criação de contas bancárias líquidas, depósitos online, transferências online, etc.
# 4) Teste Funcional
Nesta fase, o teste funcional é realizado e as atividades usuais de teste de software são realizadas, tais como:
Preparação do caso de teste: Neste estágio, os casos de teste são derivados de cenários de negócios, um cenário de negócios leva a vários casos de teste positivos e negativos. Geralmente, as ferramentas usadas durante este estágio são Microsoft Excel, Test Director ou Quality Center.
Revisão do caso de teste: Avaliações por colegas engenheiros de controle de qualidade
Caso de teste Execução: A execução do caso de teste pode ser manual ou automática envolvendo ferramentas como QC, QTP, etc.
O teste funcional de um aplicativo bancário é bastante diferente do teste de software comum. Uma vez que esses aplicativos operam com o dinheiro do cliente e dados financeiros confidenciais, eles devem ser testados exaustivamente. Nenhum cenário de negócios importante deve ser deixado para ser coberto.
Além disso, o recurso de QA que está testando o aplicativo deve ter o conhecimento básico do domínio bancário.
# 5) Teste de banco de dados
O aplicativo de banco envolve transações complexas que são executadas tanto no nível da UI quanto no nível do banco de dados. Portanto, o teste do banco de dados é tão importante quanto o teste funcional. O banco de dados é complicado e uma camada totalmente separada no aplicativo e, portanto, seu teste é realizado por especialistas em banco de dados. Ele usa técnicas como:
- Carregamento de dados
- Migração de banco de dados
- Teste de esquema de banco de dados e tipos de dados
- Teste de Regras
- Testando procedimentos e funções armazenados
- Testando gatilhos
- Integridade de dados
O principal objetivo do teste de banco de dados é garantir que:
- O aplicativo é capaz de armazenar e recuperar dados do banco de dados sem qualquer perda de dados.
- As transações concluídas devem ser confirmadas e as transações anuladas devem ser revertidas para evitar qualquer incompatibilidade nos dados armazenados.
- Apenas aplicativos e usuários autorizados têm permissão para acessar o banco de dados e as tabelas subjacentes.
Existem basicamente três formas de teste de banco de dados:
- Teste Estrutural
- Teste funcional
- Teste Não Funcional
Teste Estrutural
Envolve testar os objetos de banco de dados, como bancos de dados, esquema, tabelas, visualizações, gatilhos, controles de acesso, etc. Garantir que os tipos de dados nas tabelas estejam sincronizados com as variáveis correspondentes no aplicativo. Validando dados e integridade referencial nas tabelas.
Por exemplo, Um campo de valor no aplicativo deve ter um tipo de dados decimal / flutuante na tabela.
- Para cumprir os padrões, os usuários devem receber controles de acesso por meio de visualizações.
Teste funcional
Envolve testar os bancos de dados que atendem aos requisitos do usuário. Existem duas maneiras de conseguir: Teste de caixa preta e teste de caixa branca.
Por exemplo, Quando fazemos uma transferência de dinheiro online, a conta do remetente deve ser debitada e a conta do destinatário deve ser creditada exatamente com o mesmo valor. Se a transação falhar, todas as transações devem ser revertidas e a conta do remetente não deve ser debitada ou creditada de volta.
Teste Não Funcional
Envolve testes de carga e estresse e otimização de desempenho. O teste de carga ajuda a identificar o maior número de transações que podem ser executadas simultaneamente, sem afetar o desempenho do banco de dados.
Por exemplo, Com base na entrada de carga e testes de estresse, os aplicativos bancários podem decidir adicionar mais recursos aos seus aplicativos durante o horário comercial de pico e reduzir os recursos fora do horário comercial. Isso ajuda o banco a otimizar o uso dos recursos e a economizar dinheiro.
# 6) Teste de segurança
O teste de segurança geralmente é o último estágio do ciclo de teste. Um pré-requisito para iniciar o teste de segurança é a conclusão do teste funcional e não funcional. O teste de segurança é um dos principais estágios de todo o ciclo de teste do aplicativo, pois esse estágio garante que o aplicativo esteja em conformidade com os padrões federais e da indústria.
Devido à natureza dos dados que carregam, os aplicativos bancários são muito sensíveis e são o principal alvo de hackers e atividades fraudulentas. O teste de segurança garante que o aplicativo não tenha nenhuma vulnerabilidade da web que possa expor dados confidenciais a um invasor ou invasor. Ele também garante que o aplicativo está em conformidade com padrões como OWASP.
Neste estágio, a principal tarefa é a varredura de todo o aplicativo que é realizada usando ferramentas como IBM AppScan ou HP WebInspect (essas são as ferramentas mais populares).
Assim que a varredura for concluída, o relatório de varredura será publicado. Nesse relatório, falsos positivos são filtrados e o restante das vulnerabilidades é relatado à equipe de desenvolvimento para que ela comece a corrigir os problemas, dependendo da gravidade de cada um.
O teste de penetração também é feito nesta etapa para revelar a propagação de erros. Testes de segurança rigorosos devem ser feitos em plataformas, redes e sistemas operacionais.
Algum outro Ferramentas manuais para teste de segurança usados são Paros Proxy , Http Watch , Suíte Burp , e Fortalecer.
O principal objetivo dos testes de segurança é identificar quaisquer vulnerabilidades que o aplicativo de software possa ter.
O teste de segurança testa o aplicativo em relação a:
- Qualquer ataque externo ou tentativa de hackear o aplicativo com intenção maliciosa.
- Qualquer lacuna no aplicativo de software pode ser explorada, causando perda de dados ou monetária.
- Qualquer vulnerabilidade na rede, servidores e estações de trabalho que hospedam o aplicativo.
A seguir estão os vários tipos de teste de segurança:
Teste de vulnerabilidade: Um programa automatizado é desenvolvido e executado para verificar várias vulnerabilidades.
Verificação de segurança: Esta variante gira em torno da investigação de vulnerabilidades da rede e do sistema, fornecendo soluções para reduzir o risco associado.
Teste de penetração: Esta variante de teste de segurança imita uma tentativa de hacking para capturar vulnerabilidades e brechas que, de outra forma, poderiam ter obtido acesso ao banco de dados ou aos dados do aplicativo.
Auditoria de segurança: Envolve a auditoria do aplicativo e das redes associadas em busca de falhas de segurança.
Avaliação de risco: Esta variante faz uma análise para avaliar o nível de risco, em um evento quando uma vulnerabilidade ou brecha é explorada com intenção maliciosa. Esse risco pode ser classificado em baixo, médio e alto. Com base no nível de risco, as medidas adequadas são aconselhadas pela equipe de teste para reduzir ou evitar o risco.
Hacking ético: Isso é realizado por uma organização em seus sistemas para identificar lacunas que podem ser exploradas em seu aplicativo ou rede. A intenção desse tipo de hacking não é roubar ou causar danos ao aplicativo ou à rede.
Avaliação de postura: Esta é uma avaliação abrangente composta por varredura de segurança, avaliações de risco e hacking ético.
Injeção SQL: O SQL Injection pode ser usado para obter acesso ao banco de dados do servidor. O teste é feito para garantir que o código está funcionando corretamente, que executa consultas no banco de dados com base nas seguintes entradas do usuário:
- Colchetes
- Apóstrofes
- Vírgulas
- Aspas
Outras fases do teste do aplicativo BFSI
Além dos estágios principais acima, pode haver diferentes estágios envolvidos, como Teste de Integração, Teste de Usabilidade, Teste de Aceitação do Usuário e Teste de Desempenho.
Vamos falar brevemente sobre essas etapas também:
Teste de integração
Como você sabe que em um aplicativo bancário, podem existir vários módulos diferentes como transferências, pagamentos de contas, depósitos, etc. E, portanto, há muitos componentes desenvolvidos. No teste de integração, todos os componentes são integrados e validados.
Testando usabilidade
Um aplicativo bancário atende a uma ampla variedade de clientes. Alguns desses clientes podem não ter as habilidades e o conhecimento necessários para realizar as tarefas bancárias no aplicativo.
Assim, o aplicativo bancário deve ser testado para um design simples e eficiente para torná-lo utilizável em diferentes grupos de clientes. Quanto mais simples e fácil de usar a interface, maior o número de clientes que serão beneficiados pelo aplicativo bancário.
Trata-se de examinar o nível de facilidade que os usuários de negócios ou clientes de bancos têm ao usar o aplicativo. Este teste não é executado pelo desenvolvedor ou testador, mas pelos usuários de negócios.
Por exemplo, Hoje em dia todo mundo usa aplicativos móveis. O aplicativo bancário deve ser amigável e fácil de entender e usar pelo usuário final.
Tipos de teste de usabilidade
Teste comparativo de usabilidade: Este é um teste baseado em comparação, onde a facilidade de uso de um site ou aplicativo com outro. O objetivo desses testes é fornecer a melhor experiência do usuário.
Teste exploratório de usabilidade: O objetivo deste teste é identificar quais recursos o novo aplicativo ou software deve possuir para atender aos requisitos do cliente do banco.
A seguir estão as vantagens e desvantagens dos testes de usabilidade
como assistir anime online de graça
Vantagens:
- Os usuários finais do aplicativo geralmente estão envolvidos com o teste, portanto, o feedback em primeira mão é obtido.
- Em vez de gastar tempo em análise e discussão sobre um recurso que um produto deve ter ou não, é melhor obter as entradas diretamente do usuário final.
- Podemos detectar quaisquer problemas potenciais com antecedência.
Desvantagens:
- Como vários usuários finais estão envolvidos no teste, suas opiniões, se não forem precisas, podem afetar o requisito.
- O feed dos usuários finais pode ser influenciado.
Teste de performance
Certos períodos de tempo, como dia de pagamento, final do ano financeiro, épocas festivas, podem trazer mudanças ou picos no tráfego normal do aplicativo. Portanto, testes de desempenho completos devem ser feitos para que os clientes não sejam afetados por falhas de desempenho.
Um exemplo significativo do passado, onde os clientes do banco foram pessoalmente afetados devido a falhas de desempenho, é a interrupção de TI do NatWest e do RBS cyber Monday, na qual os clientes tiveram suas transações de débito e cartão de crédito recusadas em lojas no país.
Testes de aceitação do usuário
Isso é feito envolvendo os usuários finais para garantir que o aplicativo esteja em conformidade com os cenários do mundo real e seja aceito pelos usuários se for ao ar.
No cenário de hoje a maioria dos projetos bancários está usando : Agile / Scrum, RUP e metodologias de integração contínua e pacotes de ferramentas como VSTS e Rational Tools da Microsoft.
Como mencionamos sobre RUP acima, RUP significa Rational Unified Process, que é uma metodologia de desenvolvimento de software iterativa introduzida pela IBM que compreende quatro fases nas quais as atividades de desenvolvimento e teste são realizadas.
Quatro fases são
i) Início
ii) Colaboração
iii) Construção e
iv) Transição
O RUP envolve amplamente as ferramentas IBM Rational.
Casos de teste de amostra para aplicação bancária
Casos de teste para nova filial
- Crie uma nova ramificação com dados de teste válidos e inválidos.
- Crie uma nova filial sem dados.
- Crie uma nova filial com dados de filial existentes.
- Verifique as opções de redefinir e cancelar.
- Atualize os detalhes da filial com dados de teste válidos e inválidos.
- Atualize os detalhes da filial com os dados de teste da filial existentes.
- Verifique se a nova ramificação pode ser salva.
- Verifique se a opção de cancelamento está funcionando.
- Verifique a exclusão do branch com e sem dependências.
- Verifique se a opção de pesquisa de filial está funcionando.
Casos de teste para um novo papel
- Crie uma nova função com dados de teste válidos e inválidos.
- Crie uma nova função sem dados.
- Verifique se uma nova função pode ser criada com dados de teste existentes.
- Verifique a descrição e os tipos de funções.
- Verifique se a opção cancelar e redefinir está funcionando.
- Verifique o processo de exclusão de função com e sem dependência.
- Verifique os links na página de detalhes da função.
- Verifique o login do administrador sem dados de teste.
- Verifique todos os links iniciais para a função de administrador.
- Verifique se o administrador pode alterar a senha com dados de teste válidos e inválidos.
- Verifique se o logout do administrador foi bem-sucedido.
Casos de teste para cliente e banqueiro
- Verifique se todos os links de visitantes e clientes estão funcionando corretamente.
- Verifique o login do cliente com dados de teste válidos e inválidos.
- Verifique o login do cliente sem quaisquer dados.
- Verifique o login do banqueiro sem quaisquer dados.
- Verifique o login do banqueiro com dados de teste válidos ou inválidos.
- Verifique se o cliente ou banqueiro pode fazer logout com sucesso.
Casos de teste para novos usuários
- Verifique se o novo usuário pode ser criado com dados de teste válidos e inválidos.
- Crie um novo usuário com dados de teste de filial existentes
- Verifique se a opção cancelar e redefinir está funcionando corretamente.
- Atualize os detalhes do usuário com dados de teste válidos e inválidos.
- Verifique a exclusão do novo usuário.
- verifique se o novo usuário pode ser verificado.
- Verifique os parâmetros de entrada obrigatórios.
- Verifique os parâmetros de entrada opcionais.
- Verifique se um usuário pode ser criado sem parâmetros opcionais.
Casos de teste para a criação de uma nova conta
- Crie uma nova conta com dados de usuário válidos e inválidos.
- Verifique se os detalhes do usuário podem ser atualizados.
- Verifique se um novo usuário pode ser salvo.
- Crie uma nova conta com os dados do usuário existente.
- Verifique se o usuário pode depositar o valor na conta recém-criada (e atualizar o saldo).
- Verifique se o usuário pode sacar uma quantia da nova conta (após o depósito e atualizar o saldo).
- No caso de salário, conta verificar o nome da empresa e outros dados são fornecidos pelo usuário.
- Verifique se o número da conta principal é fornecido no caso de uma conta secundária.
- Verifique os dados do usuário fornecidos nos casos de conta à ordem.
- Verifique as provas fornecidas para conta conjunta no caso de uma conta conjunta.
- Verifique se consegue manter saldo zero na conta salário.
- Verifique se consegue manter saldo zero ou saldo mínimo para a conta não salarial.
- Verifique se o novo usuário pode fazer logout com êxito.
Casos de teste para aplicação de Net Banking
- Verifique se o usuário consegue abrir o site do banco.
- Verifique se todos os links do site estão funcionando.
- Verifique se o usuário consegue criar uma nova conta.
- Verifique se o usuário consegue fazer o login com nome de usuário e senha válidos e inválidos.
- Verifique se o nome de usuário ou a senha estão em branco durante o login; o usuário não deve ter permissão para fazer o login e uma mensagem de alerta é exibida.
- Verifique se o usuário tem permissão para alterar a senha.
- Se um usuário ou senha inválidos forem inseridos, a mensagem de erro adequada será exibida.
- Usuários com uma senha inválida não devem ter permissão para fazer login.
- Verifique se após repetidas tentativas de login com uma senha incorreta, o usuário deve ver uma mensagem de erro e ser bloqueado.
- Verifique se o usuário é capaz de realizar algumas transações básicas.
- Verifique se o usuário consegue adicionar um beneficiário com dados válidos e inválidos.
- Verifique se o usuário pode excluir o beneficiário.
- Verifique se o usuário pode fazer transações para o beneficiário recém-adicionado.
- Após a transação, verifique se as contas do usuário e do beneficiário estão atualizadas.
- Verifique se o usuário consegue inserir o valor em número decimal.
- Verifique se o usuário não consegue inserir números negativos no campo de valor.
- Verifique se o usuário tem permissão para fazer transações com ou sem saldo mínimo.
- Verifique se o usuário pode fazer um novo RD.
- Verifique se a mensagem adequada é exibida no caso de transação feita com saldo insuficiente.
- Verifique se o usuário é solicitado a confirmar antes de qualquer transação ser feita.
- Verifique se o recibo de confirmação é fornecido em cada transação bem-sucedida.
- Verifique se o usuário pode transferir dinheiro para várias contas.
- verifique se o usuário pode cancelar a transação.
- Verifique se os detalhes da conta também refletem as transações financeiras feitas.
- Verifique se o recurso de tempo limite está implementado.
- verifique se, em caso de expiração da sessão, um usuário deve efetuar login novamente.
- verifique se o tempo limite de sessão adequado é feito em caso de inatividade.
- verifique se, ao fazer a transação, o usuário é levado para o modo seguro.
- Verifique se o usuário pode fazer logout com sucesso.
- Verifique as opções de pesquisa e redefinição.
Conclusão
Neste artigo, discutimos quão complexo um aplicativo bancário pode ser e quais são os fases típicas envolvidas no teste do aplicativo . Além disso, também discutimos as tendências atuais seguidas pelas indústrias de TI, incluindo metodologias e ferramentas de desenvolvimento de software.
Sinta-se à vontade para compartilhar sua experiência ou dúvidas sobre este tópico!
Leitura recomendada
- Como testar o aplicativo de banco de investimento (com mais de 34 cenários de teste importantes)
- Como testar o sistema bancário de varejo
- Como testar o aplicativo de cuidados de saúde - Parte 1
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Teste Alfa e Teste Beta (um guia completo)
- Download do e-book do Testing Primer
- Teste Funcional Vs Teste Não Funcional
- Instalando aplicativos e preparando-os para o teste Appium