Gerenciamento e processos na aplicação de testes de software
Gerenciamento e processos na aplicação de testes de software
Resumo:
- processos complexos demandam recursos que precisam de gerenciamento
- métricas e objetivos precisam ser avaliados adequadamente para garantir a validade do produto
- boas estratégias gerenciam a aplicação de testes todo o ciclo de desenvolvimento
O uso de testes de software trazem segurança de dados, financeira e jurídica para uma solução.
A implantação de uma rotina de testes, porém, demanda uma quantidade consideravel de recursos financeiros,
humanos e, talvez o principal, tempo. Identificar os requisitos e desenvolver testes adequados para evaluar
estes requisitos, atestando sua funcionalidade junto com sua segurança é uma tarefa árdua, o que pode gerar
atrasos, perda de valor e confiabilidade. Para tal, o gerenciamento de processos de avaliação, definição e execução de teste se faz imprescindível
para desenvolver uma esteira de testes que permeie todo o ciclo de desenvolvimento.
Enquanto fontes técnicas e documentações enfatizam a necessidade de se testar exaustivamente
um software, desde suas unidades (teste estático) até as suas intregrações (teste dinâmico), alguns
desenvolvedores defendem que uma abordagem mais alinhada com a realidade do desenvolvimento, onde
tempo é crucial e as ferramentas das IDEs já auxiliam muito nesse processo, onde não há a necessidade
de se certificar que todo ponto, variável, constante e função precise ser testado e validado, concentrando
forças em se certificar de que todo o bloco de instruções está colaborando para exercer uma função
com eficiência e segurança
Sem me aprofundar nessa discussão, o uso de métricas são fundamentais para se nortear e definir
um ponto de sucesso: se seu ERP para uma padaria em expansão
precisa suportar x acessos diários com uma margem de erro y, seria ágil verificar se o sistema
suporta a quantidade de acessos que o mercado livre recebe na black friday? O custo x tempo dessa validação
pode interferir no objetivo: auxiliar no gerenciamento com foco na expansão dos pãezinhos. Avaliar adequadamente
os requisitos funcionais e não funcionais de forma honesta e realistica, adequada à necessidade/problema a se resolver
vai garantir o valor e segurança do produto final.
Aplicar uma boa estratégia vai auxiliar a definir os objetivos, identificar e mitigar os riscos
e monitorar o desempenho (esta última é um processo contínuo).
Requisitos
Autenticação de acesso com autorização por cargo
Riscos:
Recursos sensíveis de auto risco podem ficar expostos a pessoas não autorizadas (compromete integridade)
Falhas na autorização podem impedir recursos para pessoas autorizadas (compromete disponibilidade)
Login falho compromete segurança da aplicação e expõe informações e regras de negócios (compromete confidencialidade)
Recursos
Autenticação via token de segurança / OAuth / Sevidor de gerencia de senha e idenficação
aliado à Atribuição de cargos e dispositivos de autorização e segurança (podendo ser celulares e autenticadores)
Cobertura
Testar Login do sistema e de third- party components
Avaliação
Avaliar se nenhum dado/acesso foi exposto impropriamente
Avaliar se cada cargo possui o acesso correto.
Conclusão
Testar uma aplicação envolve estratégias claras e definidas para se obter o caminho correto
para o desenvolvimento de uma aplicação eficiente e segura. Definir com clareza métricas e objetivos
orientam todos os envolvidos no processo no que fazer e o que alcançar.