Мы все видели бесчисленные примеры программного обеспечения, которое поставляется с «минимальными системными требованиями», например:
- Windows XP / Vista / 7
- 1 ГБ ОЗУ
- 200 МБ для хранения
Как они вообще определяются? Очевидно, что иногда существуют определенные ограничения (если программа занимает 200 МБ на диске, то это жесткое требование). Помимо этих ситуаций, много раз для таких вещей, как ОЗУ или процессор, оказывается, что больше / быстрее лучше без жестких ограничений. Как они определяются? Разработчики просто составляют цифры, которые кажутся разумными? Проходит ли QA строгий процесс тестирования различных требований, пока не найдут самые низкие настройки с приемлемой производительностью? Мой инстинкт говорит, что это должно быть последнее, но часто первое на практике.
documentation
requirements
qa
Майкл МакГоуэн
источник
источник
Ответы:
Зачастую минимальные требования устанавливаются путем рассмотрения типов систем, которые целевые клиенты рынка будут использовать для рассматриваемого продукта, и выбора некоторого разумного сокращения, которое не отталкивает целевого клиента и является тем, что отдел контроля качества может протестировать с минимальным дополнительные хлопоты.
Если вы ожидаете, что большинство ваших клиентов собираются установить ваш продукт, например, на сравнительно недавние настольные компьютеры, вы, вероятно, оглянетесь вокруг и увидите, что практически любой недорогой настольный компьютер для дома поставляется с 2 ГБ ОЗУ. , Таким образом, новейший компьютер, скорее всего, будет иметь как минимум 1 ГБ ОЗУ, даже если ему пару лет. Если очень немногие из ваших клиентов захотят использовать машину с оперативной памятью всего 512 МБ, выручка от этих продаж, скорее всего, будет более чем компенсирована запросами на поддержку (на старых машинах может быть много других проблем и несовместимости, которые вызовут проблемы и вызовут больше звонков в службу поддержки, чем у других клиентов). Так что может быть выгоднее избегать продаж этим клиентам.
Это примерно то же исчисление, которое используется для определения того, какие веб-браузеры и разрешения экрана вы хотите поддерживать. Даже если сайт может нормально работать в IE 6 в разрешении 640x800, если 99% ваших пользователей используют более свежие веб-браузеры и имеют более высокое разрешение экрана, вам, вероятно, лучше указать, что вы поддерживаете IE 7 и выше и не пытаетесь поддерживать старая коробка IE 6 / VM для регрессионного тестирования, чем вы, обслуживаете 1% целевого рынка, который использует действительно старые версии браузера.
источник
Беты.
Как правило, компания-разработчик выпускает бета-версию своего продукта (от нескольких месяцев до нескольких недель до выпуска продукта, в зависимости от размера и сложности продукта). Эти бета-версии могут иметь встроенные метрики для мониторинга и предоставления серверу отчетов о производительности приложения относительно системных характеристик. Это, иначе они просто будут полагаться на то, что эти бета-тестеры будут честно сообщать о своих системных характеристиках и предполагаемой производительности.
Учитывая достаточно большой выборочный набор данных, нетрудно экстраполировать средние системные требования.
источник
Есть несколько факторов, которые обычно учитываются.
Некоторые из них жесткие : у меня есть зависимость, требующая 1 ГБ ОЗУ, я использую функции, несовместимые с IE 6 и т. Д.
Некоторые из них - мои ожидания от рынка и усилий по тестированию : если я не думаю, что многие клиенты будут использовать XP, тогда мне может потребоваться хотя бы Vista, и мне не придется тестировать на XP (экономя много времени и усилий на тестирование), если я ожидаю Клиенты, имеющие высококлассные компьютеры, могут потребовать более быстрый процессор (что также сэкономит моим тестерам время) и т. д.
«Минимальные системные требования» на самом деле являются заявлением о минимальной системе, которая официально поддерживается. Вы можете попытаться запустить программное обеспечение на более низкой системе, и вы можете добиться успеха, но если оно не работает должным образом, не жалуйтесь на использование, потому что мы предупреждали вас.
источник
Некоторые требования могут быть определены на основе включенных вами библиотек, например, функция Win32 API CreateFile утверждает, что для нее требуется Windows 2000 Professional в качестве минимально поддерживаемого клиента. Делает это или нет, но вы рискуете сказать, что у вас есть мин. требование Windows 98.
Я думаю, что минимальные требования к памяти сложны из-за динамического выделения и рекурсии. Вы можете оценить размер стека (рекурсивные вызовы функций могут быть проблемой здесь), и вы можете оценить свой размер кучи на основе того, как, по вашему мнению, будет выполняться ваша программа. В конце дня я думаю, что это, вероятно, приблизительная оценка.
Требования к процессору, которые не основаны на использовании набора инструкций или специальных функций, имеющихся на чипсете, - это, как правило, приблизительные оценки, тем более, что я знаю, что на P4 я запускал много игр, в которых требовалось минимум Core 2 Дуэт ... Я был благодарен, что он запустился, поэтому я не жаловался на проблемы с производительностью :-)
Я согласен с комментариями о браузерах, разрешениях и т. Д., Это становится «тем, что вы хотите поддерживать», а не техническим требованием. Аналогично моему комментарию о процессоре, приведенном выше, он может работать, и если это так, то отлично! Если это не так ... ну это ниже минимумов и не поддерживается;)
Надеюсь, это поможет.
источник
Не забывайте вклад отделов продаж и маркетинга. Если вы знаете, что большинство компьютеров в бизнесе X, которые вы пытаетесь продать, имеют заданную спецификацию, это также может сделать маркетинговый «запрос» на разработку :) Вы можете спросить, как отдел продаж знает тип компьютеров, которые клиент есть. Просто взгляните на Dell / HP / любой другой номер модели на машине во время звонка - у большинства компаний есть контракты на обслуживание, поэтому они не лезут внутрь своих компьютеров (что вы видите, то и получаете).
источник