Tekniker för att testa mjukvara Analys av testtekniker samt risker med ett mjukvarubaserat börssystem



Relevanta dokument
Handelsregler för handel med emissionsinsatser i Lantmännen (fastställda )

Utveckling av ett grafiskt användargränssnitt

1.2. Den handel med emissionsinsatser som arrangeras av Nordea ska ske enligt nedanstående regler.

Examensarbeten, litteraturstudier och teoretisk geoekologi / geografi. Gemensamma riktlinjer för hela institutionen

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt

Riktlinjer. Informationssäkerhetsklassning

FMEA-Grunder. FMEA kan användas vid flera olika tillfällen vid framtagning av en produkt/tjänst.

Oppositionsprotokoll-DD143x

Li#eratur och empiriska studier kap 12, Rienecker & Jørgensson kap 8-9, 11-12, Robson STEFAN HRASTINSKI STEFANHR@KTH.SE

Titel: Undertitel: Författarens namn och e-postadress. Framsidans utseende kan variera mellan olika institutioner

REMIUM NORDIC AB POLICY -

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA

Riktlinjer för hantering av intressekonflikter

På kommande sidor kan du läsa mer om CFI, dess innehåll och uppbyggnad.

Anpassningsbar applikationsstruktur för flerpunktsskärmar

Några grundläggande begrepp

F Ö R U T F Ö R A N D E A V O R D E R

BRANSCHKOD VERSION INFORMATIONSGIVNING GÄLLANDE STRUKTURERADE PLACERINGAR 1. BAKGRUND

Synkronisering av kalenderdata

Risk som 2-dimensionellt begrepp

Logging Module into the PRIME Core

INSTRUKTIONER: Nej. Om ja, vilket år? FREDSMILJONEN. Ansökan ska följa de rubriker och den struktur som finns nedan. Ansökan får omfatta max 20 sidor.

EXCEED CAPITAL SVERIGE AB RIKTLINJER FÖR UTFÖRANDE AV ORDER SAMT INFORMATION OM INCITAMENT FASTSTÄLLD AV STYRELSEN DEN 22 SEPTEMBER 2014

RIKTLINJER FÖR UTFÖRANDE AV ORDER SAMT SAMMANLÄGGNING OCH FÖRDELNING AV ORDER

Nadia Bednarek Politices Kandidat programmet LIU. Metod PM

tjejit en studie av kvinnors låga deltagande vid Karlstads Universitets IT-utbildningar

Rutiner för opposition

KÖPA MARKNADSUNDERSÖKNING. En guide för dig som överväger att göra en marknadsundersökning

Verksamhets- och branschrelaterade risker

Testning som beslutsstöd

Exempel på verklig kravspecifikation

Rätt ifylld bokstav ger 0.5 poäng och fel ifylld bokstav ger 0.5 poäng i avdrag. Rätt svar: Alternativ A, C, D, A, C uppifrån.

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Styrelsens förslag till beslut om ett långsiktigt incitamentsprogram 2015 (LTIP 2015)

Mälardalens högskola

Titel på examensarbetet. Dittnamn Efternamn. Examensarbete 2013 Programmet


sfei tema - högfrekvenshandel

Exempel på gymnasiearbete inom ekonomiprogrammet juridik

Riskanalys för myndigheterna inom SOES

EAs krav vid ackreditering av flexibel omfattning

Utvärdering Projekt Vägen

Naturvetenskaps- och tekniksatsningen. Företag som lärmiljö

Frågeställningar inför workshop Nationell strategi för skydd av samhällsviktig verksamhet den 28 oktober 2010

Business research methods, Bryman & Bell 2007

Vad beror benägenheten att återvinna på? Annett Persson

Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg

Advokatsamfundet har följande övergripande kommentarer avseende Rekommendationen.

Intern kontroll handlar om att på en rimlig nivå säkerställa:

SGP SVENSKA GARANTI PRODUKTER AB RIKTLINJER FÖR UTFÖRANDE AV ORDER SAMT INFORMATION OM INCITAMENT

Praktikanter i näringslivet

Analys av BI-system och utveckling av BIapplikationer

Verksamhetshandledning Läkemedel och amning och läkemedel och graviditet/fosterpåverkan. En mappning mellan två olika beslutsstöd

Hur kan du som lärare dra nytta av konjunkturspelet i din undervisning? Här följer några enkla anvisningar och kommentarer.

Resultat från det nationella provet i svenska 1 och svenska som andraspråk 1 våren 2018

Pepins Group AB (publ) HANDELSREGLER FÖR. ALTERNATIVA LISTAN Samt för vissa bolag på Interna Listan

URA 20 NÄR SKALL SPECIALFÖRETAG, BILDAT FÖR ETT SPECIELLT ÄNDAMÅL, OMFATTAS AV KONCERNREDOVISNINGEN?

Datalagringsmetodik och arkitektur i Java. Projektdefinition. Projektdefinition. Björn Brenander. 7 maj 2001

Kravspecifikation Cykelgarage

- A Scrum Planning Tool Case Study to Evaluate the The Rich AJAX Platform

ANSÖKAN OM ATT ÖPPNA METATRADER 4-KONTO FÖR FÖRETAG

Turbowarranter. För dig som är. helt säker på hur. vägen ser ut. Handelsbanken Capital Markets

Handelsbanken Capital Markets

