Olá, acadêmico! Estamos na Unidade 3, Tópico 3: Verificação, validação e testes de software. O principal objetivo do teste de software é auxiliar na busca de um produto de software com o mínimo de erros possível.
No processo de teste, existem dois objetivos distintos, que são demonstrar que o software atende seus requisitos e descobrir em que situação o software se comporta de forma incorreta, ou seja, evidenciar os defeitos que existem antes do uso. As duas etapas de teste de software são: A validação checa se o software tem todos os itens necessários para atender ao cliente. O sistema que será entregue ao cliente vai ajudá-lo e ele vai ficar contente.
A pergunta da validação é "fizemos o software correto? " A verificação busca e prevê erros entre os requisitos. Verifica se todas as etapas de desenvolvimento foram realizadas conforme planejado e da melhor forma.
A pergunta de verificação é "Fizemos o software corretamente? " É verificado se as tecnologias para o desenvolvimento, como banco de dados, a linguagem, as interfaces etc. , foram utilizadas de forma correta.
Realizar os testes nada mais é que entrar com vários dados de maneira diferente e analisar os dados de saída e seu comportamento. Muitas organizações deixam para montar e realizar os testes apenas quando o produto final estiver pronto. Mas essa etapa leva bastante tempo e, dependendo do resultado, a correção pode trazer mais transtornos para a equipe de desenvolvimento.
Na área de testes, existem diversos tipos de teste que são aplicados em estágios diferentes. Os testes de software são executados em diferentes níveis (ou estágios) do desenvolvimento de um software. É importante ter uma equipe treinada para utilizar o teste de software.
Os membros não podem ser apenas programadores, devem também ter membros que entendam as regras de negócio, onde o software vai trabalhar. Ou seja, funcionários que tenham a mesma lógica do usuário final. Desta forma, fica mais fácil identificar os erros do sistema.
Nem todas as falhas são consideradas realmente um bug, pois pode ser um caso de má utilização do software por parte do usuário. Para que um bug ocorra, de acordo com Molinari (2003), basta que uma ou mais das quatro regras da indústria de software apresentadas a seguir ocorram simultaneamente: As práticas de desenvolvimento na área de testes são: TDD – Test Drven Development ou Desenvolvimento Guiado a Testes: escreve-se primeiramente os testes para, posteriormente, escrever o código. (1) Escrever um teste, mesmo sem ter escrito o código real a ser testado; (2) Executar os testes e acompanhar a falha; (3) Escrever a funcionalidade do sistema que irá ser testada; (4) Testar novamente, agora para passar; (5) Refatorar a funcionalidade e escrever por completo; (6) Próxima estória ou caso de uso e iniciar novo teste.
DDD – Domain Drven Design: no desenvolvimento guiado ao domínio, o foco é o propósito que o software deve atender, é a automatização de um processo de negócio. O DDD traz abordagens de como fazer isso, como atender um domínio complexo de informações. BDD – Behavior Drven Development: o desenvolvimento guiado por comportamento associa os benefícios de uma documentação formal, escrita e mantida pelo negócio, com testes de unidade que demonstram que essa documentação é efetivamente válida.
ATDD - Acceptance Test Drven Development ou desenvolvimento guiado por testes de aceitação: o trabalho ocorre em resposta a testes de aprovação. FDD – Feature Drven Development (desenvolvimento guiado por funcionalidades): serve para gerenciar e desenvolver projetos de software através de um conjunto de atividades simplificadas, de maneira a estimular o compartilhamento do conhecimento acerca do software e da criação de bons códigos. Acadêmico, está claro agora que realizar a verificação, validação e testes de software são atividades essenciais para garantir que o software seja entregue totalmente funcionando e sem erros.
Desejo a você bons estudos e até a próxima!