Transformação Digital

História dos testes

Pode ser difícil de acreditar mas já houve um tempo no qual as pessoas não testavam o funcionamento de um software, elas esperavam ele falhar. Esse cenário começou a mudar a partir do final da década de 1950, se inicia a história dos testes.

Pode ser difícil de acreditar mas já houve um tempo no qual as pessoas – seja antes, durante ou depois da compra – não testavam o funcionamento de um produto, elas esperavam ele falhar. Esse hábito também foi bem comum no início da indústria de software, quando praticamente inexistiam práticas de verificação. Esse cenário começou a mudar a partir da década de 1950, quando iniciou-se a história dos testes no desenvolvimento de aplicações.

Em setenta anos, a atividade de testagem evoluiu bastante. Atualmente ela está totalmente incorporada à rotina da criação de produtos digitais ou em projetos de modernização de aplicações. Conforme o desenvolvimento de softwares foi escalando e se complexificando, em grande medida suportada pela computação em nuvem, houve um aumento exponencial no volume de testes.

Entretanto, não foi só a quantidade de mudou. A perspectiva, a função dos testes também foi se modificando, especialmente a partir da virada da década de 1970 para 1980. Fique com a gente neste texto para conhecer um pouco mais sobre a história dos testes e entender qual papel eles cumprem atualmente no desenvolvimento de aplicações.

Quando surgiram os testes de software

As primeiras reflexões da literatura técnico-científica sobre testes são de Alan Turing. Em artigos publicados na virada das décadas de 1940 e 1950, o “pai da computação” trata sobre o uso de assertivas para verificar a prova de correção de algoritmos.

Os textos estão inclusos no período que David Gelperin e Bill Hetzel classificam como a fase orientada à depuração, o primeiro de cinco períodos da história dos testes. De acordo com os autores, essas fases são:

FASE PERÍODO FOCO PRINCIPAL
Até 1956 Orientação à depuração Corrigir erros quando a máquina falhava
De 1957 a 1978 Orientação à demonstração Provar que o software atendia aos requisitos
De 1979 a 1982 Orientação à destruição Encontrar ativamente falhas antes que aparecessem
De 1983 a 1987 Orientação à evolução Usar erros como ponto de partida para melhorias
De 1988 em diante Orientação à prevenção Garantir qualidade contínua desde o início do projeto

Podemos classificar os dois primeiros períodos como a “pré-história” dos testes. Isso porque 1979 é o ano da publicação do livro “The art of software testing” – em português, “A arte de testes em software” – do cientista da computação Glenford Myers. A obra é o principal marco sobre o tema na indústria, tanto que até hoje é uma referência sobre Gestão de Qualidade no desenvolvimento de software.

Na primeira fase da história dos testes, a de orientação à depuração, eles eram aplicados apenas quando a máquina apresentava algum erro. A testagem era a própria atividade de depuração. Tanto que, em boa parte da literatura técnica da época, os termos “depuração” e “testes” eram frequentemente usados como sinônimos.

Nunca é demais lembrar que, nesse período da história, computadores e programas não eram partes intercambiáveis; quando uma empresa adquiria uma máquina, ela vinha com seu próprio sistema. Essa peculiaridade também ficava evidente na atividade de testes: eles eram muito mais focados em hardware que em software. Os problemas destes eram despriorizados – e muitas vezes ignorados – diante da preocupação com a confiabilidade do hardware.

Na segunda fase, a de orientação à demonstração, testes e depuração passaram a ser encarados como atividades distintas. Essa separação fica clara no livro “Digital Computer Programming” – em português, “Programação de Computadores Digitais”, de Dan McCracken. A partir dessa abordagem, o objetivo da testagem não era corrigir uma máquina quando ela apresentava erros e sim demonstrar que o programa rodava e que resolvia os problemas propostos. Em outras palavras, que o software atendia os requisitos.

