Todos hemos visto innumerables ejemplos de software que se entrega con "requisitos mínimos del sistema" como los siguientes:
- Windows XP / Vista / 7
- 1 GB de RAM
- 200 MB de almacenamiento
¿Cómo se determinan estos generalmente? Obviamente, a veces hay restricciones específicas (si el programa toma 200 MB en el disco, entonces es un requisito difícil). Aparte de esas situaciones, muchas veces para cosas como RAM o procesador resulta que más / más rápido es mejor sin restricciones duras. ¿Cómo se determinan estos? ¿Los desarrolladores simplemente inventan números que parecen razonables? ¿QA pasa por un proceso riguroso que prueba varios requisitos hasta que encuentran la configuración más baja con un rendimiento aceptable? Mi instinto dice que debería ser lo último, pero a menudo es lo primero en la práctica.
fuente
Respuestas:
Con frecuencia, los requisitos mínimos se establecen al observar los tipos de sistemas que los clientes del mercado objetivo realmente usarían para el producto en cuestión y elegir un límite razonable que no aleje al cliente objetivo y es algo que el departamento de control de calidad puede probar con un mínimo molestia adicional.
Si espera que la mayoría de sus clientes instalen su producto en computadoras de escritorio relativamente recientes, por ejemplo, probablemente mire a su alrededor y vea que casi cualquier computadora de escritorio de gama baja para el hogar se enviará con 2 GB de RAM . Por lo tanto, es muy probable que una computadora reciente tenga al menos 1 GB de RAM, incluso si tiene un par de años. Si muy pocos de sus clientes van a querer usar una máquina que solo tiene 512 MB de RAM, es probable que los ingresos de estas ventas se vean más que compensados por las solicitudes de soporte (es probable que las máquinas más antiguas tengan muchos otros problemas y incompatibilidades que causarán problemas y generarán más llamadas a la mesa de ayuda que otros clientes). Por lo tanto, puede ser más rentable evitar hacer ventas a esos clientes.
Este es más o menos el mismo cálculo que entra en averiguar qué navegadores web y resoluciones de pantalla desea admitir. Incluso si el sitio puede funcionar bien en IE 6 en 640x800, si el 99% de sus usuarios están utilizando navegadores web más recientes y tienen resoluciones de pantalla más grandes, probablemente sea mejor especificar que es compatible con IE 7 y superior y no tratar de mantener un antiguo IE 6 box / VM para pruebas de regresión que el que atiende al 1% de su mercado objetivo que está utilizando versiones de navegador realmente antiguas.
fuente
Betas
Por lo general, una compañía de software lanzará una versión beta de su producto (unos meses o algunas semanas antes del lanzamiento de producción, dependiendo del tamaño y la complejidad del producto). Estas versiones beta pueden tener métricas integradas para monitorear e informar a un servidor el rendimiento de la aplicación en relación con las especificaciones del sistema. Eso, o simplemente dependerán de estos probadores beta para informar fielmente con las especificaciones de su sistema y el rendimiento percibido.
Dado un conjunto de datos de muestra lo suficientemente grande, no es difícil extrapolar un requisito promedio del sistema.
fuente
Hay varios factores que generalmente se consideran.
Algunos son requisitos difíciles : tengo una dependencia que requiere 1 GB de RAM, uso una funcionalidad incompatible con IE 6, etc.
Algunas son mis expectativas del mercado frente al esfuerzo de prueba : si no creo que muchos clientes usen XP, entonces puedo requerir al menos Vista y no tener que probar en XP (ahorrando mucho tiempo y esfuerzo de prueba), si espero los clientes tienen computadoras de alta gama. Puedo requerir un procesador más rápido (ahorrando mucho tiempo a mis probadores también), etc.
Los "Requisitos mínimos del sistema" son realmente una declaración del sistema mínimo que se admite oficialmente. Puede intentar ejecutar el software en un sistema menor y podría tener éxito, pero si no funciona bien, no se queje porque lo advertimos.
fuente
Algunos requisitos pueden determinarse en función de las bibliotecas que ha incluido, por ejemplo, la función Win32 API CreateFile establece que requiere Windows 2000 Professional como el cliente mínimo admitido. Ya sea que lo haga o no, correría un riesgo real decir que tiene un mínimo. requisito de Windows 98.
Los requisitos mínimos de memoria son, creo, complicados, debido a la asignación dinámica y la recursividad. Puede estimar un tamaño de pila (las llamadas a funciones recursivas podrían ser un problema aquí) y puede estimar el tamaño de su montón en función de cómo cree que se ejecutará su programa. Al final del día, creo que es probablemente un estadio de béisbol.
Los requisitos del procesador, que no se basan en el uso del conjunto de instrucciones o las características especiales que se encuentran en el conjunto de chips, generalmente son estimaciones, especialmente porque sé que he ejecutado muchos juegos en un P4 que requería un mínimo de un Core 2 Duo ... Estaba agradecido de que funcionara, así que no me quejé por ningún problema de rendimiento :-)
Estoy de acuerdo con los comentarios sobre navegadores, resoluciones, etc., se convierte en "lo que desea admitir" en lugar de un requisito técnico. De manera similar al comentario de mi procesador anterior, puede funcionar, y si lo hace, ¡genial! Si no lo hace ... bueno, está por debajo de los mínimos y no es compatible;)
Espero eso ayude.
fuente
No olvide los aportes de los departamentos de ventas y marketing. Si sabe que la mayoría de las computadoras en el negocio X que está tratando de vender son de una especificación determinada, eso también puede hacer una "solicitud" de ingeniería de marketing :) Puede preguntar cómo las ventas conocen el tipo de computadoras que un cliente tiene. Simplemente eche un vistazo discreto al Dell / HP / cualquier número de modelo en una máquina durante una llamada de ventas: la mayoría de las empresas tienen contratos de servicio para que no estén jugando en las entrañas de sus PC (lo que ves es lo que obtienes).
fuente