Registro do desenvolvimento do metrônomo
Os testes de aplicativos de desenvolvimento pessoal podem ser deixados para a IA? Resultados de verificação com metrônomo
Um exemplo de desenvolvimento de metrônomo será usado para mostrar quantos testes de aplicativos de desenvolvimento pessoal podem ser confiados à IA. Resumiremos a aprovação em 109 testes automáticos, a descoberta de defeitos de transição de tela, a análise de gravações de 96 BPM e o intervalo final de confirmação humana.

Se você estiver desenvolvendo um aplicativo sozinho, não será fácil encontrar tempo suficiente para testes. Isso porque é necessário implementar, verificar a operação, registrar resultados e investigar defeitos por uma só pessoa.
Como resultado do uso de IA no desenvolvimento do aplicativo metrônomo, avalio que No caso do desenvolvimento individual, a IA pode ser a principal responsável pelos testes.
Eles não apenas foram capazes de descobrir defeitos que os humanos não perceberam, mas também confirmaram a precisão do ritmo usando cálculos e análises de registros. No entanto, a confirmação final das especificações e resultados e a decisão de publicação são feitas por humanos.
O alcance deixado para a IA e o alcance confirmado pelos humanos
Neste desenvolvimento, realizamos testes nas seguintes etapas:
| fase de testes | Versão usada |
|---|---|
| locais | construção de desenvolvimento |
| teste interno | Construção de verificação |
| teste próximo | Construção de produção |
Neste artigo, "teste usando IA" inclui não apenas a operação do terminal usando IA, mas também a verificação usando testes automatizados e processamento de análise. Nem tudo foi confirmado apenas através de operações de tela de IA ou julgamento visual.
Deixamos a maioria das tarefas para a IA, como determinar a perspectiva de teste, criar especificações em formato Excel, operar o terminal, determinar aprovação/reprovação, fazer capturas de tela e confirmar a reprodução de defeitos.
O fluxo básico é o seguinte.
- AI identifica perspectivas de teste e cria especificações de teste em formato Excel
- Após a revisão da IA, um humano confirma a versão final da especificação
- AI executa o teste no dispositivo de verificação e registra resultados e capturas de tela
- Compare os resultados dos testes e as evidências e, após a revisão da IA, a confirmação final por humanos
Como prova, use capturas de tela tiradas no dispositivo de verificação durante a execução do teste. As imagens não serão geradas ou processadas pela geração AI.
Os desenhos foram verificados por humanos com o auxílio de IA. A IA é responsável pela execução e os humanos são responsáveis por verificar os pontos importantes de especificações, resultados e aparência.
Descubra defeitos que outros não perceberam
Um dos bugs descobertos pela IA foi Se você realizar uma operação específica, poderá fazer a transição para uma tela que deveria ter sido descartada.
Não vou revelar as operações específicas ou configuração da tela, mas é uma inconsistência que permite retornar a uma tela que você não deveria conseguir alcançar. Pelo que confirmamos, não houve nenhum dano real aos usuários, mas determinamos que havia um problema com o gerenciamento do estado da tela que precisava ser corrigido.
Este problema foi esquecido nos testes em humanos.
A IA até especificou as etapas para reproduzi-lo. Fazemos revisões com base no conteúdo, testamos novamente usando IA e, em seguida, realizamos a confirmação final por humanos.
Em testes anteriores, também descobrimos e corrigimos um problema em que a exibição do botão por 10 a 12 batidas quebrava as linhas e um problema de interface do usuário em que as notificações cobriam operações de entrada/confirmação.
Quando você mesmo implementa uma função, tende a verificá-la concentrando-se na operação esperada. Com base neste resultado, sinto que a IA pode não apenas realizar o trabalho para mim, mas também assumir o papel de detectar problemas que perdi durante minhas próprias verificações.
Verificando a precisão do ritmo através de cálculo e gravação
A essência de um metrônomo é sua capacidade de marcar com precisão um ritmo em um andamento definido. Portanto, verificamos a posição de sondagem calculada e o intervalo real entre os sons.
Verifique os cálculos do relógio interno
Para o relógio interno que gera o som, calculamos a posição esperada do som utilizando um método de cálculo diferente da implementação e comparamos os resultados. Isso ocorre porque o mesmo erro de cálculo não será transportado para o valor esperado.
Testes anteriores de relógio interno verificaram as seguintes condições:
| Alvo de verificação | condições |
|---|---|
| Combinação de andamento e número de divisões | 30, 31, 96, 137, 299, 300 BPM x número de divisões 1 a 4. Equivalente a 10 minutos cada |
| cálculos longos | 137 BPM semicolcheias equivalentes a 30 minutos |
Dentro desta faixa, confirmamos que o erro da posição de sondagem esperada estava dentro de uma amostra e que não houve sobreposição na posição de sondagem esperada.
“Equivalente a 10 minutos” e “equivalente a 30 minutos” são faixas de verificação de cálculo. Este não é o resultado da medição com um dispositivo real que continua a produzir som durante o mesmo período de tempo.
Grave e verifique o som que sai dos alto-falantes
Além dos cálculos internos, gravamos e analisamos o som real do alto-falante com um microfone por cerca de 1 minuto a 96 BPM.
Detectamos 88 batidas da seção excluindo antes e depois da gravação, e obtivemos os seguintes resultados.
| Artigo | Resultados de medição |
|---|---|
| Configurando BPM | 96 BPM |
| BPM estimado | 95.998 BPM |
| intervalo médio de batida | 625,011 ms (valor teórico 625 ms) |
| desvio padrão do intervalo de batimento | Aproximadamente 1,32ms |
| Intervalo de intervalo de batida | 622〜628 ms |
Em nossas condições, pudemos confirmar que o andamento médio era de aproximadamente 96 BPM. Não foram detectados intervalos longos indicando batimentos ausentes no intervalo analisado.
No entanto, 95.998 BPM é uma estimativa analítica e não garante precisão de medição até essa ordem de grandeza. A detecção é feita em incrementos de 2 ms e inclui erros no sistema de registro e análise, portanto não se pode afirmar que todas as variações observadas sejam devidas ao aplicativo.
Além disso, o som de saída foi medido a 96 BPM durante cerca de 1 minuto. O som de saída em outros tempos e o desvio cumulativo devido à reprodução longa não foram verificados.
Foi particularmente útil não só poder julgar com os meus ouvidos que não havia problema, mas também poder confirmá-lo numericamente. O facto de termos conseguido prosseguir com a medição e análise com o apoio da IA levou à profundidade da confirmação.
O que confirmei na construção de produção
Nesta versão de produção, 109 testes automatizados foram aprovados. Além disso, estou verificando o seguinte comportamento no terminal:
- Mudança de ritmo
- Operação de reprodução quando a tela está desligada
- Pare de notificações
- Manter as configurações após a reinicialização
Também confirmamos que a trilha de áudio funciona mesmo quando as luzes estão apagadas e que a falta de buffer para essa trilha é 0 no momento da aquisição. Este resultado obtido não garante que não haverá interrupções no som durante todo o período de reprodução.
Embora a qualidade não possa ser determinada apenas pelo número de testes realizados, ao combinar testes automáticos, operação do terminal e análise do som de saída, conseguimos verificar de uma perspectiva diferente.
Questões que permanecem ao confiar
Requer preparação e manutenção do ambiente de execução
Ao executar vários emuladores ao mesmo tempo, a CPU e a memória do PC são restrições. Para dispositivos reais, o método de conexão e o status de compatibilidade da ferramenta de operação, e para ambientes de terminal em nuvem, os custos também devem ser considerados.
Além de construir o ambiente inicial, há também o incômodo de atualizar os testes em resposta às mudanças nas telas e nas especificações.
As pessoas também verificam os resultados e desenhos esperados.
Se o resultado esperado estiver errado, não importa quantos testes você execute, você não conseguirá avaliá-lo corretamente. Ao confiar o desenvolvimento e os testes à mesma IA, deve-se tomar cuidado para que a mesma interpretação da especificação possa ser herdada.
Portanto, a confirmação final das especificações e resultados é realizada por humanos. Também é importante não deixar passar no exame os itens que você não conseguiu realizar ou julgar.
Alguns problemas de desenho e desconforto durante a operação são difíceis de avaliar apenas por uma imagem estática. Deixaremos o processo de tocar e verificar a máquina real antes de divulgá-la ao público.
Especificações e telas também servem como informações a serem repassadas a terceiros.
Especificações e capturas de tela passadas ao serviço de IA podem revelar funções e conteúdo comercial não divulgados. Deve-se ter cuidado especial ao manusear projetos confiados ou dados de usuários.
Verificamos separadamente se os dados serão utilizados para aprendizagem, por quanto tempo serão salvos e quem pode acessá-los, e determinamos se o contrato e as configurações a serem utilizadas atendem às condições do projeto. O uso de dados fictícios e contas de teste também é algo que você deve decidir no momento da implementação.
No desenvolvimento pessoal, você pode ser o principal responsável pela IA.
“É correto usar IA apenas para testes de aplicativos no nível do único proprietário?”
Minha resposta, baseada em minha experiência, é que a maior parte do trabalho de teste é deixada para você. No entanto, a confirmação final e a decisão de publicação são deixadas ao critério da pessoa.
No mínimo, os resultados foram melhores do que consegui alcançar sozinho. Isso ocorre porque encontramos um bug que havíamos esquecido e pudemos verificar tudo, desde cálculos internos até o som de saída real.
Isso não indica superioridade ou inferioridade em relação aos engenheiros gerais ou engenheiros de controle de qualidade. Minha experiência foi que consegui usar IA para compensar minha falta de habilidades de teste e as limitações de fazer o desenvolvimento e a verificação sozinho.
As empresas autônomas exigem que você desempenhe várias funções em um período limitado de tempo. A IA também requer preparação e confirmação, mas ao confiar-lhe execução repetitiva, registro e investigação de problemas, você pode gastar seu tempo tomando decisões importantes.
Capacidade de expandir a carga de trabalho de uma pessoa e avançar para confirmações que antes eram inacessíveis. Este é o valor mais importante dos testes de IA ao desenvolver o metrônomo.