Skalbarhetstest: 7 Steg Mot Framgång
System som fungerar mycket bra under utvecklingen, distribuerade i en liten skala, kan försumma att uppfylla prestationsmålen när utplaceringen skalas runt stöd för verkliga grader av användning.
Ett appositerat exemploriskt fall av detta härstammar från ett betydande blått chipföretag som nyligen outsourcade utvecklingen av en framåt tänkande högteknologiplattform. Även om utvecklingen låg bakom schemat anses detta vara acceptabelt. Maskinen passerade gradvis genom funktionella komponenter i en individuell godkännandeprovning och slutligen verkade det som om ett distributionsdatum eventuellt kunde ställas in. Men leverantören startade lasttestning och skalbarhetstest. Därefter följde en utökad och kostsam mängd arkitektoniska förändringar och förändringar i maskinkraven. Leverantören kämpade heroiskt för att leverera ett tillfredsställande system, tills projektet slutligen var mal.
Detta är inte ett isolerat fall. Det folklore finns i överflöd med liknande berättelser. Från ambulansdispisningssystem till webbplatser för elektronisk inlämnande av beskattningsförklaringar misslyckas system eftersom de skalar och upplever toppkrav. Alla dessa projekt verkar aldrig ha identifierat och beställt de stora riskerna de stod inför. Detta kan vara ett grundläggande stadium av riskbaserad testning och gäller lika för skalbarhetstestning eller belastningstestning eftersom det gör för funktionalitetstestning eller kontinuitetstestning. Utan riskbedömning erkände de inte att skalningen var mellan de största riskerna, mycket mer för att leverera all funktionalitet
Nya trender mot serviceorienterad arkitektur (SOA) försöker ta itu med problemet med skalbarhet men introducerar dessutom nya problem. Att integrera externt tillhandahållna tjänster i din nuvarande lösning innebär att din förmåga att skala nu är beroende av att dessa externa system fungerar under belastning. Att säkerställa att detta kan vara en krävande uppgift och tyvärr är töjningstestning och stresstestning här ofta förbises.
Bättre praxis skulle vara att starta utvecklingen av ett stort programvarusystem med hjälp av dess prestanda tydligt i hjärtat, särskilt skalbarhetstest, volymtestning och lasttestning. För att generera detta prestationstestfokus: