19/10/2020 4 min. de leitura Show
Nem sempre o que é “óbvio” para um, é “óbvio” para outro, não é mesmo?! Neste sentido, escrevo esta publicação com um objetivo simples: apresentar de forma consistente, resumida e estruturada em tópicos, pontos relevantes sobre “O que é teste de software e por que ele é necessário dentro do ciclo de desenvolvimento de sistemas, seja ele ágil ou não”. Este conteúdo direciona-se a todos os profissionais experientes (ou não) das áreas relacionadas ao desenvolvimento e teste de software, que desejam reciclar seus conhecimentos sobre testes e, também, a todos aqueles que desejam conhecer mais sobre este mundo. A base desta escrita é o manual de estudos para certificação CTFL de teste de software do ISTQB (2018br) — International Software Testing Qualifications Board. Foto: https://blog.onedaytesting.com.br/teste-de-software/O que é teste de software?
Testar software não é somente verificar se os requisitos foram atendidos ou se as estórias de usuário (User Stories), bem como demais especificações, foram contempladas. Atribui-se ao teste de software também a validação, ou seja, verificar se o sistema atenderá às necessidades do usuário e de outras partes interessadas em seu(s) ambiente(s) operacional(is). Podemos dividir os testes em duas categorias: dinâmico e estático.O teste dinâmico refere-se à execução de um componente ou sistema. Já os demais, que não envolvem a execução do componente ou sistema, são conhecidos como testes estáticos. Para cada uma destas categorias existem inúmeros tipos de processos, mas neste momento não irei entrar neste assunto. Lembrando que estou seguindo a linha apresentada pelo Syllabus. São vários os objetivos de se testar um software, independente do projeto. O Syllabus destaca os seguintes:
Testar software não é depurá-lo.As atividades não são sinônimas. O que ocorre é que em alguns casos, os testadores são responsáveis pelo teste inicial e pelo teste de confirmação final, enquanto os desenvolvedores fazem a depuração e o teste do componente associado. Há ainda os contextos ágeis, onde os testadores podem ser envolvidos na depuração e no teste de componente. Em resumo, há uma diferenciação para TESTE e DEPURAÇÃO: Teste → A execução dos testes pode mostrar falhas causadas por defeitos no software. Por que o teste é necessário?
Contribuições para o sucessoEnvolver o papel do testador durante todo o ciclo de desenvolvimento do software pode aumentar as chances de sucesso nos projetos. Sabendo disso, o Syllabus exemplifica alguns cenários, os quais separo em ETAPA – momento do ciclo onde sugere-se o envolvimento do teste, BENEFÍCIO – contribuições do teste na referida etapa e JUSTIFICATIVA – ganhos ao inserir o teste na etapa. BUG, DEFEITO e FALHA
Exemplo: uma pessoa levanta um requisito de forma incompleta, ambígua, incorreta. Caracteriza-se um erro. O projeto de software daquele requisito é realizado de forma incorreta. Caracteriza-se um defeito. O desenvolvedor cria um código incorreto a partir de um projeto incorreto/errado. Caracteriza-se um erro. O software gerado apresentará defeito devido ao código incorreto.
Exemplo: bug do milênio, que ocorreu em uma circunstância específica.
Como coloquei no início desta publicação, acredito muito que não exista o óbvio, principalmente quando falamos de saberes. Nem tudo que é óbvio para mim, é óbvio para você. Em outras palavras, mesmo que para profissionais da área alguns dos conceitos apresentados anteriormente pareçam ser básicos, para outros pode ser novidade, ou então, já tinham lido a respeito mas não lembravam e buscam uma reciclagem para recapitular pontos importantes. De qualquer forma, a disseminação de conhecimento sempre é válida, do básico ao avançado, ele deve ser repassado. CTFL Foundation Qual o objetivo da especificação de testes?As Especificações da Interface de Teste são utilizadas nas situações em que os aspectos do sistema, normalmente sem visibilidade, precisarem ser observados, ou quando for necessário o controle do software de uma maneira normalmente não disponível por meio da interface padrão.
Quais os principais objetivos do teste de software?O teste de software é uma maneira de avaliar a qualidade da aplicação e reduzir o risco de falha em operação. Testar não consiste apenas em executar testes (executar o software e verificar os resultados).
Quais as etapas do processo de teste de software?O processo de teste geralmente está dividido em 4 fases, são elas: de unidade, de integração, de sistema e de aceitação.
|