De acuerdo con Wikipepdia,
Un error de software es el término común utilizado para describir un error, falla, error, falla o falla en un programa o sistema informático que produce un resultado incorrecto o inesperado, o hace que se comporte de manera no intencionada.
Recientemente encontré un "error" en StarCraft 2 que produce un resultado inesperado: http://eu.battle.net/sc2/en/forum/topic/2868627470
El problema es que si mantengo StarCraft 2 minimizado durante mucho tiempo, el juego no se desconecta ni genera ningún tipo de tiempo de espera. Sin embargo, se desconecta después de la primera batalla y a veces también pierde datos del juego (estadísticas del partido).
Desafortunadamente, según Blizzard:
El juego no está diseñado para mantenerse minimizado durante un período de tiempo tan largo. (Blizzard) no puede considerar que este comportamiento sea tan erróneo como StarCraft II no debe minimizarse durante horas.
Entonces, ¿mi "error" es realmente un error?
fuente
Respuestas:
Para un equipo de software, un error es un problema de software que debe corregirse. No todos los problemas de software deben corregirse.
La actualización del software es costosa. Blizzard te dice que tu problema es un caso marginal. En otras palabras, el problema del caso límite que descubrió no es necesariamente algo que probaron o de lo que deban preocuparse. Solucionar el problema lo ayudará, pero con toda probabilidad no ayudará a muchos otros. Sin embargo, el costo para corregir el error podría ser alto. En cambio, pueden invertir sus recursos en nuevas funciones o incluso terminar Diablo III.
fuente
Esto me recuerda al gato en el microondas , específicamente el caso de la Sra. Smith en 1983.
El punto es que espera que el producto funcione de esa manera. Principalmente porque varios productos similares funcionan así, es decir, si los minimiza durante horas y luego los abre, funcionan (aunque lo contrario no es tan raro como podría pensar).
La Sra. Smith sabía por su experiencia, que secar a sus gatos en el horno no los dañaría (suponiendo cierta precaución, por supuesto). Más precisamente por la experiencia que tuvo con todos los hornos que probó. Luego asumió que sería lo mismo para el horno de microondas que le dieron. Esta suposición estaba mal. Las microondas no están diseñadas para secar gatos. Tampoco los hornos convencionales. Simplemente no matan al gato en el proceso como efecto secundario de los procesos físicos que emplean para generar calor.
Ahora, como productor de microondas, puede colocar una bobina de calentamiento y una cantidad de sensores en el microondas. Este último determinaría si el contenido actual es un gato y usaría la bobina en lugar de las microondas.
De la misma manera, uno podría producir un microondas adecuado para gatos secos, Blizzard podría crear una versión de SC2 que sea adecuada para permanecer en estado minimizado durante períodos prolongados de tiempo.
Personalmente, estaría dispuesto a pagar más dinero por un microondas habilitado para secado de gatos solo por el gusto de hacerlo (suponiendo que haya un gran logotipo de idoneidad de secado de gatos en el frente que puedo señalar con orgullo). Pero no me interesaría un juego que pueda mantenerse minimizado durante horas.
SC2 fue diseñado para cumplir con ciertos requisitos. Tu expectativa no es parte de eso. Usted es libre de medir SC2 con respecto a sus expectativas. Pero si Blizzard los incluye o no a todos en el alcance de sus requisitos es, en última instancia, su elección.
Todo lo que realmente podría discutir es que es un fallo de diseño. El sentido común dicta que a menos que una fracción sustancial de los usuarios estén confundidos por el diseño o que no estén contentos con él, es lo suficientemente bueno. Estoy seguro de que si suficientes usuarios declaran que comparten sus expectativas, Blizzard cederá y lo incluirá en el diseño. Esto convertiría su problema en un error real y Blizzard lo solucionaría.
fuente
Creo que este es un caso de software que no se utiliza según lo definido por las especificaciones. Ellos dicen
Lo que significa que tienen alguna definición en algún lugar de lo que cuenta como un "largo período de tiempo". Si minimiza el programa por más de un "largo período de tiempo", va más allá de sus especificaciones y más allá de lo que probaron (suponiendo que lo probaron formalmente) y no garantizan lo que sucederá. Por supuesto, hubiera sido bueno si el manual en alguna parte dijera "solo hemos probado que este programa se minimice por períodos de tiempo que no excedan los 10 minutos. ¡Minimice por más tiempo que esto bajo su propio riesgo!".
Entonces no, no creo que esto sea realmente un error. En mi oficina, esto se llamaría un "problema de capacitación del usuario" (lo que diría que es una forma de problema de comunicación , porque en este caso porque no se comunicó al usuario un período máximo para minimizar el tiempo) ya que el usuario está no usa el programa correctamente. No es que ayude mucho a Blizzard, a menos que lo pongan en el manual ...
fuente
No es un error Un error es un comportamiento que no cumple con la especificación. Si la especificación dice que el caso de uso no es un comportamiento compatible, entonces cualquier comportamiento, percibido como válido o no, en ese caso de uso es 'por diseño'.
En este escenario, el juego que funciona podría percibirse como un comportamiento indefinido.
fuente
Si yo fuera un líder de equipo de desarrollo en ese proyecto, lo llamaría un error, pero uno menor, ya que está muy por fuera de las expectativas operativas normales del software. Si se iba a trabajar en algo, probablemente lo asignaría a un programador junior o un nuevo empleado más como un ejercicio de aprendizaje para ellos que cualquier otra cosa.
Es una buena idea hacer un seguimiento de estos errores menores, ya que pueden indicar problemas potencialmente de mayor alcance. Por ejemplo, el error de guardado de datos que encontró. Parece menor debido a cómo sucedió, pero puede haber otros casos en los que se pierden datos. Al utilizar un sistema de informe de errores, puede encontrar todos los casos en los que surgió un problema similar y ver si hay un elemento común. En un sistema complejo, tener este tipo de cosas documentadas puede ayudarlo a encontrar errores más serios y sutiles.
fuente
Voy a estar en desacuerdo con la mayoría de la gente aquí.
Como ex jugador de Starcraft (original), puedo dar fe de que este es (o fue, al menos) un comportamiento muy común. Los usuarios abandonan el juego las 24 horas del día, los 7 días de la semana para mantener su posición en las salas de chat y unirse a los juegos cuando vuelven. Estoy seguro de que Battle.net actualizado tiene algunas mejoras que pueden disminuir la necesidad de esto, pero aún sucede mucho.
Tendría mucho más sentido que no te permita unirte a un juego sin volver a conectarte si tu sesión ha expirado de alguna manera. El hecho de que te permita unirte a los juegos después de haber expirado tu sesión es un error para mí. Lo inquietante aquí, y algo que aún no se ha mencionado, es que los desarrolladores necesitan comprender a sus usuarios. Esto puede muy bien ser un caso límite, pero es un caso límite para los jugadores muy dedicados que deberían configurar para complacer.
Técnicamente, pueden argumentar que es por diseño, y no es algo que pretenden arreglar. Todavía es una falla en mis ojos, lo que en última instancia depende de ellos si lo clasifican o no como un error. Eso no significa que los jugadores estén de acuerdo.
De todos modos, pensé que plantearía una respuesta ligeramente diferente de lo que se ha publicado hasta ahora.
fuente
Un error podría definirse razonablemente como "cualquier desviación del comportamiento previsto del software".
Claramente, ellos (y es su software para poder determinar cómo debería comportarse) nunca pretendieron que el software manejara este escenario, por lo que no cumple con esta definición de error.
Sin embargo, lo que diría es, al menos, subóptima es la forma en que maneja esta condición.
La basura que entra, la basura que sale (es decir, el usuario hace algo estúpido, malo o inesperado y, como resultado, algo malo sucede) se ha considerado un comportamiento deficiente. Por lo menos, diría que debería ser más elegante en la forma en que maneja esta condición.
Entonces, no es estrictamente un error, sino un mal manejo de un caso extremo.
Dicho esto, si yo fuera ellos, no es algo que probablemente considere que valga la pena arreglar (demasiado costoso por muy poco beneficio), aunque podría mencionarlo al equipo para referencia futura de que era algo que podrían haber manejado mejor.
fuente
La definición de un error no tiene nada que ver con el comportamiento del software. Un error se define en función de si el comportamiento del software coincide con su intención. ¿Y quién puede decir cuál fue la intención? (Como estoy tratando con programadores aquí, aclararé la primera oración: no hay un posible comportamiento del software que, en sí mismo, constituya un error).
Tenga en cuenta que, en general, un error es algo que los desarrolladores de software deben solucionar. Entonces, la definición de un error se basa en lo que quieren arreglar. Por ejemplo, "trabajar correctamente más del 50% del tiempo es una característica que planeamos lanzar en futuras versiones". Cualquier cosa se puede definir como no ser un error al pretender que el software nunca tuvo la intención de abordar ese problema en particular. Entonces, en la práctica, lo que constituye un error es una consideración puramente política.
(Por otro lado, esto corta en ambos sentidos. Para un cliente que no tiene que pagar por las correcciones de errores, pero sí tiene que pagar por un nuevo desarrollo ", no tiene alguna característica que solo pensé pero que ahora tengo decidido está 100% implícito por las cosas que mencioné "es claramente un error).
fuente
No consideraría no desconectar un error. Es solo un error si se suponía que se desconectaría (por diseño, intención) y no lo hace. Llamaría a lo que envió una solicitud de función.
Dicho esto, perder datos después de la batalla, ese podría ser el error. No sé mucho sobre Starcraft, pero sospecho que no es por diseño.
fuente