Auto-condução vs Condução humana

Os carros de auto-condução (ou autônomos como preferirem) já são uma realidade. Muitas montadoras do setor automobilístico tem investido forte no desenvolvimento destes carros, e pelo menos ao que me parece, promete fazer uma verdadeira revolução na indústria de automóveis nas próximas décadas.

Isso, se a Associação Nacional de Segurança no Trânsito dos EUA não intervir, pois eles desejam proibir os carros de auto-condução. Eles alegam que poderia levar à proibição de condução humana.

Este debate não parece familiar para vocês? Muitos testadores tem lutado para chegar a um acordo com o papel da automação dentro das próprias empresas e na indústria de software durantes anos e acredito que isso deve continuar ainda por um bom tempo.

Lendo ao volante
Podemos estar fazendo uma leitura, cochilando, vendo filmes, enviando nudez no Whats ou possivelmente trabalhando. Qualquer outra coisa que você prefira ao invés de dirigir, este é o maior apelo para promover os carros de auto-condução.

Este mesmo apelo tem atraído muitas pessoas a fazerem (na maioria das vezes somente) Testes Automatizados. O teste é útil, mas ele também é classificado como mundano e entendiante com tarefas repetitivas. É uma tentação óbvia para as organizações quererem substituir essa atividade para algo que eles sintam ser uma melhor utilização do seu tempo e recursos.

E quando a tecnologia der errado?
O que mais causa medo nos carros de auto-condução são potenciais situações complicadas, falhas técnicas, bugs relacionados a autonomia do carro. As pessoas regularmente aceitam o risco ao assumirem o volante. A diferença é que estamos confortáveis com a forma de conciliar estes problemas para as questões individuais que vão para a mecânica ou em casos de maior dimensão existem recalls. Sabemos o padrão e confiamos no processo e nos resultados. Não temos certeza de como esse processo será com carros auto-condução para que haja alguma apreensão saudável.

Essa mesma lógica se aplica ao software todos os dias. Geralmente quando ocorre um bug no software, todos na equipe conhecem o processo para fixá-lo. A maioria das organizações coloca a mão sobre o bug, aguardam por uma correção e enquanto ele parece funcionar, não questionam os desenvolvedores e seu processo interno a menos que há falhas óbvias e repetidas. Os Testes Automatizados se encaixam como uma luva nesse padrão, contanto que não há problemas evidentes, muitos estão inclinados em confiar que tudo está ocorrendo bem, até que somos forçados a intervir.

Por que é tão fácil de ver como a condução autônoma poderia ser problemático, mas testes automatizados é uma solução infalível? É uma questão de responsabilidade? Quando um ser humano é o teste, uma pessoa é a culpa por quaisquer problemas ou erros que não são descobertos. É uma conversa desconfortável. Quando a automação não tem nome e sem rosto, é apenas mais um bug no código. Há também a questão do custo, é mais fácil para as pessoas a quantificar o custo de um salário de testadores que o custo de escrever e manter conjuntos de testes automatizados.

E se eu quiser dirigir?
O que é interessante é que na maioria dos filmes em que você vê os carros de auto- condução, se o personagem principal fica no banco do motorista em algum momento (se não o tempo todo) eles vão querer assumir o controle manual. Quando chega a hora para a ação angustiante, fazer a diferença o protagonista não pode contar com os carros de auto-condução, não é o suficiente.
Há situações em que a interação humana é preferível se não for necessário. Isso é algo que aceitamos sem problemas vendo os filmes de Hollywood, por que é controverso em testes? E não significa que sua equipe está fazendo algo errado, é só que em algum momento a situação justifica uma abordagem diferente e não há valor em reconhecer isso.

Tester

Com relação aos carros, concordo que deva ter opção de piloto automático e manual, assim como existem em aviões. Da mesma forma é com o teste.

Não sei se é assim em todas as empresas, mas na empresa que trabalho começamos a pouco tempo uma equipe específica para testes automatizados. Então o teste manual morreu?? Não!! Na verdade, a maior parte da equipe está concentrada ainda em testes manuais, enquanto uma pequena parte está concentrada nos testes de regressão automatizados. Nosso líder tem as duas opções na mão, e utiliza as duas opções dependendo do caso.

Para testes de coisas antigas temos o teste automatizado, que é equivalente àquelas condições que o carro autônomo conhece. Já para uma situação em que é feito algo novo no software e precisa ser testado, testamos manualmente, assim como o carro precisaria de direção manual em um caso mais específico, como dirigir pelo meio do mato em um Rally.

Assim, como sempre penso, o automático e o manual não devem se excluir, mas se complementar.

O legal desse assunto, sobre auto condução, é que os carros mais modernos tem mais controle do que o ser humano em si. O que ocorre é mais a “ilusão” de controle que sempre existiu na humanidade. (ps: o que acho mais legal são os testes de frenagem automatizados. E com caminhões são mais divertidos…hehehe)

A condução em si é o que me refiro a ilusão. A minha opinião é que o ser humano não está preparado para lidar com isso. Pois basicamente é tu deixar um robo (o que cognitivamente não é muito confortável para muitos) fazer algo o qual sempre foi ensinado e cravado na mente que é mais confiável feito pelos humanos.
A google já falou sobre o que seus estudos mostram e que a grande maioria dos incidentes que ocorreram foram mais imprudencia do ser humano do que do carro em si.

E olha que pode parecer que sou um adepto a toda essa tecnologia. Que nunca mais quero dirigir. E um dos meu hobbies prediletos e sair a noite de carro e dar uma volta. Ou ir a encontro de carros antigos.

Mas e dai? O que isso tem a ver sobre a metáfora sobre testes? É que a minha opinião sobre auto condução vale para testes automatizados. Muitas pessoas ainda não estão preparadas para isso. É um processo evolutivo que precisa de tempo para maturar, mas nunca podemos dizer que é o certo. Nada nessa vida é totalitaria. Ou em 100% pleno (exceto a morte, isso é 100% que vai acontecer…), então abraçar esse tipo de “coisa” é um processo que vai demorar, mas quando acontecer, vai exigir um esforço para novas gerações lidar com isso e evoluir cada vez mais.

Bom, acho que me tornei confuso, mas o que quis dizer é:

  1. Eu acredito na auto condução. Mas é preciso de tempo para a mente humana entender os benefícios maiores que isso traz
  2. Também acredito em testes automatizados. Esse processo de maturação já está em um estágio bem elevado e o que falta é a sua evolução na conversação. E não o famoso diálogo manual vs automatizado.

E acho que era isso. Bons testes.

Log in to reply

Looks like your connection to Agile Testers was lost, please wait while we try to reconnect.