Essa abordagem mais profissional e criteriosa na atividade de testes tornou-se necessária diante da evolução das aplicações, seja em complexidade ou custo. Com mais softwares no mercado, o volume de bugs e problemas multiplicava. Isso aumentava o risco econômico que as quebras de programas poderiam provocar, fazendo aumentar tanto a exigência de qualidade quanto o investimento nas atividades de testes.

História dos testes: da orientação à destruição à atuação preventiva

Em 1979 é publicado “A arte de testes em software”, o principal marco da disciplina. Sua relevância deve-se ao fato dela propor tanto uma nova lógica quanto um novo objetivo da atividade de testagem.

Na fase de orientação à destruição, o resultado final desejado era o mesmo da anterior: software funcionando e atendendo os requisitos. Mas Myers propõe uma nova e holística forma de alcançar esse intento: verificar todas as hipóteses que poderiam levar a um erro. A atividade de testes de software não deveria ser sobre checar o que estava funcionando e sim o de executar um programa com a intenção de encontrar erros.

É devido à “A arte de testes em software” que testes ganharam sua atual função, a de prevenção. Ao mudar a orientação da demonstração para a detecção de possíveis problemas, a atividade passa a visar a qualidade total, concedendo a possibilidade de checar a conformidade das aplicações no momento da sua conclusão.

As duas fases posteriores, tanto a orientada à evolução quanto à prevenção, são evoluções da fase orientada à destruição. Elas não alteram o princípio, apenas somam objetivos à atividade de testes.

Na fase orientada à evolução, a testagem passa a ser integrada à revisão e análise para promover a evolução do produto durante o ciclo de vida da aplicação. Colocando de outra forma, a atividade de testes continua tendo a finalidade de encontrar erros. Só que agora, as informações sobre eles tornam-se o início do planejamento da melhoria do sistema.

Por fim, a fase atual, a orientada à prevenção, pode ser sintetizada na expressão “qualidade como serviço”. A atividade de testagem não ocorre com o software pronto e sim ao longo de todo o ciclo de desenvolvimento, desde a fase de conceito. Os testes são realizados paralelamente à criação da aplicação, em todas as fases do projeto.

É no contexto dessa abordagem que nascem as metodologias de desenvolvimento atualmente muito praticadas no mercado: a de desenvolvimento orientado a testes – executada para testes unitários -, desenvolvimento orientado a comportamento e desenvolvimento orientado a testes de aceitação.

O papel da Inmetrics nessa história

Toda a história da Inmetrics está intimamente ligada à atividade de testes. Nascemos como uma empresa que tinha o propósito de elevar a qualidade e performance de aplicações. Enquanto nosso DNA, ele está em todas as nossas atividades. Não à toa, somos uma empresa líder em Continuous Testing no ISG Provider Lens Next-Gen ADM Services Brazil 2022.

Se você precisa desenvolver aplicações realmente robustas e que performam sem erros, tendo todo o ambiente monitorado e corrigido quase instantaneamente, clique aqui, fale com o time de especialistas e conheça todas as nossas soluções!

Artigos relacionados
Transformação Digital
Cultura organizacional
Transformação Digital
Desenvolvimento orientado a testes
Transformação Digital
Práticas de qualidade aplicadas à IA
Transformação Digital
Testes unitários
Pensamos com ambição.

Executamos com método.

Construímos o que vem depois.
Inmetrics. Business, Engineered.

Brasil

comercial@inmetrics.com.br
Av. Tambore, 267
22º andar - Torre Sul
Tamboré, Barueri - SP
06460-000, Brasil

Chile

comercial@inmetrics.lat
Cerro El Plomo, 5420
Oficina 1503
Las Condes | Santiago, Chile
7560742

Colômbia

comercial@inmetrics.lat
Calle 95 #14-45
Edificio Nueve 5, piso 8
Oficina 801
Bogotá, Colômbia
110221

Descubra mais sobre Inmetrics

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continuar lendo