Test och kvalitetsrapport
|
|
|
- Roland Hermansson
- för 10 år sedan
- Visningar:
Transkript
1 Test och kvalitetsrapport Projektgrupp 1 Användaranpassat interface till Studiehandboken Version 1.0
2 Sida 2 av 231 Innehållsförteckning 3.1 Parter Dokumenthistorik Inledning Syfte Dokumentöversikt Begrepp Symfony Enhetstest Integrationstest Systemtest Acceptanstest Bugg Testnotation Testspecifikation Testprotokoll Felrapport Testdatabas Planerade tester Enhets- och Integrationstest Kommentarer och tabellförklaringar Arbetsordning till integrationstest Gemensamma (.lib) Studievy Utbildningsledarvy Parser Examensvy Systemtest Tabellförklaring Studievy TNM021 2
3 Sida 3 av Utbildningsledarvy Examensvy Parser Acceptanstest Utförda tester med resultat Enhetstest Databaskopppling Integrationstest Systemtest Kalenderår, akademiska år och studieuppehåll Sökmotor Programsökning med profil Acceptanstest Gemensamma Parser Utbildningsledarvy Examensenhetsvy Studentvy Kvalitet Planerade mätningar Tillförlitlighet Användbarhet Användbarhet Prototyping Frågor och scenarier Användbarhetstester i det färdiga systemet Förberedelser inför tester i det färdiga systemet Sammanfattning av mätningsresultat Utbildningsledarna Studenterna Examensenheten GUI TNM021 3
4 Sida 4 av Översikt Prototyper Ikoner Färgval och illustrationer Hjälp Kontakt Utbildningsledarvy Start Utbildningsledarvy Programplan, ett antagningsår Utbildningsledarvy - Programplan, ett antagningsår, sökresultat Utbildningsledarvy Programplan, flera antagningsår Utbildingsledarvy-Programplan, flera år Sökresultat Utbildningsleadrvy Sök kurser Examination Student Sök kurser Sökmotor (search) Sökmotor Formulärelement Studiehandbok Program Profil Termin Kurskod Kursnamn Huvudområde Block VOF Nivå Högskolepoäng (hp) Sök Dokumentgranskning Syfte TNM021 4
5 Sida 5 av Granskningsprocess Checklistor Felstatistik Jämförelser av felstatistik Sammanfattning Bilagor TNM021 5
6 Sida 6 av Parter Projektgrupp 1, Ht 2007 Linköpings Tekniska Högskola, Institutionen för teknik och naturvetenskap Namn Ansvar Telefon E-post Magnus Adnerhill Dan Eidmark Filip Gruvstad Marcus Andersson Projektledare, Studievy Projektledare, Examensvy Projektledare, Parser Projektledare, Utbildningsledarvy [email protected] [email protected] [email protected] [email protected] Kund: Jonas Detterfelt Kursansvarig: Martin Karlsson Handledare: Sara Johansson TNM021 6
7 Sida 7 av Dokumenthistorik Version Datum Utförda ändringar (utförda av:) Granskad Johan Jörtsö Ett första utkast med rubriker Johan Jörtsö, Daniel Eriksson, Eirik Fredäng, Ulf Davidsson Första versionen för inlämning med planerade tester Johan Jörtsö, Daniel Eriksson, Ulf Davidsson, Eirik, Fredäng, Anna Chung, Isac Jinton, Kristofer Höglund, Mats Karlsson Reviderad version med utförda tester och kvalitetsmätningar. Kund Handledare 3.3 Inledning Syfte Att göra tester är nödvändigt för att kontrollera hur väl systemet utför de uppgifter som förväntas av det. Genom att göra tester kontinuerligt, så detekteras fel av olika svårighetsgrad. Dessa fel kan utvärderas och rättas till i prioritetsordning. Med mätningar på hur ofta ett fel påträffas kan även ett approximativt mått fås, på hur många, ännu inte upptäckta, fel som systemet innehåller. Beräkningar kan även göras på hur återkommande ett fel är och denna information är nödvändig då prioriteringar om vad som i första hand bör åtgärdas ska göras samt i ändamål för förebyggande av fel. Syftet med att skriva en testrapport är att ge utomstående en överblick över vilka tester som gjorts och vilka resultat de gett. Detta presenteras i testspecifikationer och felrapporter, där även åtgärder till uppkomna fel presenteras. Alla tester är beroende av en fungerande testdatabas. Efter i testpecifikation angivna förberedelser, så förklaras vart och hur ett test ska utföras samt för vilka funktioner dessa tester är skrivna för. I dessa anges även indata och förväntade utdata. I en felrapport specificeras uppkomna fel hierarkiskt i en prioritetsskala och vilka åtgärder som måste vidtagas för att felet ska rättas till. TNM021 7
8 Sida 8 av Dokumentöversikt Detta dokument innehåller beskrivningar av vilka tester som är planerade att utföras samt de tester som utförts med tillhörande resultat. Dokumentet innehåller även en sammanställning av det arbete som utförts för att upprätthålla god dokument-, kod-, och produktkvalité under projektets gång. Som bilagor finns med vilka testdata som använts i testdatabasen, testkod, checklistor för dokumentgranskning, felstatistik samt prototyper Begrepp Symfony Symfony är ett ramverk skrivet i programmeringsspråket PHP som underlättar och möjliggör att projektet fokuseras på att implementera den funktionalitet som användaren efterfrågat. Dokumentation och mer information om Symfony finns på Enhetstest Enhetstest skall testa de minsta delarna i systemet. Vilket betyder att varje klass och dess metoder testas separat. Detta för att säkerställa att de fungerar som de ska enligt designspecifikationen. I dessa tester har vi använt Symfonys inbyggda system för automatiserad enhetstestning. Enhetstest och integrationstest kan då på ett enkelt sätt köras genom ett knapptryck Integrationstest Integrationstest är till för att testa flöden av information mellan klasser och dess metoder. Detta används med andra ord för att klasser fungerar tillsammans med varandra och inte bara enskilt. Konflikter mellan olika delar i systemet kan således lättare upptäckas på ett tidigare stadium i projektprocessen. För att integrationstest skall kunna göras bör enhetstest ha utförts tidigare för de klasser som skall integrationstestas Systemtest Efter de use-case (användningsscenarion) som beskrivits i kravspecifikationen skrivs systemtest. De testar om systemet kan utföra vad det skall kunna utföra Acceptanstest Denna typ av test baserar sig på hur användaren eller kunden uppfattar systemet. Gör systemet vad det ska göra enligt kraven? Användbarhet (se under 3.8 Användbarhet) innefattas också här, är systemet lätt och smidigt att använda? Uppfattar till exempel användaren systemet som lätt att använda och lätt att lära sig? Bugg I programmeringssammanhang vanlig benämning på ett fel i koden som gör att systemet inte fungerar som det ska. TNM021 8
9 Sida 9 av Testnotation Testspecifikation En testspecifikation beskriver ett eller flera testfall som skall utföras för att testa något, till exempel en klass. Testspecifikationen skrivs före testet utförs och specificerar hur testet skall utföras, vilka förberedelser som behövs, vad det har för indata och förväntade utdata. Om något speciellt behöver göras när testet har utförts och fel upptäcks, till exempel återställa saker i databasen eller liknande står det också med Testprotokoll För varje test som utförts skrivs ett testprotokoll. Testprotokollet är en utvärdering av testet och skrivs efter att testet är utfört. Testprotokollet beskriver om testet var lyckat eller ej Felrapport Om fel upptäckts skrivs en felrapport som graderar felet enligt: Remark Små lättlösta fel som enkla syntaxfel och väldigt enkla logiska fel. Fault Vanliga logiska fel, det som testas gör inte det som det är meningen att det ska göra. Serious fault Allvarliga fel som resulterar i att designen fallerar och man måste göra om den, eller resulterar i förstörda data eller liknande Felet och hur det sedan eventuellt korrigerats beskrivs sedan tillsammans med kodversion, datum och tid. Om felet har korrigerats noteras tiden som gått åt för detta Testdatabas Under implementation- och testfasen har en databas med testdata använts. Detta för att parsern som är den komponent i systemet som är mest avancerad och därför antogs bli klar sist. Användandet av en testdatabas möjliggör att tester som är beroende av en fungerande databas kan köras innan parsern blivit klar. Tanken med själva testdatan är att med ett antal exempelkurser från programmet Civilingenjör Medieteknik representera så många olika fall som möjligt. Till exempel: Översiktsvy baserat på olika startår (2005, 2006, 2007) och program (Medieteknik TCMEN och Medieteknik master 6CMEN) Valbara kurser (TEIE61 Industriell ekonomi) Profilkurser (TNM053 VR-teknik och TNM067 Vetenskaplig visualisering för Visualisering, TNM065 Dokumentstrukturer för Publicering) Ändringar i kursplanen för olika startår (TNM055 Databaser för MT2 VT2008 byts mot TNG033 Programmering i C++ för MT2 vårterminen 2008) TNM021 9
10 Sida 10 av 231 Testdatan är inte "fullständig", det vill säga, alla kurser finns inte med, men minst en kurs från varje schemablock varje år skall finnas med för Medieteknik startår 2005/2006 programkod TCMEN och 2007 programkod 6CMEN. 3.4 Planerade tester Enhets och Integrationstest Kommentarer och tabellförklaringar Ett enhetstest skall egentligen vara helt oberoende av andra klasser. Enligt den tänkta implementationsordningen skall klasser som ej beror på andra klasser implementeras först och sedan testas. Sedan implementeras de som beror på de klasser som är färdiga. Detta betyder att våra enhetstest egentligen testar både klassens funktioner och till viss del dess interaktion med andra klasser. Förklaring Testspecifikationer Nedan följer förklaringar till testspecifikationerna för enhets- och integrationstesten. Övertabell: Överst i en testspecifikation skall en övertabell finnas som är allmän för en hel klass. TestSpec.[vilken modul].[vilken klass] Förutsättningar Datum Här ska det stå vad som förutsätts för att testet skall kunna köras. Vilken typ av test specifikationen behandlar. När testspecifikationen skrevs. Undertabeller: Efter övertabellen skall det finnas undertabeller för varje funktion i klassen. En undertabell tar upp hur en funktion testas. Om funktionen kan göra flera saker så skall undertabellen delas upp i flera, en för varje sätt funktionen kan användas. TestSpec.[vilken modul].[vilken klass].[vilken funktion]([typ])-[nummer] TNM021 10
11 Sida 11 av 231 Här ska kraven (om funktionen utgår från några krav) som funktionen utgått från skrivas. Syfte: Varför detta test behövs. Indata : Vad som skickas in till funktionen (om något skickas in). Förväntade utdata: Vad som funktionen returnerar (om något returneras). Kriterier för lyckat test: Vad som gör att testet kan räknas som lyckat. Vad som måste göras innan testet kan utföras. Hur testet, steg för steg, skall utföras. Åtgärder om inga fel upptäckts: Vad som skall göras om inga fel upptäcks. Åtgärder om fel upptäckts: Vad som skall göras om fel upptäcks Arbetsordning till integrationstest För att testa systemet systematiskt så testar man komponenterna i en viss ordning för att man mer exakt ska veta vilken komponent i systemstrukturen som felar. Här använder vi oss av testtypen bottom up, en variant där vi börjar med att testa de klasserna som bara är beroende av enstaka andra klasser för att fungera. Sedan arbetar vi oss uppåt i systemet med de klasser som är beroende av flera klasser, på samma sätt som med implementationsordningen vid enhetstest. Syftet är här att se hur de olika klasserna interagerar med varandra och att flödet med information verkligen flyter utan problem genom systemet. Trädet i fältet struktur förklarar vilka andra underklasser som den behandlade klassen är beroende av och fältet Test refererar till testets testspecifikation. Test no.1: lib.profile Struktur lib.profile lib.course Test TestSpec.lib.Profile TNM021 11
12 Sida 12 av 231 Test no.2: lib.block Struktur lib.block lib.course Test TestSpec.lib.Block Test no.3: lib.period Struktur lib.period lib.block Test TestSpec.lib.Period Test no.4: lib.program Struktur lib.program lib.profile lib.course Test TestSpec.lib.Program Test no.5: lib.extensivecalenderyear Struktur lib.extensivecalenderyear lib.period lib.block Test TestSpec.lib.ExtensiveCalenderYear TNM021 12
13 Sida 13 av 231 Test no.6: lib.simplecalenderyear Struktur lib.simplecalenderyear lib.calenderyear lib.course Test TestSpec. lib.simplecalenderyear Test no.7: lib.coursemapper Struktur lib.coursemapper lib.basemapper lib.course Test TestSpec. lib.coursemapper Test no.8: lib.simplecalenderyearmapper Struktur lib.simplecalenderyearmapper TNM021 13
14 Sida 14 av 231 lib.simplecalenderyear lib.calenderyear lib.course Test TestSpec. lib.simplecalenderyearmapper Test no.9: lib.programmapper Struktur lib.programmapper lib.basemapper lib.profile lib.course lib.program lib.profile lib.course Test TestSpec. lib.programmapper Test no.10: lib.extensivecalenderyearmapper Struktur lib.extensivecalenderyearmapper lib.extensivecalenderyear? lib.period lib.period lib.block lib.block TNM021 14
15 Sida 15 av 231 lib.course lib.course Test TestSpec. lib.extensivecalenderyearmapper Test no.11: lib.studyplan Struktur lib.studyplan lib.program lib.profile lib.course lib.profile lib.course lib.extensivecalenderyear lib.period Test TestSpec. lib.studyplan Test no.12: lib.studyplanmapper Struktur lib.studyplanmapper lib.extensivecalenderyearmapper lib.extensivecalenderyear? lib.period lib.period TNM021 15
16 Sida 16 av 231 lib.block lib.block lib.course lib.course lib.extensivecalenderyear lib.period lib.program lib.profile lib.course lib.profile lib.course Test TestSpec. lib.studyplanmapper Test no.13: shared.sharedactions Struktur shared.sharedactions lib.profilemapper lib.basemapper lib.profile lib.course Test Test no.14: shared.studyplanformsuccess TNM021 16
17 Sida 17 av 231 Struktur shared.studyplanformsuccess symfony.formhelper symfony.ajaxhelper lib.program lib.profile lib.course lib.profile lib.course Test Test no.15: shared.studyplanformcomponent Struktur lib.program lib.profile lib.course lib.programmapper lib.basemapper lib.profile lib.course lib.program lib.profile lib.course lib.profile lib.course lib.profilemapper lib.basemapper lib.profile TNM021 17
18 Sida 18 av 231 lib.course lib.studyplan lib.program lib.profile lib.course lib.profile lib.course lib.extensivecalenderyear lib.period Test Test no.16: search._course Struktur search._course PartialHelper ( Symfony) Test Test no.17: search.simplesearchformsuccess Struktur search.simplesearchformsuccess symfony.formhelper TNM021 18
19 Sida 19 av 231 Test Test no.18: search._simplecalendaryear Struktur search._simplecalendaryear PartialHelper ( Symfony) search._course PartialHelper ( Symfony) Test Test no.19: serach.searchactions Struktur serach.searchactions lib.simplecalendaryearmapper search.searchformcomponent symfony.sfactions TNM021 19
20 Sida 20 av 231 Test Test no.20: search.indexsuccess Struktur search.indexsuccess symfony.partialhelper shared.searchformcomponent.advancedsearchform search._simplecalendaryear PartialHelper ( Symfony) search._course PartialHelper ( Symfony) Test Test no.20: search. advancedsearchformsuccess Struktur search. advancedsearchformsuccess symfony.formhelper lib.program lib.profile lib.course TNM021 20
21 Sida 21 av 231 lib.profile lib.course Test Test no.21: search.searchformcomponent Struktur search.searchformcomponent lib.program lib.profile lib.course lib.programmapper lib.basemapper lib.profile lib.course lib.program lib.profile lib.course lib.profile lib.course lib.profilemapper Test TNM021 21
22 Sida 22 av Gemensamma (.lib) TestSpec.lib.Block Förutsättningar Förutsett att classen Course är skapad. Enhetstest/Integrationstest Datum TestSpec.lib.Block.Block(int)-1 Syfte: För att kunna guppera kurser efter block Indata : Block numret (1-4) Förväntade utdata: - Kriterier för lyckat test: variabeln number ska få det värde som matas in som indata. Kontrollera att classen Course är skapad. 1. skriv konstruktorn Block. 2. Kontrollera om number har blivit tilldelad det värde(samma som indata) som förväntas. TestSpec.lib.Block.getNumber-1 Syfte: För att kunna retunera block numret. Indata: - Förväntade utdata: det indata som används i TestSpec.lib.Block.Block(int)-1 Kriterier för lyckat test: Korrekt utdata retuneras. TNM021 22
23 Sida 23 av 231 Skriv konstruktor lib.block.block(int) 1. skriv getnumber() 2. kontrollera om utdata är korrekt. TestSpec.lib.Block.setNumber-1 Syfte: För att kunna sätta nya blocknummer. Indata: number Förväntade utdata: - Kriterier för lyckat test: Kontrollera med hjälp av getnumber om klassvariabeln number har samma värde som indatan. Förutsätt att getnumber redan är skriven 1. skriv setnumber() 2. kontrollera om klasvariabeln number är den samma som indatan. TestSpec.lib.Block.getCourses-1 Syfte: För att kunna få ut vilka kurser som liggeri ett visst block. Indata: - Förväntade utdata: En array med de kurser som finns i ett block Kriterier för lyckat test: Korrekt utdata retuneras. Skriv konstruktor lib.block.block(int) 1. skriv getcourse() 2. kontrollera om arrayen innehåller alla de kurser som den ska. TNM021 23
24 Sida 24 av 231 TestSpec.lib.Block.addCourse-1 Syfte: För att kuna lägga til len kurs. Indata: En kurs Förväntade utdata: - Kriterier för lyckat test: Kontrollera om indata kursen läggs i arrayen Course[] Skriv konstruktor lib.block.block(int) 1. skriv addcourse() 2. Kontrollera om indata kursen läggs i arrayen Course[]. TestSpec.lib.CalendarYear Förutsättningar Enhetstest Datum TestSpec.lib.CalendarYear.CalendarYear(year : int) -1 Syfte: Kontrollera konstruktorn CalendarYear(year : int) Indata /Use-Case: 2005 Förväntade utdata: - Kriterier för lyckat test: Konstruktorn lagrar årtalet 2005 Implementera getyear() 1. Skapa ett CalendarYear-objekt med konstruktorn CalendarYear(2005) 2. Kontrollera att getyear() returnerar 2005 TNM021 24
25 Sida 25 av 231 TestSpec.lib.CalendarYear.getYear() -1 Syfte: Kontrollera getyear() Indata /Use-Case: - Förväntade utdata: 1984 Kriterier för lyckat test: getyear() returnerar rätt årtal Implementera konstruktorn CalendarYear() 1. Skapa ett CalendarYear-objekt med årtal Kontrollera att getyear() returnerar 1984 TestSpec.lib.CalendarYear.setYear(year : int) -1 Syfte: Kontrollera setyear() Indata /Use-Case: 1985 Förväntade utdata: - Kriterier för lyckat test: setyear() ändrar årtal till 1985 Implementera konstruktorn CalendarYear() och getyear() 1. Skapa ett CalendarYear-objekt 2. Anropa setyear(1985) 3. Kontrollera att getyear() returnerar 1985 TestSpec.lib.Course Förutsättningar Enhetstest Datum TNM021 25
26 Sida 26 av 231 TestSpec.lib.Course.Course() -1 Syfte: Testa klassens konstruktor Indata /Use-Case: code = KOD001, name = Kursnamn, points = 6.0, level = G1, vof = O, areaname = Area, subjectname = Subject, year = 2008, period = { 1, 2 }, block = 1 Förväntade utdata: Ett kursobjekt med instansvariabler satta till indata Kriterier för lyckat test: Korrekt kursobjekt skapas Implementera setcode(), setname(), setpoints(), setareaname(), setyear(), addperiod(), addblock(), getcode(), getname(), getpoints(), getareaname(), getyear(), getperiods() och getblocks() 1. Skapa ett objekt Course( KOD001, Kursnamn, 6.0, G1, O, { Area 1, Area 2 }, Subject, 2008, { 1, 2 }, { 1, 3 }) 2. Kontrollera att koden är KOD001 med getcode() 3. Kontrollera att namnet är Kursnamn med getname() 4. Kontrollera att poängen är 6.0 med getpoints(hp_points) 5. Kontrollera att huvudområdena är Area 1 och Area 2 med getareaname() 6. Kontrollera att året är 2008 med getyear() 7. Kontrollera att perioderna är { 1, 2 } med getperiods() 8. Kontrollera att blocken är { 1, 3 } med getblocks() 9. Skapa ett objekt Course() 10. Kontrollera att samtliga getmetoder ger tomma värden TNM021 26
27 Sida 27 av 231 TestSpec.lib.Course.getCode() -1 Syfte: Kontrollera getcode() Indata /Use-Case: - Förväntade utdata: TNM030 Kriterier för lyckat test: getcode() returnerar rätt kurskod Implementera konstruktorn Course() 3. Skapa ett Course-objekt med kurskod TNM Kontrollera att getcode() returnerar TNM030 TestSpec.lib.Course.setCode() -1 Syfte: Kontrollera setcode() Indata /Use-Case: TNA001 Förväntade utdata: - Kriterier för lyckat test: setcode() ändrar kurskod till TNA001 Implementera konstruktorn Course() och getcode() 1. Skapa ett Course-objekt 2. Anropa setcode( TNA001 ) 3. Kontrollera att getcode() returnerar TNA001 TNM021 27
28 Sida 28 av 231 TestSpec.lib.Course.getName() -1 Syfte: Kontrollera getname() Indata /Use-Case: - Förväntade utdata: BoB Kriterier för lyckat test: getname() returnerar rätt kursnamn Implementera konstruktorn Course() 1. Skapa ett Course-objekt med kursnamn BoB 2. Kontrollera att getname() returnerar BoB TestSpec.lib.Course.setName() -1 Syfte: Kontrollera setname() Indata /Use-Case: Grunken Förväntade utdata: - Kriterier för lyckat test: setname() ändrar kurskod till Grunken Implementera konstruktorn Course() och getname() 1. Skapa ett Course-objekt 2. Anropa setname( Grunken ) 3. Kontrollera att getname() returnerar Grunken TNM021 28
29 Sida 29 av 231 TestSpec.lib.Course.getPoints() -1 Syfte: Kontrollera getpoints() Indata /Use-Case: - Förväntade utdata: 6.0 Kriterier för lyckat test: getpoints() returnerar rätt poäng Implementera konstruktorn Course() 1. Skapa ett Course-objekt med poäng Kontrollera att getpoints(hp_points) returnerar Kontrollera att getpoints(old_points) returnerar 4.0 TestSpec.lib.Course.setPoints() -1 Syfte: Kontrollera setpoints() Indata /Use-Case: points = 12.0, typeofpoints = HP_POINTS Förväntade utdata: - Kriterier för lyckat test: setpoints() ändrar poäng till 12.0 Implementera konstruktorn Course() och getpoints() 1. Skapa ett Course-objekt 2. Anropa setpoints(12.0, HP_POINTS) 3. Kontrollera att getpoints(hp_points) returnerar 12.0 TNM021 29
30 Sida 30 av 231 TestSpec.lib.Course.getAreaName() -1 Syfte: Kontrollera getareaname() Indata /Use-Case: - Förväntade utdata: Secret area Kriterier för lyckat test: getareaname() returnerar rätt huvudområde Implementera konstruktorn Course() 1. Skapa ett Course-objekt med huvudområde Secret area 2. Kontrollera att getareaname() returnerar Secret area TestSpec.lib.Course.addAreaName() -1 Syfte: Kontrollera addareaname() Indata /Use-Case: Area 51 Förväntade utdata: - Kriterier för lyckat test: addareaname()lägger till huvudområde Area 51 Implementera konstruktorn Course() och getareaname() 1. Skapa ett Course-objekt 2. Anropa addareaname( Area 51 ) 3. Kontrollera att getareaname() returnerar Area 51 TNM021 30
31 Sida 31 av 231 TestSpec.lib.Course.getYear() -1 Syfte: Kontrollera getyear() Indata /Use-Case: - Förväntade utdata: 1984 Kriterier för lyckat test: getyear() returnerar rätt årtal Implementera konstruktorn Course() 3. Skapa ett Course-objekt med årtal Kontrollera att getyear() returnerar 1984 TestSpec.lib.Course.setYear() -1 Syfte: Kontrollera setyear() Indata /Use-Case: 1985 Förväntade utdata: - Kriterier för lyckat test: setyear() ändrar årtal till 1985 Implementera konstruktorn Course() och getyear() 1. Skapa ett Course-objekt 2. Anropa setyear(1985) 3. Kontrollera att getyear() returnerar 1985 TNM021 31
32 Sida 32 av 231 TestSpec.lib.Course.getPeriods() -1 Syfte: Kontrollera getperiods() Indata /Use-Case: - Förväntade utdata: { 1, 3, 4 } Kriterier för lyckat test: getperiods() returnerar rätt perioder Implementera konstruktorn Course() 1. Skapa ett Course-objekt med perioder { 1, 3, 4 } 2. Kontrollera att getperiods() returnerar { 1, 3, 4 } TestSpec.lib.Course.addPeriod() -1 Syfte: Kontrollera addperiod() Indata /Use-Case: 2, 1, 4 Förväntade utdata: - Kriterier för lyckat test: addperiod() lägger till samtliga perioder Implementera konstruktorn Course() och getperiods() 1. Skapa ett Course-objekt 2. Anropa addperiod(2) 3. Anropa addperiod(1) 4. Anropa addperiod(4) 5. Kontrollera att getperiods() returnerar { 1, 2, 4 } TNM021 32
33 Sida 33 av 231 TestSpec.lib.Course.getBlocks() -1 Syfte: Kontrollera getblocks() Indata /Use-Case: - Förväntade utdata: { 1, 3, 4 } Kriterier för lyckat test: getblocks() returnerar rätt perioder Implementera konstruktorn Course() 1. Skapa ett Course-objekt med block { 1, 3, 4 } 2. Kontrollera att getblocks() returnerar { 1, 3, 4 } TestSpec.lib.Course.addBlock() -1 Syfte: Kontrollera addblock() Indata /Use-Case: 2, 1, 4 Förväntade utdata: - Kriterier för lyckat test: addblock() lägger till samtliga block Implementera konstruktorn Course() och getblocks() 1. Skapa ett Course-objekt 2. Anropa addblock(2) 3. Anropa addblock(1) 4. Anropa addblock(4) 5. Kontrollera att getblocks() returnerar { 1, 2, 4 } TNM021 33
34 Sida 34 av 231 TestSpec.lib.Course.getLevel() -1 Syfte: Kontrollera getlevel() Indata /Use-Case: Förväntade utdata: G1 Kriterier för lyckat test: getlevel() lägger hämtar G1 från course Implementera konstruktorn Course() och getblocks() 1. Skapa ett Course-objekt med level G1 2. Kontrollera att getlevel() returnerar G1 TestSpec.lib.Course.setLevel() -1 Syfte: Kontrollera setlevel() Indata /Use-Case: G1 Förväntade utdata: Kriterier för lyckat test: setlevel() sätter level till G1 i course Implementera konstruktorn Course() och getblocks() 1. Skapa ett Course-objekt 2. Anropa setlevel(g1) 3. Anropa getlevel() och kontrollera att den returnerar G1 TNM021 34
35 Sida 35 av 231 TestSpec.lib.CourseMapper Förutsättningar Datum Beroende av lib.course och lib.basemapper, test kräver tillgänglig databas med testdata Enhetstest /Integrationstest TestSpec.lib.CourseMapper.existsInDatabase(course : string[]) - 1 Syfte: Kontrollera existsindatabase() Indata /Use-Case: { TNA001 } Förväntade utdata: true Kriterier för lyckat test: existsindatabase() hittar existerande kurs i databasen Kontrollera att sökt kurs finns i databasen 1. Skapa fältet coursedata = array( TNA001 ) 2. Kontrollera att CourseMapper::existsInDatabase(courseData) returnerar true TestSpec.lib.CourseMapper.existsInDatabase(course : string[]) - 2 Syfte: Kontrollera existsindatabase() Indata /Use-Case: { KOD001 } Förväntade utdata: false Kriterier för lyckat test: existsindatabase() hittar ej icke existerande kurs i databasen Kontrollera att sökt kurs inte finns i databasen 1. Skapa fältet coursedata = array( KOD001 ) 2. Kontrollera att CourseMapper::existsInDatabase(courseData) returnerar false TNM021 35
36 Sida 36 av 231 TestSpec.lib.CourseMapper.studiesExistsInDatabase(course : string[]) - 1 Syfte: Kontrollera studiesexistsindatabase() Indata /Use-Case: { "TNA001", "Matematisk grundkurs", "1", "1", "O", "1", "6.0", "G1", "B", "Area", "2006", "pb", "TCMEN" } Förväntade utdata: true Kriterier för lyckat test: studiesexistsindatabase() hittar existerande kurstillfälle i databasen Kontrollera att sökt kurs finns i databasen 1. Skapa fältet coursedata = array("tna001", "Matematisk grundkurs", "1", "1", "O", "1", "6.0", "G1", "B", "Area", "2006", "pb", "TCMEN") 2. Kontrollera att CourseMapper::studiesExistsInDatabase(courseData) returnerar true TestSpec.lib.CourseMapper.studiesExistsInDatabase(course : string[]) - 2 Syfte: Kontrollera studiesexistsindatabase() Indata /Use-Case: { "TNA001", "Matematisk grundkurs", "1", "1", "O", "1", "6.0", "G1", "B", "Area", "1918", "pb", "TCMEN" } Förväntade utdata: false Kriterier för lyckat test: studiesexistsindatabase() hittar ej icke existerande kurstillfälle i databasen Kontrollera att sökt kurs inte finns i databasen 1. Skapa fältet coursedata = array("tna001", "Matematisk grundkurs", "1", "1", "O", "1", "6.0", "G1", "B", "Area", "1918", "pb", "TCMEN") 2. Kontrollera att CourseMapper::studiesExistsInDatabase(courseData) returnerar false TNM021 36
37 Sida 37 av 231 TestSpec.lib.CourseMapper.insertInDatabase(course : string[]) - 1 Syfte: Kontrollera insertindatabase() Indata /Use-Case: { "KOD001", "Kursnamn", "1", "1", "O", "1", "6.0", "G1", "B", "Area", "2008", "pb", "TCMEN" } Förväntade utdata: - Kriterier för lyckat test: insertindatabase() lagrar medskickad kurs i databasen Kontrollera att den kurs som ska läggas till inte redan finns i databasen 1. Skapa fältet coursedata = array("kod001", "Kursnamn", "1", "1", "O", "1", "6.0", "G1", "B", "Area", "2008", "pb", "TCMEN") 2. Kör CourseMapper::insertInDatabase(courseData) 3. Kontrollera att kurs och kurstillfälle lagrats korrekt i databasen: a. I course: "KOD001", "Kursnamn", 4, 5.0, "B", "G1" b. I educationarea: areaid, "Area" c. I belongstoeducation: "KOD001", areaid d. I studies: "pb", "TCMEN", 2008, 1, 1, "KOD001", "1", "O" TestSpec.lib.CourseMapper.storeInDatabase(course : string[]) - 1 Syfte: Kontrollera storeindatabase() Indata /Use-Case: { "KOD001", "Kursnamn", "1", "1", "O", "1", "6.0", "G1", "B", "Area", "2008", "pb", "TCMEN" } Förväntade utdata: - Kriterier för lyckat test: storeindatabase() lagrar medskickad kurs i databasen Kontrollera att den kurs som ska läggas till inte redan finns i databasen TNM021 37
38 Sida 38 av Skapa fältet coursedata = array("kod001", "Kursnamn", "1", "1", "O", "1", "6.0", "G1", "B", "Area", "2008", "pb", "TCMEN") 2. Kör CourseMapper::storeInDatabase(courseData) 3. Kontrollera att kurs och kurstillfälle lagrats korrekt i databasen: a. I course: "KOD001", "Kursnamn", 4, 5.0, "B", "G1" b. I educationarea: areaid, "Area" c. I belongstoeducation: "KOD001", areaid d. I studies: "pb", "TCMEN", 2008, 1, 1, "KOD001", "1", "O" TestSpec.lib.CourseMapper.storeInDatabase(course : string[]) - 2 Syfte: Kontrollera storeindatabase() Indata /Use-Case: { "KOD001", "Kursnamn", "1", "1", "O", "1", "6.0", "G1", "B", "Area", "2008", "vi", "TCMEN" } Förväntade utdata: - Kriterier för lyckat test: storeindatabase() lägger till information om att ett program läser en kurs som redan finns i databasen Kontrollera att den kurs som ska läggas till redan finns i databasen 1. Skapa fältet coursedata = array("kod001", "Kursnamn", "1", "1", "O", "1", "6.0", "G1", "B", "Area", "2008", "vi", "TCMEN") 2. Kör CourseMapper::storeInDatabase(courseData) 3. Kontrollera att data lagrats korrekt i databasen: a. I studies: "vi", "TCMEN", 2008, 1, 1, "KOD001", "1", "O" TestSpec.lib.ExtensiveCalendarYear Förutsättningar Beror av lib.period, den måste vara implementerad Enhetstest/Integrationstest Datum TNM021 38
39 Sida 39 av 231 TestSpec.lib.ExtensiveCalendarYear.ExtensiveCalendarYear() -1 Syfte: Testa klassens konstruktor Indata /Use-Case: Förväntade utdata: Ett ExtensiveCalendarYear-objekt Kriterier för lyckat test: Korrekt objekt skapas 1. Skapa ett ExtensiveCalendarYear-objekt med värdet Kontrollera med getyear att värdet är Kontrollera att ExtensiveCalendarYear skapar korrekt objekt. TestSpec.lib.SimpleCalendarYear.setYear () -1 Syfte: Testa metoden setyear Indata /Use-Case: integer: 1972 Förväntade utdata: NULL Kriterier för lyckat test: NULL returneras Implementera setyear() 1. Sätt Year till 1972 med hjälp av setyear 2. Kontrollera att setyear returnerar NULL TestSpec.lib.ExtensiveCalendarYear.getYear() -1 Syfte: Testa metoden getyear Indata /Use-Case: Förväntade utdata: integer: 1984 Kriterier för lyckat test: getyear returnerar korrekt år TNM021 39
40 Sida 40 av 231 Implementera setyear() 1. sätt år till 1984 med metoden setyear(). 2. Kontrollera att getyear() hämtar en integer. 3. Kontrollera att getyear() hämtar korrekt year: 1984 Åtgärder om inga fel upptäckts: Åtgärder om fel upptäckts: Skriv felrapport ErrorRep.lib.ExtensiveCalendarYear.getYear-[datum,tid]. Korrigera felet. Kör ny testomgång. TestSpec.lib.ExtensiveCalendarYear.getPeriod() -1 Syfte: Testa metoden getperiod Indata /Use-Case: Förväntade utdata: periodobjekt Kriterier för lyckat test: Korrekt periodobjekt ska hämtas. Implementera getperiod(). TNM021 40
41 Sida 41 av Hämta period Kontrollera att ett periodobjekt returneras. 3. Kontrollera att korrekt period hämtats. 4. Hämta period 2 5. Kontrollera att ett periodobjekt returneras. 6. Kontrollera att korrekt period hämtats. 7. Hämta period Kontrollera att ett periodobjekt returneras. 9. Kontrollera att korrekt period hämtats. 10. Hämta period Kontrollera att ett periodobjekt returneras. 12. Kontrollera att korrekt period hämtats. 13. Hämta period Kontrollera att NULL returneras. 15. Hämta period Kontrollera att NULL returneras. TestSpec.lib.ExtensiveCalendarYearMapper.buildSQL Förutsättningar Att indata till funktionen inte är felaktig i förhållande till förväntad indata. Enhetstest Datum TestSpec.lib. ExtensiveCalendarYearMapper.buildSQL-1 Syfte: Verifiera att funktionen bygger en korrekt SQL-fråga då användaren inte valt någon profil. Indata: årtal = 2006, programkod = TCMEN, terminer = 1,2 Förväntade utdata: En sträng (SQL-fråga). Kriterier för lyckat test: Att SQL-frågan följer korrekt SQL-syntax och att frågan kan användas för att hämta ut data för programmet TCMEN under år 2006, termin 1 och 2. TNM021 41
42 Sida 42 av Matcha den returnerade strängen mot en förväntad sträng. TestSpec.lib. ExtensiveCalendarYearMapper.buildSQL-2 Syfte: Verifiera att funktionen bygger en korrekt SQL-fråga då användaren valt profil Indata: årtal = 2006, programkod = TCMEN,, profilkod = vi, terminer = 1,2 Förväntade utdata: En sträng (SQL-fråga). Kriterier för lyckat test: Att SQL-frågan följer korrekt SQL-syntax och att frågan kan användas för att hämta ut data för programmet TCMEN med profil Visualisering under år 2006, termin 1 och Matcha den returnerade strängen mot en förväntad sträng. TestSpec.lib. ExtensiveCalendarYearMapper.buildSQL-3 Syfte: Verifiera att funktionen bygger en korrekt SQL-fråga då användaren valt profil och en viss sorteringsordning på kurser. Indata: årtal = 2006, programkod = TCMEN,, profilkod = vi, terminer = 1,2, sortera på kurskod, sorteringsordning = fallande Förväntade utdata: En sträng (SQL-fråga). Kriterier för lyckat test: Att SQL-frågan följer korrekt SQL-syntax och att frågan kan användas för att hämta ut data för programmet TCMEN med profil Visualisering under år 2006, termin 1 och 2 och sorterar kurserna på kurskod i fallande ordning. 1. Matcha den returnerade strängen mot en förväntad sträng. TNM021 42
43 Sida 43 av 231 TestSpec.lib.ExtensiveCalendarYearMapper.getYearWithPeriodsBlocksCourses Förutsättningar En fungerande databas-koppling till en databas med testdata i. Enhetstest Datum :25 TestSpec.lib.ExtensiveCalendarYearMapper. getyearwithperiodsblockscourses-1 Syfte: Verifiera att en korrekt och fullständig instans av ett kalenderårsobjekt (ExtensiveCalendarYear) returneras. Indata: Årtal = 2006, programkod = TCMEN, profilkod = vi, period = 1 Förväntade utdata: En instans av ExtensiveCalendarYear Kriterier för lyckat test: 1. Att en instans av ExtensiveCalendarYear returneras 2. Att kalenderår-objektet har korrekt årtal 3. Att kalenderår-objektet innehåller rätt kurser utifrån år, program, profil och termin Sätt upp databaskoppling, skapa instans utav klassen. 1. Kontrollera att det som returnerats är en instans av klassen ExtensiveCalendarYear 2. Kontrollera att objektet har korrekt årtal = Hämta kurser från de perioder och block som ingår i termin 2, år Kontrollera att de kurser-objekten har samma kurskod som de i databasen. TNM021 43
44 Sida 44 av 231 TestSpec.lib.Period Förutsättningar beror av lib.block, den måste vara implementerad Enhetstest/Integrationstest Datum TestSpec.lib.Period.Period() -1 Syfte: Testa klassens konstruktor Indata /Use-Case: period: 1 integer Förväntade utdata: Ett periodobjekt med instansvariabler satta till indata Kriterier för lyckat test: Korrekt periodobjekt skapas Implementera 1. Sätt period till 1 i konstruktorn 2. Kontrollera att ett periodobjekt skapas med värdet 1 som integer med getnumber() TestSpec.lib.Period.setNumber() -1 Syfte: Testa metoden setnumber Indata /Use-Case: integer: 2 Förväntade utdata: Kriterier för lyckat test: Period sätts till 2 Implementera setnumber() 1. Sätt period till 2 med hjälp av setnumber() 2. Kontrollera att setnumber() returnerar NULL TNM021 44
45 Sida 45 av 231 TestSpec.lib.CalendarYear.getNumber() -1 Syfte: Testa metoden getnumber Indata /Use-Case: Förväntade utdata: integer: 2 Kriterier för lyckat test: Period återges som 2 Implementera getyear() 1. Kontrollera att getnumber() hämtar en integer 2. Kontrollera att getnumber() hämtar korrekt period, 2 TNM021 45
46 Sida 46 av 231 TestSpec.lib.Period.getBlock() -1 Syfte: Testa metoden getblock Indata /Use-Case: integer: 1, 2, 3, 4, -1 och 5 Förväntade utdata: integer: 1, 2, 3 och 4 Kriterier för lyckat test: Blockobjekt återges med nummer 1, 2, 3 och 4, samt värdet NULL Implementera getblock() 1. Kontrollera att getblock() hämtar ett blockobjekt 2. Kontrollera att getblock() hämtar blockobjekt nummer kontrollera att getblock() hämtar ett blockobjekt. 4. Kontrollera att getblock() hämtar blockobjekt nummer Kontrollera att getblock() hämtar ett blockobjekt. 6. Kontrollera att getblock() hämtar blockobjekt nummer Kontrollera att getblock() hämtar ett blockobjekt. 8. Kontrollera att getblock() hämtar blockobjekt nummer Kontrollera att getblock() returnerar NULL om block nummer 5 försöker hämtas. 10. Kontrollera att getblock() returnerar NULL om block nummer -1 försöker hämtas. TNM021 46
47 Sida 47 av 231 TestSpec.lib.Period.getBlocks() -1 Syfte: Testa metoden getblocks Indata /Use-Case: Förväntade utdata: array: blockobjekt Kriterier för lyckat test: Array med periodobjekt återfås. Implementera getblocks() 1. Kontrollera att getblocks() hämtar en array bestående av blockobjekt. 2. Kontrollera att getblock() hämtar korrekt array. TestSpec.lib.Period.addCourse() -1 Syfte: Testa metoden addcourse Indata /Use-Case: Förväntade utdata: Kriterier för lyckat test: En kurs läggs till i period. Implementera addcourse() 1. Skapa ett kursobjekt. 2. Sätt kursobjektet till TNA skapa ett kursobjekt. 4. Sätt kursobjektet till TNA Skapa ett kursobjekt. 6. Sätt kursobjektet till TNA Lägg till kursen TNA005 med addcourse(). 8. Kontrollera att kursobjektet läggs till. TNM021 47
48 Sida 48 av 231 TestSpec.lib.Period.getCourses() -1 Syfte: Testa metoden getcourses Indata /Use-Case: Förväntade utdata: kursobjekt Kriterier för lyckat test: En kurs återfås som TNA005. Implementera getcourses() 1. Kontrollera att ett kursobjekt hämtas. 2. Kontrollera att korrekt kurs hämtas, TNA005. TestSpec.lib.Period.getCoursesInBlocks() -1 Syfte: Testa metoden getcoursesinblocks Indata /Use-Case: Förväntade utdata: kursobjekt Kriterier för lyckat test: Korrekta kurser returneras. Implementera addcourse() 1. Lägg till kurs TNA001 i block 1 med getblock() och addcourse(). 2. Lägg till kurs TNA002 i block 2 med getblock() och addcourse(). 3. Kontrollera att korrekt kursobjekt returneras för kurserna TNA001 och TNA002. TNM021 48
49 Sida 49 av 231 TestSpec.lib.Profile Förutsättningar Profile beror av lib.course, den måste vara implementerad Enhetstest/Integrationstest Datum TestSpec.lib.Profile.Profile -1 Syfte: Testa klassens konstruktor Indata /Use-Case: code = pb, name = Publicering Förväntade utdata: Ett profilobjekt med code = pb, name = Publicering Kriterier för lyckat test: Korrekt profilobjekt skapas Implementera getcode() och getname() 1. Skapa ett objekt Profile( pb, Publicering ) 2. kontrollera att koden är pb med getcode() 3. kontrollera att namnet är Publicering med getname() 4. Skapa ett objekt Profile() 5. kontrollera att koden är med getcode() 6. kontrollera att namnet är med getname() TNM021 49
50 Sida 50 av 231 TestSpec.lib.Profile.getCode() -1 Syfte: Kontrollera getcode() Indata /Use-Case: - Förväntade utdata: pb Kriterier för lyckat test: getcode() returnerar rätt profilkod Implementera konstruktorn Profile() och getcode() 3. Skapa ett Profile-objekt med profilkod pb 4. Kontrollera att getcode() returnerar pb TestSpec.lib.Profile.setCode() -1 Syfte: Kontrollera setcode() Indata /Use-Case: vi Förväntade utdata: - Kriterier för lyckat test: setcode() ändrar profilkod till vi Implementera konstruktorn Profile() och getcode() 1. Skapa ett Profile-objekt med profilkod pb 2. anropa setcode( vi ) 3. Kontrollera att getcode() returnerar vi TNM021 50
51 Sida 51 av 231 TestSpec.lib.Profile.getName() -1 Syfte: Kontrollera getname() Indata /Use-Case: - Förväntade utdata: Publicering Kriterier för lyckat test: getname() returnerar rätt profilnamn Implementera konstruktorn Profile() och getname() 1. Skapa ett Profile-objekt med profilkod Pb 2. Kontrollera att getname() returnerar Publicering TestSpec.lib.Profile.setName() -1 Syfte: Kontrollera setname() Indata /Use-Case: Visualisering Förväntade utdata: - Kriterier för lyckat test: setname() ändrar profilnamn till Visualisering Implementera konstruktorn Profile() och getname() 1. Skapa ett Profile-objekt med profilnamn Publicering 2. anropa setname( Visualisering ) 3. Kontrollera att getname() returnerar Visualisering TNM021 51
52 Sida 52 av 231 TestSpec.lib.Profile.addCourse() -1 Syfte: Indata /Use-Case: Förväntade utdata: Kriterier för lyckat test: Klassen Course måste vara implementerad. Implementera getcourses() 1. Skapa flera Course-objekt 2. Skapa ett Profile-objekt 3. Lägg till kurserna i profilen med addcourse() 4. Kontrollera att kurserna blev tillagda med getcourses() TestSpec.lib.Profile.getCourses() -1 Syfte: Kontrollera att getcourses() returnerar om inga kurser lagts till Indata /Use-Case: Förväntade utdata: En tom variabel för kurser ( ) Kriterier för lyckat test: getcourses returnerar och inte NULL Implementera Profile() 1. Skapa ett Profile-objekt 2. Kontrollera getcourses() returnerar en tom variabel för kurser ( ) TNM021 52
53 Sida 53 av 231 TestSpec.lib.ProfileMapper Förutsättningar Beroende av lib.profile och lib.basemapper Enhetstest/Integrationstest Datum TestSpec.lib.ProfileMapper.existsInDatabase(profile : string[])-1 Syfte: Testa om en profil finns i databasen Indata: array( pb, Visualisering, TCMEN ) Förväntade utdata: true Kriterier för lyckat test: databasfrågan returnerar minst en rad, dvs profilen finns Kolla att Profile( pb, visualisering, TCMEN ) existerar i databasen 7. Skapa fältet: array( pb, visualisering, TCMEN ) 8. Anropa ProfileMapper::existsInDatabase() med fältet som argument och kontrollera att returvärdet är true TestSpec.lib.ProfileMapper.existsInDatabase(profile : string[])-1 Syfte: Testa om en profil finns i databasen Indata: array( df, digital teknik i film och video, 6CMEN ) Förväntade utdata: false (nya Medieteknik MsC har inga profiler) Kriterier för lyckat test: databasfrågan returnerar 0 rader, dvs profilen finns inte Kolla att Profile( pb, visualisering, 6CMEN ) inte existerar i databasen 1. Skapa fältet: array( df, digital teknik i film och video, 6CMEN ) 2. Anropa ProfileMapper::existsInDatabase() med fältet som argument 3. Kontrollera att returvärdet är false TNM021 53
54 Sida 54 av 231 TestSpec.lib.ProfileMapper.insertInDatabase(profile: string[])-1 Syfte: Testa om en profil går att lägga in i databasen Indata: array( df, digital teknik i film och video, 6CMEN ) Förväntade utdata: true Kriterier för lyckat test: ProfileMapper::existsInDatabase() för profilen returnerar true, profilen har blivit inlagd i databasen. Implementera ProfileMapper::existsInDatabase() 1. Skapa fältet array( df, digital teknik i film och video, 6CMEN ) 2. Kontrollera med ProfileMapper::existsInDatabase() att profilen inte redan är inlagd (skall returnera false) 3. Anropa ProfileMapper::insertInDatabase() med fältet som argument 4. Kontrollera med ProfileMapper::existsInDatabase() att profilen blivit inlagd (skall returnera true) 5. Återställ databasen genom att ta bort Profile( df, digital teknik i film och video, 6CMEN ) (6CMEN har eg inte profiler, men det är bra testfall) TestSpec.lib.ProfileMapper.storeInDatabase(profile: string[])-1 Syfte: Testa om en profil går att lägga in i databasen Indata: array( vi, Visualisering, 6CMEN ) Förväntade utdata: true Kriterier för lyckat test: Implementera: ProfileMapper::existsInDatabase(), ProfileMapper::insertInDatabase() 1. Skapa fältet array( vi, Visualisering, 6CMEN ) 2. Kontrollera med ProfileMapper::existsInDatabase() att profilen inte redan är inlagd (skall returnera false) TNM021 54
55 Sida 55 av Anropa ProfileMapper::storeInDatabase() med fältet som argument 4. Kontrollera med ProfileMapper::existsInDatabase() att profilen blivit inlagd (skall returnera true) 5. Anropa ProfileMapper::storeInDatabase() med samma fält som argument igen och kontrollera i databasen att ingen ändring skett 6. Återställ databasen genom att ta bort Profile( vi, Visualisering, 6CMEN ) (6CMEN har eg inte profiler, men det är bra testfall) TestSpec.lib.ProfileMapper.getProfile(profileCode: string, programcode: string)-1 Syfte: Testa om en det går att få ut ett Profile-objekt från databasen Indata: profilecode = pb, programcode = TCMEN Förväntade utdata: ett Profile-objekt Kriterier för lyckat test: Rätt Profile-objekt returneras Implementera: ProfileMapper::existsInDatabase(), ProfileMapper::insertInDatabase() Profile 1. Skapa ett objekt från ProfileMapper::getProfile( pb, Publicering ) 2. Kontrollera att ett Profile-objekt skapats 3. Kontrollera att profilecode är pb med profilobjekt.getcode() 4. Kontrollera att profilename är Publicering med profilobjekt.getname() TNM021 55
56 Sida 56 av 231 TestSpec.lib.Program Förutsättningar Program beror av lib.profile, den måste vara implementerad Enhetstest/Integrationstest Datum TestSpec.lib.Program.Program -1 Syfte: Testa klassens konstruktor Indata /Use-Case: code = TCMEN, name = Medieteknik Förväntade utdata: Ett programobjekt med code = TCMEN, name = Medieteknik Kriterier för lyckat test: Korrekt programobjekt skapas Implementera getcode() och getname() 1. Skapa ett objekt Program( TCMEN, Medieteknik ) 2. kontrollera att koden är TCMEN med getcode() 3. kontrollera att namnet är Medieteknik med getname() 4. Skapa ett objekt Profile() 5. kontrollera att koden är TCKTN med getcode() 6. kontrollera att namnet är Kommunikations- och Transportsystem med getname() TestSpec.lib.Program.getCode() -1 Syfte: Kontrollera getcode() Indata /Use-Case: - Förväntade utdata: TCMEN Kriterier för lyckat test: getcode() returnerar rätt programkod TNM021 56
57 Sida 57 av 231 Implementera konstruktorn Program() och getcode() 1. Skapa ett Program-objekt med programkod TCMEN 2. Kontrollera att getcode() returnerar TCMEN TestSpec.lib.Program.setCode() -1 Syfte: Kontrollera setcode() Indata /Use-Case: TCKTN Förväntade utdata: - Kriterier för lyckat test: setcode() sätter profilkod till TCKTN Implementera konstruktorn Program() och getcode() 1. Skapa ett Program-objekt med programkod TCKTN 2. anropa setcode( TCKTN ) 3. Kontrollera att getcode() returnerar TCKTN TestSpec.lib.Profile.getName() -1 Syfte: Kontrollera getname() Indata /Use-Case: - Förväntade utdata: Kommunikations- och Transportsystem Kriterier för lyckat test: getname() returnerar rätt programnamn Implementera konstruktorn Program() och getname() 1. Skapa ett Program-objekt med programkod TCKTN 2. Kontrollera att getname() returnerar Kommunikations- och Transportsystem TNM021 57
58 Sida 58 av 231 TestSpec.lib.Program.setName() -1 Syfte: Kontrollera setname() Indata /Use-Case: Kommunikations- och Transportsystem Förväntade utdata: - Kriterier för lyckat test: setname() ändrar programnamn till Kommunikationsoch Transportsystem Implementera konstruktorn Program() och getname() 1. Skapa ett Program-objekt med profilnamn Kommunikations- och Transportsystem 2. anropa setname( Kommunikations- och Transportsystem ) 3. Kontrollera att getname() returnerar Kommunikations- och Transportsystem TestSpec.lib.Program.addProfile() -1 Syfte: Indata /Use-Case: Förväntade utdata: Kriterier för lyckat test: Klassen Profile måste vara implementerad. Implementera getprofiles() 1. Skapa flera Program-objekt 2. Skapa ett Program-objekt 3. Lägg till profilerna i programmet med addprofile() 4. Kontrollera att kurserna blev tillagda med getprofiles() TNM021 58
59 Sida 59 av 231 TestSpec.lib.Program.getProfiles() -1 Syfte: Kontrollera att getprofiles() returnerar om inga profiler lagts till Indata /Use-Case: Förväntade utdata: En tom variabel för profiler ( ) Kriterier för lyckat test: getprofiles returnerar och inte NULL Implementera Program() 1. Skapa ett Program-objekt 2. Kontrollera getprofiles() returnerar en tom variabel för profiler ( ) TestSpec.lib.SimpleCalendarYear Förutsättningar Enhetstest Datum TestSpec.lib.SimpleCalendarYear.SimpleCalendarYear() -1 Syfte: Testa klassens konstruktor Indata /Use-Case: Förväntade utdata: Ett SimpleCalendarYear-objekt Kriterier för lyckat test: Korrekt objekt skapas 1. Skapa ett SimpleCalendarYear-objekt med värdet Kontrollera med getsimplecalendaryear att värdet är Kontrollera att SimpleCalendarYear skapar korrekt objekt. TNM021 59
60 Sida 60 av 231 TestSpec.lib.SimpleCalendarYear.setYear () -1 Syfte: Testa metoden setyear Indata /Use-Case: integer: 1972 Förväntade utdata: NULL Kriterier för lyckat test: NULL returneras Implementera setyear() 1. Sätt Year till 1972 med hjälp av setyear 2. Kontrollera att setyear returnerar NULL Åtgärder om inga fel upptäckts: Åtgärder om fel upptäckts: Skriv felrapport ErrorRep.lib.SimpleCalendarYear.setYear.-[datum,tid]. Korrigera felet. Kör ny testomgång. TestSpec.lib.SimpleCalendarYear.getYear() -1 Syfte: Testa metoden getyear Indata /Use-Case: Förväntade utdata: integer: 1972 Kriterier för lyckat test: getyear returnerar korrekt år Implementera getyear() 1. Kontrollera att getyear() hämtar en integer 2. Kontrollera att getyear() hämtar korrekt year: 1972 TNM021 60
61 Sida 61 av 231 TestSpec.lib.SimpleCalendarYear.addCourse() -1 Syfte: Testa metoden addcourse Indata /Use-Case: course-objekt Förväntade utdata: NULL Kriterier för lyckat test: courseobjekt ska skapas och NULL returneras Implementera addcourse(). Skapa två courseobjekt med kurskoden TNA001 och TNG Lägg till TNA001 med hjälp av addcourse 2. Lägg till TNG022 med hjälp av addcourse 3. Kontrollera att NULL returneras TestSpec.lib.SimpleCalendarYear.getCourses() -1 Syfte: Testa metoden getcourses Indata /Use-Case: Förväntade utdata: array med kursobjekt Kriterier för lyckat test: Array med kursobjekt återfås. Implementera getcourses() 1. Kontrollera att en array returneras 2. Kontrollera att arrayen innehåller två fält med courseobjekt i 3. Kontrollera att Courseobjektens kurskoder är TNA001 och TNG022 TNM021 61
62 Sida 62 av 231 TestSpec.lib.SimpleCalendarYearMapper.buildSQL Förutsättningar Att indata till funktionen inte är felaktig i förhållande till förväntad indata. Anslutning till databas Enhetstest Datum TestSpec.lib.SimpleCalendarYearMapper.buildSQL-1 G.03 Syfte: Verifiera att funktionen kan hantera en SQL fråga utan inparametrar. Indata: null Förväntade utdata: En sträng (SQL-fråga). Kriterier för lyckat test: Att SQL-frågan följer korrekt SQL-syntax och att frågan kan användas för att hämta ut data om ingenting Anslut till databas. 1. Skapa en korrekt SQL fråga som en sträng. 2. Verifiera att funktionen returnerar exakt samma sträng. TestSpec.lib.SimpleCalendarYearMapper.buildSQL-2 G.03 Syfte: Verifiera att funktionen kan hantera sökparametrar för program Indata: programkod = TCMEN Förväntade utdata: En sträng (SQL-fråga). Kriterier för lyckat test: Att SQL-frågan följer korrekt SQL-syntax och att frågan kan användas för att hämta ut data för ett visst program. Anslut till databas. 3. Skapa en korrekt SQL fråga som en sträng. 4. Verifiera att funktionen returnerar exakt samma sträng. TNM021 62
63 Sida 63 av 231 TestSpec.lib.SimpleCalendarYearMapper.buildSQL-3 G.08 Syfte: Verifiera att funktionen kan hantera sökparametrar för profil Indata: programkod = TCMEN, profilkod = vi Förväntade utdata: En sträng (SQL-fråga). Kriterier för lyckat test: Att SQL-frågan följer korrekt SQL-syntax och att frågan kan användas för att hämta ut data för en viss profil. Anslut till databas. 1. Skapa en korrekt SQL fråga som en sträng. 2. Verifiera att funktionen returnerar exakt samma sträng. TestSpec.lib.SimpleCalendarYearMapper.buildSQL-4 G.04, G.37, G.38 Syfte: Verifiera att funktionen kan hantera sökparametrar för kursnamn Indata: kursnamn = Matematisk, typ av matchning för kursnamn = Innehåller Förväntade utdata: En sträng (SQL-fråga). Kriterier för lyckat test: Att SQL-frågan följer korrekt SQL-syntax och att frågan kan användas för att hämta ut data som matchas efter kursnamn. Anslut till databas. 1. Skapa en korrekt SQL fråga som en sträng. 2. Verifiera att funktionen returnerar exakt samma sträng. TNM021 63
64 Sida 64 av 231 TestSpec.lib.SimpleCalendarYearMapper.buildSQL-5 G.05, G.37, G.38 Syfte: Verifiera att funktionen kan hantera sökparametrar för kurskod Indata: kurskod = TNA, typ av matchning för kurskod = Innehåller Förväntade utdata: En sträng (SQL-fråga). Kriterier för lyckat test: Att SQL-frågan följer korrekt SQL-syntax och att frågan kan användas för att hämta ut data som matchas efter kurskod. TestSpec.lib.SimpleCalendarYearMapper.buildSQL-6 G.06 Syfte: Verifiera att funktionen kan hantera sökparametrar för nivå Indata: nivå = A Förväntade utdata: En sträng (SQL-fråga). Kriterier för lyckat test: Att SQL-frågan följer korrekt SQL-syntax och att frågan kan användas för att hämta ut data som matchas efter nivå. Anslut till databas. 1. Skapa en korrekt SQL fråga som en sträng. 2. Verifiera att funktionen returnerar exakt samma sträng. TNM021 64
65 Sida 65 av 231 TestSpec.lib.SimpleCalendarYearMapper.buildSQL-7 G.06, G.37, G.38 Syfte: Verifiera att funktionen kan hantera sökparametrar för huvudområde Indata: huvudområde = Teknik, typ av matchning för huvudområde = Innehåller Förväntade utdata: En sträng (SQL-fråga). Kriterier för lyckat test: Att SQL-frågan följer korrekt SQL-syntax och att frågan kan användas för att hämta ut data som matchas efter huvudområde. Anslut till databas. 1. Skapa en korrekt SQL fråga som en sträng. 2. Verifiera att funktionen returnerar exakt samma sträng. TestSpec.lib.SimpleCalendarYearMapper.buildSQL-8 G.21 Syfte: Verifiera att funktionen kan hantera sökparametrar för termin Indata: termin = VT Förväntade utdata: En sträng (SQL-fråga). Kriterier för lyckat test: Att SQL-frågan följer korrekt SQL-syntax och att frågan kan användas för att hämta ut data som matchas efter termin. Anslut till databas. 1. Skapa en korrekt SQL fråga som en sträng. 2. Verifiera att funktionen returnerar exakt samma sträng. TNM021 65
66 Sida 66 av 231 TestSpec.lib.SimpleCalendarYearMapper.buildSQL-9 G.20 Syfte: Verifiera att funktionen kan hantera sökparametrar för period Indata: period = 1 Förväntade utdata: En sträng (SQL-fråga). Kriterier för lyckat test: Att SQL-frågan följer korrekt SQL-syntax och att frågan kan användas för att hämta ut data som matchas efter period. Anslut till databas. 1. Skapa en korrekt SQL fråga som en sträng. 2. Verifiera att funktionen returnerar exakt samma sträng. TestSpec.lib.SimpleCalendarYearMapper.buildSQL-10 G.19 Syfte: Verifiera att funktionen kan hantera sökparametrar för block Indata: block = 1 Förväntade utdata: En sträng (SQL-fråga). Kriterier för lyckat test: Att SQL-frågan följer korrekt SQL-syntax och att frågan kan användas för att hämta ut data som matchas efter block. Anslut till databas. 1. Skapa en korrekt SQL fråga som en sträng. 2. Verifiera att funktionen returnerar exakt samma sträng. TNM021 66
67 Sida 67 av 231 TestSpec.lib.SimpleCalendarYearMapper.buildSQL-11 G.07 Syfte: Verifiera att funktionen kan hantera sökparametrar för valbar/obligatorisk/frivillig. Indata: VOF = O (Obligatorisk) Förväntade utdata: En sträng (SQL-fråga). Kriterier för lyckat test: Att SQL-frågan följer korrekt SQL-syntax och att frågan kan användas för att hämta ut data som matchas efter valbar/obligatorisk/frivillig. Anslut till databas. 1. Skapa en korrekt SQL fråga som en sträng. 2. Verifiera att funktionen returnerar exakt samma sträng. TestSpec.lib.SimpleCalendarYearMapper.calculateYears Förutsättningar Fungerande databaskoppling Enhetstest Datum TestSpec.lib.SimpleCalendarYearMapper.calculateYears-1 G.01, G.02 Syfte: Verifiera att funktionen returnerar alla årtal som finns i databasen då startår och slutår inte specifierats. Indata: NULL, NULL Förväntade utdata: en array av årtal som finns i databasen Kriterier för lyckat test: Att utdatan är korrekt Hämta array med årtal via funktionen. TNM021 67
68 Sida 68 av Verifiera att returdatan innehåller samtliga år som finns i databasen. TestSpec.lib.SimpleCalendarYearMapper.calculateYears-2 G.01, G.02 Syfte: Verifiera att funktionen returnerar ett intervall av årtal utifrån startår och slutår. Indata: 2005, 2007 Förväntade utdata: en array av årtal 2005,2006,2007. Kriterier för lyckat test: Att utdatan är korrekt Hämta array med årtal via funktionen. 2. Verifiera att returdatan innehåller specificerade år TestSpecl.lib.SimpleCalendarYearMapper.getYearsWithCourses Förutsättningar Fungerande databaskoppling Enhetstest Datum TestSpec.lib.SimpleCalendarYearMapper.getYearsWithCourses-1 Syfte: Verifiera att metoden returnerar en array av SimpleCalendarYear-objekt. Indata: - Förväntad utdata: en array av SimpleCalendarYear-objekt. Kriterier för lyckat test: Att returdatan är korrekt Hämta årsobjekt med SimpleCalendarYear.getYearsWithCourses. TNM021 68
69 Sida 69 av Verifiera att returdatan är av rätt datatyp. TestSpec.lib.SimpleCalendarYearMapper.getYearsWithCourses-2 Syfte: Verifiera att metoden returnerar rätt antal årsobjekt Indata: - Förväntad utdata: en array av 4st SimpleCalendarYear-objekt. Kriterier för lyckat test: Att returdatan är korrekt Hämta årsobjekt med SimpleCalendarYear.getYearsWithCourses. 2. Kontrollera att antalet årsobjekt som returnerades är korrekt TestSpec.lib.SimpleCalendarYearMapper.getYearsWithCourses-3 Syfte: Verifiera att metoden returnerar ett kalendår med rätt antal kurser. Indata: fromyear = 2006, toyear = 2006 Förväntad utdata: en array som innehåller ett SimpleCalendarYear-objekt med kurssobjekt Kriterier för lyckat test: Att antalet kurser för det specificerade året är rätt enligt den data som finns i databasen. - Hämta årsobjekt med SimpleCalendarYear.getYearsWithCourses. Hämta kurser från årsobjektet med SimpleCalendarYear.getCourses Verifiera att antalet kurser är korrekt enligt den data som finns i databasen. TNM021 69
70 Sida 70 av 231 TestSpec.lib.SimpleCalendarYearMapper.getYearsWithCourses-4 Syfte: Verifiera att metoden returnerar kurser med korrekt data Indata: fromyear = 2006, toyear = 2006, coursecode = TNA001, coursecodematchtype = Exakt lika med Förväntad utdata: en array som innehåller ett SimpleCalendarYear-objekt som innehåller endast ett kurssobjekt som motsvarar kursen TNA001 år Kriterier för lyckat test: Att kursobjektet innehåller all den data som finns i databasen: kurskod, kursnamn, poäng, huvudområden, nivå, termin, block - 1. Hämta årsobjekt med SimpleCalendarYear.getYearsWithCourses. 2. Hämta det första kursobjektet från årsobjektet. 3. Kontrollera att kursobjektets är ett kursobjekt som innehåller korrekt data: Kontrollera kurskod Kontrollera kursnamn Kontrollera poäng Kontrollera VOF Kontrollera huvudområden Kontrollera period Kontrollera block TNM021 70
71 Sida 71 av 231 TestSpec.lib.StudyPlan Förutsättningar Enhetstest Datum TestSpec.lib.StudyPlan.Constructor-1 Syfte: Testar klassens konstruktor så att denna skapar rätt objekt. Indata: Ett årtal för påbörjade studier, 2005, ett årtal för studieuppehåll 2006, ett årtal för avslutade studieuppehåll, 2007 Förväntade utdata: Rätt år för olika get-satser returneras. Kriterier för lyckat test: 1. Att 2005 returneras vid getstartyear() 2. Att 2006 returneras vid getbreakstartyear() 3. Att 2007 returneras vid getbreakendyear() 4. Att en tom array returneras vid getcalendaryears() 1. Skapa ett nytt studyplan objekt med indata 2005,2006, undersök att 2005 returneras vid getstartyear() 3. undersök att 2006 returneras vid getbreakstartyear() 4. undersök att 2007 returneras vid getbreakendyear() 5. undersök att en tom array returneras vid getcalendaryears() TNM021 71
72 Sida 72 av 231 TestSpec.lib.StudyPlan.setStartYear-1 Syfte: Att undersöka om det går att definiera och hämta StartYear för objektet Indata: Ett årtal, Förväntade utdata: Indata i utförandesteg 1 returneras i utförandesteg 2. Kriterier för lyckat test: 1. Att samma data som skickats in i utförandesteg nummer 1 returneras i utförandesteg nummer setstartyear(2007) 2. undersök om get startyear returnerar TestSpec.lib.StudyPlan.setStudyBreakStartYear-1 Syfte: Att undersöka om det går att definiera och hämta studybreakstartyear från objektet Indata: Ett årtal, Förväntade utdata: Indata i utförandesteg 1 returneras i utförandesteg 2. Kriterier för lyckat test: 1. Att samma data som skickats in i utförandesteg nummer 1 returneras i utförandesteg nummer setstudybreakstartyear (2008) 2. undersök om getstudybreakstartyear returnerar TNM021 72
73 Sida 73 av 231 TestSpec.lib.StudyPlan.setStudyBreakEndYear-1 Syfte: Att undersöka om det går att definiera och hämta studybreakstartyear från objektet Indata: Ett årtal, Förväntade utdata: Indata i utförandesteg 1 returneras i utförandesteg 2. Kriterier för lyckat test: 1. Att samma data som skickats in i utförandesteg nummer 1 returneras i utförandesteg nummer setstudybreakendyear (2009) 2. undersök om getstudybreakendyear returnerar TestSpec.lib.StudyPlan.setProgram-1 Syfte: Att undersöka om det går att definiera och hämta ett programobjekt från objektet Indata: Ett program med inparameter TCMEN Förväntade utdata: Indata i utförandesteg 2 returneras i utförandesteg 3. Kriterier för lyckat test: 1. Att samma data som skickats in i utförandesteg nummer 2 returneras i utförandesteg nummer Skapa ett nytt programobjekt 2. setprogram (programmet skapat i steg 1) 3. undersök om getprogram returnerar programmet. TNM021 73
74 Sida 74 av 231 TestSpec.lib.StudyPlan.setProfile-1 Syfte: Att undersöka om det går att definiera och hämta ett profileobjekt från objektet Indata: En profile med inparametrar TCMEN, vi Förväntade utdata: Indata i utförandesteg 2 returneras i utförandesteg 3. Kriterier för lyckat test: 1. Att samma data som skickats in i utförandesteg nummer 2 returneras i utförandesteg nummer Skapa ett nytt profileobjekt 2. setprofile (profile skapad i steg 1) 3. undersök om getprofile returnerar programmet. TestSpec.lib.StudyPlan.addCalendarYear-1 Syfte: Att undersöka om det går att definiera och hämta ett extensivecalendaryear från objektet Indata: Ett extensivecalendaryear med inparameter 2005 Förväntade utdata: Indata i utförandesteg 2 returneras i utförandesteg 3. Kriterier för lyckat test: 1. Att samma data som skickats in i utförandesteg nummer 2 returneras i utförandesteg nummer Skapa ett nytt extensivecalendaryear 2. addcalendaryear ( objektet från steg 1 ) 3. undersök om getcalendaryear( 2005 ) returnerar samma calendaryear som i steg 1. TNM021 74
75 Sida 75 av 231 TestSpec.lib.StudyPlan.getCalendarYears -1 Syfte: Att undersöka om det går att hämta ut alla extensivecalendaryears som finns i objektet och att de är korrekt sorterade. Indata: Två extensivecalendaryear med inparameter 2005 resp Förväntade utdata: En array Kriterier för lyckat test: 1. Att utdata är en array där vart och ett av objekten ligger i den position som motsvarar de år de representerar. 1. Skapa två nya extensivecalendaryear 2. Lägg in objekten. 3. undersök om getcalendaryears returnerar samma två extensivecalendar- Years som skickades in i en array sorterade på korrekt sätt. TestSpec.lib.StudyPlan.calculateStudyBreak-1 Syfte: Att undersöka om funktionen returnerar rätt årtal. Indata: Två årtal, 2005, 2007 Förväntade utdata: En array med alla år mellan inparametrarna 2005, 2007 Kriterier för lyckat test: 1. Att utdata är en array som innehåller, sorterat i stigande ordning 2005, 2006, Kör funktionen calculatestudybreak, undersök att den returnerar korrekt array. TNM021 75
76 Sida 76 av 231 TestSpec.lib.StudyPlan.calculateStudyBreak-2 Syfte: Att undersöka om funktionen returnerar rätt årtal. Indata: Två årtal, 2005, 2005 Förväntade utdata: En array med alla år mellan inparametrarna 2005, 2005 Kriterier för lyckat test: 1. Att utdata är en array som innehåller Kör funktionen calculatestudybreak, undersök att den returnerar korrekt array. TestSpec.lib.StudyPlan.addTerm-1 Syfte: Att undersöka om funktionen lägger till terminsnummer till en array. Indata: year en tom array, terminsnummer = 5. Förväntade utdata: En array med siffran 5. Kriterier för lyckat test: 1. Att utdata är en array som innehåller 5 1. Kör funktionen addterm, undersök att den returnerar korrekt array. TNM021 76
77 Sida 77 av 231 TestSpec.lib.StudyPlan.addTerm-2 Syfte: Att undersöka om funktionen lägger till terminsnummer till en array. Indata: year en array med ett värde: 5, terminsnummer = 6. Förväntade utdata: En array med två värden: 5 och 6. Kriterier för lyckat test: 1. Att utdata är en array som innehåller 5 och 6 1. Kör funktionen addterm, undersök att den returnerar korrekt array. TestSpec.lib.StudyPlan.calculateCalendarYearsWithTerms-1 Syfte: Att undersöka om funktionen skapar en array där varje position är en termin och innehåller i varje position ett årtal Indata: 2005,, Förväntade utdata: array ( 2005, 2006, 2006, 2007) Kriterier för lyckat test: 1. Att utdata är en array som innehåller 2005, 2006, 2006, 2007 sorterade i stigande ordning. 1. Kör funktionen calculatecalendaryearswithterms (2005,, ), undersök att den returnerar korrekt array. TNM021 77
78 Sida 78 av 231 TestSpec.lib.StudyPlan.calculateCalendarYearsWithTerms-2 Syfte: Att undersöka om funktionen skapar en array där varje position är en termin och innehåller i varje position ett årtal Indata: 2007,, Förväntade utdata: array ( 2007) Kriterier för lyckat test: 1. Att utdata är en array som innehåller 2007 sorterade i stigande ordning. 1. Kör funktionen calculatecalendaryearswithterms (2007,, ), undersök att den returnerar korrekt array. TestSpec.lib.StudyPlan.getSelectableCalendarYears-1 Syfte: Att undersöka om funktionen skapar en array där varje sökbart år för coordinatorvyn finns listat. Indata: coordinator Förväntade utdata: array (2002, 2003, 2004, 2005, 2006, 2007, 2008) Kriterier för lyckat test: 1. Att utdata är en array som innehåller 2002, 2003, 2004, 2005, 2006, 2007, 2008 sorterade i stigande ordning. 1. Kör funktionen getselectablecalendaryears( coordinator ), undersök att den returnerar korrekt array. TNM021 78
79 Sida 79 av 231 TestSpec.lib.StudyPlan.getSelectableCalendarYears-2 Syfte: Att undersöka om funktionen skapar en array dä varje sökbart år för studentvyn finns listat. Indata: student Förväntade utdata: array (2002, 2003, 2004, 2005, 2006, 2007) Kriterier för lyckat test: 1. Att utdata är en array som innehåller 2002, 2003, 2004, 2005, 2006, 2007 i stigande ordning. 1. Kör funktionen getselectablecalendaryears( student ), undersök att den returnerar korrekt array. TestSpec.lib.StudyPlan.getSelectableCalendarYears-3 Syfte: Att undersöka om funktionen skapar en array där varje sökbart år för examinatorvyn finns listat. Indata: examinator Förväntade utdata: array (2002, 2003, 2004, 2005, 2006, 2007) Kriterier för lyckat test: 1. Att utdata är en array som innehåller 2002, 2003, 2004, 2005, 2006, 2007 i stigande ordning. 1. Kör funktionen getselectablecalendaryears( examinator ), undersök att den returnerar korrekt array. TNM021 79
80 Sida 80 av 231 TestSpec.lib.StudyPlanMapper.getStudyPlan Förutsättningar Tillgång till klassen StudyPlan Enhetstest/Integrationstest Datum :40 TestSpec.lib.StudyPlanMapper.getStudyPlan-1 Syfte: Verifiera att funktionen returnerar ett studyplan objekt. Indata: Årtal = 2005, programkod = TCMEN Förväntade utdata: En instans av studyplan Kriterier för lyckat test: 1. Att en instans av studyplan returneras 1. Skapa ett nytt studyplan objekt. 2. Undersök att objektet är korrekt med avseende på programkod och årtal. TestSpec.lib.UserInputValidator Förutsättningar - Enhetstest Datum TestSpec.lib.UserInputValidator.validateProgramCode-1 Syfte: Se till att inmatad programkod är på korrekt form. Indata /Use-Case: String: programcode (ex MT ) Förväntade utdata: Boolean true för lyckad validering, false annars. Kriterier för lyckat test: En boolean true returneras. TNM021 80
81 Sida 81 av Skriv funktionen validatechars (som kontrollerar att endast tillåtna tecken används) 1. Kontrollera att programcode ej är tom. 2. Kontrollera att programcode ej innehåller otillåtna tecken ( A-Z). 3. Kontrollera att programcode ej innehåller fler än sex tecken. TestSpec.lib.UserInputValidator.validateProfileCode-2 Syfte: Se till att inmatad programkod är på korrekt form. Indata /Use-Case: String: profilecode. Förväntade utdata: Boolean true för lyckad validering, false annars. Kriterier för lyckat test: En boolean true returneras. 1. Skriv funktionen validatechars (som kontrollerar att endast tillåtna tecken används) 1. Kontrollera att profilecode ej är tom. 2. Kontrollera att profilecode ej innehåller otillåtna tecken ( A-Z). 3. Kontrollera att profilecode ej innehåller fler än sex tecken. TestSpec.lib.UserInputValidator.validateCourseCode-3 Syfte: Se till att inmatad kurskod är på korrekt form. Indata /Use-Case: String: coursecode. Förväntade utdata: Boolean true för lyckad validering, false annars. Kriterier för lyckat test: En boolean true returneras. 1. Skriv funktionen validatechars (som kontrollerar att endast tillåtna tecken TNM021 81
82 Sida 82 av 231 används) 1. Kontrollera att coursecode ej är tom. 2. Kontrollera att coursecode ej innehåller otillåtna tecken (utan endast A-Z och 0-9). 3. Kontrollera att coursecode ej innehåller bokstäver efter första siffran. 4. Kontrollera att coursecode ej innehåller fler än sex tecken. TestSpec.lib.UserInputValidator. validatenewpoints-4 Syfte: Se till att ett nytt poäng (högskolepoäng/hp) är giltigt. Indata /Use-Case: Double: newpoints. Förväntade utdata: Boolean true för lyckad validering, false annars. Kriterier för lyckat test: En boolean true returneras Kontrollera att newpoints är en positiv double mindre än TestSpec.lib.UserInputValidator. validateoldpoints-5 Syfte: Se till att ett gammalt poäng är giltigt. Indata /Use-Case: Heltalet oldpoints. Förväntade utdata: Boolean true för lyckad validering, false annars. Kriterier för lyckat test: En boolean true returneras Kontrollera att oldpoints är en positiv double mindre än 40. TNM021 82
83 Sida 83 av 231 TestSpec.lib.UserInputValidator. validateeducationlevel-6 Syfte: Kontrollera att EducationLevel är någon av de tre tillåtna graderna. Indata /Use-Case: Strängen educationlevel. Förväntade utdata: Boolean true för lyckad validering, false annars. Kriterier för lyckat test: En boolean true returneras Kontrollera att educationlevel är lika med G1, G2 eller A. TestSpec.lib.UserInputValidator.validateAreaName-7 Syfte: Kontrollera att areaname är på tillåten form. Indata /Use-Case: Strängen areaname. Förväntade utdata: Boolean true för lyckad validering, false annars. Kriterier för lyckat test: En boolean true returneras Kontrollera att areaname ej är tom. 2. Kontrollera att areaname ej är längre än 50 tecken. 3. Kontrollera att areaname ej innehåller otillåtna tecken (utan endast A-Ö) TNM021 83
84 Sida 84 av 231 TestSpec.lib.UserInputValidator.validateSubjectName-8 Syfte: Kontrollera att subjectname är på tillåten form. Indata /Use-Case: Strängen subjectname. Förväntade utdata: Boolean true för lyckad validering, false annars. Kriterier för lyckat test: En boolean true returneras Kontrollera att subjectname ej är tom. 2. Kontrollera att subjectname ej är längre än 50 tecken. 3. Kontrollera att subjectname ej innehåller otillåtna tecken (utan endast A-Ö) TestSpec.lib.UserInputValidator.validateVOF -9 Syfte: Kontrollera att VOF är inmatad på korrekt form. Indata /Use-Case: Strängen vof. Förväntade utdata: Boolean true för lyckad validering, false annars. Kriterier för lyckat test: En boolean true returneras Kontrollera att vof ej innehåller otillåtna tecken (utan endast V, O, F) 2. Kontrollera att vof ej är längre än tre tecken. TNM021 84
85 Sida 85 av 231 TestSpec.lib.UserInputValidator.validateSortBy -10 Syfte: Kontrollera att sortby är inmatad på korrekt form. Indata /Use-Case: Strängen sortby. Förväntade utdata: Boolean true för lyckad validering, false annars. Kriterier för lyckat test: En boolean true returneras Kontrollera att sortby ej är tom. 2. Kontrollera att sortby ej innehåller otillåtna tecken (utan endast A-Z). 3. Kontrollera att sortby ej innehåller fler än 100 tecken. TestSpec.lib.UserInputValidator.validateSortOrder -11 Syfte: Kontrollera att sortorder är inmatad på korrekt form. Indata /Use-Case: Strängen sortorder. Förväntade utdata: Boolean true för lyckad validering, false annars. Kriterier för lyckat test: En boolean true returneras Kontrollera att sortorder är antingen DESC eller ASC. TNM021 85
86 Sida 86 av 231 TestSpec.parser.BaseMapper Förutsättningar - Enhetstest Datum TestSpec.parser.BaseMapper.insertInDatabase -1 - Syfte: - Indata: - Förväntade utdata: - Kriterier för lyckat test: - 1. Abstract klass, se tester för subklasser Studievy TestSpec.student._block Förutsättningar Enhetstest Datum TestSpec.student._block -1 Syfte: Testa att kurs skrivs ut korrekt Indata: Förväntade utdata: Kriterier för lyckat test: blocknummer skrivs ut och en tabell med Kurskod, Kursnamn och hp i tabellhuvud skapas. Hämtade kurser skrivs in i tabell under respektive tabellhuvud. TNM021 86
87 Sida 87 av 231 Det ska finnas ett block-objekt 1. skriv ut block-objektet 2. kontrollera att blocknummer stämmer 3. kontrollera att tabellen skrivs ut korrekt TestSpec.student.blockViewSuccess Förutsättningar Enhetstest Datum TestSpec.student.blockViewSuccess -1 Syfte: Testa att korrekt information skrivs ut på blockdiagramform Indata: Förväntade utdata: Kriterier för lyckat test: Diagrammet skrivs ut med årskurs på en axel och startår på den andra axeln. Det ska finnas minst ett exstensivecalendaryear-objekt 1. Skriv ut blockdigrammet 2. Kontrollera att sökrubrik skrivs ut korrekt 3. Kontrollera att korrekt programnamn skrivs ut 4. Kontrollera att startår skrivs ut korrekt 5. Kontrollera att läsår skrivs ut korrekt 6. Kontroller att en avgränsare sätts ut korrekt TNM021 87
88 Sida 88 av 231 TestSpec.student._course Förutsättningar Enhetstest Datum TestSpec.student._course -1 Syfte: Testa att kurs skrivs ut korrekt Indata: Förväntade utdata: Kriterier för lyckat test: En kurs skrivs ut korrekt enligt önskan i tabell Det ska finnas ett course-objekt 1. skriv ut course-objektet 2. kontrollera att länken stämmer med course-objektets 3. kontrollera att kursnamnet stämmer med course-objektets 4. kontrollera att poängantalet stämmer med course-objektets TestSpec.student._exstensiveCalendarYear Förutsättningar Enhetstest Datum TestSpec.student._exstensiveCalendarYear -1 Syfte: Testa en termin skrivs ut korrekt Indata: Förväntade utdata: Kriterier för lyckat test: Skriver ut termin korrekt TNM021 88
89 Sida 89 av 231 Det ska finnas minst ett period-objekt 1. skriv ut termin 2. Kontrollera att terminen innehåller korrekta perioder Åtgärder om inga fel upptäckts: Åtgärder om fel upptäckts: Skriv felrapport ErrorRep.student._exstensiveCalendarYear -[datum,tid]. Korrigera felet. Kör ny testomgång. TestSpec.student._menubar Förutsättningar Enhetstest Datum TestSpec.student._menubar -1 Syfte: Testa menyns funktionalitet Indata: Förväntade utdata: Kriterier för lyckat test: Menyn visas korrekt och länkas korrekt Skriv aktuell funktion / test-koden om de inte är skrivna. 1. Skapa meny från mallen 2. Kontrollera att menyn består av korrekta länkar. 3. Kontrollera att länkarna leder till rätt mål. Åtgärder om inga fel upptäckts: Åtgärder om fel upptäckts: Skriv felrapport ErrorRep.myModul.myClass.myFunction-1-[datum,tid]. TNM021 89
90 Sida 90 av 231 Korrigera felet. Kör ny testomgång. TestSpec.student._period Förutsättningar Enhetstest Datum TestSpec.student._period -1 Syfte: Testa en period skrivs ut korrekt Indata: Förväntade utdata: Kriterier för lyckat test: Skriver ut period korrekt Det ska finnas minst ett block-objekt 1. skriv ut period 2. Kontrollera att perioden innehåller korrekta block TestSpec.student.startSuccess Förutsättningar Enhetstest Datum TestSpec.student.startSuccess -1 Syfte: Testa att startsidan skrivs ut korrekt Indata: Förväntade utdata: Kriterier för lyckat test: Startsidan för studentvyn innehåller formulär för att visa program-plan (blockvy) samt ett formlär för snabbsök. TNM021 90
91 Sida 91 av kör templaten 2. kontrollera att rubriken skrivs ut korrekt 3. Kontrollera att information om programsök skrivs ut 4. Kontrollera att programväljarkomponenten skrivs ut 5. Kontrollera att information om snabbsök skrivs ut 6. Kontrollera att snabbsöksmodulen skrivs ut Utbildningsledarvy TestSpec.coordinator.AdvancedSelectAction Förutsättningar Behöver coordinator.advancedselectsuccess, lib.program, lib.programmapper, lib.profile, lib.profilemapper, lib.studyplan Enhetstest Datum TestSpec. coordinator.advancedselectaction.execute - Syfte: Hantera logiken för att presentera ett formulär som används för att programplaner. Indata /Use-Case: - Förväntade utdata: Vilket template som ska användas. Kriterier för lyckat test: Att returnera rätt template. 1. Skriv enhetstest för hantering av logiken 2. Skriv metoden coordinator.advancedselectaction.execute 3. Utför test TNM021 91
92 Sida 92 av 231 TestSpec.coordinator.advancedSelectSuccess Förutsättningar Beroende av symfony.formhelper, symfony.ajaxhelper,lib.program och lib.profile Enhetstest Datum TestSpec.coordinator.template.advancedSelectSuccess - Syfte: Se till att det är rätt information på sidan. Indata: -. Förväntade utdata: - Kriterier för lyckat test: Att den all information som skall finnas i fomuläret presenteras.. 1. Jämför med Hi-fi och se till att det ser lika ut. TestSpec.coordinator.programPlanViewAction Förutsättningar Beroende av coordinator.programplanviewsuccess,shared.studyplanformcomponent, lib.studyplan, lib.studyplanmapper och lib.userinputvalidator Enhetstest Datum TNM021 92
93 Sida 93 av 231 TestSpec.coordinator.programPlanViewAction.execute - Syfte: Kontrollerat att templaten termviewsuccess returneras. Indata: - Förväntade utdata: Kriterier för lyckat test: Att all den information som finns i Hi-fi visas på den verkliga sidan. 1. Visa sidan. 2. Jämför med Hi-fi och se att resultatet är lika. TestSpec.coordinator.programPlanViewAction.validate - Syfte: Kolla så att valideringen fungerar. Indata: - Förväntade utdata: boolean. Kriterier för lyckat test: Att rätt utdata erhålles. 1. Skriv testet. 2. Kör testet. TNM021 93
94 Sida 94 av 231 TestSpec.coordinator.program.PlanViewAction.handleError - Syfte: Kontrollerat att templaten termviewerror returneras. Indata: - Förväntade utdata: templaten termviewerror Kriterier för lyckat test: Att rätt utdata erhålles. 1. Kör testet TestSpec.coordinator.programPlanViewAction.preExecute-1 - Syfte: Se till att rätt variabler skickat vidare till execute. Indata: startyear = 2005 ska vara tilldelad, så att det är som om den kommer från SimpleSelect(). Förväntade utdata: startyear = 2005, grades = [ 1 2 ] Kriterier för lyckat test: Att rätt utdata erhålles. 1. Skriv testet 2. Kör testerna för programplanviewaction.preexecute-1 och programplanviewaction.preexecute-2. TNM021 94
95 Sida 95 av 231 TestSpec.coordinator.programPlanViewAction.preExecute-2 - Syfte: Se till att rätt variabler skickat vidare till execute Indata: startyear = 2005 och grades = ska vara tilldelad, så att det är som om den kommer från att ha klickat på ett årsblock i VisualOverView(). Förväntade utdata: startyear = 2005, grades = [ 1 2 ] Kriterier för lyckat test: Att rätt utdata erhålles. 1. Skriv testet 2. Kör testet. TestSpec.coordinator.SimpleSelectAction Förutsättningar Behöver coordinator.simpleselectsuccess, Enhetstest Datum TestSpec. coordinator.simpleselectaction.execute Syfte: Hantera logiken för att visa sidan där användare ska kunna välja programplan för en årskull Indata /Use-Case: - Förväntade utdata: - Kriterier för lyckat test: Att all den information som finns i Hi-fi visas på den verkliga sidan. TNM021 95
96 Sida 96 av Visa sidan 2. Jämför med Hi-fi och se att resultatet är lika. TestSpec.coordinator.startAction Förutsättningar Beroende av coordinator.startsuccess och search.simplesearchformcomponent Enhetstest Datum TestSpec.coordinator.startAction.execute - Syfte: Kontrollerat att templaten startsuccess returneras. Indata: - Förväntade utdata: templaten startsuccess. Kriterier för lyckat test: Att rätt utdata erhålles. Kolla att coordinator.startsuccess och search.simplesearchformcomponent finns. 1. Kör testet TestSpec.coordinator.startSuccess Förutsättningar Beroende av symfony.partialhelper, shared.studyplanselectorformcomponent och search.searchformcomponent Enhetstest Datum TNM021 96
97 Sida 97 av 231 TestSpec.coordinator.template.startSuccess - Syfte: kolla så att templaten för start sidan är korrelt Indata: -. Förväntade utdata: - Kriterier för lyckat test: Att den all information som skall finnas i startsidan presenteras. 1. Kontrollera att den information som visas stämmer med det som är i Hi-fi. TestSpec.coordinator.templates._block Förutsättningar Behöver symfony.partialhelper, coordinator._course Enhetstest Datum TestSpec.coordinator.templates._block Syfte: Att inkludera block i partials Indata /Use-Case: - Förväntade utdata: - Kriterier för lyckat test: Att returnera rätt template. 1. Jämför med Hi-fi prototyper så att det ser korrekt ut TNM021 97
98 Sida 98 av 231 TestSpec.coordinator.templates._course Förutsättningar Behöver lib.course Enhetstest Datum TestSpec.coordinator.templates._course Syfte: Att skriva ut kursinformation i en existerande tabell Indata /Use-Case: - Förväntade utdata: - Kriterier för lyckat test: Att returnera rätt template 1. Jämför med Hi-fi prototyper så att det ser korrekt ut TestSpec.coordinator.templates._extensiveCalendarYear Förutsättningar Behöver sympfony.partialhelper, coordinator._period, lib.extensivecalendaryear Enhetstest Datum TestSpec.coordinator.templates._extensiveCalendarYear Syfte: Inkuldera perioder i partials och skapa tomma terminstabeller Indata /Use-Case: - Förväntade utdata: - Kriterier för lyckat test: Att returnera rätt template TNM021 98
99 Sida 99 av Jämför med Hi-fi prototyper så att det ser korrekt ut TestSpec.coordinator.templates._menubar Förutsättningar Enhetstest Datum TestSpec.coordinator.templates._menubar Syfte: Vara en mall innehållandes menyn för utbildningsledarvyn Indata /Use-Case: - Förväntade utdata: - Kriterier för lyckat test: Att returnera rätt template 1. Jämför med Hi-fi prototyper så att det ser korrekt ut TNM021 99
100 Sida 100 av 231 TestSpec.coordinator.templates._period Förutsättningar Enhetstest Datum TestSpec.coordinator.templates. _period Syfte: Inkludera period partials Indata /Use-Case: - Förväntade utdata: - Kriterier för lyckat test: Att returnera rätt template 1. Jämför med Hi-fi prototyper så att det ser korrekt ut TestSpec.coordinator.templates.programPlanViewSuccess Förutsättningar Behöver symfony.partialhelper, coodinator._extensicecalenderyear Enhetstest Datum TestSpec.coordinator.templates.programPlanViewSuccess Syfte: Att visa en detaljerad överblick av terminer med kursinformation på valda årskurser och antagningsår Indata /Use-Case: - Förväntade utdata: - Kriterier för lyckat test: Att returnera rätt template TNM
101 Sida 101 av Jämför med Hi-fi prototyper så att det ser korrekt ut TestSpec.coordinator.templates._simpleSelectSuccess Förutsättningar Behöver shared.studyplanformcomponent Enhetstest Datum TestSpec.coordinator.templates. _ simpleselectsuccess Syfte: Att vara en tamplate för att välja Programplan för ett visst antagningsår Indata /Use-Case: - Förväntade utdata: - Kriterier för lyckat test: Att returnera rätt template 1. Jämför med Hi-fi prototyper så att det ser korrekt ut TNM
102 Sida 102 av 231 TestSpec.coordinator.templates.programPlanViewSuccess Förutsättningar Behöver symfony.partialhelper, coodinator._extensicecalenderyear Enhetstest Datum TestSpec.coordinator.templates.programPlanViewSuccess Syfte: Att visa en färgkodad överblick av terminer på valda årskurser och antagningsår Indata /Use-Case: - Förväntade utdata: - Kriterier för lyckat test: Att returnera rätt template 1. Jämför med Hi-fi prototyper så att det ser korrekt ut TestSpec.coordinator.visualOverViewAction Förutsättningar Beroende av coordinator.visualoverviewsuccess Enhetstest Datum TestSpec.coordinator.visualOverViewAction.execute - Syfte: Kontrollerat att templaten visualoverviewsuccess returneras. Indata: - Förväntade utdata:- Kriterier för lyckat test: Att all den information som finns i Hi-fi visas på den TNM
103 Sida 103 av 231 verkliga sidan. Kolla att visualoverviewsuccess finns. 1. Visa sidan. 2. Jämför med Hi-fi och se till att det ser lika ut Parser TestSpec.parser.PageParser Förutsättningar Behöver tillgång till parser.programmapper, parser.programpagereader, parser.profilemapper, parser.profilepagereader, parser.coursemapper, parser.coursepagereader, parser.xmlparser Enhetstest Datum TestSpec.parser.PageParser.pageparser - Syfte: kontrollera att ett pageparser-objekt skapas. Indata: - Förväntade utdata: - Kriterier för lyckat test: ska skapas ett pageparser-objekt Skriv konstruktor för PageParser-klassen. 1. Skriv enhetstest för pageparser-objekt 2. Kör test. TNM
104 Sida 104 av 231 TestSpec.parser.PageParser.updateData - Syfte: kontrollera att databasen uppdateras från året man skickar in och framåt. Indata: 2002, 2007, 2010 Förväntade utdata: - Kriterier för lyckat test: ska ha ProgramMapper.storeInDatabase( ), ProfileMapper.storeInDatabase( ), CourseMapper.storeInDatabase( ) Inkludera klasserna parser.profilemapper( ), parser.coursemapper( ), parser.programmapper( ). Skriv funktionerna getprograms( ), getprofiles( ) och getcourses( ). Anslut till databas. 1. Skriv enhetstest för updatedatabase. 2. Skriv funktionen för updatedatabase. 3. Kör test. TestSpec.parser.PageParser.clearDataInDatabase - Syfte: kontrollera att sql-fråga för att radera ifrån inskickat år och framåt har genererats. Indata: 2001, 2006, 2009 Förväntade utdata: - Kriterier för lyckat test: SQL-frågor som tar bort all data ifrån inskickat år och framåt ska ha genererats. Anslut till databas. 1. Skriv enhetstest för cleardataindatabase. 2. Skriv funktionen för cleardataindatabase. 3. Kör tester. TNM
105 Sida 105 av 231 TestSpec.parser.PageParser.getPrograms - Syfte: Kontrollera att parsade program lagras i fältet programs. Indata: 2000, 2007, 2011 Förväntade utdata: - Kriterier för lyckat test: om indata är i intervallet [ ] så ska program för detta år ha lagrats i fältet programs. Inkludera ProgramPageReader och XMLParser. 1. Skriv enhetstest för getprograms. 2. Skriv funktionen för getprograms. 3. Kör tester. TestSpec.parser.PageParser.getProfiles - Syfte: Kontrollera att parsade profiler lagras i fältet profiles. Indata: MT, MK, XXX Förväntade utdata: - Kriterier för lyckat test: om indata är ett existerande program så ska profiler för programmet det året ha lagrats i fältet profiles. Inkludera klasserna ProfilePageReader och XMLParser. 1. Skriv enhetstest för getprofiles 2. Skriv funktionen för getprofiles. 3. Kör tester. Åtgärder om inga fel upptäckts: Fyll i testlistan att testet TestSpec.parser.PageParser.getProfiles har lyckats. Åtgärder om fel upptäckts: Skriv felrapport ErrorRep.parser.PageParser.getProfiles [datum,tid]. Korrigera felet. Kör ny testomgång. TNM
106 Sida 106 av 231 TestSpec.parser.PageParser.getCourses - Syfte: Kontrollera att parsade kurser lagras i fältet courses. Indata: MT, pvp, bio, EIek Förväntade utdata: - Kriterier för lyckat test: om indata är en existerande profil så ska kurser för profilen det året ha lagrats i fältet courses. Inkludera klasserna CoursePageReader, CourseOverviewPageReader och XMLParser. 1. Skriv enhetstest för getcourses. 2. Skriv funktionen för getcourses. 3. Kör tester. TestSpec.parser.PageReader Förutsättningar Behöver klasserna ProgramPageReader, ProfilePageReader, CoursePageReader CourseOverviewPageReader Enhetstest Datum TestSpec.parser.PageReader. readpage()-1 -? Syfte: kontrollera att readpage läser av en sida i SH Indata: Förväntade utdata: (en xml-sträng) Kriterier för lyckat test: en korrekt xml-sträng skall returneras Skriv funktionerna isolaterelevantdata(), cleanuppage() TNM
107 Sida 107 av Skriv enhetstest för readpage. 2. Skriv funktionen för readpage. 3. Kör tester. TestSpec.parser.PageReader.cleanUpPage -1 -? Syfte: kontrollera att cleanuppage tar bort överflödig information Indata: - Förväntade utdata: - Kriterier för lyckat test: överflödig information tas bort Kontrollera att funktionerna cleanuptags(),removespaces(), removelinebreaks() fungerar 1. Skriv enhetstest för cleanuppage. 2. Skriv funktionen för cleanuppage. 3. Kör tester. TestSpec.parser.PageReader.cleanUpTags -1 -? Syfte: kontrollera att cleanuptags tar bort information utom den som finns inom html-taggar. Indata: - Förväntade utdata: - Kriterier för lyckat test: information sållas så att bara den inom html-taggar finns kvar Text som cleanuptags kan korrigera. 1. Skriv enhetstest för cleanuptags. 2. Skriv funktionen för cleanuptags. 3. Kör tester. TNM
108 Sida 108 av 231 TestSpec.parser.PageReader.removeSpaces-1 -? Syfte: kontrollera att removespaces tar bort mellanslag Indata: - Förväntade utdata: - Kriterier för lyckat test: inga mellanslag finns kvar, utom mellan start-tag och sluttag Text med mellanslag som kan tas bort ska förbedas. 1. Skriv enhetstest för removespaces. 2. Skriv funktionen för removespaces. 3. Kör tester. TestSpec.parser.PageReader.removeLineBreaks -1 -? Syfte: kontrollera att removelinebreaks tar bort radbrytningar Indata: - Förväntade utdata: - Kriterier för lyckat test: inga radbrytningar finns kvar Text med radbrytningar som kan tas bort ska förbedas. 1. Skriv enhetstest för removelinebreaks. 2. Skriv funktionen för removelinebreaks. 3. Kör tester. TNM
109 Sida 109 av 231 TestSpec.parser.PageReader.isolateRelevantData -1 -? Syfte: kontrollera att det går att skapa objekt för isolaterelevantdata Indata: - Förväntade utdata: - Kriterier för lyckat test: det går att skapa objekt för subklasserna Implementera subklasser 1. Skriv enhetstest 2. Skriv funktionen 3. Kör tester. TestSpec.parser.XMLParser Förutsättningar - Enhetstest Datum TestSpec.parser.XMLParser.parsePrograms-1 - Syfte: Kontrollera att parseprograms har läst in samtliga profiler för program. Indata: som XML-sträng Förväntade utdata: MT Kriterier för lyckat test: en array med korrekta strängar så som i förväntade utdata skall returneras - 1. Skriv enhetstest för parseprograms TNM
110 Sida 110 av Skriv funktionen för parseprograms 3. Kör tester. TestSpec.parser.XMLParser.parseProfiles -1 - Syfte: kontrollera att parseprofiles har läst in samtliga kurser för profil. Indata: response=lot_response.lasso&op=eq&kp_budget_year=2007&op=eq&kp_programkod=mt&- op=ct&kp_programprofil=mt som XML-sträng Förväntade utdata: TNA001, TNG050, TNA etc. i en array av strängar Kriterier för lyckat test: en array med korrekta strängar så som i förväntade utdata ska returneras - 1. Skriv enhetstest för parseprofiles 2. Skriv funktionen för parseprofiles 3. Kör tester. TestSpec.parser. XMLParser.parseCourses -1 - Syfte: kontrollera att parsecourses har läst in all information för kursen Indata: response=lot_response.lasso&op=eq&kp_budget_year=2007&op=eq&kp_programkod=mt&- op=ct&kp_programprofil=mt som XML-sträng Förväntade utdata: En array av stränger: TNA001, Matematisk grundkurs,,, o, -, 6 Kriterier för lyckat test: en array med korrekta strängar så som i förväntade utdata ska returneras - TNM
111 Sida 111 av Skriv enhetstest för parsecourse 2. Skriv funktionen för parsecourse 3. Kör tester TestSpec.parser.XMLParser.parseEachCourse-1 -? Syfte: kontrollera att removespaces tar bort mellanslag Indata: &k_budget_year=2008&k_kurskod=tna001 som XML-sträng Förväntade utdata: Matematik, tillämpad matematik, B, G1 Kriterier för lyckat test: en array med korrekta strängar så som i förväntade utdata ska returneras - 1. Skriv enhetstest för parseeachcourse. 2. Skriv funktionen för parseeachcourse 3. Kör tester. TNM
112 Sida 112 av Examensvy TestSpec.examination.templates.termViewSuccess Förutsättningar Beroende av: symfony.partrialhelper, examination_extensivecalenderyear Enhetstest Datum TestSpec.examination.templates.termViewSuccess -1 - Syfte: Skriver ut rubriken för sökningen, inkluderar _extensivecalendaryear partials Indata: - Förväntade utdata: - Kriterier för lyckat test: Att rätt template reuneras. Skriv student.startsuccess, search.simplesearchformcomponent och shared.studyplanformcomponent. 3. Jämför med Hi-fi prototyper så att det ser korrekt ut. TestSpec.examination.termViewAction Förutsättningar Beroende av: examination.termviewsuccess, shared.studyplanformcomponent, lib.studyplan, lib.studyplanmapper, lib.userinputvalidator Enhetstest Datum TNM
113 Sida 113 av 231 TestSpec.examination.termViewAction.execute -1 - Syfte: Kontrollerat att templaten examination.termviewsuccess returneras. Indata: - Förväntade utdata: Kriterier för lyckat test: Att all den information som finns i Hi-fi visas på den verkliga sidan. Skriv examination.termviewsuccess. 1. Visa sidan. 2. Jämför med Hi-fi och se att resultatet är lika. TestSpec.examination.termViewAction.validate-1 - Syfte: Kontrollera att valideringen fungerar. Indata: strängen Hej här kommer text!! inte en tomsträng. Blaj blaj! # %&/()=12345 Förväntade utdata: Boolean, True om valideringen lyckades. Kriterier för lyckat test: Valideringen skall gå igenom. Alltså skall utdatan var True. Skriv lib.userinputvalidator. 1. Skriv testet. 2. Kör testet 3. Kontrollera att texten användaren matat ger rätt värde på utdata. TNM
114 Sida 114 av 231 TestSpec.examination.termViewAction.validate-2 - Syfte: Kontrollera att valideringen fungerar. Indata: strängen. Förväntade utdata: Boolean, True om valideringen lyckades. Kriterier för lyckat test: Valideringen skall integå igenom. Alltså skall utdatan var false. Skriv lib.userinputvalidator. 1. Skriv testet. 2. Kör testet 3. Kontrollera att texten användaren matat ger rätt värde på utdata. TestSpec.examination.termViewAction.handleError-1 - Syfte: Kontrollerat att templaten examination.termviewerror returneras. Indata: - Förväntade utdata: templaten examination.termviewerror Kriterier för lyckat test: Att rätt utdata erhålles. 2. Kör testet TNM
115 Sida 115 av Systemtest Tabellförklaring Nedan följer förklaringar av testspecifikationerna för systemtesten. Övertabell: Övertabellen skrivs högst upp och visar vilken typ av test det rör sig om, förutsättningar, datum och vilket scenario det utgår från. Övertabellen är allmän för alla delscenarion som scenariot tar upp. TestSpec.Scenario [vilket scenario] Förutsättningar Datum Här ska det stå vad som förutsätts för att testet skall kunna köras. Vilken typ av test specifikationen behandlar. När testspecifikationen skrevs. Undertabell: I undertabellen specificeras det hur själva testet går till. Varje undertabell kan delas upp i flera delscenarion om ett scenario kan testas på flera olika sätt. TestSpec.Scenario [vilket scenario]-[vilket delscenario] Use-Case: Vilket use-case (om något) scenariot utgår från. Här ska kraven (om funktionen utgår från några krav) som funktionen utgått från skrivas. Syfte: Varför detta test behövs. Indata: Vad som skrivs in under testet. Förväntade utdata: Vad som förväntas visas i slutet av testet. Kriterier för lyckat test: Vilka kriterier som måste vara uppfyllda för att testet skall kunna räknas som lyckat. Vad som måste göras innan testet kan utföras. Hur testet, steg för steg, skall utföras. TNM
116 Sida 116 av 231 Åtgärder om inga fel upptäckts: Vad som skall göras om inga fel upptäcks. Åtgärder om fel upptäckts: Vad som skall göras om fel upptäcks Studievy TestSpec.Scenario S.01 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.01-1 Use-Case: S.01 Student söker kurs via kurskod F G.01, F G.27 Syfte: Testa att det går att söka kurs via kurskod i studiefyn Indata: TNG Förväntade utdata: TNG022 Modellbygge och simulering TNG028 Reglerteknik TNG033 Programmering i C++ Kriterier för lyckat test: Att i resultatet så skall kurser med kurskod innehållande TNG listas, däribland ovanstående kurser i Förväntade utdata. Ställ webläsaren på studievyns startsida. 3. Klicka på sök kurs 4. Fyller i Kurskod -fältet med TNG 5. Klicka på Sök TNM
117 Sida 117 av 231 TestSpec.Scenario S.02 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.02 Use-Case: S.02 Student söker kurs via kursnamn Syfte: Testa så att det går att söka på kurs på studievyns sida. Indata: TNA Förväntade utdata: TNA001,TNA002,TNA008,TNA005,TNA003 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på studievyns startsida och sedan klicka på sök kurs 1. Klickar på sök kurs 2. Fyller i Kurskod -fältet med TNA 3. Klickar på Sök TestSpec.Scenario S.03 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.03 TNM
118 Sida 118 av 231 Use-Case: S.03 Student söker kurs via högskolepoäng Syfte: Testa så att det går att söka på kurs på studievyns sida genom att ange högskolepoäng. Indata: 12 Förväntade utdata: TNA008 Analys I och II Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på studievyns startsida och sedan klicka på sök kurs 1. Klickar på sök 2. Fyller i Högskolepoäng -fältet med Klickar på Sök TestSpec.Scenario S.04 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.04-1 Use-Case: U.04 Student söker kurs via nivå Syfte: Testa så att man i studievyn kan söka kurser efter nivå. Indata: A Förväntade utdata: TNM053 VR-teknik och TNM067 Vetenskaplig visualisering Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på studievyns startsida. TNM
119 Sida 119 av Klickar på sök kurs 2. Fyller i fälter kursnivå med A 3. Klickar på Sök TestSpec.Scenario S.05 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.05-1 Use-Case: S.05 Student söker på obligatoriska kurser Syfte: Testa så att det i studievyn går att söka på obligatoriska kurser. Indata: O Förväntade utdata: TNA001 Matematisk grundkurs TNA002 Linjär Algebra Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på studievyns startsida. 1. Klickar på sök kurs 2. Fyller i VOF -fältet med O 3. Klickar på Sök TestSpec.Scenario S.06 Förutsättningar Att data finns i databasen. Systemtest Datum TNM
120 Sida 120 av 231 TestSpec.Scenario S.06-1 Use-Case: S.06 student söker på valbara kurser Syfte: Testa så att det i studievyn går att söka på valbara kurser. Indata: V Förväntade utdata: TNG033 Programmering i C++ TNM067 Vetenskaplig visualisering Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på studievyns startsida. 1. Klickar på sök kurs 2. Fyller i VOF -fältet med V 3. Klickar på Sök TestSpec.Scenario S.07 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.07-1 Use-Case: U.07 Student söker på frivilliga kurser Syfte: Testa så att det i studievyn går att söka på frivilliga kurser. Indata: F Förväntade utdata:? Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på studievyns startsida. TNM
121 Sida 121 av Klickar på sök kurs 2. Fyller i VOF -fältet med F 3. Klickar på Sök TestSpec.Scenario S.08 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.08-1 Use-Case: S.08 Student söker kurs via huvudområde Syfte: Testa så att det i studievyn går att söka kurs efter huvudområde. Indata: Teknik Förväntade utdata: TNG028 Reglerteknik Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på studievyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet huvudområde med teknik 3. Klickar på Sök TestSpec.Scenario S.09 Förutsättningar Att data finns i databasen. Systemtest Datum TNM
122 Sida 122 av 231 TestSpec.Scenario S.09-1 Use-Case: S.09 Student söker kurs från och med ett specifikt år Syfte: Testa så att det i studievyn går att söka kurser från och med ett specifikt år. Indata: 2005 Förväntade utdata: TNA008 Analys I + II Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på studievyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet startår med Klickar på Sök Åtgärder om inga fel upptäckts: Åtgärder om fel upptäckts: TestSpec.Scenario S.10 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.10-1 Use-Case: S.10 Student söker kurs via program Syfte: Testa så att det i studievyn går att söka kurs via program. Indata: MT Förväntade utdata: TNA001,TNA002,TNA008,TNA005,TNA003 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade TNM
123 Sida 123 av 231 utdata finnas med. Ställ webläsaren på studievyns startsida. 1. Klickar på sök kurs 2. Fyller i program -fältet med MT 3. Klickar på Sök TestSpec.Scenario S.11 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.11-1 Use-Case: S.11 Student söker kurs via profil Syfte: Testa så att det i studievyn går att söka kurs efter profil. Indata: Publicering Förväntade utdata: TNA002, TNE043, TNA003, TNM040 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på studievyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet profil med Publicering 3. Klickar på Sök TNM
124 Sida 124 av 231 TestSpec.Scenario S.12 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.12-1 Use-Case: S.12 Student söker kurs via unikt år Syfte: Testa så att det i studievyn går att söka kurser på unikt år. Indata: 2006 Förväntade utdata: TNA008,TNA005, TEIE61 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på studievyns startsida. 1. Klickar på sök kurs 2. Fyller i fältet söka på år med Klickar på Sök TNM
125 Sida 125 av 231 TestSpec.Scenario S.13 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.13-1 Use-Case: S.13 Student söker kurs via termin F G.21 Syfte: Testa så att det i studievyn går att söka på kurs genom att ange termin. Indata: t1 Förväntade utdata: samtliga kurser inom termin 1 bl. a. TNA001 Matematisk grundkurs Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på studievyns startsida. 1. klickar på Söka kurs 2. Fyller i fältet Termin med t1 3. Klickar på sök TestSpec.Scenario S.14 Förutsättningar Att data finns i databasen. Systemtest Datum TNM
126 Sida 126 av 231 TestSpec.Scenario S.14-1 Use-Case: S.14 Student söker kurs via period Syfte: Testa så att det i studievyn går att söka kurser från en viss period. Indata: 1 Förväntade utdata: TNA001, TNM040, TNG028 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på studievyns startsida. 1. Klickar på sök kurs 2. Fyller i fältet period med 1 3. Klickar på Sök Åtgärder om inga fel upptäckts: Åtgärder om fel upptäckts: TestSpec.Scenario S.15 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.15-1 Use-Case: S.15: Student söker kurs via block Syfte: Testa så att student kan söka på kurser med avseende på block. Indata: Block 1 Förväntade utdata: Alla kurser i block 1. Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade TNM
127 Sida 127 av 231 utdata finnas med. Ställ webläsaren på studievyns startsida. 1. Klickar på Sök kurs 2. Fyller i fältet Block med 1 3. Klickar på Sök TNM
128 Sida 128 av 231 TestSpec.Scenario S.16 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.16-1 Use-Case: S.16 Student vill söka kurs med flera parametrar Syfte: Testa så att det i studievyn går att söka kurser igenom att ange flera olika parametrar. Indata: 2006 O 12 Förväntade utdata: TNA008 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurs i Förväntade utdata finnas med. Ställ webläsaren på studietvyns startsida. 1. Klickar på sök kurs 2. Fyller i fältet år med 2006, VOF -fältet med O och poäng -fältet med Klickar på Sök TestSpec.Scenario S.17 Förutsättningar Att data finns i databasen. Systemtest Datum TNM
129 Sida 129 av 231 TestSpec.Scenario S.17-1 Use-Case: S.17 Programöversikt för student med startår och program Syfte: Testa så att det i studievyn går att få fram programöversikt för en student för ett specifikt år och program. Indata: 2007 (Inget program som indata då endast MT som program stöds för tillfället) Förväntade utdata: TNA001 TNA002 TNM040 TNE043 TNA003 TNA005 TEIE61 Kriterier för lyckat test: Att ovanstående kurser i Förväntade utdata visas i programöversikt Ställ webläsaren på studievyns startsida. 1. Specifiera år Klicka på sök TestSpec.Scenario S.18 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.18-1 Use-Case: S.18 F G.16, F G.17, F S.01 Syfte: Ge en översiktlig vy över kurser student kan ha läst med hänsyn till studieuppehåll. Indata: 2005, MT, 2007 Förväntade utdata: 1Ht0 TNA001, 2Vt1 TND002, 3Ht1 TNA006, 4Vt2 TNG015 Kriterier för lyckat test: Att i resultatet så ska stickprovet av kurser ifrån ovanstående Förväntade utdata finnas med. TNM
130 Sida 130 av 231 Ställ webbläsaren på studievyns startsida. 1. Fyll i startår, program och startår för ett års studieuppehåll i respektive fält. 2. Klicka på Sök TestSpec.Scenario S.18-2 Use-Case: S.18 F G.16, F G.17, F S.02, F S.03 Syfte: Ge en översiktlig vy över kurser student kan ha läst med hänsyn till studieuppehåll. Indata: 2005, MT, 2006, 2007 Förväntade utdata: 1Ht0 TNA001, 2Vt1 TND002, 3Ht1 TNA006 Kriterier för lyckat test: Att i resultatet så ska stickprovet av kurser ifrån ovanstående Förväntade utdata finnas med. Ställ webbläsaren på studievyns startsida. 1. Fyll i startår, program och startår för studieuppehåll och slutår för studieuppehåll i respektive fält. 2. Klicka på Sök TNM
131 Sida 131 av 231 TestSpec.Scenario S.19 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.19-1 Use-Case: S.19 F G.16, F G.17, F G.20 Syfte: Ge en översiktlig vy över kurser student kan ha läst med hänsyn till profil Indata: 2004, Ii, data Förväntade utdata: 4VT2 - TATA36, 5Ht2 - TDDC30, 6Vt1 - TDTS57 Kriterier för lyckat test: Att i resultatet så ska stickprovet av kurser ifrån ovanstående Förväntade utdata finnas med. Ställ webbläsaren på Studievyns startsida. 1. Fyll i startår, program och profil i respektive fält. 2. Klicka på Sök TestSpec.Scenario S.20 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.20-1 Use-Case: S.20: Programöversikt för student med startår, program, profil och studieuppehåll Syfte: Testa så att student kan söka med information om startår, program, profil och studieuppehåll Indata: Startår 2002 Program MT Profil pb Studieuppehåll från Förväntade utdata: KOD001 TNM
132 Sida 132 av 231 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på studievyns startsida. 1. Klickar på Sök kurs 2. Fyller i fältet Startår med Fyller i fältet Program med MT 4. Fyller i fältet Profil med pc 5. Klickar i Ja på Studieuppehåll, fyller i 2004 på from och 2005 på tom TestSpec.Scenario S.21 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario S.21-1 Use-Case: S.21 Mer kursinformation Syfte: Testa så att det i studievyn går att få fram mer information om en kurs Indata: musklick på kurskoden TNA001 för år 2005 i blockvyn Förväntade utdata: länkas till sh2005 och visar fullständig kursinformation Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på studievyns startsida. 1. Fyller i fältet Startår med 2005 TNM
133 Sida 133 av Fyller i fältet Program med Medieteknik 3. Klickar på sök 4. Klickar på kurskoden TNA Utbildningsledarvy TestSpec.Scenario U.01 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.01-1 Use-Case: U.01 Utbildningsledare söker kurs via kurskod G.05, G.27 Syfte: Testa så att det går att söka på kurskod i utbildningsledarvyn. Indata: TNA Förväntade utdata: TNA001,TNA002,TNA008,TNA005,TNA003 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i Kurskod -fältet med TNA 3. Klickar på Sök TNM
134 Sida 134 av 231 TestSpec.Scenario U.01-2 Use-Case: U.01 Utbildningsledare söker kurs via kurskod G.05, G.27 Syfte: Testa så att det går att söka på kurskod i utbildningsledarvyn. Indata: TEIE61 Förväntade utdata: TEIE61, Industriell Ekonomi Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i Kurskod -fältet med TEIE61 3. Klickar på Sök TestSpec.Scenario U.02 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.02-1 Use-Case: U.02 Utbildningsledare söker kurs via kursnamn G.04, G.26 Syfte: Testa så att det i utbildningsledarvyn går att söka kurser på kursnamn. Indata: Analys Förväntade utdata: TNA003 Analys I och TNA008 Analys I och II Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. TNM
135 Sida 135 av Klickar på sök kurs 2. Fyller i fältet kursnamn med Analys 3. Klickar på Sök TestSpec.Scenario U.03 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.03-1 Use-Case: U.03 Utbildningsledare söker kurs via högskolepoäng G.09, G.25 Syfte: Testa så att det i utbildningsledarvyn går att söka kurser på högskolepoäng.. Indata: 12 Förväntade utdata: TNA008 Analys I och II Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i fältet högskolepoäng med Klickar på Sök TNM
136 Sida 136 av 231 TestSpec.Scenario U.04 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.04-1 Use-Case: U.04 Utbildningsledare söker kurs via nivå G.15, G.28, U.07 Syfte: Testa så att man i utbildningsledarvyn kan söka kurser efter nivå. Indata: A Förväntade utdata: TNM053 VR-teknik och TNM067 Vetenskaplig visualisering Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i fälter kursnivå med A 3. Klickar på Sök TNM
137 Sida 137 av 231 TestSpec.Scenario U.05 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.05-1 Use-Case: U.05 Utbildningsledare söker på obligatoriska kurser G.11, G.22 Syfte: Testa så att det i utbildningsledarvyn går att söka på obligatoriska kurser. Indata: O Förväntade utdata: TNA001 Matematisk grundkurs TNA002 Linjär Algebra Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i VOF -fältet med O 3. Klickar på Sök TNM
138 Sida 138 av 231 TestSpec.Scenario U.06 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.06-1 Use-Case: U.06 Utbildningsledare söker på valbara kurser G.10, G.23, U.04 Syfte: Testa så att det i utbildningsledarvyn går att söka på valbara kurser. Indata: V Förväntade utdata: TNG033 Programmering i C++ TNM067 Vetenskaplig visualisering Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i VOF -fältet med V 3. Klickar på Sök TNM
139 Sida 139 av 231 TestSpec.Scenario U.07 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.07-1 Use-Case: U.07 Utbildningsledare söker på frivilliga kurser G.07, G.24 Syfte: Testa så att det i utbildningsledarvyn går att söka på frivilliga kurser. Indata: F Förväntade utdata: Alla frivilliga kurser Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i VOF -fältet med F 3. Klickar på Sök TNM
140 Sida 140 av 231 TestSpec.Scenario U.08 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.08-1 Use-Case: U.08 Utbildningsledare söker kurs via huvudområde G.06, G.29, U.01 Syfte: Testa så att det i utbildningsledarvyn går att söka kurs efter huvudområde. Indata: Teknik Förväntade utdata: TNG028 Reglerteknik Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet huvudområde med teknik 3. Klickar på Sök TNM
141 Sida 141 av 231 TestSpec.Scenario U.09 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.09-1 Use-Case: U.09 Utbildningsledare söker kurs från och med ett specifikt år Syfte: Testa så att det i utbildningsledarvyn går att söka kurser från och med ett specifikt år. Indata: 2005 Förväntade utdata: TNA008 Analys I + II Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet startår med Klickar på Sök TNM
142 Sida 142 av 231 TestSpec.Scenario U.10 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.10-1 Use-Case: U.10 Utbildningsledare söker kurs via program Syfte: Testa så att det i utbildningsledarvyn går att söka kurs via program. Indata: MT Förväntade utdata: TNA001,TNA002,TNA008,TNA005,TNA003 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i program -fältet med MT 3. Klickar på Sök Åtgärder om inga fel upptäckts: Åtgärder om fel upptäckts: TNM
143 Sida 143 av 231 TestSpec.Scenario U.11 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.11-1 Use-Case: U.11 Utbildningsledare söker kurs via profil Syfte: Testa så att det i utbildningsledarvyn går att söka kurs efter profil. Indata: Publicering Förväntade utdata: TNA002, TNE043, TNA003, TNM040 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet profil med Publicering 3. Klickar på Sök TNM
144 Sida 144 av 231 TestSpec.Scenario U.12 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.12-1 Use-Case: U.12 Utbildningsledare söker kurs via uniktår Syfte: Testa så att det i utbildningsledarvyn går att att söka kurser på unikt år. Indata: 2006 Förväntade utdata: TNA008,TNA005, TEIE61 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i fältet söka på år med Klickar på Sök TNM
145 Sida 145 av 231 TestSpec.Scenario U.13 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.13-1 Use-Case: U.13 Utbildningsledare söker kurs via termin Syfte: Testa så att det i utbildningsvyn går att söka kursers från en specifik termin. Indata: vt2007 Förväntade utdata: TNA005,TNA003, TEIE61 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i fältet termin med vt 2007? 3. Klickar på Sök TNM
146 Sida 146 av 231 TestSpec.Scenario U.14 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.14-1 Use-Case: U.14 Utbildningsledare söker kurs via period Syfte: Testa så att det i utbildningsledarvyn går att söka kurser från en viss period. Indata: 1 Förväntade utdata: TNA001, TNM040, TNG028 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i fältet period med 1 3. Klickar på Sök TNM
147 Sida 147 av 231 TestSpec.Scenario U.15 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.15-1 Use-Case: U.15 Utbildningsledare söker kurs via block Syfte: Testa så att det i utbildningsledarvyn går att söka kurser från ett visst block. Indata: 4 Förväntade utdata: TNA005, TNA002, TNM085 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i block -fältet med 4 3. Klickar på Sök TNM
148 Sida 148 av 231 TestSpec.Scenario U.16 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.16-1 Use-Case: U.16 Utbildningsledare vill söka kurs med flera parametrar Syfte: Testa så att det i utbildningsledarvyn går att söka kurser igenom att ange flera olika parametrar. Indata: 2006 O 12 Förväntade utdata: TNA008 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurs i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i fälten år med 2006, VOF -fältet med O och poäng -fältet med Klickar på Sök TNM
149 Sida 149 av 231 TestSpec.Scenario U.17 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.17-1 Use-Case: U.17 Utbildningsledare vill se blockschema för valt år och program Syfte: Testa så att i ubildningsledarvyn går det att få fram ett blockschema för ett specifikt år och program. Indata: 2007 (Inget program som indata då endast MT som program stöds för tillfället) Förväntade utdata: TNA001 TNA002 TNM040 TNE043 TNA003 TNA005 TEIE61 Kriterier för lyckat test: Att ovanstående kurser i Förväntade utdata visas i ett blockschema Ställ webläsaren på utbildningsledarvyns startsida. 1. Specifiera år Klicka på sök TNM
150 Sida 150 av 231 TestSpec.Scenario U.18 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.18-1 Use-Case: U.18 Utbildningsledare vill se blockschema för valt år, program och profil Syfte: Testa så att i ubildningsledarvyn går det att få fram ett blockschema för ett specifikt år, program och profil. Indata: 2005, Visualisering (Inget program då endast MT stöds för tillfället) Förväntade utdata: TNA001 TNA002 TNM040 TNE043 TNA003 TNA005 TEIE61 TNG028 TNG022 TNM059 TNM055 TNM086 TNM067 TNM085 TNG033 Kriterier för lyckat test: Att ovanstående kurser i Förväntade utdata visas i ett blockschema Ställ webläsaren på utbildningsledarvyns startsida. 1. Specifiera år 2005 och profil Visualisering 2. Klicka på sök TNM
151 Sida 151 av 231 TestSpec.Scenario U.19 Förutsättningar Systemtest Datum TestSpec.Scenario U.19-1 Use-Case: U.19 Utbildningsledare behöver hjälp U.12 Syfte: Indata:- Förväntade utdata: - Kriterier för lyckat test: Man tas till hjälpsidan när man klickar på hjälp-länken. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klicka på länken hjälp TNM
152 Sida 152 av 231 TestSpec.Scenario U.20 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario U.20-1 Use-Case: U.20 Mer kursinformation - Syfte: Testa så att man i utbildningsledarvyn kan få fram mer information om kurserna. Indata: - Förväntade utdata: - Kriterier för lyckat test: När man klickar på en kurs ska man tas till kursens sida i gamla studiehanboken. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i valfria parametrar 3. Klickar på Sök 4. Om kurser kommer i listan, klicka på kurs annars sök på något annat så att kurser kommer upp i listan. TNM
153 Sida 153 av 231 TestSpec.Scenario E.01 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.01-1 Use-Case: E.01 Examensenheten söker kurs via kurskod F G.05 Syfte: Testa så att det i examenenhetsvyn går att söka kurs efter kurskod. Indata: TNA002 Förväntade utdata: TNA002 från 2005 och frammåt Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examenenhetsvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet kurskod med TNA Klickar på Sök TestSpec.Scenario E.01-2 Use-Case: E.01 Examensenheten söker kurs via kurskod F G.05 Syfte: Testa så att det i examenenhetsvyn går att söka kurs efter kurskod. Indata: TNA Förväntade utdata: 2007: TNA001, TNA002, TNA003, TNA004, TNA005, TNA006, TNA : TNA001,TNA002,TNA005,TNA006,TNA007, TNA : TNA001, TNA002 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade TNM
154 Sida 154 av 231 utdata finnas med. Ställ webläsaren på examenenhetsvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet kurskod med TNA Klickar på Sök Examensvy TestSpec.Scenario E.02 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.02-1 Use-Case: U.01 Examense söker kurs via kursnamn F G.04 Syfte: Testa så att det går att söka på kursnamn i examensledarledarvyn. Indata: återkopplad Förväntade utdata: TTIT63, Tema: Återkopplade linjära system Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examensvyns startsida. 1. Klickar på sök kurs TNM
155 Sida 155 av Fyller i Kursnamn -fältet med återkopplad 3. Klickar på Sök TestSpec.Scenario E.02-2 Use-Case: U.01 Examensenheten söker kurs via kursnamn F G.04, Syfte: Testa så att det går att söka på kursnamn i examensvyn. Indata: Tema: Återkopplade linjära system Förväntade utdata: TTIT63 Tema: Återkopplade linjära system Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examensvyns startsida. 1. Klickar på sök kurs 2. Fyller i Kursnamn -fältet med Tema: Återkopplade linjära system 3. Klickar på Sök TestSpec.Scenario E.03 Förutsättningar Att korrekt data finns i databasen. Systemtest Datum TestSpec.Scenario E.03-1 Use-Case: E.03 Examensenheten söker kurs via högskolepoäng Syfte: Testa så att det i studievyn går att söka kurser på nivå. Indata: 7,5 Förväntade utdata: VR-teknik Kriterier för lyckat test: Att i resultatet så ska ovanstående kurs i Förväntade utdata listas. TNM
156 Sida 156 av 231 Ställ webläsaren på examenenhetensvyns startsida. 1. Klickar på sök kurs 2. Välj i rullningslistan vid Hp 7,5. 3. Klickar på Sök TestSpec.Scenario E.04 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.04-1 Use-Case: E.04 Examensenheten söker kurs via nivå F G.15 Syfte: Testa så att det i examensvyn går att söka kurs efter nivå. Indata: G1 Förväntade utdata: samtliga kurser med nivå A (gamla) eller nivå G1 (nya) Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examennhetsvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet Nivå med G1 3. Klickar på Sök TestSpec.Scenario E.04-2 TNM
157 Sida 157 av 231 Use-Case: E.04 Examensenheten söker kurs via nivå F G.15 Syfte: Testa så att det i examensvyn går att söka kurs efter nivå. Indata: G2 Förväntade utdata: samtliga kurser med nivå B eller C (gamla) eller nivå G2 (nya) Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examensvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet Nivå med G1 3. Klickar på Sök TestSpec.Scenario E.04-3 Use-Case: E.04 Examensenheten söker kurs via nivå F G.15 Syfte: Testa så att det i examensvyn går att söka kurs efter nivå. Indata: A Förväntade utdata: samtliga kurser med nivå D (gamla) eller nivå A (nya) Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examensvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet Nivå med A 3. Klickar på Sök TNM
158 Sida 158 av 231 TestSpec.Scenario E.05 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.05-1 Use-Case: E.05 Examensenheten söker kurs via obligatorisk kurs F G.11 Syfte: Testa så att det i examenenhetsvyn går att söka kurs genom att ange obligatorisk kurs. Indata: O Förväntade utdata: samtliga kurser som är obligatoriska bl. a. TNA001 Matematisk Grundkurs Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examenenhetsvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet VoF-fältet med O 3. Fyller i fältet Utbildningsprogram med Medieteknik 4. Klickar på Sök TNM
159 Sida 159 av 231 TestSpec.Scenario E.06 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.06-1 Use-Case: E.06 Examensenheten söker kurs via valbar kurs F G.10 Syfte: Testa så att det i examenenhetsvyn går att söka kurs genom att ange valbar kurs. Indata: V Förväntade utdata: samtliga kurser som är valbara bl. a. TNM066 Datamodeller för kognitiva processer Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examenenhetsvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet VoF-fältet med V 3. Fyller i fältet Utbildningsprogram med Medieteknik 4. Klickar på Sök TNM
160 Sida 160 av 231 TestSpec.Scenario E.07 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.07-1 Use-Case: E.07 Examensenheten söker på frivilliga kurser Syfte: Testa så att det i examensvyn går att söka på frivilliga kurser. Indata: F Förväntade utdata:? Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examensvyns startsida. 5. Klickar på sök kurs 6. Fyller i VOF -fältet med F 7. Klickar på Sök TNM
161 Sida 161 av 231 TestSpec.Scenario E.08 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.08-1 Use-Case: E.08 Examensenheten söker kurs via huvudområde F G.06 Syfte: Testa så att det i examenenhetsvyn går att söka kurs genom att ange dess huvudområde Indata: Matematik Förväntade utdata: samtliga kurser som är inom huvudområdet Matematik bl a TNA001 Matematisk grunkurs. Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examenenhetsvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet Huvudområde med Matematik 3. Klickar på Sök TNM
162 Sida 162 av 231 TestSpec.Scenario E.09 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.09-1 Use-Case: U.09 Examensenheten söker kurs från och med ett specifikt år Syfte: Testa så att det i examensvyn går att söka kurser från och med ett specifikt år. Indata: 2005 Förväntade utdata: TNA008 Analys I + II Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examensvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet startår med Klickar på Sök TNM
163 Sida 163 av 231 TestSpec.Scenario E.10 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.10-1 Use-Case: E.08 Examensenheten söker kurs via program F G.03 Syfte: Testa så att det i examenenhetsvyn går att söka kurs genom att ange dess program Indata: Medieteknik Förväntade utdata: samtliga kurser som är inom programmet Medieteknik uppdelat efter år bl. a. TNA001 Matematisk grundkurs. Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examenenhetsvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet Program med Medieteknik 3. Klickar på Sök TNM
164 Sida 164 av 231 TestSpec.Scenario E.11 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.11-1 Use-Case: E.11 Examensenheten söker kurs via profil F G.08 Syfte: Testa så att det i examenenhetsvyn går att söka kurs genom att ange profil. Indata: Publicering Förväntade utdata: samtliga kurser som är inom profilen Publicering uppdelat efter år bl. a. TNM047 Dokumentstrukturer, TNM012 Färgseparation, färgstyrning och standarder och TNM015 Grafisk produktion och tryckkvalitet för år Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examenenhetsvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet Program med Medieteknik 3. Fyller i fältet Profil med Publicering 4. Klickar på Sök TNM
165 Sida 165 av 231 TestSpec.Scenario E.12 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.12-1 Use-Case: E.12 Examensenheten söker kurs via unikt år Syfte: Testa så att det i examensvyn går att att söka kurser på unikt år. Indata: 2006 Förväntade utdata: TNA008,TNA005, TEIE61 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examensvyns startsida. 1. Klickar på sök kurs 2. Fyller i fältet söka på år med Klickar på Sök TNM
166 Sida 166 av 231 TestSpec.Scenario E.13 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.13-1 Use-Case: E.13 Examensenhet söker kurs via termin Syfte: Testa så att det i examensenhetsvyn går att söka kurser från en specifik termin. Indata: vt2007 Förväntade utdata: TNA005,TNA003, TEIE61 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examensenhetsvyns startsida. 1. Klickar på sök kurs 2. Fyller i fältet termin med vt Klickar på Sök TNM
167 Sida 167 av 231 TestSpec.Scenario E.14 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.14-1 Use-Case: E.14 Examensenheten söker kurs via period Syfte: Testa så att examensenheten kan se alla kurser på en viss period Indata: Period 1 Förväntade utdata: Alla kurser i period stycken. Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examensvyns startsida. 1. Klickar på söka kurs 2. Fyller i fältet Period med 1 3. Klickar på Sök TNM
168 Sida 168 av 231 TestSpec.Scenario E.15 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.15-1 Use-Case: E.15 Examensenheten söker kurs via block Syfte: Testa så att det i examensvyn går att söka kurser från ett visst block. Indata: 4 Förväntade utdata: TNA005, TNA002, TNM085 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examensvyns startsida. 1. Klickar på sök kurs 2. Fyller i block -fältet med 4 3. Klickar på Sök TNM
169 Sida 169 av 231 TestSpec.Scenario E.16 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.16-1 Use-Case: E.16 Examensenheten vill söka kurs med flera parametrar Syfte: Testa så att det i examensenhetensvyn går att söka kurser igenom att ange flera olika parametrar. Indata: 2006 O 12 Förväntade utdata: TNA008 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurs i Förväntade utdata finnas med. Ställ webläsaren på utbildningsledarvyns startsida. 1. Klickar på sök kurs 2. Fyller i fältet år med 2006, VOF -fältet med O och poäng -fältet med Klickar på Sök TNM
170 Sida 170 av 231 TestSpec.Scenario E.17 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.17-1 Use-Case: E.17 Examensenheten vill se programöversikt för student med startår, program och studieuppehåll Syfte: Testa så att i examensenhetsvyn går det att få fram programöversikt för student med startår, program och studieuppehåll Indata: Startår: 2004, Program: MT, Studieuppehåll: 2005 till och med 2006 Förväntade utdata: Samtliga kurser som studenten ska ha läst enligt det programupplägg som är specifikt för det startår som examensenheten specificerat i sökningen Kurserna som skulle ha lästs 2005/2006 flyttas pga studieuppehållet till 2006/2007, och därefter förskjuts samtliga kurser ett år framåt. Kriterier för lyckat test: Att ovanstående kurser i Förväntade utdata visas. Ställ webläsaren på examensvyns startsida. 1. Specifiera Startår: 2004, Program: MT, Studieuppehåll: 2005 till och med Klicka på sök TNM
171 Sida 171 av 231 TestSpec.Scenario E.18 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.18-1 Use-Case: E.18 Programöversikt för student med startår program och profil F G.01, F G.03, F G.08 Syfte: Testa så att det i examenenhetsvyn går att söka kurs genom att ange startår, program och profil. Indata: 2005, Medieteknik, Publicering Förväntade utdata: samtliga kurser som är inom profilen Publicering. TNM047 Dokumentstrukturer, TNM012 Färgseparation, färgstyrning och standarder och TNM015 Grafisk produktion och tryckkvalitet för år Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examenenhetsvyns startsida. 1. Fyller i fältet Startår med Fyller i fältet Program med Medieteknik 3. Fyller i fältet Profil med Publicering 4. Klickar på Sök TNM
172 Sida 172 av 231 TestSpec.Scenario E.19 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.19-1 Use-Case: E.19 Programöversikt för student med startår program, profil och studieuppehåll F G.01, F G.03, F G.08, F E.01 Syfte: Testa så att det i examenenhetsvyn går att söka kurs genom att ange startår, program, profil och studieuppehåll. Indata: 2003, Medieteknik, Publicering, 2006 Förväntade utdata: samtliga kurser som är inom profilen Publicering med hänsyn till studieuppehållet. TNM031 Nätverkprogrammering och säkerhet, TNM065 Dokumentstrukturer, TNM049 Avancerad färgvetenskap och TNM015 Grafisk produktion och tryckkvalitet. Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examenenhetsvyns startsida. 1. Fyller i fältet Startår med Fyller i fältet Program med Medieteknik 3. Fyller i fältet Profil med Publicering 4. Fyller i fältet Studieuppehåll med Klickar på Sök TNM
173 Sida 173 av 231 TestSpec.Scenario E.20 Förutsättningar Att data finns i databasen. Systemtest Datum TestSpec.Scenario E.20-1 Use-Case: E.20 Mer kursinformation F E.19 Syfte: Testa så att det i examenenhetsvyn går att få fram mer kursinformation för en kurs Indata: musklick på kurskoden TNA001 för år 2005 i resultatvyn Förväntade utdata: länkas vidare till sh2005 och kursinformationen för TNA001 Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ställ webläsaren på examenenhetsvyns startsida. 1. Fyller i fältet Startår med Fyller i fältet Program med Medieteknik 3. Klickar på TNA001 TNM
174 Sida 174 av 231 TestSpec.Scenario E.21 Förutsättningar Sida för visning av tabeller innehållande kurs information skall vara skriven. Systemtest Datum TestSpec.Scenario E.21-1 F E.20 Utskriftsvänlig Syfte: För att kontrollera så att ingen information går förlorad då man skriver ut en utskriftsvänlig version av en kurs tabell. Use-Case: Scenario E.21 Utskriftsvänligt Förväntade utdata: - Kriterier för lyckat test: Ingen information skall gå förlorad vid utskrift. Inga andra grafiska element från sidan skall skrivas ut förutom tabellen innehållande kurs informationen. Ta fram en tabell innehållande kurs information. Tryck på länken utskriftsvänlig kopia. 1. Skriv ut den utskriftsvänliga versionen. 2. Kontrollera att ingen text har gått förlorad underutskriften genom att jämföra utskriften med den text som finns på skärmen. Kontrollera att ingen text hamnar utanför marginalerna på ett A4:a ark. Kontrollera även att långa tabeller som överskrider en sida innehåller all information och inte tappar någon information vid sidbrytning. TNM
175 Sida 175 av Parser TestSpec.Scenario P.01 Förutsättningar Att det finns sidor på studiehandboken med med kursinformation om TNA003 Analys I. Systemtest Datum TestSpec.Scenario P.01 Use-Case: P.01 Automatisk uppdatering av samtliga programplaner och kursinformationer för samtliga kurser för alla program från nuvarande och kommande år P.01-P.37, P.39, P.44, P.47, P.48 Syfte: Testa så att parsern automatiskt uppdaterar databasen en gång i veckan. Indata: Analys Förväntade utdata: TNA003 Analys I Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ta bort TNA003 Analys I från databasen. Ställ webläsaren på utbildningsledarvyns startsida. Vänta tills parsern ska ha uppdaterats. 1. Klickar på sök kurs 2. Fyller i fältet kursnamn med Analys 3. Klickar på Sök TNM
176 Sida 176 av 231 TestSpec.Scenario P.02 Förutsättningar Att det finns sidor på studiehandboken med kursinformation om TNA003 Analys I. Systemtest Datum TestSpec.Scenario P.02 Use-Case: P.02 Automatisk uppdatering av samtliga programplaner och kursinformationer för samtliga kurser för alla program från nuvarande och kommande år P.01-P.36, P.38, P.42, P.44, P.47, P.49 Syfte: Testa så att parsern automatiskt uppdaterar databasen en gång i veckan. Indata: Analys Förväntade utdata: TNA003 Analys I Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ta bort TNA003 Analys I från databasen. Ställ webläsaren på utbildningsledarvyns startsida. Vänta tills parsern ska ha uppdaterats. 1. Klickar på sök kurs 2. Fyller i fältet kursnamn med Analys 3. Klickar på Sök TNM
177 Sida 177 av 231 TestSpec.Scenario P.03 Förutsättningar Att det finns sidor på studiehandboken med kursinformation om TNA003 Analys I. Systemtest Datum TestSpec.Scenario P.03 Use-Case: P.03 Automatisk uppdatering av informationen från samtliga versioner av Studiehandboken för ett program P.01-P.37, P.39, P.44, P.47, P.48 Syfte: Testa så att parsern automatiskt uppdaterar databasen en gång varje läsår. Indata: Analys Förväntade utdata: TNA003 Analys I Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ta bort TNA003 Analys I från databasen. Ställ webläsaren på utbildningsledarvyns startsida. Vänta tills parsern ska ha uppdaterats. 1. Klickar på sök kurs 2. Fyller i fältet kursnamn med Analys 3. Klickar på Sök TNM
178 Sida 178 av 231 TestSpec.Scenario P.04 Förutsättningar Att det finns sidor på studiehandboken med kursinformation om TNA003 Analys I. Systemtest Datum TestSpec.Scenario P.04 Use-Case: P.04 Automatisk uppdatering av informationen från samtliga års versioner av Studenthandboken för alla program P.01-P.36, P.38, P.42, P.44, P.47, P.49 Syfte: Testa så att parsern automatiskt uppdaterar databasen en gång varje läsår. Indata: Analys Förväntade utdata: TNA003 Analys I Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ta bort TNA003 Analys I från databasen. Ställ webläsaren på utbildningsledarvyns startsida. Vänta tills parsern ska ha uppdaterats. 1. Klickar på sök kurs 2. Fyller i fältet kursnamn med Analys 3. Klickar på Sök TNM
179 Sida 179 av 231 TestSpec.Scenario P.05 Förutsättningar Att det finns sidor på studiehandboken med kursinformation om TNA003 Analys I. Systemtest Datum TestSpec.Scenario P.05 Use-Case: P. Manuell uppdatering av programplaner och kursinformation för samtliga versioner av Studiehandboken P.01-P.36, P.41, P.44-P.47, P.49 Syfte: Testa så att parsern manuellt kan uppdatera databasen. Indata: Analys Förväntade utdata: TNA003 Analys I Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ta bort TNA003 Analys I från databasen. 1. Gå in i filen för manuell uppdatering av databasen. 2. Kör filen. 3. Vänta några minuter tills databasen skall vara uppdaterad. 4. Ställ webbläsaren på utbildningsledarvyns startsida. 5. Klickar på sök kurs 6. Fyller i fältet kursnamn med Analys 7. Klickar på Sök TNM
180 Sida 180 av 231 TestSpec.Scenario P.06 Förutsättningar Att det finns sidor på studiehandboken med kursinformation om TNA003 Analys I. Systemtest Datum TestSpec.Scenario P.06 Use-Case: P.06 Inställning av tidsintervall för uppdatering P.43, P.45, P.46 Syfte: Testa att det går att ställa in tidsintervall för automatiska uppdateringar studiehandboken. Indata: Analys Förväntade utdata: TNA003 Analys I Kriterier för lyckat test: Att i resultatet så ska ovanstående kurser i Förväntade utdata finnas med. Ta bort TNA003 Analys I från databasen. 1. Gå in i filen som ändrar tidsintervallet för uppdateringarna. 2. Ändra tidsintervallet till om 5 minuter. 3. Kör filen. 4. Vänta drygt 5 minuter 5. Ställ webbläsaren på utbildningsledarvyns startsida. 6. Klickar på sök kurs 7. Fyller i fältet kursnamn med Analys 8. Klickar på Sök TNM
181 Sida 181 av Acceptanstest Acceptanstestet planerar vi utföra genom att vi först internt gå igenom alla krav och checkar av de vi tycker är uppfyllda på en lista och sedan låter vi kunden göra samma sak. 3.5 Utförda tester med resultat Enhetstest Tanken var att felrapporter skulle skrivas för de fel som uppstått vid testningen, men arbetsmoralen på denna punkt visade sig vara låg. De flesta fel, som syntaxfel, som upptäcktes rättades till direkt Databaskopppling När parsern började bli klar visade det sig att en del missar gjorts i designen av databasens datatyper och även vid skapandet av testdatabasen. Programkoden för ett program var angiven som TCMEN eller 6CMEN, vilket är programkoden, i testdatabasen. Denna information kunde däremot inte utvinnas ifrån studiehandboken på utan bara förkortningen av programnamnet, MT för Medieteknik, D för Datateknik och så vidare Integrationstest På grund av tidsbrist har i stort sett inte några rena integrationstest hunnit utföras. I och med att enhetstesten inte använt stubs (det vill säga, fejkimplementationer av andra klasser för att bara testa just den aktuella klassen) fullt ut så har integrationen bara testats indirekt via enhetsesten och systemtest. Det har vid dessa test framkommit saker som tyder på att dataflödet mellan komponenterna visserligen fungerar, men att rätt data inte alltid skickas. Ibland blir det till exempel fel i kommunikationen med databasen Systemtest Vid systemtestningen visade sig flera brister i systemet. För att se vilka krav som i slutändan uppfylldes, se Acceptanstest Kalenderår, akademiska år och studieuppehåll Att kalenderår först användes orsakade för många problem vid presentationen i de olika vyerna. Det antogs i designfasen att det skulle vara enklare att implementera än det var. Det blev mycket fulkod för att presentera akademiska år (hösttermin och vårtermin hör till olika år) utifrån kalenderår. Ännu större problem tillkom då studieuppehåll skulle tas med i beräkningen. Detta ledde till att en relativt stor omstrukturering i designen blev nödvändig i ett sent skede av projektet. TNM
182 Sida 182 av 231 Borttagna gemensamma klasser: lib.extensivecalendaryear lib.extensivecalendaryearmapper lib.calendaryear lib.calendaryearmapper Tillagda gemensamma klasser: lib.year lib.yearmapper lib.academicyear lib.academicyearmapper lib.term Omstruktureringar: lib.academicyear och lib.simplecalendaryear är nu subklasser av lib.year istället för lib.calendaryear lib.academicyearmapper och lib.simplecalendaryearmapper är nu subklasser av lib.yearmapper istället för lib.calendaryearmapper metoden lib.calendaryearmapper.buildtermstring() har flyttas till lib.yearmapper.buildtermstring lib.studyplanmapper anropar nu AcademicYearMapper istället för lib.extensivecalendaryearmapper för att hämta akademiska år istället. metoden lib.studyplan.calculatestudybreak() har flyttas till lib.academicyear metoden lib.studyplan.calculatecalendaryearswithterms() har fått en motsvarande metod calculateacademicyearswithterms() som flyttas till klassen AcademicYear. metoden från ExtensiveCalendarYearMapper.buildSQL() har i stort återanvänts på lib.academicyearmapper klassen lib.academicyear innehåller termins-object (lib.term), ett terminsobjekt för VT och ett för HT. Dessa innehåller i sin tur period, HT innehåller period 0-2, VT 3-4 Tillagda klasser i vyerna: student._academicyear.php (partial) examination._term.php (partial) TNM
183 Sida 183 av 231 student._academicyear.php (partial) examination._term.php (partial) coordinator._academicyear.php (partial) coordinator._term.php (partial) Övriga modifieringar i vyerna: student.blockviewsuccess: Denna loopar nu över AcademicYear.getAcademicYears och inkluderar partialen student._academicyear.php _academicyear.php skriver ut årsrubrik och inlkuderar partial student._term.php examination.termviewsuccess: Denna loopar nu över AcademicYear.getAcademicYears och inkluderar partialen examination._academicyear.php examination._academicyear.php skriver ut årsrubrik och inlkuderar partial examination._term.php Sökmotor Sökmotorn är inte helt intrimmad och en del buggar kvarstår, medan andra rättats till. Fixade buggar: Sökning på valfria, obligatoriska eller frivilla kurser misslyckas på grund av felaktigt indexerad array. Sökning på nivå misslyckas på grund av felaktigt indexerad array. Sökning på högskolepoäng misslyckas på grund av felaktigt indexerad array. Studieuppehåll visades felaktigt på grunda av dålig design (se Kalenderår, akademiska år och studieuppehåll) Vid sökning på period gick det endast att ange period 1 och 2 på höstterminen och inte period 3 och 4 på vårterminen. Perioderna ligger lagrade som 1, 2, 3, 4 i databasen, så det gick alltså inte att ange vårterminens perioder. Ej fixade buggar: Om man söker på block kraschar sidan på grund av felaktigt ställd databasfråga. I snabbsökningen fungerar det att söka på del av kurskod, till exempel TNA, medan det på söksidan måste fyllas i en hel korrekt kurskod för att det skall gå att söka. De ska förstås fungera likadant om man söker på kurskod. TNM
184 Sida 184 av 231 Vid terminssökning fås endast kurser från termin 1 och 2 på det program man söker på. Kurser från andra terminer saknas i vyn. Det är rimligt att anta att fler buggar som inte hittats ännu existerar, då det är i princip omöjligt att hitta alla. Vissa saker som att parsern skall uppdatera databasen en gång i veckan och liknande har inte varit möjligt att testa praktiskt på grund av den tidsåtgång som skulle krävas för detta Programsökning med profil Visningen av programöversikt fungerade länge bara om man inte valde någon profil. Då visades alla kurser korrekt, med en standardprofil där även profilkurser ingick. Vid sökning med profil visades bara profilkurserna. Då det visade sig vara rätt komplicerat att få ut alla obligatoriska kurser tillsammans med kurser från en viss profil från databasen testades olika databasfrågor, varav de första på tok för långsamma, innan en lösning som fungerade hittades Acceptanstest TestRapport.Acceptanstest Datum Internt: Med Kund: Gemensamma TestRapport.Acceptanstest.Gemensamma Krav F G.01 Sökning på kurser genom att ange ett startår F G.02 Sökning på kurser genom att ange slutår F G.03 Sökning på kurser genom att ange program F G.04 Sökning på kurser genom att ange ett kursnamn Accepteras Internt Accepteras av Kund TNM
185 Sida 185 av 231 F G.05 Sökning på kurser genom att ange en kurskod F G.06 Sökning på kurser genom att ange ett huvudområde F G.07 Sökning på kurser genom att ange frivillig kurs F G.08 Sökning på kurser genom att ange profil, för hel kurskod - (i vyerna) (kravet bör flyttas) F G.09 Sökning på kurser genom att ange högskolepoäng F G.10 Sökning på kurser genom att ange valbar kurs F G.11 Sökning på kurser genom att ange obligatorisk kurs F G.12 Sökning på kurser genom att ange en termin F G.13 Sökning på kurser genom att ange en period F G.14 Sökning på kurser genom att ange ett block F G.15 Sökning på kurser genom att ange kursnivå -, endast åk 1 fungerar. - - TNM
186 Sida 186 av 231 F G.16 Valmöjlighet att ange startår F G.17 Valmöjlighet att specificera program F G.18 Valmöjlighet att ange slutår F G.19 Valmöjlighet att ange block F G.20 Valmöjlighet att ange period F G.21 Valmöjlighet att ange termin F G.22 Valmöjlighet att ange obligatorisk kurs F G.23 Valmöjlighet att ange valbar kurs F G.24 Valmöjlighet att ange fristående kurs F G.25 Valmöjlighet att ange högskolepoäng F G.26 Valmöjlighet att ange kursnamn F G.27 Valmöjlighet att ange kurskod F G.28 Valmöjlighet att ange nivå F G.29 Valmöjlighet att ange huvudområde F G.30 Valmöjlighet att ange profil TNM
187 Sida 187 av 231 F G.31 Valmöjlighet att sortera med avseende på nivå F G.32 Valmöjlighet att sortera med avseende på huvudområde F G.33 Valmöjlighet att sortera med avseende på högskolepoäng F G.34 Valmöjlighet att sortera med avseende på kursnamn F G.35 Valmöjlighet att sortera med avseende på kurskod F G.36 Valmöjlighet att ta sig till kontaktinformation F G.37 Valmöjlighet att ange att sökresultatet ska matcha del av sökordet F G.38 Valmöjlighet att ange att sökresultatet ska matcha sökordet exakt F G.39 Valmöjlighet att använda hjälpfunktion F G.40 Initiering av funktionen rensa F G.41 Initiering av sökningen F G.42 Funktion för kontaktinformation TNM
188 Sida 188 av 231 F G.43 Funktion för kontaktinformation F G.44 Sökfunktionen ska kunna hantera utbildningsprogrammet Medieteknik. F G.45 Länkning mellan sidor F G.46 Valmöjligthet för hjälpfunktion F G.47 Navigeringssystem F G.48 Kurser på svenska F G.49 Kurser på engelska F G.50 Visning av sökresultatet F G.51 Hjälpfunktion F G.52 Aktivering av sökning på profil F G.53 Aktivering av sökning på profil om profil finns S G.01 Visning av korrekt data N G.01 Hantering av samtliga utbildningsprogram på N G.02 TNM
189 Sida 189 av 231 Information ska vara läsbar N G.03 Systemet ska vara tillgängligt via Internet N G.04 Utvecklingsbar för samtliga utbildningsprogram på LiU N G.05 Oberoende komponenter N G.06 Koden ska kommenteras N G.07 Kompatibelt med Internet Explorer 6 N G.08 Kompatibelt med Mozilla Firefox 1.5 N G.09 Kostnad vid leverans är 0 kr N G.10 Kodstandard N G.11 Dokumentstandard N G.12 Kvalitetskontroll av kod N G.13 Kvalitetskontroll av dokument N G.14 Visa korrekt information N G.15 Uppdatera databasen med information från senaste Studiehandboken en gång i veckan TNM
190 Sida 190 av 231 N G.16 Uppdatera databasen med information från alla versionerna studiehandboken en gång per termin N G.17 Användaren ska hitta dit denne vill N G.18 Användaren ska förstå hur sidan fungerar N G.19 Visuellt ska sidan ge en bekväm känsla hos användaren Parser TestRapport.Acceptanstest.Parser Krav F P.01 Läsa in programnamn F P.02 Lagra programnamn F P.03 Läsa in programkod F P.04 Lagra programkod F P.05 Läsa in profilnamn för profil tillhörande program F P.06 Lagra profilnamn för profil tillhörande program Accepteras Internt Accepteras av Kund TNM
191 Sida 191 av 231 F P.07 Läsa in kurser för profil tillhörande program F P.08 Lagra kurser för profil tillhörande program F P.09 Läsa in år för profil tillhörande program F P.10 Lagra år för profil tillhörande program F P.11 Läsa in kurskod för kurs F P.12 Lagring av kurskod för kurs F P.13 Läsa in kursnamn för kurs F P.14 Lagring av kursnamn för kurs F P.15 Läsa in fördjupningsnivå för kurs F P.16 Lagring av fördjupningsnivå för kurs F P.17 Läsa in utbildningsnivå för kurs F P.18 Lagring av utbildningsnivå för kurs F P.19 Läsa in utbildningsområde för kurs F P.20 Lagring av utbildningsområde för kurs F P TNM
192 Sida 192 av 231 Läsa in ämnesgrupp för kurs F P.22 Lagring av ämnesgrupp för kurs F P.23 Läsa in period för kurs F P.24 Lagring av period för kurs F P.25 Inläsning av block för kurs F P.26 Lagring av block för kurs F P.27 Insamling av valbar/obligatorisk/fristående för kurs F P.28 Lagring av valbar/obligatorisk/fristående för kurs F P.29 Läsa in högskolepoäng för kurs F P.30 Lagring av högskolepoäng för kurs F P.31 Läsa in poäng för kurs F P.32 Lagring av poäng för kurs F P.33 Läsa in huvudområde för kurs F P.34 Lagring av huvudområde för kurs F P.35 Begränsning av informationsinsamling och programinformation TNM
193 Sida 193 av 231 F P.36 Begränsning av informationsinsamling och kursinformation F P.37 Automatisk uppdatering av databasen för Medieteknik. F P.38 Automatisk uppdatering av databasen för alla program F P.39 Automatisk uppdatering av programplaner och kursinformation för medieteknik F P.40 Manuell uppdatering av programplaner och kursinformation för medieteknik F P.41 Manuell uppdatering av programplaner och kursinformation för alla program F P.42 Automatisk uppdatering av informationen från samtliga års Studiehandbok för alla program F P.43 Ändra tidsintervall för automatisk uppdatering F P.44 Informationsomfång F P.45 Åtkomst av parser F P.46 Obehörig åtkomst av parser F P.47 Svenskt språk i Studiehandboken TNM
194 Sida 194 av 231 F P.48 Hämtning av information från utbildningen Medieteknik F P.49 Hämtning av information från alla utbildningar S P.01 Studiehandboken ska vara åtkomlig för systemet S P.02 Kompatibelt med samtliga befintliga versioner av Studiehandboken S P.03 Systemkrav för databas S P.04 PHP-krav för dator som kör parsern S P.05 Åtkomst av databas Utbildningsledarvy TestRapport.Acceptanstest.Utbildningsledarvy Krav F U.01 Huvudområde F U.02 Blockschema för kurser F U.03 Blockschema för preliminära kurser F U.04 Blockschema för valbara kurser Accepteras Internt F U.05 Accepteras av Kund TNM
195 Sida 195 av 231 Blockschema F U.06 Färgkodning av blockschema för kursämne F U.07 Färgkodning av blockschema för nivå F U.08 Blockschema för läsår F U.09 Blockschema för perioder F U.10 Blockschema för kurser som sträcker sig över två perioder F U.11 Blockschema för terminer F U.12 Hjälpmetod S U.01 Färgkodningsindex Examensenhetsvy TestRapport.Acceptanstest.Examensenhetsvy Krav F E.01 Sökning med avseende på ett läsårs studieuppehåll. F E.02 Visa kurskod i resultatsvyn Accepteras Internt F E.03 Accepteras av Kund TNM
196 Sida 196 av 231 Visa kursnamn i resultatsvyn F E.04 Visa nivå i resultatsvyn F E.05 Visa termin i resultatsvyn F E.06 Visa period i resultatsvyn F E.07 Specificera om en kurs är valbar i resultatsvyn F E.08 Specificera om en kurs är obligatorisk i resultatsvyn F E.09 Specificera om en kurs är fristående F E.10 Visa högskolepoäng i resultatsvyn F E.11 Visa huvudområde i resultatsvyn F E.12 Gruppera efter period F E.13 Gruppera efter nivå F E.14 Länkar till kursinformation F E.15 Utskriftsvänlig F E.16 Sortera med avseende på kurskod inom periodgruppering F E.17 Sortera med avseende på kurskod inom TNM
197 Sida 197 av 231 nivågruppering F E.18 Sortera med avseende på kursnamn inom periodgruppering F E.19 Sortera med avseende på kursnamn inom nivågruppering F E.20 Sortera med avseende på nivå inom periodgruppering F E.21 Sortera med avseende på termin inom nivågruppering F E.22 Sortera med avseende på valbar kurs inom periodgruppering F E.23 Sortera med avseende på obligatorisk kurs inom periodgruppering F E.24 Sortera med avseende på fristående kurs inom periodgruppering F E.25 Sortera med avseende på valbar kurs inom nivågruppering F E.26 Sortera med avseende på obligatorisk kurs inom nivågruppering F E.27 Sortera med avseende på fristående kurs inom nivågruppering F E.28 Sortera med avseende på högskolepoäng inom periodgruppering TNM
198 Sida 198 av 231 F E.29 Sortera med avseende på högskolepoäng inom nivågruppering F E.30 Sortera med avseende på huvudområde inom periodgruppering F E.31 Sortera med avseende på huvudområde inom nivågruppering F E.32 Valmöjlighet att ange start för studieuppehåll. F E.33 Valmöjlighet att ange slutår för studieuppehåll. F E.34 Gruppering av sökresultat med avseende på år F E.35 Gruppering av sökresultat med avseende på period Studentvy TestRapport.Acceptanstest.Studentvy Krav F S.01 Sökning med avseende på ett läsårs studieuppehåll. F S.02 Valmöjlighet att ange start för studieuppehåll. Accepteras Internt Accepteras av Kund TNM
199 Sida 199 av 231 F S.03 Valmöjlighet att ange slut för studieuppehåll 3.6 Kvalitet Planerade mätningar Tillförlitlighet Syftet med tillförlitlighetsmätningar är att hitta orsaker till fel och om möjligt eliminera dessa. Mätningarna utförs under integrations- och systemtestningen. Vid integrationstesten kopplas moduler samman för att se att de fungerar tillsammans. Vid systemtestningen angrips systemet med en mängd möjliga sätt utifrån use-cases. Tillförlitlighetsmätningarna redovisas genom grafer och tabeller. De värden som mäts är följande: Felintervall Tid till fel föregående tid till fel. MTTF (Mean Time To Failure) Medelvärdet av felintervallen. Tillförlitlighet = MTTF / (1 + MTTF) Nedan följer tabellen över det systemtest som utfördes. Alla tider är räknat i timmar och MTTF är räknat som medelvärdet av felintervallen. R (tillförlitlighet) är uträknat som R = MTTF / (1 + MTTF). Det mycket låga tillförlitlighetsvärdet beror troligast på försöket att synkronisera mätningarna med de andra projektgrupperna. Hade vi istället mätt i minuter istället för timmar hade vi hamnat på ungefär 0.86 i tillförlitlighetsvärde. Tyvärr har endast ett systemtest hunnits med och vi kan därför inte se någon förbättring. Förutom tabellen visas även grafer över MTTF och tillförlitligheten. TNM
200 Sida 200 av 231 Failure Number Failure Time 1 0, , , ,15 3 0, , , , , ,05 6 0, ,3 7 0, ,05 8 0,85 0, ,9 0, ,95 0, , ,05 0, , , , , , , ,15 0, ,2 0, , , , , , , Failure Interval MTTF R 1, , , TNM
201 Sida 201 av 231 Mean Time To Failure 0,1 0,09 0,08 0,07 MTTF (h) 0,06 0,05 0,04 MTTF 0,03 0,02 0, Testnummer Tillförlitlighetgraf Tillförlitlighetsvärde 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 Tillförlitlighet 0 1 Testnummer TNM
202 Sida 202 av Användbarhet Användbarhet Användbarhet mäter kvalitén av användares erfarenheter när de interagerar med ett system. Här är det intressant att observera hur snabbt en användare som aldrig använt systemet tidigare kan lära sig den bra nog att utföra givna uppgifter. Om en användare har använt systemet tidigare vill man veta om denne känner igen tillräckligt mycket för att kunna använda den effektivt. Det är även intressant att se hur ofta fel uppstår, hur alvarliga felen är och vad användaren tycker om systemet. Inför implementerandet av systemet gjordes användbarhetstester via prototyping. Sedan när man har ett komplett system utför man ytterliga användbarhetstest Prototyping Ett smidigt sätt att gå tillväga när ett GUI-designarbete påbörjas är att brainstorma och skriva ner alla idéer som kommer upp, bra som dåliga. På så sätt kan en idé som till en början verkar dålig utvecklas till något bättre. Den metod som användes var pappersprototyper. Det innebär att designskisser görs på papper där varje ark antingen är en ny sida på hemsidan eller förändring (som uppstår exempelvis genom att trycka på en visa -knapp). Den främsta anledningen till att denna metod valdes är att alla i gruppen har erfarenheter inom prototyper av detta slag. Det finns många fördelar med pappersprototyper, exempelvis så vågar en testanvändare kritisera mer på en design som är en pappersskiss än om prototypen är en snygg och välgjord datorgjord prototyp. Detta är för att en pappersskiss inte känns lika färdig som en datorgjord skiss och då behöver inte testanvändaren känna att han/hon ger negativa åsikter om något som har lagts ner mycket tid på. Det är även mycket lättare att ändra direkt på pappret om ändringar behövs göras, och det kommer det att behövas. De första skisserna är oftast inte optimala utan behöver ändras i. Ytterligare en fördel med pappersprototyper är att det går snabbt att göra och det behövs inte mycket material. Det finns en del negativa sidor med pappersprototyper också, t.ex. är det lätt att prototyperna blir otydliga, färger saknas och det kan biland vara svårt för användaren att få en uppfattning om det kommande slutresultatet. Nedladdningstid eller responstid kan inte mätas och inte heller dators kapacitet kan visas genom pappersprototyper. TNM
203 Sida 203 av 231 Under arbetet med Studiehandboken har flera designer kommit och gått. Till en början valdes att följa den nuvarande designen som studiehandboken har, men den idén förkastades på grund av att den känns förlegad. Istället valdes en design som i stort följer resten av Linköpings Universitets hemsidor. Tanken var att eftersom en ny del av studiehandboken ska skapas så kan den lika gärna göras snygg och modern för att visa vilken potential studiehandboken har. Efter att en prototyp med Linköpings Universitets design hade blivit gjord var det dags att göra användartester. Eftersom det finns tre olika vyer så innebär det att det finns tre olika sorters användare. De användare som finns är studenter, utbildningsledare och examensenheten. Användartesterna delades upp på så sätt att två personer fick en viss sorts användare att göra tester på. Både Examensenheten och Utbildningsledarna har endast ett begränsat antal användare och därför har inte så många tester kunnat göras. Att hitta studenter däremot som vill testa var väldigt lätt eftersom det finns många att välja mellan. Testet går till på så sätt att ett papper på startsidan visas till att börja med. Därifrån får testanvändaren navigera runt på sidan och beskriva vad denne ser och ställa frågor om något är oklart. Testanvändaren ges några uppgifter som ska utföras under testet. Resultatet av testerna finns i Bilaga D Frågor och scenarier Kommande stycke behandlar de frågor och scenarier som ställdes till användarna. Examensenheten Du vill få upp en översikt över vilka kurser en medieteknikstudent som började 2002/2003, med profil Publicering. Hur bär du dig åt? En ED-student, utan val av profil, började 2000/2001 och tog studieuppehåll läsåret 2003/2004. Hur gör du? Du har nu fått fram sökresultatet och vill läsa mer om kursen TNA002 i Studiehandboken. Kursen ligger i studentens översikt. Hur bär du dig åt? (Klickar på Kurskod eller Kursnamn) Du vill söka upp information om kursen TNG023 som studenten inte har läst. Hur bär du dig åt? Utbildningsledarna Visa alla programplaner för MT mellan åren TNM
204 Sida 204 av 231 Visa en detaljerad programplan för MT år Ta dig tillbaka till första sidan? Sök reda på kursen TNA001 Studenterna Du har börjat MT år 2002 och vill ha en programöversikt. Beskriv vad du ser. Om du vill veta mer om kursen TNA001, hur gör du då? Sök efter kursen TNG020, beskriv vad du ser Användbarhetstester i det färdiga systemet Användbarhetstesterna i det färdiga systemet skiljer sig mycket från prototyptesterna även om grundidén är densamma. Här visar man upp ett nästan komplett system som man låter användaren interagera med. Eftersom vi vid denna tidpunkt inte har ett fungerande system ska vi istället ingående beskriva förberedelserna inför användbarhetstesterna samt hur vi ska presentera mätningsresultaten Förberedelser inför tester i det färdiga systemet Under användbarhetstestet ska utomstående personer testa att använda Studiehandboken. Testerna kommer att vara under en timme och gå till på följande sätt: Deltagarna kommer först att välkomnas och alla närvarande i rummet kommer att introduceras. Testpersonerna kommer att få svara på några snabba frågor angående hur mycket datavana de innehar och sedan kommer de att placeras framför datorn där systemet körs. Målet med testsessionen kommer att förklaras för dem. Testpersonen kommer att uppmanas att tala högt om alla sina tankar kring systemet. Testpersonen börjar sedan använda systemet. Startsidan för testerna kommer vara olika för testpersoner inom de tre vyerna och kan ses i figuren nedan (figur 1-3). Personen i fråga kommer att få några givna scenarier att följa medan han/hon tänker högt. Under testets gång kommer personerna som utför testerna att anteckna allt relevant som sägs eller görs. När deltagaren är klar med ett scenario kommer ett nytt att ges och sedan fortsätter testerna på TNM
205 Sida 205 av 231 samma sätt. Efteråt får deltagaren svara på frågor för att förtydliga dennes tankar och funderingar på systemet. Följande tabell kommer att användas för de slutliga frågorna: Fråga Försökspersonen svar Vad är din övergripande åsikt om sidan? - Vad tyckte du om söksystemet? - Vad gillade du mest med sidan? - Vad gillade du minst med sidan? - Hur skulle sidan kunna förbättras? - Tycker du att något saknas? - Övriga kommentarer - Tiden det tar för användaren att utföra en uppgift ska dokumenteras och användas i de slutliga mätningarna. Även tiden det tar innan fel uppstår samt tiden mellan varje fel ska mätas. Det är viktigt att personerna som utför testerna förblir neutrala. De ska iaktta försökspersonen, inte demonstrera sidan och inte uttala personliga åsikter om sidan. Man ska inte vara för kvick att hjälpa försökspersonen om denne stöter på problem, att iaktta användaren försöka komma på hur man utför uppgiften är det som användbarhetstesten går ut på. När användbarhetstesterna är utförda kommer det finnas data tillgängligt för oss att mäta. Det kommer bland annat att finnas mått på hur ofta försökspersonerna lyckades utföra sina uppgifter, hur lång tid det tog, hur många sidor som besöktes, hur ofta fel uppstod, samt ett mått på hur användaren uppfattade systemet. Det kommer även att finnas data tillgänglig från anteckningarna. Dessa beskriver vilka vägar användaren tog, problemen som stöttes på, anmärkningar av användaren, samt dennes svar på de slutliga frågorna. Här ska man titta efter mönster eller trender. Det finns tre stycken huvudmålgrupper för Studiehandboken. De användare som finns är studenter, utbildningsledare och examensenheten. De scenarier och frågor som kommer att ställas till respektive målgrupp när de utför testerna är desamma som för prototyping (se 3.8.2). TNM
206 Sida 206 av Sammanfattning av mätningsresultat Utbildningsledarna Visa alla programplaner för MT mellan åren Inget problem med att hitta rätt för att få fram resultatet. Problemet med att hitta länken till helskärmsalternativet. Visa detaljerad programplan för MT år 2005 Ingen hade problem med den här uppgiften. Hur tar du dig tillbaka till första sidan? Ingen hade problem med den här uppgiften. Sök reda på kursen (TNA001). En del försökte gå tillbaka till sökmotorn på förstasidan manuellt innan man hittade knappen sök kurser. Fråga Vad är din övergripande åsikt om sidan? Försökspersonen svar Ganska självförklarande system. Vad tyckte du om söksystemet? Att vissa fält var grayed out när dom igentligen var aktiva var dåligt. Annars var det väldigt bra system. Speciellt att man kunde söka på delar av kurskoder och namn. Vad gillade du mest med sidan? Väldigt smidigt att kunna söka flera antagningssår samtidigt. Vad gillade du minst med sidan? Lite problem med att lista ut vad färgkodningen betyder när programplanen visas. Hur skulle sidan kunna förbättras? - Tycker du att något saknas? Färgkodningen i programplanen borde väljas att visa budgetår istället för block. Information om själva programmet skulle vara bra. En startsida som presenterar de olika vyerna. Övriga kommentarer Fältet för slitår och tillår avmarkerades när man markerade fältet. TNM
207 Sida 207 av 231 Antal deltagare 2 Procent som lyckades med alla scenarier Medelvärdet av tiden för dem som klarade alla scenarier Hur nöjda användarna är på skala % 14: Studenterna Du har börjat MT år 2002 och vill ha en programöversikt. Beskriv vad du ser. Dom hittar till programblocket och startårs blocken utan problem. En användare tryckte instinktivt ja på frågan Studieuppehåll men det påverkade inte sökresultatet då han inte fyllde i mellan vilka terminer. När de hade valt program och startår och skulle vidare tycktes det som att de skulle välja Snabbsök knappen längst ned istället för Visa knappen det var meningen att de skulle trycka på. Detta fördröjde sökningen dock endast med ett par sekunder och ingen tryckte fel. Alla förstod snabbt vad resultatet av sökningen visade. Om du vill veta mer om kursen TNG001, hur gör du då? En användare letade upp kursen i resultatet från föregående sökning. Andra användare letade upp Sök Kurs knappen längst upp till höger på sidan och skrev in kurskoden. De tryckte sedan på länken. Sök efter kursen TATA06, beskriv vad du ser. Användarna tycktes inte se Sök Kurs knappen direkt, utan det tog ett par sekunders trevande innan de fann den. När de väl hade lokaliserat den tryckte de på den utan att tveka. Fråga Vad är din övergripande åsikt om sidan? Försökspersonen svar Sidan är bättre än gamla studiehandboken. Vad tyckte du om söksystemet? Lite väl många sök alternativ. Vad betyder VOF och HP? Varför skulle man vilja söka efter högskolepoäng? Vad gillade du mest med sidan? Vad gillade du minst med sidan? Är enkel, stilren och mer enhetlig med resten av LIU:s hemsidor. Ett lite rörigt söksystem med många alternativ. I sökresultaten under Termin/Block skrivs det endast ut vilken termin kursen går, inte i vilket block den ligger i. TNM
208 Sida 208 av 231 Hur skulle sidan kunna förbättras? Knapparna Start, Programöversikt och Sök Kurser är lite för svåra att hitta. De stack inte ut tillräckligt mycket. Under Sök Kurser skulle man kunna öka mellanrummen mellan alternativen. Tycker du att något saknas? Övriga kommentarer Mer text som beskriver vad vissa saker betyder. Möjligheten att sortera sökresultaten efter kurskod. Som ett färdigt system fungerar den inte riktigt men som en testversion är den riktigt bra. Användarna tyckte det fanns ett behov av en ny bättre studiehandbok. Antal deltagare 3 Procent som lyckades med alla scenarier Medelvärdet av tiden för dem som klarade alla scenarier Hur nöjda användarna är på skala % < 2 minuter Examensenheten Du vill få en översikt över vilka kurser en medieteknikstudent som började 2002/2003, med profilen publicering, hur bär du dig åt? Hade inga problem med att lösa uppgiften. En ED-student, utan val av profil, började 2000/2001 och tog studieuppehåll läsråret 2003/2004. Hur gör du? Hade problem med att välja hitta rätt med alternativet ingen profil. Samt när man skulle välja år för studieuppehållet. Det var förvirrade när man bara skulle välja ett år. Om du vill ha information om kursen TNM030 som studenten inte har läst. Hur bär du dig åt? Hade inga problem med att lösa uppgiften. TNM
209 Sida 209 av 231 Fråga Försökspersonen svar Vad är din övergripande åsikt om sidan? Väldigt lätt överskådlig. Vad tyckte du om söksystemet? Mer detaljerat än det innan. Vad gillade du mest med sidan? - Vad gillade du minst med sidan? - Hur skulle sidan kunna förbättras? Vet ej Tycker du att något saknas? nej Övriga kommentarer - Antal deltagare 1 Procent som lyckades med alla scenarier Medelvärdet av tiden för dem som klarade alla scenarier Hur nöjda användarna är på skala % 10 minuter GUI Översikt Hela GUI-designens huvudupplägg är taget från (nedan även kallat förlagan ) eftersom användaren är anställd eller student vid Linköpings Universitet och därför känner sig hemma med strukturen i form av typsnitt, menyplacering etc. Menyn till vänster samt högerspalten som finns i förlagan känns dock överflödiga i vårt system och har plockats bort då användaren inte har fler än tre undersidor att hålla reda på. Flera av förlagans ikoner uppe i vänstra hörnet har plockats bort då de inte fyller någon funktion för sidan. Även sökfunktionen för hela liu.se uppe i högra hörnet har tagits bort för att användaren inte ska blanda ihop denna med sökfunktionen för TNM
210 Sida 210 av 231 Studiehandboken. Varje sida har en förklarande rubrik, precis under sidhuvudet. Rubriken avser att direkt ge en tydlig feedback och visa vart användaren befinner sig. Startsidorna har rubriken Välkommen Prototyper Figur 1, visar startsidan för examinatorer. TNM
211 Sida 211 av 231 Figur 2, visar startsidan för studenter. TNM
212 Sida 212 av 231 Figur 3, visar startsidan för utbildningsledare. TNM
213 Sida 213 av Ikoner Engelskspråkig version Den engelska flaggan är vald för en eventuell implementering av en engelskspråkig version av sidan. Kontakt Kuvertet leder till en kontaktsida för de administrativt ansvariga för sidan. Länkpil Den orangea länkpilen för rubriker förtydligar att dessa är klickbara. Dessa tre ikoner används idag på liu.se varför de bör kännas igen av användaren. Hjälp Den sista ikonen föreställer ett frågetecken och leder till hjälpfunktionen. Vi valde frågetecknet då det redan är etablerat som hjälpsymbol Färgval och illustrationer Sidans bakgrund är ljusblå likt bakgrunderna på liu.se. Blått ger ett tryggt och seriöst intryck. Bakgrundfärgen för rubriken i sidhuvudet varierar beroende på aktuell vy. Vy Studentvy Examinationsvy Utbildningsledarvy Kontaktsidan Hjälpsidan Färg* Grönaktig Beigeaktig Blåaktig Gulaktig Rödaktig *För exakta färger se Bilaga 1 till Designspecifikation - Grafisk webbprofil Motiveringen till valet av dessa färger är att de är märkbart olika och passar in i den miljö de valts för då liknande färger redan används på liu.se Hjälp När användaren klickar på Hjälp för en viss sida ska denne få upp en statisk bild över sidan där bubblor med text beskriver de olika delarna. Bubblorna ligger på de delar av sidan där de TNM
214 Sida 214 av 231 inte täcker någon annan viktig information. Hjälpsidan innehåller även relevant kontaktinformation till personer som kan ge användaren ytterliggare hjälp vid behov Kontakt Under Kontakt finns information om vilka som har hand om sidan och hur man kan kontakta dem. I menyn finns endast en knapp som tar användaren tillbaka till föregående sida. Detta för att kontaktsidan inte ligger hierarkiskt under någon annan, samtidigt ska den kunna nås från alla sidor i systemet Utbildningsledarvy Start Informationstext Överst i sidkroppen ligger kortfattad information om innehållet i utbildningsledarvyn. Placeringen är vald för att användaren ska nås av denna information direkt, och se om han/hon har hamnat rätt. Programplan, ett antagningsår Detta är en av vyns två primära funktioner och länken till denna är placerad på en tydlig och lättåtkomlig plats markerad med den karakteristiska länkpilen. Under länken finns en beskrivande text som förklarar funktionens syfte och användningsområde. Programplan, flera antagningsår Detta är vyns andra primära funktion. Den ligger likt den första på en tydlig position markerad med en pil och är utrustad med en beskrivande text undertill. Sök kurser Då detta är en sekundär funktion på sidan är det logiskt att lägga den under de andra två. För att användaren ska få information om vad Sök kurser innebär finns det en kort informerade text under dess rubrik. Denna sökfunktion är en snabbsök bestående av endast tre steg. Dessa är att först välja i en drop down -meny, sedan skriva dit en text och sist tryck på Visa. De är placerade på en och samma rad för att det känns mest naturligt för användaren att läsa från vänster till höger och för att det är enhetligt med övriga sidan. För att användaren ska veta att denne endast kan fylla i ett kursnamn eller kurskod i textfältet är drop down -menyn med dessa alternativ placerad först. Visa - knappen är placerad längst till höger och är alltså det sista steget vi tar i Snabbsökningen. TNM
215 Sida 215 av 231 Snabbsök Då det på denna sida endast är en Snabbsök har vi begränsat sökalternativen med hjälp av en drop down -meny med två alternativ, sök på kurskod eller kursnamn kombinerat med ett textfält. Att vi inte valt exempelvis radioknappar beror på att vi vill ha en enhetlig struktur på sidan vilket gör att en drop down -meny lämpar sig bättre Utbildningsledarvy Programplan, ett antagningsår Upplägg Direkt under rubriken finns tydliga fält för att kunna använda vyns funktioner. Överst ligger två stycken drop down -menyer, Program och Profil som båda måste vara valda för en genomförbar sökning. Under dessa finns ytterliggare en dropdown-meny för att välja Antagningsår och slutligen ligger en Visa -knapp placerad till höger då detta med svenskans vänster-högerorienterade språkbyggnad känns mest naturligt. Program Valet av dropdown-meny till program är för att vi vill presentera alla möjliga alternativ utan att vare sig kompromissa med överskådlighet eller funktionalitet. Användaren slipper även fundera runt i vilken form inmatning ska skrivas för att systemet ska få indata i rätt form. Profil Enligt tidigare resonemang om effektiv presentation av svarsalternativ och rätt form på indata har vi valt att använda oss av en dropdown-meny som gör det lättöverskådligt för användaren. De valbara profilerna i menyn förändras beroende på valt program. Antagningsår Antagningsåren presenteras i en dropdown enligt samma resonemang som tidigare i detta vystycke. Antalet antagningsår och urvalet av dessa förändras beroende på vald utbildning. Visa Texten på skicka-knappen är Visa, till skillnad mot knappen för Sök kurser där det står Sök. Vi har valt att göra på det viset då Programplan i användarhänseende inte riktigt upplevs som en sökfunktion. Resultatet presenteras i en popup. TNM
216 Sida 216 av Utbildningsledarvy Programplan, ett antagningsår, sökresultat Upplägg För att användaren ska veta vart denne befinner sig ska rubriken Programplan-ett år placeras överst på denna Pop up -sida. Under ska sökalternativen placeras likt på föregående sida Programplan-ett år. Sökresultatet ska visas i ett användarvänligt blockschema som har en rubrik innehållandes program och antagningsår så att användaren vet vad denne sökt på. Blockschemat byggs genom att det ska vara en stor ruta för varje termin. Varje termin i sin tur ska vara indelade i små rutor som motsvarar kurser i olika block och perioder. I varje ruta i blockschemat ska det vara utskrivet kurskod, kursnamn och högskolepoäng. Vänster- och högermarginalerna vid sidan om blockschemat ska tydliggöra för användaren för vilka år, årskurser och termin blockschemat visar Utbildningsledarvy Programplan, flera antagningsår Upplägg Under rubriken finns tydliga fält för att kunna använda vyns funktioner. Överst ligger två stycken drop down -menyer, Program och Profil som båda måste vara valda för en genomförbar sökning. Under dessa finns två stycken flervalsrutor, Antagningsår och Årskurs. Anledningen till att flervalsrutor används är att det ger fler valmöjligheter för användaren som kan välja flera alternativ på samma gång. Formulärelement (Se ). Program Valet av drop down till program är baserat på samma resonemang som förs i Formulärelement: Program i Utbildningsledarvy Programplan, ett antagningsår. Profil I och med att det endast finns ett begränsat antal profiler per program så har vi valt att använda oss av en drop down -meny enligt resonemang i Formulärelement: Profil i Utbildningsledarvy Programplan, ett antagningsår. Antagningsår TNM
217 Sida 217 av 231 Antagningsåren presenteras i en flervalsruta där användaren med hjälp av Ctrl och Shifttangenterna kan markera flera alternativ för sin sökning. Detta är friare än ett bestämt intervall och låter användaren specificera sin sökning som denne så önskar. Årskurs Antagningsåren presenteras i en flervalsruta där användaren med hjälp av Ctrl och Shifttangenterna kan markera flera alternativ för sin sökning. Detta är friare än ett bestämt intervall och låter användaren specificera sin sökning som denne så önskar. Visa Resonemang om varför det står Visa finns i stycke Formulärelement: Visa i Utbildningsledarvy Programplan, ett antagningsår Utbildingsledarvy Programplan, flera år Sökresultat Upplägg (Odetaljerad vy) För att användaren ska få lättbegriplig uppfattning om hur programplaneringen för flera antagningsår och årskurser ser ut presenteras informationen i en trappvy. Trappvyn är i vertikalled sorterad på antagningsår i fallande ordning och i horisontalled sorterad på årskurs i stigande ordning. Då en detaljerad vy för varje år inte skulle rymmas på ett användarvänligt sätt på skärmen, ska varje studieår uppdelas i stora rutor som i sin tur är uppdelat hösttermin och vårtermin. För att användaren ska få insikt i vilket år varje terminruta befinner sig i, så ska dessa vara färgkodade. En förklaring till varje färg ska finnas på sidan så att användaren får information om vad de står för. Preliminära terminer markeras med streckad kantlinje. Om användaren vill ha en detaljerad vy över alla åren ska det finnas en knapp som uppfyller detta. Denna knapp ska vara placerad uppe till höger över sökresultatet för att den tydligt ska synas. Där finns även en beskrivning av färgkodningen som används för att skilja olika budgetår åt. Upplägg (Detaljerad vy) Den detaljerade vyn ska vara en kombination mellan blockschemat och trappvyn. Uppbyggnaden av denna vy ska vara på så vis att varje ruta i trappvyn rymmer en rad i blockvyn Utbildningsleadrvy Sök kurser Se GUI :n för sökmotorn. TNM
218 Sida 218 av Examination Informationstext Rubriken Välkommen ska placeras längst upp på sidan för att välkomna användaren. En kort informationstext som innehåller information om Studiehandboken-studentvy placeras därunder för att användaren ska nås av denna information först och veta att han kommit rätt. Programöversikt Sökmotorn för Programöversikt ska placeras högt upp på sidan för att det är den primära funktionen för denna sida. Drop down -menyerna ska grupperas för att få en layout som är effektivt komprimerad, men ändå användarvänlig. Program och startår, som båda är nödvändiga för sökningen, är placerade först. Frågan om studieuppehåll kommer som en extra funktion; i de flesta fall kommer denna funktion inte användas och därför är Nej -alternativet markerat från början. Ja ligger vertikalt under Nej för att användaren lättare ska se att det rör sig om olika alternativ. Drop down -menyerna från och till hör till valet Ja och är därför placerade på samma rad som Ja. Dessa alternativ är inaktiverade om Ja ej är valt. Då användaren läser från vänster till höger är det mest naturligt att placera knappen Visa till höger. Sök kurser Sök kurser är en sekundär funktion på sidan och det är därför logiskt att lägga den under den första. För att användaren ska få information om vad Sök kurser är ska det finnas en kort informerade text under dess rubrik. Denna sökfunktion är en snabbsök bestående av endast tre steg och dess egenskaper beskrivs noggrannare under Utbildningsledarvy Start, Upplägg, Sök kurser. Program Valet av drop down till program är för att vi ska presentera många olika möjliga alternativ för användaren. Användaren slipper även fundera i vilken form inmatning ska skrivas och systemet får indatan i rätt form. Startår Drop down -menyer ska här väljas för att det är ett smidigt sätt att hantera att indatan har rätt format. Profil I och med att det endast finns ett begränsat antal profiler per program så har ska vi använda oss av en drop down -meny som gör det lättöverskådligt för användaren. TNM
219 Sida 219 av 231 Studieuppehåll Då användaren endast har de två alternativ, Ja och Nej, känns det naturligt att använda radioknappar. Drop down -menyer hade kunnat väljas men då hade svarsalternativen gömts undan, nu visar vi allt för användaren. Ytterligare en anledning till att vi valde radioknappar är att vi får drop down menyerna från och till på samma rad som Ja, dessa alternativ är inaktiverade om Ja ej är valt. Man ser tydligt att dessa elementen hör ihop. Visa Resonemanget varför det står Visa är att vi hade kunnat ha ordet Sök, men funktionen upplevs inte som en sökning utan mer som en Visa funktion. Snabbsök Då det på denna sida endast är en Snabbsök har vi begränsat sökalternativen med hjälp av en drop down -meny med två alternativ, sök på kurskod eller kursnamn kombinerat med ett textfält. Att vi inte valt exempelvis radioknappar beror på att vi vill ha en enhetlig struktur på sidan vilket gör att en drop down -meny lämpar sig bättre. Upplägg - Programöversikt (utan sökresultat) Rubriken Programöversikt är placerad längst upp på sidan för att ge användaren feedback så att denne vet att han kommit rätt. Den informerade texten ska placeras precis under rubriken så att användaren snabbt kan få kort information vad sidan innehåller. Övrigt upplägg för programöversikt har samma motivering som upplägget i Examinationsvy-Start. Upplägg - Programöversikt (med sökresultat) Examensenheten har till uppgift att kontrollera om studenter är behöriga till examination. Vad de vill ha ut av systemet är till stor del en funktion som visar alla kurser studenten har läst. I denna lista är kolumnerna Kurskod och kursnamn nödvändiga för identifiering av kurs. Kolumnen Nivå ska finnas med då det krävs att studenten har läst ett visst antal poäng i kurser med nivå avancerad (A). Kolumnen Huvudområde behövs då vissa examinationer kräver att studenten har läst ett visst antal poäng inom vissa huvudområden. Kolumnen Poäng behövs, som sagt, då Examensenheten måste veta hur många poäng som lästs totalt, inom vissa huvudområden och nivåer. Det hela struktureras dels efter studieår och under detta efter perioder, för att Examensenheten ska få en kronologisk översikt över studentens studietid. TNM
220 Sida 220 av 231 Formulärelement Motiveringen för vilka formulärelement som används är densamma som för Examinationsvy-Start, Fälttyper-Programöveriskt. Sök kurser Sök kurser är densamma som för Utbildningsledarvyn- Sök kurser Student Upplägg Då upplägget är densamma som för Examinationsvy-Start så är även motiveringen upplägget densamma. Formulärelement - Programöversikt Då fälttyperna för programöversikt är densamma som för Examinationsvy-Start, Formulärelement-Programöversikt så är även motiveringen för formulärelementen densamma. Formulärelement - Sök kurser Då Sök kurser är densamma som för Examinationsvy-Start(1) Formulärelement- Programöversikt så är även motiveringen för formulärelement densamma. Upplägg-Programöversikt (utan sökresultat) Rubriken Programöversikt är placerad längst upp på sidan för att ge användaren feedback så att denne vet att han kommit rätt. Den informerade texten ska placeras precis under rubriken så att användaren snabbt kan få kort information vad sidan innehåller. Övrigt upplägg för programöversikt har samma motivering som upplägget i Examinationsvy-Start. Upplägg-Programöversikt (med sökresultat) För att användaren inte ska bli förvirrad ska resultatet från dennes sökning visas resultatet under sökformuläret. Direkt ska användaren få information om vilket program, startår och profil denne har sökt på, varför program och startår placeras överst. Därefter ska terminerna och blocken presenteras likt den gör i originalstudiehandboken så att användaren känner igen upplägget. Kurskoderna fungerar som länkar till informationssidorna för respektive kurs. TNM
221 Sida 221 av 231 Sök kurser Sök kurser är densamma som för Utbildningsledarvyn-Sök kurser Sök kurser GUI Sök kurser för studievy Sök kurser är densamma som för Utbildningsledarvyn-Sök kurser Sökmotor (search) Sökmotor För att användaren ska veta var denne befinner sig ska rubriken Sök kurser placeras överst på sidan. Under rubriken ska en kort informationstext finnas som berättar vad användaren kan göra på sidan. Därefter ska de olika sökalternativen radas upp i en användarvänlig ordning. Studiehandbok placeras först så att vilka studiehandboksår som sökandet ska göras över beslutas först. Därefter ska de övriga elementen placeras ut parvis i en enhetlig design för sidan sorterade på de mest troliga primära valen för användaren. Elementen ska även ordnas efter sökalternativ som är besläktade med varandra exempelvis termin och period. Sökresultatet består av kolumnerna Kurskod, Kursnamn och Hp, vilket är samma upplägg som i sökfunktionen i dagens Studiehandbok och gör därmed att användaren känner igen sig Formulärelement Studiehandbok I och med att användaren endast har två val, söka på alla studieböcker eller välja att söka på ett intervall av studieböcker från olika år, varav det andra valet ger möjlighet att välja nya val är det bra ur en användarsynpunkt att använda sig av radioknappar. Ingenting göms för användaren, utan de två val som går att göra är synliga. Från år och Till år innehåller ett begränsat antal valmöjligheter. Därför är drop down -menyer att föredra. Med hjälp av dessa kan endast korrekt indata ges till systemet. TNM
222 Sida 222 av Program Då det endast finns ett begränsat antal program och för att undvika att felaktig indata ges till systemet ska en drop down -meny användas Profil Då det endast finns ett begränsat antal profiler och för att undvika att felaktig indata ges till systemet ska en drop down -meny användas Termin Även här har användaren endast två val. Radioknappar hade därför kunnat ha använts, men då inga nya valmöjligheter ges om man väljer vare sig höst- eller vårtermin så är det mer enhetligt mot övriga sökmotorn att använda sig av en drop down -meny Kurskod Det finns väldigt många olika kurskoder och det skulle därför inte bli användarvänligt att rada upp dem alla i exempelvis en drop down -meny. Ett bättre alternativ är därför att kombinera en drop down meny med en textruta där användaren kan välja ur drop down -menyn om denne skall söka på en kurskod som är exakt lika med eller innehåller inmatningen i textfältet Kursnamn Det finns väldigt många olika kursnamn och det skulle därför inte bli användarvänligt att rada upp dem alla i exempelvis en drop down -meny. Ett bättre alternativ är därför att kombinera en drop down -meny med en textruta där användaren kan välja ur drop down -menyn om denne skall söka på ett kursnamn som är exakt lika med eller innehåller inmatningen i textfältet Huvudområde Huvudområde för en kurs kan variera mycket, det skulle därför inte bli användarvänligt att rada upp dem alla i exempelvis en drop down -meny. Ett bättre alternativ är därför att kombinera en drop down -meny med en textruta där användaren kan välja ur drop down - menyn om denne skall söka på kursinnehåll som är exakt lika med eller innehåller inmatningen i textfältet. TNM
223 Sida 223 av Block Det finns endast fyra val för block. Ur användarsynpunkt är därför det mest givna valet en drop down -meny där användaren lätt kan få en översikt över vilka val som går attgöra VOF I och med att en kurs endast kan vara valbar, obligatorisk eller frivillig så ska en drop down -meny att väljas Nivå En kurs har ett begränsat antal nivåer. Ur användarsynpunkt är därför det mest givna valet en drop down -meny där användaren lätt kan få en översikt över vilka val som går att göra Högskolepoäng (hp) Då kurser kan bestå av både hela och halva poäng och dessutom variera mycket i storlek är ett textfält mest motiverat att använda Sök Resonemanget varför det ska stå Sök är, enligt tidigare resonemang, att det är en sökfunktion. 3.8 Dokumentgranskning Syfte För att informationen ska finnas tillgänglig för involverande parter är det vikigt med dokumentation. Vidare bör all dokumentation vara korrekt och följa en enhetlig standard. Granskning av dokument är därför viktig för att se till att de håller en hög kvalité Granskningsprocess När ett dokument har producerats så ska det granskas enligt gällande dokumentstandarder och checklistor. Kvalitetsansvariga läser dokumentet var för sig och markerar felen och kommentera direkt i en digital fil. Detta är bättre än att rätta med papper och penna då det är lätt att tappa bort lösa blad samt säkrare att ha flera kopior av filen. När kvalitetsansvariga har granskat dokumentet ska felen och kommentarerna sammanställas. Detta gör en utvald kvalitetsansvarig. När sammanställningen är färdig kontaktas ansvariga för det granskade dokumentet och tillsammans med kvalitetsansvariga går de igenom felen och andra synpunkter. TNM
224 Sida 224 av 231 Innehåller dokumentet mer än 0,25 fel eller anmärkningar per sida och är något av felen av graden major så ska dokumentet granskas igen efter de ansvariga har rättat till det. Ifall dokumentet behöver granskas igen bestäms en ny granskningsdeadline och processen upprepas Checklistor Det finns en generell checklista för alla större dokument som produceras under projektet. I den tas frågor angående bl.a. innehåll, språk och layout upp. Frågorna är uppdelade i olika grupper för att underlätta sammanställningen av felen som dokumenten innehåller. Vidare finns det checklistor för enskilda större dokument såsom kravspecifikationen, designspecifikation och användarmanual. Se bilaga C - Checklistor Felstatistik När sammanställningen av felen och kommentarerna är klar görs en statistik över antalet fel och till vilka grupper de tillhör. Felen delas också in i olika nivåer, remark som är en anmärkning, minor som är ett mindre fel och major som är ett stort fel. Sedan ska resultatet sammanställas och beräkna andelen fel per sida. Innehåller dokumentet mer än 0,25 fel per sida och något fel av graden major så bör dokumentet granskas igen efter rättning. TNM
225 Sida 225 av 231 Felstatistik för Kravspecifikation 1.4 Felstatistik Typ av fel Typ Nivå Antal 1 = Felstavning, språkligt fel R = Grammatik, översättning, ordval 1 Mi = Innehåll (saknad, fel, oklarhet) Ma 4 4 = Konsekvent (motsägelser) R 37 5 = Struktur 2 Mi = Layout Ma 7 = Påvisbarhet R 17 8 = Annat 3 Mi 36 Nivå av fel Ma 6 R = Remark (Anmärkning) R 5 Mi = Minor 4 Mi 21 Ma = Major Ma 11 R 5 Mi 3 Ma 2 R 10 6 Mi 23 Ma 1 R 7 Mi Ma 18 R 2 8 Mi 38 Ma Total: 790 Felstatistik för Kravspecifikation 1.4 TNM
226 Sida 226 av 231 Typ av fel Antal fel Procent(%) 1 = Felstavning, språkligt fel ,0 2 = Grammatik, översättning, ordval ,6 3 = Innehåll (saknad, fel, oklarhet) 59 7,5 4 = Konsekvent (motsägelser) 37 4,7 5 = Struktur 5 0,6 6 = Layout 34 4,3 7 = Påvisbarhet 18 2,2 8 = Annat 40 5,1 Sammanställning för felstatistik för Kravspecifikation 1.4 Dokumenttitel: Kravspecifikation 1.4 Granskningsdatum: 17/ Antal sidor: 136 Antal fel per sida: 5,8 Antal majorfel: 42 Detta dokument ska granskas igen: Ja Resultat av felstatistik för Kravspecifikation 1.4 TNM
227 Sida 227 av 231 Felstatistik för Kravspecifikation 1.7 Felstatistik Felstatistik Typ av fel Typ Nivå Antal 1 = Felstavning, språkligt fel R 7 2 = Grammatik, översättning, ordval 1 Mi 45 3 = Innehåll (saknad, fel, oklarhet) Ma 4 = Konsekvent (motsägelser) R 8 5 = Struktur 2 Mi 6 = Layout Ma 7 = Påvisbarhet R 11 8 = Annat 3 Mi 12 Nivå av fel Ma R = Remark (Anmärkning) R 4 Mi = Minor 4 Mi 7 Ma = Major Ma R 5 Mi Ma R 19 6 Mi 25 Ma R 7 Mi Ma 1 R 1 8 Mi Ma Total: 140 Felstatistik för Kravspecifikation 1.7 TNM
228 Sida 228 av 231 Typ av fel Antal fel Procent(%) 1 = Felstavning, språkligt fel 52 37,1 2 = Grammatik, översättning, ordval 8 5,7 3 = Innehåll (saknad, fel, oklarhet) 23 16,4 4 = Konsekvent (motsägelser) 11 7,9 5 = Struktur = Layout 44 31,4 7 = Påvisbarhet 1 0,7 8 = Annat 1 0,7 Sammanställning för felstatistik för Kravspecifikation 1.7 Dokumenttitel: Kravspecifikation 1.7 Granskningsdatum: 9/ Antal sidor: 145 Antal fel per sida: 0,96 Antal majorfel: 1 Detta dokument ska granskas igen: Ja Resultat av felstatistik för Kravspecifikation 1.7 TNM
229 Sida 229 av 231 Felstatistik för Designspecifikation 1.0 Felstatistik Typ av fel Typ Nivå Antal 1 = Felstavning, språkligt fel R 11 2 = Grammatik, översättning, ordval 1 Mi 26 3 = Innehåll (saknad, fel, oklarhet) Ma 4 = Konsekvent (motsägelser) R 3 5 = Struktur 2 Mi 25 6 = Layout Ma 7 = Påvisbarhet R 12 8 = Annat 3 Mi 33 Nivå av fel Ma R = Remark (Anmärkning) R 3 Mi = Minor 4 Mi 48 Ma = Major Ma R 5 Mi 4 Ma R 7 6 Mi 83 Ma 24 R 7 Mi Ma R 8 Mi Ma Total: 279 Felstatistik för Designspecifikation 1.0 TNM
230 Sida 230 av 231 Typ av fel Antal fel Procent(%) 1 = Felstavning, språkligt fel 37 13,3 2 = Grammatik, översättning, ordval 28 10,0 3 = Innehåll (saknad, fel, oklarhet) 45 16,1 4 = Konsekvent (motsägelser) 51 18,3 5 = Struktur 4 1,4 6 = Layout ,9 7 = Påvisbarhet = Annat 0 0 Sammanställning för felstatistik för Designspecifikation 1.0 Dokumenttitel: Designspecifikation 1.0 Granskningsdatum: 3/ Antal sidor: 162 Antal fel per sida: 1,7 Antal majorfel: 24 Detta dokument ska granskas igen: Ja Resultat av felstatistik för Designspecifikation Jämförelser av felstatistik Av felstatistiken (3.9.4 Felstatistik) märks det en tydlig skillnad mellan kravspecifikationen och designspecifikationen. Anledningen är att designspecifikationen har blivit granskat av examinator och handledare för kvalitetsansvariga. Mycket av kravspecifikationen har blivit omskriven efter granskningen och innehåller därför bland annat många språkliga fel. Ett annat skäl är att designspecifikationen inte innehåller lika mycket beskrivande text som kravspecifikationen och har därför mindre språkliga fel. TNM
231 Sida 231 av Sammanfattning Att göra tester är nödvändigt för att kontrollera hur väl systemet utför de uppgifter som förväntas av det. Detta dokument är till för att ge utomstående en överblick över vilka tester som gjorts och vilka resultat de gett. Dokumentet behandlar även kvalitetsaspekter som dokumentgranskning, systemets användbarhet samt tillförlitlighet Bilagor Ett antal bilagor hör till denna Test och kvalitetsrapporten. I korthet är det: Bilaga A Testdata. En sammanställning av de testdata som använts i testdatabasen under implementationsfasen. Bilaga B Testkod. Testkod för enhetstesterna. Bilaga C Checklistor för dokumentgranskning. De checklistor som använts vid granskningen av de olika dokumenten i systemdokumentationen. Bilaga D Utvärderingar: Prototyper. Användbarhetsutvärderingar av prototyperna till systemet. TNM
Objektsamlingar i Java
1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och
Grundläggande programmering med C# 7,5 högskolepoäng
Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)
Objektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
Programmering för språkteknologer II, HT2014. [email protected] Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 [email protected] Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller
Tentamen, EDA501 Programmering M L TM W K V
LUNDS TEKNISKA HÖGSKOLA 1(0) Institutionen för datavetenskap Tentamen, EDA501 Programmering M L TM W K V 2010 05 31, 8.00 13.00 Anvisningar: Denna tentamen består av 4 uppgifter. Preliminärt ger uppgifterna
Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
TBMT41-Projekt i medicinsk teknik
1 (7) TBMT41-Projekt i medicinsk teknik Sändlista Håkan Örman Torun Berlind Elin Önstorp Matilda Leinsköld Håkan Örman Göran Salerud Göran Salerud Kurskod TBMT41 Examinator Göran Salerud Kursen gavs Årskurs
TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDI02 Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Verifikation, Validering och Testning XP Extreme Programming Vad är ett fel? I engelskan
TUTORIAL: KLASSER & OBJEKT
TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan
Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Sätt att skriva ut binärträd
Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer
Förskollärar- programmet 210 hp
Förskollärar- programmet 210 Sökanvisningar och kursutbud vt 2014 Detta material vänder sig till dig som läser på Förskollärarprogrammet i Uppsala. För dig som läser samma program på Campus Gotland finns
Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.
Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär
Övningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
RS01 Resultat på prov
Studentavdelningen/Ladokgruppen 1 (8) RS01 Resultat på prov Detta dokument uppdaterades senast den 29 oktober 2008. Syfte I funktionen kan man rapportera resultat på prov, tillgodoräkna, ändra och ta bort
HexaFlip. Kravspecifikation
HexaFlip Kravspecifikation Dokumentversion 1.0 Martin Larsson [email protected] Carl Lindwall [email protected] Senast modifierad 2009 02 17 Sammanfattning Detta dokument skall ligga som grund
Tentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Föreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER
TPFD Beskrivning Rev 4 1(10) TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER Anv.krav Terminologi Detaljkrav Konfigdok Hantera Utgåvor Projektplan Testplan Test-o-felrättning Ändringslogg Återst.
PROGRAMRÅD INTERAKTIONSDESIGN
PROGRAMRÅD INTERAKTIONSDESIGN Tid: 2010-11-17, Klockan 10.00 Plats: Kalmar Nyckel i sal NY110 samt via Skype Kallade: Morgan Rydbrink, Dennis Larsson, Sara Elebro, Hannes Johansson, Linus Knutsen, Wilaiwan
Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc
Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp
Introduktion till integrering av Schenkers e-tjänster. Version 2.0
Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen
Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Tentamen TEN1 HI1029 2014-05-22
Tentamen TEN1 HI1029 2014-05-22 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha
Tentamen, EDAA20/EDA501 Programmering
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2011 10 19, 8.00 13.00 Anvisningar: Denna tentamen består av fem uppgifter. Preliminärt ger uppgifterna
Classes och Interfaces, Objects och References, Initialization
Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class
Föreläsning 7. Träd och binära sökträd
Föreläsning 7 Träd och binära sökträd Föreläsning 7 Träd Binära träd Binärt sökträd som ADT Implementering av binärt sökträd Travestera binärt sökträd Sökning Insättning/borttagning Läsanvisningar och
Några grundläggande begrepp
Några grundläggande begrepp Validering bygger vi rätt system? Uppfyller kravspecifikationen de verkliga behoven? Verifiering bygger vi systemet rätt? Uppfyller det färdiga systemet kravspecifikationen?
Introduk+on +ll programmering i JavaScript
Föreläsning i webbdesign Introduk+on +ll programmering i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors [email protected] Språk Naturliga språk Mänsklig kommunika+on T.ex. Svenska, engelska,
Introduktion till arv
Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering
Föreläsning 2: Avlusning och antilustekniker
2D1458, Problemlösning och programmering under press Föreläsning 2: Avlusning och antilustekniker Datum: 2007-09-11 Skribent(er): Emil Hesslow, Stefan Pettersson Föreläsare: Per Austrin Föreläsningen handlade
Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2014-10-17 Skrivtid: 0800-1300 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Selma Manual Utbildningsplan. Studentcentrum/Ladokgruppen
Selma Manual Utbildningsplan Innehållsförteckning Innehållsförteckning -------------------------------------------------------------------------------------------------- 2 Logga in och logga ut - CAS ----------------------------------------------------------------------------------------
Slutrapport YUNSIT.se Portfolio/blogg
Slutrapport YUNSIT.se Portfolio/blogg RICKARD HANSSON 2012-06-04 Abstrakt Rapporten du har i din hand kommer handla om mitt projektarbete som jag genomfört under tio veckor för utbildningen Utvecklare
Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
STUM. Övergripande Testplan. Sammanfattning. Redaktör: Thomas Janowski Version: Syntetiskt tal utan modulering
STUM Syntetiskt tal utan modulering Övergripande Testplan Redaktör: Version: 1.1 Sammanfattning Detta är en övergripande testplan som i stora drag beskriver planerade testfaser och testaktiviteter under
Tentamen i Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Lördagen 12 mars 2011, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 0762/981014. Inga hjälpmedel. Lösningar
LiTH. WalkCAM 2007/05/15. Testrapport. Mitun Dey Version 1.0. Status. Granskad. Godkänd. Reglerteknisk projektkurs WalkCAM LIPs
Testrapport Mitun Dey Version 1.0 Status Granskad Godkänd 1 PROJEKTIDENTITET Reglerteknisk projektkurs, WalkCAM, 2007/VT Linköpings tekniska högskola, ISY Namn Ansvar Telefon E-post Henrik Johansson Projektledare
TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.
Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:
Tentamen, EDAA10 Programmering i Java
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDAA10 Programmering i Java 2019 08 21, 08.00 13.00 Anvisningar: Preliminärt ger uppgifterna 25 + 15 + 5 = 45 poäng. För godkänt betyg
Chapter 3: Using Classes and Objects
Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop
725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack
725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den
Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)
Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)
Hjälpmedel för kompilatorkonstruktion, DVB004
Hjälpmedel för kompilatorkonstruktion, DVB004 Version 4.2 021104 Göran Fries 031104 GF Kompilatorn kan lämpligen konstrueras i tre ganska fristående pass (p1,p2,p3). Första passet gör en lexikalisk analys,
OOP Objekt-orienterad programmering
OOP F9:1 OOP Objekt-orienterad programmering Föreläsning 9 Arv och klasshierarkier Polymorfism OOP F9:2 Djur - String namn - int vikt + String getnamn() + int getvikt() + void ökavikt(int x) Ko - int mjölkvolym
TSTE05-Elektronik och mätteknik
" " 1 (" 7) TSTE05-Elektronik och mätteknik Sändlista Håkan Öhrman Torun Berlind Elin Önstorp Sandra Gustavsson Mikael Olofsson Tomas Svensson Kurskod Examinator TSTE05 Mikael Olofsson Kursen gavs Årskurs
Exercise 1b: Requirements Evaluation ETSA01 INGENJÖRSPROCESSEN 1 - METODIK VT15
Exercise 1b: Requirements Evaluation ETSA01 INGENJÖRSPROCESSEN 1 - METODIK VT15 Lund U niversity Computer Science Jonas W isbrant ETSA01 Ingenjörsp ro cessen metodik V-modellen för programvaruutvecking
Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter
Datavetenskap Opponenter: Daniel Jansson Mikael Jansson Respondenter: Mats Almgren Erik Hansen Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter Oppositionsrapport,
Testning av program. Verklig modell för programutveckling
Fel i program När man skriver program uppkommer alltid fel. Felen kan indelas i följande kategorier: Under kompileringen upptäcker kompilatorn fel som handlar om att man använt konstruktionerna i programspråket
Konsekvensanalys av införande av kandidatarbete inom EF-nämndens civilingenjörsprogram. Utkast Ver 1.
Konsekvensanalys av införande av kandidatarbete inom EF-nämndens civilingenjörsprogram. Utkast Ver 1. Inledning Detta dokument utgör EF-nämndens svar på uppdraget att undersöka möjligheterna att införa
Lokala regler för kurs på grundnivå och avancerad nivå vid Linnéuniversitetet
Dnr: 2010/3067 Regeldokument Lokala regler för kurs på grundnivå och avancerad nivå vid Linnéuniversitetet Beslutat av Organisationskommittén, 2009-12-15 Reviderad 2010-02-16 Reviderad 2010-04-28 Reviderad
Prova på-laboration i PHP Johan Sjöholm [email protected] Institutionen för datavetenskap, Linköpings universitet 2009-08-09
Prova på-laboration i PHP Johan Sjöholm [email protected] Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal
Lär dig sökmöjligheterna i Disgen 8
Det har blivit dags att titta på sökmöjligheterna i Disgen. Det finns egentligen två olika sökfunktioner i Disgen, Välj person och Sök personer. Här behandlas dessa båda funktioner. Välj person och Sök
Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java.
Laboration 1 Avsikt Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java. Del 1 Ta fram dokumentet NetBeans5_5.pdf från kurssidan och arbeta med
Grundlärarprogrammet. 240 hp
Grundlärarprogrammet 240 hp CAMPUS GOTLAND Sökanvisningar och kursutbud vt 2016 Detta material vänder sig till dig som läser på grundlärarprogrammet med studieort Campus Gotland. För dig som läser Grundlärarprogrammet
Testning. 1. Inledning
Testning 1. Inledning I all ingenjörsmässig verksamhet är testning en vedertagen metod för att fastställa om en hypotes, konstruktion eller produkt är korrekt och fungerar som avsett. Datorprogram är ofta
Omtentamen (del 1, 6 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201)
Omtentamen (del 1, 6 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201) Lars-Henrik Eriksson Fredag 5 april 2013, kl 14:00 17:00, i Polacksbackens skrivsal Hjälpmedel: Inga. Inte heller elektronisk
Marie Andersson, IKT-centrum E-post: [email protected] 2012-06-10 (Bb Learn 9.1.8) Wikis i Blackboard
Marie Andersson, IKT-centrum E-post: [email protected] 2012-06-10 (Bb Learn 9.1.8) Wikis i Blackboard Innehåll Om Wiki- funktionen... 1 Skapa en Wiki... 1 Lägg till/ redigera innehåll i en Wiki... 3 Läsa/skriva
Sammanställning kursutvärdering
Kulturgeografiska institutionen Sammanställning kursutvärdering Kurs: Destinationer, 15 hp Termin: ht 2014 Kursansvarig lärare: Erika Sörensson 26 studenter har regelbundet deltagit på kursen. Av dessa
Senaste version kan hämtas från Internet i PDF 1 format Http://www.e.kth.se/~e92_sli/exjobb/projektplan/projektplan.pdf
SPECIFIKATION 1(11) Projektplan Distribution Detta dokument är ej under kontrollerad distribution. Innehavaren ansvarar själv för att den senaste utgåvan av detta dokument används och att inaktuella kopior
Frågebanker, frågeuppsättningar och slumpvisa block
Frågebanker, frågeuppsättningar och slumpvisa block Innehåll Frågebanker... 1 Skapa frågebank... 1 Importera en frågebank... 3 Lägg till frågor i frågebank... 3 Skapa frågeuppsättning... 3 Skapa slumpvist
Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning
Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning Daniel Leonardsson [email protected] Kajsa Persson [email protected] I samarbete med Svensk Maskinprovning,
Selma Manual Kurstillfälle, kurspaket, programtillfälle. Studentcentrum/Ladokgruppen
Selma Manual Kurstillfälle, kurspaket, programtillfälle Innehållsförteckning Innehållsförteckning -------------------------------------------------------------------------------------------------- 2 Logga
Grafisk visualisering av en spårbarhetslösning
Datavetenskap Opponenter Johan Kärnell och Linnea Hjalmarsson Respondenter Agni Rizk och Tobias Eriksson Grafisk visualisering av en spårbarhetslösning Oppositionsrapport, C-nivå Report 2011:06 1. Generell
Riktlinjer för examination på grundnivå och avancerad nivå vid Försvarshögskolan
Sida 1(8) Riktlinjer för examination på grundnivå och avancerad nivå vid Försvarshögskolan Fastställd av FoUN 2001-01-09, reviderad 2013-09-11 och 2015-06-09. Tidigare versioner upphör att gälla. Se även
THTY41 - Teknisk kommunikation på tyska 2 - del 1
1 (6) THTY41 - Teknisk kommunikation på tyska 2 - del 1 Sändlista Svante Gunnarsson Torun Berlind Elin Önstorp Fredrik Wiklund Christoph Röcklingsberg Johan Holström Kurskod THTY41 Examinator Christoph
REGEL FÖR UTBILDNINGSPLANER
MITTUNIVERSITETET Styrdokument Bilaga 3 REGEL FÖR UTBILDNINGSPLANER DNR MIUN 2009/830 Publicerad: 2014-06-24 Beslutsfattare: Handläggare: Maud Albertsson Beslutsdatum: 2014-06-24 Giltighetstid: Tillsvidare
Här får du en kort beskrivning av vad det nya utbildningssystemet innebär för dig som studerar vid Göteborgs universitet. OBS! Extra viktigt för dig
Här får du en kort beskrivning av vad det nya utbildningssystemet innebär för dig som studerar vid Göteborgs universitet. OBS! Extra viktigt för dig som läser fristående kurser. Europa din nya studieort!
Att komma igång med FirstClass (FC)!
Att komma igång med FirstClass (FC)! Vi har tillgång till FC genom vårt samarbete med folkhögskolor och därigenom med Folkbildningsnätet. FC kan användas på en dator på två sätt (dessutom kan du använda
Beslut Utbildningsplanen är fastställd av Nämnden för konstnärligt utvecklingsarbete (KUnämnden)
Utbildningsplan Kandidatprogrammet i Inredningsarkitektur och möbeldesign Beslut Utbildningsplanen är fastställd av Nämnden för konstnärligt utvecklingsarbete (KUnämnden) 2015-12-09 Gäller studenter antagna
LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?
ICT LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen? Daniel Lindfors 12/9/07 [email protected] Introduktionskurs i datateknik II1310 Sammanfattning Denna laboration
THSP41 - Teknisk kommunikation på spanska II - del 1
1 ( 6) THSP41 - Teknisk kommunikation på spanska II - del 1 Sändlista Kurskod Examinator Marisol Arias Abrahamsson Johan Holtström THSP41 Marisol Arias Abrahamsson Kursen gavs Årskurs 2 Termin Period 2
Föreläsning 11. Giriga algoritmer
Föreläsning 11 Giriga algoritmer Föreläsning 11 Giriga algoritmer Användning Växelproblemet Kappsäcksproblemet Schemaläggning Färgläggning Handelsresandeproblemet Uppgifter Giriga algoritmer (Greedy algorithms)
Kommunal vuxenutbildning: elever, kursdeltagare och utbildningsresultat, första halvåret 2016.
Maj 2016 1 (7) Kommunal vuxenutbildning: elever, kursdeltagare och utbildningsresultat, första halvåret 2016. Uppgifterna ska vara SCB tillhanda senast 15 september 2016 och kan endast lämnas via Internet
Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.
Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Att instansiera en klass Objekt I Man instansierar (skapar
Björn Abelli Programmeringens grunder med exempel i C#
Björn Abelli Programmeringens grunder med exempel i C# Övningshäfte (bearbetning pågår) Senaste uppdatering: 2004-12-12 I denna version finns övningar för de mest centrala avsnitten. Häftet kommer att
Laborationsanvisning. Digital väckarklocka. Steg 2, laborationsuppgift 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402
Laborationsanvisning Digital väckarklocka Steg 2, laborationsuppgift 2 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i anslutning
Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016
Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:
Uppdragsbeskrivning. Markeringssystem. Version 1.0 Mats Persson
Version 1.0 Distributionslista Befattning Bolag/enhet Namn Åtgärd Info. Student KaU Niklas Ivarsson Student KaU Andreas Bergman Konsult/huvudhandledare Sogeti Konsultchef Sogeti Åsa Maspers Konsult/handledare
Antagningsordning för Röda Korsets Högskola Studiestart läsåret 2013/2014
1 Antagningsordning för Röda Korsets Högskola Studiestart läsåret 2013/2014 Dnr: 62/12 Reviderad 2013-10-28 och ersätter antagningsordning från 2012-09-12 2 Innehåll 1. INLEDNING... 3 2. TILLTRÄDE/BEHÖRIGHET...
Direkt. Ett nytt och modernt basläromedel i svenska för årskurs 7 9.
Svenska Direkt direkt! Gå in på www.bonnierutbildning.se/svenskaex och beställ ditt tjänsteexemplar senast 20 december. Svenska Direkt Ett nytt och modernt basläromedel i svenska för årskurs 7 9. SVENSKA
Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10. Skriv bara på framsidan av varje papper.
Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10 Skrivtid: 0800-1300 Inga hjälpmedel. Tänk på följande Maximal poäng är 40. För betygen 3 krävs 18 poäng. För betygen 4, 5 kommer något
Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Slutexamensarbete i psykologi 30 hp ht 2015-vt 2016
KAROLINSKA INSTITUTET Institutionen för Klinisk Neurovetenskap Sektionen för Psykologi Psykologprogrammet Examensarbete i psykologi; 30 hp Slutexamensarbete i psykologi 30 hp ht 2015-vt 2016 Schema Uppdaterat
Projektarbete 2: Interaktiv prototyp
Projektarbete 2: Interaktiv prototyp Jonatan Hilmarch (Grupp 13) 880427-5595 [email protected] Kurs: Människa-Datorinteraktion TIG061 HT 2010 Projekt 1 - en tillbakablick Enligt projektets systemdefinition
Torun Berlind Elin Önstorp Sandra Gustavsson Klas Nordberg. Föreläsningar Lektioner Laborationer Projekt
1 (6) TSBB09-Bildsensorer Sändlista Håkan Örman Torun Berlind Elin Önstorp Sandra Gustavsson Klas Nordberg Kurskod TSBB09 Examinator Klas Nordberg Kursen gavs Årskurs 4 Termin 1 Period 2 Kursens delar
Gemensamma riktlinjer fo r genomfo rande av Examensarbete Hing Elkraftteknik
Uppdatering: Datum för anmälan för boende samt datum för middag. Gemensamma riktlinjer fo r genomfo rande av Examensarbete Hing Elkraftteknik Examensarbetet ska ni genomföra på det universitet som ni är
Testplan Cykelgarage
Testplan Cykelgarage Stefan Johansson D08 ([email protected]) Johan Anderholm D08 ([email protected]) Angelica Gabasio D08 ([email protected]) Marcus Carlberg D08 ([email protected])
GAFE Google Apps For Education. Vt 16 Guldkroksskolan Annika Andréasson
GAFE Google Apps For Education Vt 16 Guldkroksskolan Annika Andréasson LATHUND GAFE = Google Apps For Education www.google.se är startsidan där man kan hitta alla sidor i GAFE. Om man inte vill skriva
JURIDISKA INSTITUTIONEN
JURIDISKA INSTITUTIONEN HRS290 Teoretisk affärsjuridik - Rollperspektiv på rätten, 15 högskolepoäng Theoretical business law - Role Fastställande Kursplanen är fastställd av Juridiska institutionen 2014-09-10
Slutrapport för Pacman
Slutrapport för Pacman Datum: 2011-05-30 Författare: cb222bj Christoffer Bengtsson 1 Abstrakt Jag har under våren arbetat med ett projekt i kursen Individuellt Mjukvaruutvecklingsprojekt. Målet med mitt
Enkla variabler kontra referensvariabel
Enkla variabler kontra referensvariabel En variabel är ett namngivet minnesutrymme i datorns primärminne. En variabel som används för att representera en primitiv datatyp kallas för enkel variabel. Deklarationssatsen
Java, klasser, objekt (Skansholm: Kapitel 2)
Java, klasser, objekt (Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Objectorienterad programmering Sida 1 Vad är en klass? En klass är ett sätt att beskriva en mängd objekt och deras gemensamma
