Wszyscy widzieliśmy niezliczone przykłady oprogramowania dostarczanego z „minimalnymi wymaganiami systemowymi”, takie jak:
- Windows XP / Vista / 7
- 1 GB pamięci RAM
- 200 MB pamięci
Jak są one ogólnie określone? Oczywiście czasami występują określone ograniczenia (jeśli program zajmuje 200 MB na dysku, jest to trudne wymaganie). Oprócz tych sytuacji, wiele razy dla takich rzeczy jak pamięć RAM lub procesor okazuje się, że im więcej / szybciej, tym lepiej bez żadnych ograniczeń. Jak się to określa? Czy programiści po prostu tworzą liczby, które wydają się rozsądne? Czy kontrola jakości przechodzi rygorystyczny proces testowania różnych wymagań, dopóki nie znajdzie najniższych ustawień z akceptowalną wydajnością? Mój instynkt mówi, że powinien to być ten drugi, ale w praktyce często ten drugi.
documentation
requirements
qa
Michael McGowan
źródło
źródło
Odpowiedzi:
Często minimalne wymagania są ustalane przez sprawdzenie rodzajów systemów, które klienci docelowi faktycznie używają dla danego produktu, i wybranie rozsądnego punktu odcięcia, który nie zrazi klienta docelowego i jest czymś, co dział kontroli jakości może przetestować przy minimalnym dodatkowy kłopot.
Jeśli na przykład spodziewasz się, że większość Twoich klientów zamierza zainstalować Twój produkt na stosunkowo nowych komputerach stacjonarnych, prawdopodobnie rozejrzysz się i zobaczysz, że każdy mniej wydajny komputer stacjonarny do domu zostanie dostarczony z 2 GB pamięci RAM . Tak więc najnowszy komputer najprawdopodobniej ma co najmniej 1 GB pamięci RAM, nawet jeśli ma kilka lat. Jeśli bardzo niewielu klientów będzie chciało korzystać z komputera, który ma tylko 512 MB pamięci RAM, przychody ze sprzedaży będą prawdopodobnie więcej niż zrekompensowane prośbami o wsparcie (starsze maszyny mogą mieć wiele innych problemów i niezgodności, które będą powodować problemy i generować więcej zgłoszeń do pomocy technicznej niż inni klienci). Dlatego bardziej opłacalne może być unikanie sprzedaży tym klientom.
Jest to mniej więcej ten sam rachunek, który pomaga ustalić, które przeglądarki internetowe i rozdzielczości ekranu mają być obsługiwane. Nawet jeśli witryna może działać poprawnie na IE 6 w rozdzielczości 640x800, jeśli 99% użytkowników korzysta z nowszych przeglądarek internetowych i ma większe rozdzielczości ekranu, prawdopodobnie lepiej jest określić, że obsługuje IE 7 i nowsze wersje, i nie próbować utrzymywać stare pudełko IE / VM do testowania regresji, niż jesteś w stanie zaspokoić 1% rynku docelowego, który używa naprawdę starych wersji przeglądarki.
źródło
Betas.
Zazwyczaj firma produkująca oprogramowanie wydaje wersję beta swojego produktu (kilka miesięcy do kilku tygodni przed wydaniem produkcyjnym, w zależności od wielkości i złożoności produktu). Te wersje beta mogą mieć wbudowane mierniki do monitorowania i raportowania serwerowi wydajności aplikacji w stosunku do specyfikacji systemu. To, albo po prostu polegają na tych testerach beta, którzy wiernie zdają relację ze specyfikacji systemu i postrzeganej wydajności.
Biorąc pod uwagę wystarczająco duży przykładowy zestaw danych, nie jest trudno ekstrapolować średnie wymagania systemowe.
źródło
Istnieje kilka czynników, które zwykle są brane pod uwagę.
Niektóre są twarde wymagania : mam zależność, która wymaga 1 GB pamięci RAM, używam funkcji, która jest niezgodna z IE 6 itp.
Niektóre są moje oczekiwania względem rynku w porównaniu do wysiłku testowego : jeśli nie sądzę, że wielu klientów będzie używać XP, to mogę wymagać co najmniej Visty i nie muszę testować na XP (oszczędzając dużo czasu i wysiłku na testowaniu), jeśli się spodziewam klienci posiadający wysokiej klasy komputery Mogę wymagać szybszego procesora (oszczędzając też moich testerów dużo czasu) itp.
„Minimalne wymagania systemowe” są tak naprawdę stwierdzeniem minimalnego oficjalnie obsługiwanego systemu. Możesz spróbować uruchomić oprogramowanie na mniejszym systemie i możesz odnieść sukces, ale jeśli nie działa dobrze, nie narzekaj na używanie, ponieważ cię ostrzegaliśmy.
źródło
Niektóre wymagania można określić na podstawie dołączonych bibliotek, na przykład funkcja Win32 API CreateFile stwierdza, że wymaga systemu Windows 2000 Professional jako minimalnego obsługiwanego klienta. Niezależnie od tego, czy to robi, czy nie, ryzykujesz, że masz min. wymóg Windows 98.
Minimalne wymagania dotyczące pamięci są, moim zdaniem, trudne, ze względu na dynamiczne przydzielanie i rekurencję. Możesz oszacować rozmiar stosu (mogą tu występować problemy z wywołaniami funkcji rekurencyjnych) i możesz oszacować rozmiar stosu na podstawie tego, jak myślisz, że twój program zostanie wykonany. Pod koniec dnia myślę, że to prawdopodobnie boisko do gry.
Wymagania procesora, które nie są oparte na użyciu zestawu instrukcji lub specjalnych funkcjach dostępnych na chipsecie, są ogólnie rzecz biorąc, moim zdaniem, szacunkami, zwłaszcza że wiem, że prowadziłem wiele gier na P4, które wymagały minimum Core 2 Duet ... Byłem wdzięczny, że to działało, więc nie narzekałem na żadne problemy z wydajnością :-)
Zgadzam się z komentarzami na temat przeglądarek, rozdzielczości itp. ... staje się „tym, co chcesz obsługiwać” w przeciwieństwie do wymagań technicznych. Podobnie do powyższego komentarza mojego procesora, może działać, a jeśli tak, to świetnie! Jeśli nie ... no cóż, jest poniżej minimum i nie jest obsługiwane;)
Mam nadzieję, że to pomoże.
źródło
Nie zapomnij o wkładzie działów sprzedaży i marketingu. Jeśli wiesz, że większość komputerów w biznesie X, na które próbujesz sprzedać, ma określoną specyfikację, może również złożyć marketingowe „żądanie” inżynierii :) Możesz zapytać, w jaki sposób sprzedaż zna typ komputerów klienta ma Po prostu dyskretnie spójrz na numer Dell / HP / inny model na maszynie podczas rozmowy sprzedaży - większość firm ma umowy serwisowe, więc nie chowają się za wnętrzami swoich komputerów (to, co widzisz, dostajesz).
źródło