Remissyttrande angående vägledningsmaterial om förorenade områden (åtgärdsmål, riskbedömning, åtgärdsutredning, riskvärdering m.m.

Titel Mall för Examensarbeten (Arial 28/30 point size, bold)

Laboration i datateknik

Anvisningar till rapporter i psykologi på B-nivå

Betygskriterier för examensarbete/självständigt arbete

Skriftlig redovisning av gymnasiearbetet

"Distributed Watchdog System"

5 frågor som hjälper dig i valet av redundant lösning

Riktlinjer för intern kontroll

Bakgrund... 3 TLV:s metod för att fastställa referenspriset för en åtgärd... 3 Större förändringar i referenspriset 1 september

Handelsregler för Alternativa aktiemarknaden

Decentraliserad administration av gästkonton vid Karlstads universitet

Handelsbankens Warranter

FMEA Failure Mode and Effect Analysis. Antti Salonen

Metoder och verktyg för funktionssäkerhet

EXCEED CAPITAL SVERIGE AB RIKTLINJER FÖR UTFÖRANDE AV ORDER SAMT INFORMATION OM INCITAMENT FASTSTÄLLD AV STYRELSEN DEN 2 FEBRUARI 2016

Människa- datorinteraktion, MDI, vt 2012, Anvisningar för projekt- /grupparbete

Förändringsstrategi anpassad till just din organisations förutsättningar och förmåga

Värdering av onoterade innehav i fonder en vägledning

Modell och verklighet och Gy2011

Studieplan för ämne på forskarnivå

Kursöversikt Certifierad Mjukvarutestare

Examensarbeten vid civilingenjörsutbildningen i Energisystem. Information till företaget

Björn Åstrand

Riktlinje för intern styrning och kontroll avseende Norrköping Rådhus AB:s bolagskoncern

WEBBSERVERPROGRAMMERING

Examensarbete, Högskoleingenjör energiteknik, 15 hp Grundnivå

Verksamhetshandledning för amning och graviditet/fosterpåverkan

Vad är molnet? Vad är NAV i molnet? Vem passar NAV i molnet för? Fördelar med NAV i molnet Kom igång snabbt...

Granskning av årsredovisning

Datavetenskap. Opponent(er): Niclas Hanold. Samiar Saldjoghi. Respondent(er): Carl-Henrik Svanemark. Joakim De Jong. Definition och Implementering av

Omvärldsbevakning eller konsten att driva utvecklingen istället för att drabbas av den

Using SharePoint Workflow

Revisionsrapport. Översiktlig granskning av den interna styrningen och kontrollen * Sammanfattande resultat. Ljusdals kommun

E. Öhman J:or Capital AB

Essä introduktion till hur man skriver en akademisk essä

Vop handledning. Användarhandledning till Vop applikationen. UPPGJORD: Mattias Gyllsdorff GODKÄND:Mattias Gyllsdorff REV: A DATUM:

Transkript:

Tekniker för att testa mjukvara mjukvarubaserat börssystem 2001-05-11 av Stefan Särd Dag Wester

Sammanfattning Mjukvarubaserade lösningar för att sköta handeln på börser är inget nytt, men en hårdare konkurrens, ökad omsättning och krav på nya funktioner gör att bössystemen blir allt mer komplexa. Komplexiteten har medfört en ökad svårighet att verifiera börssystemens funktionalitet. En stor del av verifieringen består i att genomföra tester på systemen. För att testarbetet ska ge önskad effekt är det viktigt att lämpliga testtekniker används i rätt omfattning. Två fristående studier presenteras, dels en riskanalys och dels en sammanställning av testtekniker. I riskanalysen förs resonemang om vilka incidenter som kan inträffa i ett börssystem. Sammanställningen av testteknikerna ger en generell bild av de tekniker som kan användas för att testa mjukvara. Utifrån de två studierna och en internationell standard diskuteras hur börssystemen bör testas för att nå en viss felsannolikhet. Det visar sig att inga universallösningar finns att tillgå. För att nå önskad felsannolikhet ska testningen ske kontinuerligt under utvecklingen och bygga på en kombination av testtekniker som kompletterar varandra. NYCKELORD: Säkerhetskritiska system, mjukvarubaserade börssystem, riskanalys, riskvärderingsmatris, testtekniker, statisk analys, dynamisk analys, strukturell testning, funktionell testning, statistisk testning, felsannolikhet, felintensitet. Stefan Särd och Dag Wester Industriella informations och styrsystem

Abstract Software based solutions for electronic trading platforms are nothing new. However, due to stronger competition, more turnover, and new functionality the software-based trading platforms used by the stock markets have increased their complexity. This increase in complexity has made it more difficult to verify the functionality of the platforms. A major part of the verification process consists of testing. Adequate testing, using the right techniques, is important in order to ensure the desired effect of the verification process. In this thesis, two independent studies will be introduced. The first study is a risk analysis concerning possible failures of a software based trading platform. The second study is a guide to different techniques used when testing software. From these studies it is argued, based on an international standard framework, which testing techniques might be suitable in order to reach a particular failure probability. When discussing these results it is emphasised that there is no obvious solution to the verification problem. To achieve a certain failure probability it is essential to use different kinds of testing techniques, which complement each other, and to conduct testing over a broad part of the development life cycle. KEYWORD: Safety-critical systems, software based electronic trading platform, risk analysis, risk valuation matrix, software testing techniques, static analysis, dynamic analysis, structural testing, functional testing, statistical testing, failure probability, failure intensity. Stefan Särd och Dag Wester Industriella informations och styrsystem

Förord Vi vill här ta tillfället i akt att tacka våra två handledare för deras engagemang, Lars Wahlberg på OM Technology och Erik Johansson från institutionen för industriella informations- och styrsystem på KTH. De har båda bidragit med värdefull kritik, feedback och idéer under arbetets gång. Tre studiebesök har genomförts. Mycket uppskattade har de rundvandringar varit då vi har fått se JAS-plan och kärnkraftverk på nära håll. Särskilt tack vill vi framföra till följande, Bo Liwång, som har gett oss en insikt i hur Statens Kärnkraftsinspektion arbetar. De personer som vi var i kontakt med vid Forsmarks kärnkraftverk, däribland Mattias Hansson som var vår värd under besöket. SAAB i Linköping, och då framförallt verifiering- och valideringsteamet för styrsystemet av JAS 39 Gripen. Slutligen vill vi tacka all personal på OM Technology som har hjälpt oss i vårt arbete. Stockholm, maj 2001. Stefan Särd och Dag Wester Stefan Särd och Dag Wester Industriella informations och styrsystem

Innehållsförteckning 1 INTRODUKTION...1 1.1 BAKGRUND...1 1.1.1 Företaget där examensarbetet är utfört...1 1.2 SYFTE OCH MÅL...2 1.2.1 Målgrupp...3 1.2.2 Avgränsningar...3 1.3 RAPPORTDISPOSITION...3 1.4 ORGANISATION...4 1.5 ARBETSMETOD...4 1.5.1 Riskanalys...5 1.5.2 Mjukvarutestning...5 1.5.3 Analys och diskussion...5 1.5.4 Intervjuer...6 1.6 TERMINOLOGI...6 2 RISKER FÖRKNIPPADE MED BÖRSSYSTEM...8 2.1 VAD ÄR ETT BÖRSSYSTEM...8 2.1.1 Vad karaktäriserar ett börssystem...8 2.1.2 Aktörer...9 2.1.3 Ett fiktivt börssystem...10 2.2 GENERELL RISKANALYS...12 2.2.1 Incidenternas konsekvensgrader...12 2.2.2 Incidenternas frekvens...13 2.2.3 Riskvärderingsmatris...14 2.3 RISKANALYS FÖR ETT BÖRSSYSTEM...15 2.3.1 Definition av konsekvensgrad och frekvens...15 2.3.2 Riskvärderingsmatris...16 2.3.3 Incidenter...17 2.3.4 Incidenter sorterade efter konsekvensgrad...26 3 MJUKVARUTESTNING...27 3.1 INTRODUKTION...27 3.1.1 Disposition...28 3.2 TESTNING SOM BEGREPP...30 3.2.1 Testningens syfte...30 3.2.2 Testningens begränsningar...30 3.2.3 Testningens omfattning...32 3.2.4 Testningens utförare...33 3.2.5 Testningens faser...34 3.2.6 Funktionell eller strukturell testning...38 3.2.7 Statisk eller dynamisk analys...39 3.2.8 Jämförelse av fel i hård- och mjukvara...41 3.2.9 Orsaker till att incidenter inträffar...43 3.3 STRUKTURELL TESTNING...44 3.3.1 Flödesterminologi...45 3.3.2 Control Flow Testing (Path Testing)...47 3.3.3 Data Flow Testing...50 3.3.4 Looptestning...52 3.3.5 Logikbaserad testning (villkorstestning)...54 3.4 FUNKTIONELL TESTNING...55 Stefan Särd och Dag Wester Industriella informations och styrsystem

3.4.1 Domäntestning...56 3.4.2 Tillståndstestning...61 3.4.3 Logikbaserad testning...63 3.4.4 Syntaxtestning...64 3.4.5 Transaction flow testing...65 3.5 STATISTISK TESTNING...66 3.5.1 Felinjicering...66 3.5.2 Random testing...67 3.5.3 Feluppskattning med hjälp av dubbla testlag...69 3.6 STATISK ANALYS...70 3.6.1 Granskning och walkthrough...70 3.6.2 Inspektion...71 3.6.3 Formella metoder...72 3.7 ÖVRIGA TEKNIKER...74 3.7.1 Stresstestning...74 3.7.2 Cleanroom testing...75 3.7.3 N-version programmering...76 3.7.4 Modellbaserad verifiering (MBV)...78 3.7.5 Regressionstestning...79 3.8 SAMMANFATTNING...81 3.8.1 Vilka teststrategier används på vilka mjukvarudelar...81 3.8.2 Vem bör testa på vilken nivå...81 3.8.3 Sammanställning över testtekniker...81 3.8.4 Sammanställning över vad som uppnås med hjälp av olika testtekniker...83 4 TESTTEKNIKERS INVERKAN PÅ FELSANNOLIKHET...85 4.1 UPPDELNING I KRITIKALITETSNIVÅER ENLIGT IEC 61508...85 4.2 MJUKVARUVERIFIERING DELVIS BASERAD PÅ IEC 61508...86 4.2.1 Översiktlig mjukvaruverifiering...86 4.2.2 Verifiering uppdelad i statisk- och dynamisk analys...87 4.2.3 Verifiering i olika faser av testningen...88 4.3 IEC 61508 KOPPLAD TILL RISKVÄRDERINGSMATRIS FÖR BÖRSSYSTEM...89 5 DISKUSSION OCH SLUTSATS...90 5.1 DISKUSSION AV ARBETET...90 5.1.1 Börssystemets roll i samhället...90 5.1.2 Myndighetens inblandning...91 5.1.3 Felsannolikhet för mjukvara...92 5.1.4 Mätetal för felbegrepp inom mjukvara...93 5.1.5 Partitionering och klassificering av mjukvara...93 5.1.6 Återkoppla testningen till felens ursprung...94 5.1.7 Kommentarer och förslag på användningssätt av IEC 61508...94 5.1.8 Fortsatta studier...95 5.2 DISKUSSION RUNT FRÅGESTÄLLNING...95 5.2.1 Slutsats...97 BILAGOR: A. Studie av säkerhetskritiska system 98 B. Enkätbilaga 105 C. Riskvärderingsmatrisenkät 112 D. Konsekvensenkät 115 ORDLISTA REFERENSER Stefan Särd och Dag Wester Industriella informations och styrsystem

1 Introduktion Kapitlet ger en introduktion till rapporten som är resultatet av ett examensarbete utfört på OM Technology. Bakgrunden och syftet med arbetet presenteras och en beskrivning av arbetsgången ges. För att inte begrepp ska missförstås innehåller även kapitlet ett terminologiavsnitt. 1.1 Bakgrund Under de senaste decennierna har omsättningen på världens börser ökat kraftigt. På Stockholmsbörsen har omsättningen ökat från att under 70-talet uppgå till några miljoner kronor per dag till att nu dagligen omfatta tiotals miljarder kronor. Omsättningen har i genomsnitt ökat med 39 procent per år under det senaste decenniet [OMy99]. Omsättningsökningen, samt en ökad användning finansiella instrument som optioner och warrants, har medfört att mängden information som passerar igenom börssystemen ökar lavinartat. Den ökande informationsmängden har resulterat i att nya och högre krav ställs på börssystemen. En viktig förändring som påverkat konkurrenssituationen på de finansiella marknaderna är avregleringar och privatiseringar. Då börserna är privatägda prioriteras vinstintressen och därmed en effektivisering av handeln. Eftersom samma aktie ofta handlas på flera börser ställs också högre krav på att transaktionskostnaderna ska vara så låga som möjligt. Samtidigt är det ur konkurrenshänsyn mycket viktigt att systemen fungerar, i annat fall kan börserna byta systemleverantör. Antalet människor som handlar med aktier ökar ständigt och faktum är att de flesta svenskar idag har delar av sitt sparkapital placerat i aktier. Börshandeln är inte förenad med risker vad gäller människoliv, som i t.ex. kärnkrafts- och flygbranschen, men ett börshaveri kan få stora konsekvenser för såväl den enskilde småspararen som de stora finansiella institutionerna. Ett led i att identifiera och minimera riskerna i börshandeln är att ha väldefinierade metoder för att testa den mjukvara som utgör grunden för börssystemet. Testningen under utvecklingsarbetet syftar till att verifiera systemkraven och därigenom påvisa att de mjukvarubaserade börssystemen uppfyller kundernas önskemål. 1.1.1 Företaget där examensarbetet är utfört För femton år sedan startade OM den första elektroniska börshandelsplatsen i Sverige. Sedan dess har företaget vuxit kraftigt. Idag är OM ett internationellt företag som arbetar med att ta fram och driva elektroniska marknadsplatser för aktiehandel och andra finansiella instrument. OM driver bl.a. Stockholmsbörsen vars kunder är de mäklare som handlar över börsen. Stefan Särd och Dag Wester 1(124) Industriella informations och styrsystem

OM Technology är det affärsområde inom OM som arbetar med att utveckla programvaran för de elektroniska marknadsplatserna och för mäklarnas applikationer. Kunderna är främst börser runt om i världen. För att OM Technology ska fortsätta vara framgångsrikt är det viktigt att deras produkter håller hög kvalité. För att förvissa sig om produkternas kvalité utförs omfattande testning av mjukvaran. Men det är inte bara antalet tester som är av betydelse för att förvissa sig om kvalitén utan även vilka typer av tester som genomförs. Denna rapport innehåller en summarisk genomgång av testtekniker för mjukvara och föreslår vilka av dessa tekniker som bör prioriteras framför andra. Det är en förhoppning att denna rapport ska ge värdefulla idéer till det testarbete som genomförs på företaget. 1.2 Syfte och mål De högre kraven leder till en lägre feltolerans och därmed ökar behovet av att kunna åtgärda de fel som finns i systemet. En förutsättning för att felen ska kunna åtgärdas är att de först lokaliseras. Felen har olika kritikalitet, d.v.s. konsekvenserna av felen kan få olika allvarliga följder. Riskerna som de tänkbara felen kan ge upphov till påvisas lämpligen med en riskanalys. Ett sätt att hitta felen är att testa mjukvaran. Till testarens förfogande finns en uppsjö av testtekniker som alla är mer eller mindre bra inom sitt användningsområde. Ovanstående fakta leder fram till en arbetsuppdelning i följande tre steg, där varje steg representerar ett delmål med en frågeställning. En riskanalys utförs för ett börssystem, där tänkbara incidenter identifieras. En frågeställning som genomsyrar riskanalysarbetet lyder som följer. Vilken kritikalitet har ett mjukvarubaserat börssystem? En kartläggning och utvärdering av befintliga testtekniker som används inom säkerhetskritiska branscher sammanställs. Sammanställningen ska ge svar på följande frågeställning. Vilka tekniker finns för testning av mjukvara samt vilket resultat ger användandet av dessa? De två delmålen leder fram till den analys som ska besvara den slutgiltiga frågeställningen. Vilka testtekniker förordas givet en viss kritikalitet på mjukvaran? Stefan Särd och Dag Wester 2(124) Industriella informations och styrsystem

1.2.1 Målgrupp Rapporten vänder sig först och främst till företaget där arbetet utförts. Målsättningen är att rapporten ska vara skriven så att alla som har en anknytning till systemutveckling inom företaget ska kunna ta del av innehållet. Information gällande börssystem är skriven på ett sådant sätt att rapporten ska vara begriplig för intresserade även utanför företaget. 1.2.2 Avgränsningar Utvecklingen från idé till färdig produkt bör följa en väl definierad arbetsgång för att slutprodukten ska bli ett system som fungerar som det var tänkt. Synsättet att alla fel kan hittas genom testning och därefter åtgärdas så att systemet blir felfritt är inte realistiskt. Ett sådant arbetssätt kräver orimligt stora resurser och är inte särskilt kostnadseffektivt [Hei97]. Verifiering och validering tas kortfattat upp, men koncentrationen ligger främst på testningen av mjukvara. Utvecklingsprocesser som t.ex. kravidentifiering och design behandlas alltså bara översiktligt. Med börssystem avses den utrustning som krävs för att kunna bedriva börshandel, d.v.s. mjukvara och den tillhörande hårdvaran. Då inget annat sägs syftar begreppet börssystem i denna rapport till den mjukvara som systemet är uppbyggt av. En avgränsning som gjorts är att arbetet inte behandlar testning av hårdvara. 1.3 Rapportdisposition I rapportens syfte och mål nämndes att examensarbetet är uppdelat i tre steg. Dessa steg utgör den röda tråden i rapporten och har lett till att arbetet följer en trestegsmodell. Steg 1 Riskanalysarbete Steg 2 Riskvärderingsmatris Oacceptabel Oacceptabel Bedömning Oacceptabel Bedömning Acceptabel Bedömning Acceptabel Acceptabel Frekvens Konsekvens Steg 3 Vilka testtekniker förordas givet en viss kritikalitet på mjukvaran? Studie av testteknike r Sammanställning av testtekniker Figur 1-1. Den trestegsmodell som legat till grund för examensarbetet. Stefan Särd och Dag Wester 3(124) Industriella informations och styrsystem

Vardera av dessa steg utgör ett kapitel i rapporten. I kapitel 2 ges en introduktion till riskanalysbegreppet varpå en riskanalys utförs på ett fiktivt börssystem. Arbetet mynnar ut i en riskvärderingsmatris. De testtekniker som undersöktes under det andra steget sammanställs och presenteras i kapitel 3. I kapitel 4 rekommenderas vilka testtekniker som bör användas för att uppnå en viss felsannolikhet i systemet. Rekommendationerna bygger på en standard som har studerats. Diskussioner samt slutsatser som dragits under arbetets gång presenteras slutligen i kapitel 5. 1.4 Organisation Examensarbetet, som är på 20 poäng, är utfört av Stefan Särd och Dag Wester, båda teknologer på civilingenjörsutbildning i elektroteknik vid KTH med inriktning industriella informations- och styrsystem. Till examensarbetet var dessutom två handledare knutna, dels en ämneshandledare från OM Technology och dels en akademisk handledare från KTH. Handledarnas uppgifter var att ge stöd och tips, men också kritik. Lars Wahlberg, som är team leader för Test Tools på OM Technology, var ämneshandledare. Erik Johansson, snart färdig teknologiedoktor från industriella informations- och styrsystem på KTH, stod för den akademiska handledningen. I sin forskning har han bland annat studerat säkerhetskritiska system inom bl.a. kärnkraftsindustrin. 1.5 Arbetsmetod I detta avsnitt beskrivs de metoder som använts under arbetets gång, d.v.s. metoder för hur information har samlats in och analyserats. Det framgår vilken typ av studie det rör sig om och tillvägagångssättet för att nå slutmålet. Läsaren bör vara bekant med innehållet i rapporten för att fullständigt förstå avsnittet eftersom vissa uttryck används som förklaras längre fram. Eftersom rapporten innehåller en sammanställning av befintliga testtekniker är det en studie med hermeneutiska inslag [Lun99]. Rapporten är både explorativ och beskrivande, explorativ eftersom olika kända testtekniker sammanställs och beskrivande då intervjuer genomförs som utreder hur de olika teknikerna används i verkligheten. Riskanalysen klassificeras som en beskrivande undersökning då den beskriver personalens syn på risker för företaget. Arbetsmetoderna för de tre steg, som presenterades i Figur 1-1, beskrivs nedan. För att styrka vissa bitar i rapporten utfördes också intervjuer. En beskrivning av intervjuernas genomförande beskrivs också. Stefan Särd och Dag Wester 4(124) Industriella informations och styrsystem

1.5.1 Riskanalys Riskanalysen grundar sig på ett fiktivt börssystem. Anledningen till att riskanalysen inte grundar sig på ett riktigt system är att ett sådant system är mycket komplext samt för att på så sätt inte exakt behöva beskriva hur systemen på företaget är uppbyggda. Inspiration har dock tagits från ett riktigt börssystem varför resultatet från riskanalysen i stort sett är direkt applicerbart. Varje del av det fiktiva börssystemet analyserades med tanke på vilka incidenter som kan följa av olika fel. Arbetet resulterade i en sammanställning av tänkbara incidenter. För att göra bedömningar av hur allvarliga incidenterna kan tänkas vara gjordes en enkätundersökning på företaget. Sammanställningen av enkäten redovisas i bilaga B. Enkäten i sin helhet finns bifogad som bilaga C. Då en riskanalys utförs måste även incidenternas frekvenser kalkyleras. Riskanalysen fullbordades genom att ta fram en riskvärderingsmatris som relaterar vilka frekvenser som accepteras för olika allvarliga incidenter. Även riskvärderingsmatrisen togs fram genom en enkätundersökning. Under arbetets gång har också diskussioner och intervjuer med personer på företaget genomförts. Enkätsammanställningen finns bifogad i bilaga B och enkäten som bilaga D. 1.5.2 Mjukvarutestning Denna del av rapporten beskriver vanligt förekommande testtekniker. Information har inhämtats från för ämnet relevant litteratur. Böcker användes för att ge ett brett teoretisk underlag medan paper gav information om de senaste vetenskapliga rönen. Det är naturligtvis omöjligt att påstå att vi täckt in all relevant litteratur eftersom det är ett stort ämne som det skrivits många hyllmeter om. Då vi funnit att många författare refererar till varandra anser vi att vi använt oss av de mest framstående verken som behandlar testtekniker, och därför gjort en för ett examensarbete fullgod litteraturstudie. En ytterligare källa till information angående testtekniker var de intervjuer som gjordes i andra säkerhetskritiska branscher. 1.5.3 Analys och diskussion De rekommendationer på vilka testtekniker som bör användas grundar sig så långt som möjligt på standarder. Vissa justeringar har dock gjorts för att teknikerna bättre ska passa rapportens upplägg. De diskussioner som förs bygger vidare på den information som hämtats från litteratur och intervjuer samt funderingar som väckts under arbetets gång. Stefan Särd och Dag Wester 5(124) Industriella informations och styrsystem

1.5.4 Intervjuer Intervjuer genomfördes med representanter från två olika säkerhetskritiska branscher. Dessa var kärnkraft- och flygbranschen. Intervjuerna syftar till att ge information inom framförallt två olika områden, dels vilka testtekniker som används men också vilken effekt användningen av dessa får på den testande mjukvaran. Intervjuerna utfördes enligt en semistandardiserad och strukturerad metod. Med semistandardiserad menas att en del av frågorna är gemensamma och obligatoriska för samtliga intervjuer. De obligatoriska frågorna kompletteras med följdfrågor för att ge en bredare bild av ämnesområdet. Eftersom målsättningen med intervjuerna redan i förväg var fastställd är intervjuformen strukturerad. En strukturerad intervju innebär bl.a. att det finns ett väl definierat syfte och att frågorna är bestämda innan intervjun [Lun99]. En sammanställning av intervjuerna finns i bilaga A. 1.6 Terminologi Eftersom samma begrepp kan tolkas på många olika sätt är det viktigt att klargöra vad som menas, annars är det lätt hänt att missförstånd uppstår mellan läsare och författare. Ordet fel är exempel på ett ord som ofta används med en tvetydig betydelse. Eftersom det inte finns några bra översättningar för engelskans fault och failure översätts båda dessa ord ofta med det svenska ordet fel. I vanligt tal sägs därför ibland att fel inträffar när ett fel exekveras. En lämpligare benämning bör vara att en incident uppstår då ett fel exekveras. Nedan följer några definitioner på begrepp såsom vi använder dem i rapporten. Fel kan medföra att mjukvarans funktionalitet på något sätt avviker från vad som är önskvärt. Fel kan t.ex. vara implementerade i koden om programmeraren har programmerat fel eller inte programmerat vad som avsågs. Fel kan också uppstå vid tolkningen av luddiga kravspecifikationer. Ett fel är något som kvarstår ända tills det åtgärdas. Felintensitet är ett mått på hur mycket fel som finns i koden. En tänkbar enhet är antal fel per kodrad. Felsannolikheten anger sannolikheten för att ett fel exekveras. Eftersom ett system kan ha många fel som aldrig exekveras behöver inte en hög felintensitet leda till en hög felsannolikhet. Stefan Särd och Dag Wester 6(124) Industriella informations och styrsystem

Följande figur, inspirerad av [Joh96], visar sambandet mellan några begrepp som används i rapporten. Efter figuren ges en förklaring till begreppen. Systemets möjliga tillstånd Felaktiga tillstånd Incident Figur 1-2. Av systemets alla tillstånd är några felaktiga. En del av de felaktiga tillstånden kan leda till en incident. Då ett programmeringsfel exekveras går systemet in i ett felaktigt tillstånd. När systemet befinner sig i ett felaktigt tillstånd behöver det inte nödvändigtvis leda till händelser som avviker från specifikationen, men det kan göra det. En incident är en mer eller mindre allvarlig och ospecificerad händelse som kan inträffa då systemet befinner sig i ett felaktigt tillstånd, vilket i sin tur är en följd av att ett fel har exekverats. En incident är således skillnaden mellan det önskade och det verkliga beteendet. Sammanfattningsvis kan sägas att alla incidenter beror av fel, men alla fel leder inte till incidenter. Stefan Särd och Dag Wester 7(124) Industriella informations och styrsystem

2 Risker förknippade med börssystem Kapitlet mynnar ut i den riskanalys som har gjorts för ett fiktivt börssystem. För att kunna ta del av riskanalysen presenteras först vad som karaktäriserar ett börssystem samt de aktörer som kommer i kontakt med systemet. Efterföljande avsnitt beskriver det fiktiva börssystem som ligger till grund för riskanalysen. Innan riskanalysen i kapitel 2.3 ges även en generell förklaring till vad en riskanalys är. 2.1 Vad är ett börssystem Ett börssystem kan sägas bestå av den mjuk- och hårdvara som tillsammans utgör en elektronisk marknadsplats för värdepapper. Den kommande framställningen fokuserar i första hand på börssystemets mjukvarudel. För att kunna ta del av den kommande riskanalysen är det bra att först få en inblick i vad ett börssystem är samt vilka som kommer i kontakt med systemet. I det här kapitlet presenteras några av de förutsättningar som karaktäriserar ett börssystem. En presentation av det fiktiva börssystem, som ligger till grund för analysen, presenteras också. De exempel på regler och aktörer som förekommer utgår alla från den svenska marknaden. 2.1.1 Vad karaktäriserar ett börssystem Som omnämnts i rapportens bakgrund har omsättningen på världens börser ökat kraftigt under de senaste decennierna. På Stockholmsbörsen har omsättningen ökat från att under 70-talet uppgå till några miljoner kronor per dag till att nu dagligen omfatta tiotals miljarder kronor. Omsättningen har i genomsnitt ökat med 39 procent per år under det senaste decenniet [Omy99]. Omsättningsökningen samt en ökad användning av finansiella instrument som optioner och warrants, medför att mängden information som passerar börssystemen ökar lavinartat. En utmärkande egenskap för ett börssystem är alltså att det ska klara att hantera stora mängder information. Dagens samhälle präglas av en stor tillgång på information som används under en kort tidsrymd. Fler och fler affärer över börsen görs på kortare sikt, vilket i sin tur ökar kravet på att affärerna ska ske ögonblickligen. Ytterligare ett kännetecken för börssystem är därför att de bör kunna köras i realtid. Börshandeln är inte förenad med risker vad gäller människoliv, som i t.ex. kärnkraftsoch flygbranschen, men ett börshaveri kan få stora konsekvenser för såväl den enskilde småspararen som de stora finansiella institutionerna. Stora delar av samhällets tillgångar handlas via börsen, vilket föranleder att samhället ställer krav på en fungerande handel. Den myndighet som kontrollerar detta är Finansinspektionen. Då mer och mer av våra pengar finns investerade i bolag som handlas över börsen Stefan Särd och Dag Wester 8(124) Industriella informations och styrsystem

ökar vikten av att handeln över börsen fungerar. Eftersom fel i börssystem kan få allvarliga ekonomiska konsekvenser skulle det eventuellt kunna klassificeras som säkerhetskritiskt. Sammanfattningsvis sker alltså börshandeln under realtid på ett säkerhetskritiskt system som hanterar stora mängder information. 2.1.2 Aktörer Med aktörer avses de personer och företag som på något sätt är i kontakt med ett börssystem. De kan delas upp i följande kategorier. Systemleverantörer Börser Börsmedlemmar Användare Investerare Systemleverantör, utvecklar programvara till börsen och dess medlemmar. Börsmedlem, t.ex. en bank Investerare Börsen, direktkontakt med börsmedlemmarna Användare, mäklare anställda av börsmedlem Figur 2-1. Börssystemets aktörer och deras relationer till varandra. Systemleverantörer utvecklar och tillhandahåller den mjukvara, ibland även hårdvara, som behövs för driften av börssystemet. Mjukvaran ska primärt styra systemet där handeln sker, men kan också utgöra de användarapplikationer som är gränssnittet mellan system och användare. Systemleverantörernas kunder kan vara både börser och börsmedlemmar, börser då det gäller hela system och börsmedlemmar då det gäller de användarapplikationer som används vid uppkoppling till börssystemet. Exempel på systemleverantör i Sverige är OM Technology. Börser erbjuder en marknadsplats där handel med olika värdepapper bedrivs. Börsens kunder är de som köper och säljer värdepapper direkt över börsen, här benämnda användare. Märk att det är skillnad mellan användare och investerare. Aktiehandeln i Sverige sker till största del över Stockholmsbörsen. Stefan Särd och Dag Wester 9(124) Industriella informations och styrsystem

Börsmedlemmar är de banker och mäklarfirmor som är direkt uppkopplade mot börsen. För att bli medlem i Stockholmsbörsen krävs tillstånd från Finansinspektionen och börsen. Användare av börssystemet är de mäklare som arbetar på banker och mäklarfirmor som utgör börsens medlemmar. Användarna är direkt uppkopplade mot börsen. Investerare är de privatpersoner eller företag som handlar på börsen via någon börsmedlem. De kommer därmed inte i direkt kontakt med börssystemet. Även personer som handlar med aktier via Internet räknas till denna kategori eftersom de går via en börsmedlem för att lägga in sina ordrar. Till aktörer kan även företag räknas, vars aktier handlas på börsen. Det är inte bara aktier som handlas över börser, utan även t.ex. obligationer. Alltså kan även staten, eftersom den emitterar obligationer, räknas som en typ av aktör. Ska frågan om vilka som räknas till aktörer dras till sin spets, kan svaret sägas vara hela samhället. En finansmarknad som inte fungerar ger effekter på hela samhällsekonomin. Här nöjer vi oss dock med den lite smalare definitionen av aktörer. 2.1.3 Ett fiktivt börssystem Eftersom ett börssystem är mycket komplext samt att viss information kan vara känslig, är den kommande analysen tillämpad på ett fiktivt börssystem. Det fiktiva börssystemet bygger till en viss del på ett riktigt system, men är klart förenklat. Endast den mest grundläggande funktionaliteten presenteras. Figur 2-2 beskriver arkitekturen hos det fiktiva börssystemet. Därefter följer en förklaring till varje ruta i bilden. Primärsystem Användare Ordermottagare Främre orderloggare Matchare Bakre orderloggare Sekundärsystem Informationsförmedlare Figur 2-2. Schematisk beskrivning av ett fiktivt börssystem. Stefan Särd och Dag Wester 10(124) Industriella informations och styrsystem

För att systemet inte ska bli så känsligt för fel i t.ex. hårdvara används ett primär- och ett sekundärsystem. Dessa båda delsystem är identiska, d.v.s. de använder samma programvara och hårdvara. Fördelen med att ha två delsystem är att sekundärsystemet kan ta över driften vid en eventuell hårdvarukrasch i primärsystemet och på så sätt minskar risken för ett driftstopp. De båda systemen är geografiskt åtskilda till skydd för t.ex. brand, översvämningar och elavbrott. Eftersom det är samma mjukvara i båda delsystemen skyddar den redundanta konstruktionen däremot inte mot fel i mjukvaran. Under normala omständigheter, d.v.s. då båda systemen är funktionsdugliga, körs systemen parallellt, s.k. hot stand by. Det primära systemet tar emot information från klienten, men både primär- och sekundärsystemet behandlar informationen parallellt under körning. Konsekvensen av denna design är att oavsett vilken del i systemet som sätts ur funktion så finns ändå exakt samma information i det parallella systemet och ingen information går förlorad. Användare är personer som har direktkontakt med börssystemet. Hit hör börssmäklare som lägger in köp- och säljordrar i systemet. Ordermottagaren är en del av börssystemets gränssnitt ut mot användaren. Här tas ordrar om hand och det kontrolleras att ordrarna är korrekt ifyllda. En bekräftelse, som ger information om den inkomna ordern accepteras eller ej, returneras till användaren. Då denna första kontroll av ordern är genomförd skickas accepterade ordrar vidare till den främre orderloggaren. Den främre orderloggaren tar emot ordrar från ordermottagaren och ger varje order ett specifikt sekvensnummer. Ordern skrivs till disk och skickas därefter till både sekundärsystemet och matcharen. Eftersom varje order har ett unikt sekvensnummer och finns lagrad på disk är det möjligt att återskapa ett visst förlopp av orderinmatningar i händelse av att systemet går ner. Det är i matcharen som köp- och säljordrar kombineras med varandra. Matcharen innehåller alla de regler som styr börshandeln. Ordrar kommer in från främre orderloggaren i en viss ordning, enligt ordrarnas sekvensnummer. Väl i matcharen jämförs de mot ordrar som ännu inte matchats. Sker en matchning mellan köp- och säljorder skickas informationen angående matchningen vidare till bakre orderloggaren. Om det däremot inte går att matcha den inkomna ordern får orden ligga kvar i primärminnet i väntan på nya ordrar som ska matchas. Ordermatchning sker i första hand efter pris och i andra hand efter vid vilken tidpunkt ordern gavs. Tidpunkten representeras av sekvensnumret för att undvika identiska tidpunkter. Stefan Särd och Dag Wester 11(124) Industriella informations och styrsystem

Den bakre orderloggaren tar emot matchade ordrar från matcharen. De matchade ordrarna skrivs till disk och skickas därefter till informationsförmedlaren. Då ordrarna lagras både före och efter matcharen är det möjligt att i efterhand köra om en ordersekvens om matcharen gått ner eller om matchningsfel befaras ha inträffat. Informationsförmedlaren utgör tillsammans med ordermottageren börssystemets gränssnitt ut mot användarapplikationen. Om systemet fungerar som det ska får förmedlaren identisk information från både det primära- och sekundära systemet. Eftersom informationen är identisk kastas det duplikat som sist anländer till informationsförmedlaren medan det första skickas vidare till användaren. Beroende på vad informationen innehåller skickas den ut till antingen en eller samtliga användare. Den enskilde användaren får t.ex. specifik information om sin order och samtliga användare får allmän information om att en affär har skett. 2.2 Generell riskanalys En riskanalys för ett mjukvarusystem syftar till att kartlägga vilka typer av risker som användandet av systemet medför. I och med att en tydligare bild erhålls om vilka risker som finns, kan resurserna för att minska riskerna fördelas på ett effektivare sätt. Med begreppet risk avses kombinationen av sannolikheten för att en incident inträffar och konsekvensgraden av den inträffade incidenten. Risk Incidentens Incidentens = f ( konsekvensgrad, frekvens ) Figur 2-3. Begreppet risk. Som detta kapitel kommer att visa mynnar riskanalysen ut i en riskvärderingsmatris. Matrisen visar vilka typer av risker som är oacceptabla och vilka risker som inte är kostnadseffektiva att förebygga. 2.2.1 Incidenternas konsekvensgrader Då ett fel i systemet uppmärksammas ska den incident som felet kan leda till klassificeras efter konsekvensgrad. Omfattande arbete har lagts ner inom bl.a. militära organ för att standardisera riskarbetet. Konsekvensgraderna kan delas upp i olika antal nivåer. Leveson föreslår att incidenterna delas upp i följande fyra nivåer [Lev95]. Katastrof Kritisk Marginell Obetydlig Stefan Särd och Dag Wester 12(124) Industriella informations och styrsystem

Om det råder osäkerhet angående hur allvarliga följder en incident kan få, bör den högre konsekvensgraden användas. Så länge det föreligger tveksamheter är det säkrare att ta till lite marginaler. Om det senare visar sig att klassificeringen av incidenten är väl tilltagen kan den göras om. Tabellen nedan, som till viss del är hämtad ur [Joh96], innehåller en jämförelse som visar innebörden av olika konsekvensgrader. Tabellen visar vad ett mjukvarufel kan få för konsekvenser i jämförelse med liknande konsekvensgrad för en produktionsanläggning, miljön och människan. Katastrof Kritisk Marginell Mjukvaruföretag T.ex. förlust av flera viktiga beställningar som i värsta fall kan leda till konkurs Stor ekonomisk skada efter t.ex. förlust av viktig order Mindre ekonomisk förlust Produktionsanläggning Förstörd Stor skada, förlust av viktig order Mindre skada, förlust av mindre viktig order Obetydlig Försumbar förlust Försumbar skada Miljö Mycket allvarlig skada Stor skada Mindre skada Försumbar skada Människa Dödsfall Tabell 2-1. Beskrivning över vad jämförbara konsekvenser kan innebära för olika kategorier. Stor skada eller sjukdom Liten skada eller sjukdom Mindre ytlig skada 2.2.2 Incidenternas frekvens När incidenterna har klassificerats efter konsekvensgrad ska även sannolikheterna för att de inträffar bedömas. Dessa bedömningar är ofta svårare att göra och kan därför bli lite osäkra. Det kan därför vara bättre att ta det säkra före det osäkra och uppskatta att incidenterna förekommer med högre frekvens. Sannolikheten går alltid att uppskatta på nytt vid ett senare tillfälle. Följande tabell innehåller förklaringar till de termer som används för att beskriva frekvens i den kommande framställningen. Lämpligt är att för den specifika riskanalysen ange en ungefärlig siffra för varje frekvensnivå. Värdena beror på vad det är för system som riskanalysen är tänkt att beröra samt systemets livslängd. Stefan Särd och Dag Wester 13(124) Industriella informations och styrsystem

Frekvens Frekvent Trolig Sannolik Försumbar Osannolik Förklaring Inträffar många gånger under systemets livslängd Inträffar ett flertal gånger under systemets livslängd Inträffar någon gång under systemets livslängd Kan möjligen inträffa under systemets livslängd Förväntas inte inträffa under systemets livslängd Tabell 2-2. Riskvärderingsmatrisens frekvensskala OBS! Utifrån systemleverantörens syn ökar sannolikheten för att en incident ska inträffa om flera likadana system är i drift samtidigt. Om t.ex. tio likadana system är i drift ökar sannolikheten för en incident med en faktor tio. En incident som är trolig för ett system kan således bli frekvent för ett flertal system. 2.2.3 Riskvärderingsmatris När incidenterna är bedömda efter dels konsekvensgrad och dels sannolikheten för att de ska inträffa, kan riskerna värderas utifrån en riskvärderingsmatris. På matrisens axlar anges incidenternas frekvens samt konsekvensgrad. Nedan presenteras ett exempel på en riskvärderingsmatris. Frekvent Trolig Sannolik Försumbar Osannolik Katastrof Oacceptabel Oacceptabel Oacceptabel Oacceptabel Bedömning Kritisk Oacceptabel Bedömning Bedömning Bedömning Acceptabel Marginell Bedömning Bedömning Bedömning Acceptabel Acceptabel Obetydlig Bedömning Acceptabel Acceptabel Acceptabel Acceptabel Figur 2-4. Exempel på hur en riskvärderingsmatris kan se ut. I matrisens celler skrivs de termer som används för att gradera hur allvarlig risken är. Antalet uppdelningar kan variera. I detta exempel har följande tre uppdelningar gjorts. Oacceptabel: Risken är så allvarlig att den under inga omständigheter kan tillåtas inträffa i angivet frekvens- och konsekvensintervall. Bedömning: En bedömning måste göras från fall till fall hur kostnadseffektivt det är att förebygga risken. Acceptabel: Konsekvensen av incidenten är så obetydlig att ingen åtgärd behöver genomföras. Stefan Särd och Dag Wester 14(124) Industriella informations och styrsystem