¿Cómo funcionan los errores en el software? Si el código está escrito, ¿por qué funciona después de un tiempo así en la búsqueda de la tienda de aplicaciones?

Los errores generalmente ocurren cuando los usuarios hacen algo que el desarrollador no anticipó que harían. Esto generalmente se debe a que el desarrollador tiene una única ruta de prueba a medida que se desarrollan, y nunca se les ocurre hacer lo loco que podrían hacer los usuarios del mundo real.

Un ejemplo simple es un registro. El desarrollador lo probó mil veces y funcionó perfectamente. Entonces, alguien con un apóstrofe en su nombre se inscribió, y todo el sistema comienza a actuar de manera extraña. Por supuesto, el desarrollador debería haber pensado en esto, especialmente porque es un gran agujero de seguridad, pero muchos no lo hacen.

Hay un tipo de prueba que me gusta llamar “prueba de mono de crack”. Ahí es donde haces todas las cosas locas que nadie haría, incluyendo solo mezclar teclas aleatorias en el teclado (“golpearlo como un mono de crack”) .

El desarrollador realmente no debería ser el que haga esto, están demasiado cerca del código y tienen demasiados sesgos debido a la familiaridad. Realmente debería ser alguien que no esté familiarizado con la aplicación, porque intentarán usarla de maneras inesperadas.

A veces, los errores no son conducidos por usuarios que hacen cosas inesperadas, sino por otros sistemas que hacen cosas inesperadas. Como crecimiento explosivo. Funcionó muy bien en las pruebas con 30 usuarios, y esperábamos 10,000 usuarios en el primer año, pero Oprah mencionó su aplicación y de repente tenemos 23 millones de usuarios. Todo el sistema tendrá problemas, tal vez incluso se bloqueará y se negará a retroceder. No solo todo el sistema está bajo una presión inesperada (esperaba un crecimiento, sino que asumió que encontraría errores y los solucionó mientras la base de usuarios aún era pequeña), sino que hay millones de personas que le hacen la prueba del crack crack simultáneamente, y los errores están interactuando entre sí para que no puedas saber qué está causando qué.

Es por eso que el control de calidad es tan importante.

Cuando los desarrolladores escriben código, se pierden los casos especiales o de borde, lo cual es muy natural, es muy difícil cubrir todos los casos posibles para un módulo de software dado, aparecen como errores cuando los usuarios comienzan a usarlo. Entonces, los errores ya existen dentro del software, es solo que no se descubren hasta que se encuentra un caso especial. Entonces, después de detectar errores, se corrigen y actualizan en la tienda de aplicaciones.

Los errores caen en más categorías.

Algunos son atrapados por el compilador, y si tienes suerte, no puedes completar tu programa con esos errores. Por lo tanto, generalmente se corrigen.

Algunos se deben a la falta de habilidades de programación: un usuario puede desencadenar un bucle sin fin, que no debería estar allí. Otros errores podrían hacer que el programa se bloquee.

Y como Pradeep ya mencionó, a veces los usuarios usan el programa de una manera que el desarrollador no previó. No son necesariamente errores, pero los usuarios pueden percibirlos como tales.