Eu diria que, no mínimo, os desenvolvedores deveriam ter testado o "caminho feliz". Que, se eles inserem os dados esperados, ele faz o que a especificação diz que deve fazer. Desenvolvedores que não fazem tanto assim devem ser questionados.
Também estou desapontado se um desenvolvedor não testou os casos óbvios: uma string muito longa para o banco de dados, texto obviamente inválido, se você digitar letras onde um número deve estar, etc. Se isso acontecer com frequência, perguntas devem ser feitas novamente .
No entanto, supondo que não seja mencionado especificamente na especificação, se um desenvolvedor limitar um nome apenas a maiúsculas e minúsculas, mas esquecer que alguns nomes têm apóstrofos ou permitir uma data de 29 de fevereiro de 2011 - isso é um pouco mais compreensível . A menos que estejam cometendo o mesmo erro repetidamente.
A equipe de controle de qualidade deve captar os casos extremos. Prefiro que o controle de qualidade seja testador de macacos: basta digitar lixo aleatório, verificando se eles podem quebrar o aplicativo dessa maneira.
No desenvolvimento da Web, o controle de qualidade deve tentar navegadores diferentes e encontrar plug-ins que podem afetar o código. Eles devem desativar o Javascript e o CSS e ver com o que podem se safar. Aquele tipo de coisa. Se você espera que os desenvolvedores façam isso, está gastando muito dinheiro com isso.