Por: Anne Caroline OliveiraO artigo [1], escrito em 1982, apresenta diversos conceitos e tecnicas sobre verificacao, validacao e teste de software. Segundo os autores deste artigo, a qualidade de software e adquirida com a aplicacao de tecnicas de verificacao e validacao durante todo o processo de desenvolvimento de um software. Sao necessarias diversas tecnicas para definir e medir a qualidade do software, como tambem e importante verificar a qualidade do processo de teste adotado. Quanto antes for aplicado um processo de teste no ciclo de desenvolvimento de um sistema, menos sera o custo para corrigir os defeitos encontrados. Para isso o ideal e que haja um processo de teste independente, porem que seja altamente integrado ao processo de desenvolvimento.Os casos de teste devem ser criados tendo o cuidado de verificar se todos os requisitos levantados foram abordados, pois sua finalidade e garantir que o software esta fazendo o que ele deve fazer. As tecnicas de teste de unidade e de cobertura geralmente sao utilizadas na fase de codificacao. As tecnicas gerais descritas no artigo [1] foram walk-through, inspecoes, revisoes, prova de corretude e simulacao. As tecnicas de walk-through e inspecoes verificam tambem as especificacoes a fim de detectar problemas ate mesmo na fase de design. Os tipos de teste sao divididos em testes de caixa-branca e caixa-preta. Para minimizar o numero de entradas para os casos de teste, e necessario extrair algumas caracteristicas do dominio, as quais irao representar o dominio como um todo, isso pode ser feito com a tecnica de analise do valor limite.Outra questao apresentada no artigo [1] foi com relacao a qualidade dos casos de teste criados. Para verificar esta qualidade existem tecnicas de analise estatistica, analise de mutacao, analise estatica, analise de fluxo e analise dinamica. A tecnica de analise estatistica utiliza testes de cobertura, que determinam o percentual de abrangencia dos casos de teste ao executar o programa no momento do teste. Na tecnica de mutacao sao gerados programas mutantes, onde neles sao introduzidos diferentes defeitos, com a intencao de verificar se os casos de teste executados conseguem detectar tais falhas previamente conhecidas.O artigo [2], foca na importancia da aplicacao de teste de software durante todo o desenvolvimento do sistema. No entanto, a pratica de testes nas industrias de software ainda e imatura. Alem disso, as ferramentas que poderiam auxiliar com testes automaticos, ainda nao estao prontas para determinados tipos de sistemas. Outra problematica e que o custo para garantir que o sistema esta de acordo com a especificacao e muito alto e fica mais alto ainda quanto mais tarde os testes forem realizados. O que impossibilita para uma melhor qualidade do sistema e a falta de formalizacao das especificacoes. Segundo Dijkstra, o teste pode ser usado para mostrar a presenca de erros, mas nunca para mostrar que eles nao existem. Foram apresentadas as definicoes para os termos debug, verificacao, teste, validacao e defeito. Uma coisa e importante, quanto mais riscos aquele sistema apresentar para a sociedade, mais tem que se investir na sua qualidade.Critica:O que pude perceber com relacao ao artigo [1] e que apesar