examapp - lnu.seorion.lnu.se/pub/education/course/1dv411/vt14/slutrap...grundläggande programmering...

67
ExamApp Ett tentamenssystem online Grupp 7 Mars 2011 Webbprojekt 1/1DV411/ 7,5 p Författare: Emmilie Sidevåg, Nathalie Törnemyr, Markus Sjöholm och Michael Holmgren

Upload: others

Post on 17-Feb-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

  • ExamApp

    Ett tentamenssystem – online

    Grupp 7

    Mars 2011

    Webbprojekt 1/1DV411/ 7,5 p

    Författare: Emmilie Sidevåg, Nathalie Törnemyr, Markus Sjöholm och Michael Holmgren

  • Organisation

    Linnéuniversitetet

    Institutionen för datateknik

    Författare & skapare av applikationen

    Nathalie Törnemyr,

    Markus Sjöholm,

    Michael Holmgren,

    Emmilie Sidevåg

    Dokumenttyp

    Rapport

    Titel

    ExamApp

    Utgivningsår 2011

    Internet/WWW http://172.16.213.1/grupp7/ (vpn krävs)

    http://172.16.213.1/grupp7/

  • Sammanfattning

    I detta projekt har vi fått Mats Loock som kund. Mats önskar beställa ett tentamenssystem

    online. Mats är universitetsadjunkt och arbetar på Linnéuniversitetet. Han är kursansvarig för

    kurser i grundläggande programmering med C#, webbprogrammering med ASP.NET

    WebForms och ASP.NET MVC.

    Bakgrunden till varför beställningen uppkom är för att det i dagsläget finns ett liknande

    system som dock är bristfälligt. I samtliga ovan nämnda kurser, där Mats är kursansvarig,

    använder han sig av det befintliga systemet. Ett system där studenter utför olika deltester som

    en del av kursen. Dagens system är byggt i klassisk asp och till tiden omodernt, även rent

    tekniskt. Systemet är även bristfälligt och icke användarvänligt, då det finns utrymme för

    missförstånd när studenter utför testet. I dagsläget får alla studenter som utför provet, samma

    frågor och svarsalternativ.

    Kunden tycker att ett onlinesystem är en fungerande och mycket bra idé, därav vill kunden

    skapa ett nytt system, som är genomarbetat professionellt och användarvänligt. LNU-

    designen ska träda fram.

    Mats vill med hjälp av det nya systemet slippa tidskrävande kommunikation på grund av

    missförstånd. Kunden hade som önskemål att även ett admingränssnitt skulle implementeras.

    Efter utförlig diskussion inom projektgruppen fastslog dock att detta blir en avgränsning

    inom projektet.

    Kund hänvisar till DN nutidsfrågor som fångats hans intresse, en bra referens för oss i början

    av projektet.

    Testapplikationen är det huvudsakliga i detta projektarbete. Att skapa ett nytt onlinesystem

    för att utföra en examination eller ett deltest av en kurs. Syftet med projektet är att förbättra

    och förenkla utförandet av ett test, både för lärare och elev.

    Baskrav:

    1 Autentisering av användare.

    2 Tydlig grafisk respons på elevens input.

    3 Autogenererade frågor och svarsalternativ.

    4 Kommunikation mellan elev och lärare.

    Vi genomförde uppgiften i form av ett projektarbete bestående av fyra medlemmar.

    Teknikgrund och utvecklingsmiljö för applikationen består av VisiualStudio 2010 och MS

    SQL server 2008.

    För backend användes C# tillsammans med ASP.NET MVC 3 och Entity Framework för

    koppling mot databasen. Kompletterande tekniker/ utvecklingsspråk är även: HTML, CSS

    samt Javascript.

    Genomförandet fortskred enligt följande grunddelar, krav, analys, databas, implementation,

    test och möten. Närmare beskrivet i rapporten.

    Projektet slutförs inom tidsramarna med ett tillfredställande resultat, komplettering och

    vidareutveckling av systemet kan vara att föredra men ett fungerande system finns för att tas

    i bruk. Även admingränssnittet levererades trots att detta var en avgränsning i projektet.

    http://www.dn.se/nyheter/nutidstestet/nutidstestet-vecka-8

  • Förord

    Projektet är ett obligatoriskt arbete som tillhör kursen webbprojekt 1, inom programmet

    webbprogrammering på Linnéuniversitetet i Kalmar.

    Vi blev tilldelade denna projektuppgift av läraren för kursen webbprojekt. Uppgiften gick ut

    på att skapa ett webbaserat system där studenter ska kunna utföra olika tester inom olika

    kurser på Universitetet.

    Kunden som önskade detta system är Mats Loock, anställd som lärare på skolan. Kunden

    tilldelades oss via kursansvarig.

    Vi vill som medlemmar av detta projekt även ta tillfället i akt att tacka alla som hjälp oss.

    Vi vill också tacka livet, Niklas Zennström (grundaren av Skype) och alla mammor & pappor

    för att vi finns.

  • Innehållsförteckning

    SammanfattningIII

    Förord

    Innehållsförteckning

    1. Introduktion ..................................................................................................... 6

    1.1 Bakgrund............................................................................................................................ 6

    1.2 Syfte .................................................................................................................................... 6

    1.3 Mål ...................................................................................................................................... 6

    1.4 Projektorganisation ......................................................................................................... 8

    1.5 Avgränsningar ................................................................................................................... 8

    2. Genomförande: metodik & teknik ................................................................. 10

    2.1 Krav- Kravspecifikation ................................................................................................ 10

    2.2 Analys ............................................................................................................................... 13

    2.3 Databas ............................................................................................................................ 14

    2.4 Implementation .............................................................................................................. 14

    2.5 Test ................................................................................................................................... 15

    2.6 Möten & kommunikation ............................................................................................. 16

    3. Resultatbeskrivning/måluppfyllelse .............................................................. 17

    4. Vidareutveckling ............................................................................................ 25

    5. Övertagande organisation .............................................................................. 26

    6. Diskussion ...................................................................................................... 27

    7. Slutsatser ........................................................................................................ 29

    8. Referenser ....................................................................................................... 30

    9. Bilagor ............................................................................................................ 31

  • 6 (67)

    1. Introduktion

    I denna rapport kommer vi berätta hur vi har arbetat i detta projekt, vad vår uppgift var och hur vi

    har gått tillväga för att nå målet. Vi kommer att berätta om hinder som uppkommit efter vägen

    och hur vi gjorde för att lösa problemen och slutligen en redogörelse kring resultatet.

    1.1 Bakgrund

    Mats Loock – Universitetsadjunkt, arbetar på Linnéuniversitetet. Kursansvarig för kurser i

    grundläggande programmering med C#, webbprogrammering med ASP.NET WebForms och

    ASP.NET MVC. Mats önskar ett tentamenssystem online.

    Mats kommer att i fortsatt text, benämnas som kund.

    Ett liknande system finns idag som han som lärare använder sig av i samtliga ovan nämnda

    kurser. Ett onlinesystem där studenter utför olika deltester som en del av kursen. Dagens system

    är byggt i klassisk asp och till tiden omodernt, även rent tekniskt. Systemet är även bristfälligt och

    icke användarvänligt då det finns utrymme för missförstånd när studenter utför testet. Alla

    studenter som utför provet får även samma frågor och svarsalternativ

    Kunden tycker att ett onlinesystem är rätt, tillvägagångssättet är en mycket bra idé och vill därför

    skapa ett nytt system, som är genomarbetat professionellt och användarvänligt. LNU-designen

    ska träda fram och det bästa vore, om han även kunde implementera detta system hos andra

    lärare, därav är ett admingränssnitt också önskvärt men inte ett krav.

    Testapplikationen är det huvudsakliga i detta projektarbete.

    1.2 Syfte

    Att skapa ett nytt onlinesystem för att utföra examination eller deltest av kurs. Systemet ska vara

    tekniskt modernt och LNU designen ska framträda i applikationen. Syftet är att förbättra och

    förenkla utförandet av ett test. Även kommunikationen mellan lärare och student ska förbättras

    och utföras via applikationen, istället för via mail eller annat kommunikationssätt.

    1.3 Mål

    En onlineapplikation för att utföra examination av olika kurser och delmoment. Efter vårt första

    möte med kund får vi fram önskemål kring hur han önskar att ett kommande system ska fungera

    och se ut.

    Kund hänvisar till DN nutidsfrågor som fångats hans intresse, en bra referens för oss i början av

    projektet.

    Frågorna presenteras enligt nedan design så ett självklart mål blir att sträva efter liknande

    funktionalitet och design.

    http://www.dn.se/nyheter/nutidstestet/nutidstestet-vecka-8

  • 7 (67)

    Kund önskar svarsalternativ enligt flervalskonstruktion, även ett fritextfält för möjlighet för

    studenten att svara på en fråga.

    Systemet ska vara användarvänligt i det faktum att användaren lättare ska kunna urskilja vilka

    alternativ som var rätt och fel. Läraren vill med hjälp av det slippa tidskrävande kommunikation

    på grund av missförstånd.

    Baskrav:

    1 Autentisering av användare.

    2 Tydlig grafisk respons på elevens input.

    3 Autogenererade frågor och svarsalternativ.

    4 Kommunikation mellan elev och lärare.

    5 Vid behov ska alltid en hjälptext finnas att tillgå.

  • 8 (67)

    1.4 Projektorganisation

    Projektet består av fyra personer som alla är distansstudenter vid Linnéuniversitetet, inom

    programmet Webbprogrammering. Dessa personer är:

    Nathalie Törnemyr

    Markus Sjöholm Michael Holmgren Emmilie Sidevåg

    Vi har under projektets gång haft en mycket nära kontakt med varandra, mer eller mindre

    dagligen, via Skype.

    Visionen från början var att vi skulle arbeta tillsammans så mycket som möjligt, på alla punkter.

    Detta var av olika skäl inte så verklighetstroget, vilket framkom tydligt när vi praktiskt skulle

    börja arbeta. Vi kunde tex inte alla sätta oss i samma fil för att parprogrammera, detta var även

    slöseri med värdefull tid. Det vi beslutade då var att alla skulle ansvara för varsitt område och att

    vi dagligen skulle informera varandra om områdets status, för att alla skulle vara delaktiga på alla

    projektets punkter.

    Kursansvarig och kund har också varit högst relevanta aktörer inom projektet.

    1.5 Avgränsningar

    Kunden hade som önskemål att även ett admingränssnitt skulle implementeras. Efter utförlig

    diskussion inom projektgruppen fastslog dock att detta blir en avgränsning inom projektet.

    Avgränsningen av projektet grundas på, att en utveckling av ett admingränssnittet i början av

    projektet, skulle innebära en allt för stor risk, för att projektet inte skulle hinnas slutföras inom

    utsatt tidsplan.

    Om möjligheten till utveckling av ett admingränssnitt skulle möjliggöras längre fram i projektets

    gång, beslutas att detta levereras i form av ”ett plus i kanten”.

    Admingränssnittet faller med den anledningen utanför testspecifikation och testfall.

    Kunden är medveten om och har accepterat att denna del av applikationen, överlämnas som

    betaversion.

    Dock redogör vi lite om ur arbetet med admingränssnittet fortskred här:

    Ett par veckor in i projektet bestämde vi oss för att börja med administrationsgränssnittet och

    implementera så mycket funktion tiden tillät.

  • 9 (67)

    Vi hade innan deadline lyckats implementera all nödvändig och grundläggande funktionalitet för

    att kunna administrera systemet på ett bra sätt.

    Detta innebar alltså en ordentlig överleverans till kunden på runt 300 timmar, vilket är i paritet

    med de timmar som loggats utöver satt projekttid.

    Arbetet med administrationsdelen resulterade i ett tvådelat administrationsgränssnitt.

    Den ena delen är till för användare som är kursansvariga på någon eller några kurser och den

    andra är till för en "superadministratör".

    Superadministratörens huvudsakliga jobb är att skapa och hantera kurser, program, klasser som

    läser dessa program samt användare i form av elever och lärare.

    Saker som vi inte anser att alla lärare ska ha tillgång till då misstag på grund av bristande

    utbildning eller kunskap om systemet skulle kunna innebära förluster av värdefull data.

    När superadmin skapat en kurs kan sedan kursansvarg (som sätts i samband med skapandet av

    kursen) hantera den kursen. Skapa kurstillfällen, kursmoment, frågor till kursmomenten, samt

    svarsalternativ och bilder till frågorna.

    Kursadministratören kan även lägga till vilka användare som är lärare respektive elever vid varje

    enskilt kurstillfälle, samt hantera vilka kursmoment som ska användas i kurstillfället.

  • 10 (67)

    2. Genomförande: metodik & teknik

    Vi genomförde uppgiften i form av ett projektarbete bestående av fyra medlemmar.

    Teknisk grund och utvecklingsmiljö för applikationen består av VisiualStudio 2010 med

    inriktning: ASP.NET MVC 3 och MS SQL server 2008, kompletterande teknik är

    utvecklingsspråket Javascript.

    Genomförandet fortskred enligt följande grunddelar, krav, analys, databas, implementation, test

    och möten. Närmare beskrivet i nedanstående text.

    2.1 Krav- Kravspecifikation

    När kartläggningen av kraven skulle genomföras, utgick vi får kundens önskemål och hans vision

    av applikationen, nedan presenteras de krav vi arbetade utifrån:

    Användaren presenteras i nedan text som A

    1. En användares användarnamn ska hämtas ut vid inloggning

    2. På startsidan ska en välkomsttext presenteras och A namn ska hämtas dynamiskt (it. 2)

    3. Datum eller tid ska visas då provets testtid upphör att gälla (CoursePart.EndDate eller

    CoursePart.Maxtime)

    4. En pågående examination ska visa tiden som är kvar till sista

    inlämning(Examination.EndDate)

    5. Kursnamn ska visas dynamiskt

    6. A ska kunna välja vilket prov som ska utföras om det finns fler prov kopplade till

    A.

    7. Hjälptext ska finnas att tillgå.

    7.1 Från hjälptextsidan ska man kunna återgå till provet

    8. En “översiktssida” ska finnas tillgänglig från alla sidor utom startsidan

    9. A ska starta testet via ett knapptryck (it. 3)

    10. Frågor med flervalssvar ska presenteras genom att slumpas fram (it. 3)

    11. Även en bild ska gå att kopplas till en fråga (it. 3)

    12. När testet startat ska A kunna navigera till nästa fråga och till föregående fråga

    (it. 3)

    13. Via översiktssidan ska A direkt kunna klicka sig till berörd fråga (it. 4)

  • 11 (67)

    14. Bekräftelsesida ska visas när A klickar på knappen för att skicka in testet (it. 4)

    15. Om A vill skicka in ett ofullständigt test ska A först godkänna detta genom ett

    knapptryck

    16. A avslutar testet manuellt genom ett knapptryck (it. 5)

    17. Om testtiden löpt ut och användaren fortfarande är aktiv i testet, kommer A skickas till

    resultatsidan och testet skickas in automatiskt.

    18. När testet skickats iväg får A möjlighet att skriva kommentarer till varje fråga som

    kommer presenteras för läraren i kursen

    19. Inloggad student ska presenteras sina examinationer. Gjorda som ogjorda.

    19.1 Men endast de prov som börjar inom 2 dagar eller är gjorda ska visas.

    20. Om kommentarer är tillåtna/aktiva ska A kunna kommentera sina svar direkt efter

    inlämnad examination. Om provet har tidsbegränsning måste kommentarer göras inom

    provtiden. Finns ingen tidsbegränsning måste man kommentera inom 30 min efter

    inlämnat prov.

    21. Lärare ska kunna kommentera studenternas examinationer - fråga för fråga

    22. Student ska kunna kommentera lärares kommentarer efter provslut, så länge läraren inte

    låst frågan (it.6)

    23. Student ska presenteras en informationssida innan examination startar innehållandes

    kursnamn, kurskod, antal frågor

    24. På “startsidan” ska en länk till “Administrationsdelen” visas om och endast om man är

    admin. (it. 5)

    25. På “startsidan” ska kurstillfällen (examinationer) där man är lärare respektive elev visas

    separerade. (it. 5)

    26. När student skriver prov och hon väljer att klicka på “översikt” eller “hjälp” ska hon

    uppmärksammas om att aktuell fråga inte sparas om hon lämnar den.

    27. Student ska på informationssidan uppmärksammas om eventuell tidsbegränsning.

    28. Allmän felsida istället för en gulful sida.

    Kravspecifikation specifik för Läraregränssnitt

    1. Lärare ska kunna rätta prov a. Ändra en felaktig fråga till rätt b. Kommentera en okommenterad fråga

    2. Lärare ska kunna svara på kommentarer

  • 12 (67)

    3. Lärare ska kunna modifiera poäng för varje fråga vid rättning

    Kravspecifikation specifik för Administrationsgränssnitt

    1. Man ska kunna logga in i gränssnittet med Windows Authentication 2. Admin ska kunna skapa ny kurs (it. 4)

    2.1 Admin ska kunna editera kurs

    3. Admin ska kunna skapa användare (it. 4) 4. Admin ska kunna radera användare (it. 4) 5. Admin ska kunna sätta/avsätta roller 6. Admin ska kunna lägga till kurstillfälle 7. Admin ska kunna radera kurstillfälle (borttagen) 8. Admin ska kunna editera kurstillfälle 9. Admin ska kunna lägga till kursmoment 10. Admin ska kunna radera kursmoment (borttagen) 11. Admin ska kunna editera kursmoment 12. Kursansvarig ska kunna lägga till användare till sina kurstillfällen (it. 7) 13. Kursansvarig ska kunna ta bort användare från sina kurstillfällen (it. 7) 14. Admin ska kunna editera användare (it. 4) 15. Kursansvarig ska kunna sätta “roller” på användarna kopplade till sina kurstillf. (it. 7) 16. Kursansvarig ska kunna radera roller för sina kurser (ta bort användare från kurstillfället) 17. Kursansvarig ska kunna lägga till frågor till kursmoment sina kurser 18. Kursansvarig ska kunna radera frågor från kursmoment för sina kurser 19. Kursansvarig ska kunna editera frågor från kursmoment för sina kurser 20. Kursansvarig ska kunna lägga till svarsalternativ till frågor för sina kurser 21. Kursansvarig ska kunna radera svarsalternativ från frågor för sina kurser 22. Kursansvarig ska kunna editera svarsalternativ för sina kurser 23. Admin ska kunna skapa program (it. 4) 24. Admin ska kunna editera program (it. 4) 25. Kursansvarig ska kunna koppla kursdelar till kurstillfälle (it. 7) 26. Kursansvarig ska kunna se vilka kursdelar som är kopplade till ett kurstillfälle (it. 7) 27. Kursansvarig ska kunna se de kurser och kurstillfällen han är ansvarig för (it. 7) 28. Kursansvarig ska kunna skapa klass 29. Kursansvarig ska kunna radera klass från program 30. Kursansvarig ska kunna editera klass 31. Kursansvarig ska kunna lägga till bilder till frågor för sina kurser 32. Kursansvarig ska kunna radera bilder för sina kurser 33. Kursansvarig ska kunna editera bilder för sina kurser 34. Kursansvarig ska kunna lägga till hel klass till kurstillfälle om man har rollen elev i en kurs

    ska man inte kunna komma åt administrationsgränssnittet

    35. När man klickar på “Mina examinationer” ska man få upp en lista med de kurstillfällen där man har rollen student och en annan lista med de kurser där har rollen lärare!

  • 13 (67)

    2.2 Analys

    Att gå igenom kraven var också en del av analysen, då vi även där som här, arbetade med

    frågeställningarna som, vad behövs? Hur ska applikationen fungera? Vem ska använda den?

    Vilken datorvana kan tänkas finnas hos användaren av systemet osv. Detta var grundläggande

    tankar som var en del av vår analysfas. Gemensamt beslutar vi att låta tankar och kartläggandet av

    applikationen gå före en omedelbar start av programmeringen. Därav valde vi en inledande

    analysfas på två till tre veckor innehållande designanalys och teknisk planering av applikationen.

    Det vill säga, på papper och penna nivå.

    Applikationen började ta form med hjälp av mockups. Dessa visades även för kund och vi utförde

    den inledande fasen av designen på detta sätt, tills gruppen och kund enades om en gemensam

    design av applikationen.

    Exempel:

  • 14 (67)

    2.3 Databas

    MS SQL 2008 är verktyget som databasen utvecklats i. Under analysen beslutas att lägga en

    inledande kraftansträngning på databasen för att få den så genomtänkt och strukturerad som

    möjligt. Vi lägger stor vikt vid våra mål och det vi i analysen har kartlagt att applikationen ska

    utföra. Kravlistan är roten till vårat växande träd.

    Vi skapar applikationens ”röda tråd” och följer den på pappret för att få en klarare bild av vad det

    är vi förväntar oss av databasen och var vi vill spara undan vår data.

    Moduleringen fortlöper ovanligt smärtfritt och implementationen av applikationen närmar sig. En

    första moduleringsdesign såg ut enligt följande, vilket efter avslutat arbete avviker från

    slutresultatet. Det slutgiltiga databasdiagrammet finns i denna rapport som en bilaga 4.

    2.4 Implementation

    VisualStudio 2010, ASP.NET MVC 3 och C# tar hand om grunddelarna i

    implementationstekniken i projektet. Då vi till en början valde att parprogrammera insåg vi

    väldigt snabbt att detta var ineffektiv då SVN och andra tekniker som vi hade till vårat förfogande

    ställde till det för oss. Därav blev det ganska snabbt en indelning och programmeringen utfördes

    mer individuellt istället.

    Programmering fortskred som önskat, dock uppkommer problem och en frågeställning

    presenteras enligt nedan:

    I lärargränssnittet ska läraren kunna rätta ett utfört prov av en elev, och problem uppstod då

  • 15 (67)

    läraren gått in i en annan vy och gett poäng för en felaktig fråga/fritextsvar och sedan återvänt till

    provet för fortsatt rättning.

    Det som hände var att, efter att läraren gett poängen och lämnat vyn för att återvända till provet,

    och sedan klickade på knappen Rätta, gjordes ett anrop till den vy som läraren besökte innan, dvs.

    vyn för att ge poäng. Anledningen till detta var att URL’en inte uppdaterades när läraren gick

    tillbaka till provet och anropet därför gick till vyn som var angiven där.

    Genom att debugga applikationen kom vi fram till att anropet inte gick till den controllermetod

    det var tänkt, och därefter drog vi slutsatsen att det var metoden som tar hand om att ge poäng

    som felet låg hos. Istället för att återgå till den controllermetod som visar testet så gick vi istället

    bara till vyn, detta medförde felet att URL’en inte uppdaterades.

    Vi löste problemet genom att specificera den controllermetod som ska anropas i action-attributet i

    formuläret. Anledningen till att vi gjorde detta istället för att återgå till den controllermetod som

    var tänkt, är för att minska anrop till databasen.

    2.5 Test

    Test var en relativ ny aspekt för oss i projektgruppen, denna del är inget som behandlats inom

    utbildningen och de flesta har även en inställning till test som lyder:

    Hur svårt kan det vara? Det är väl bara att klicka!

    Test är en väsentlig del till att lyckas med att leverera ett så felfritt system som möjligt.

    Testningen är även ett väldigt bra sätt att lära sig hur systemet fungerar, då man som testdesigner

    skriver testfallen eller när man som testare utför testerna, då blir man väldigt bekant med

    systemet.

    Vi hade en leverans i veckan till kund, vilket var i samband med kundmötet på torsdagar, inför

    mötet utfördes publicering till servern hangaren där applikationen finns publicerad, detta

    behandlades som en form av release till acceptanstest.

    I samband med kundmöten under construction-fasen tilldelas kund olika testfall att utföra. Under

    transition-fasen fick kund och två slutanvändare utföra mer utforskande tester som låg utanför

    testfallen. Även två olika användare ombads ta sig från start till mål i systemet, vilket är att

    påbörja ett test, utföra ett test & slutligen slutföra ett test. En projektmedlem fanns bakom ryggen

    på användaren för att dokumentera hur användaren integrerade med systemet, detta för att se om

    designen var tydlig eller om det fanns utrymme för missförstånd. Dessa tester skulle ligga till

    grund för de förändringar som behövdes utföras på designen, användarvänligheten, om detta nu

    skulle påvisas under testerna. Till vår glädje visade dessa tester att vi tänkt rätt när det gäller

    navigeringen i testet och vi behövde pga. detta inte ändra upplägget av designen. Dock gjorde vi

    några lättare förändringar i gränssnittet för att hjälp användaren ännu mer.

    Ett exempel är att när man slutfört testets alla frågor, så kommer man till en översiktssida. Om

    man via den sidan navigerar sig tillbaka till en fråga, så valde vi att lysa upp översiktslänken för

    att förtydliga, att man kunde gå den vägen tillbaka till översiktsidan igen. Istället för att stega sig

    igenom hela testet en gång till. Se bilden …Översikt….

  • 16 (67)

    Testspecifikation innehållandes testfall finns bifogat i rapporten som bilaga, även en testrapport

    finns att tillgå i repository.

    2.6 Möten & kommunikation

    Måndagar var stående mötesdagar, på förmiddagen hade vi projektmöte med gruppen och på

    eftermiddagen var det handledningsmöte, vi hade även en stående tid på torsdagar då vi hade

    kundmöte. Torsdagar blev den dag då iterationerna startade och slutade. Både handledning och

    kundmöte uppföljdes av ett reflektionsmöte av projektmedlemmarna.

    Det som inte framkommer tydligt nog i tidsplanen är den kontinuerliga kontakten

    vi hade via Skype, närmare daglig kontakt och under långa stunder. Detta är dock naturligtvis en

    positiv aspekt i projektet då detta är en väsentlig del till ett lyckat resultat.

    Vi provade även på att ha 15 minuters scrum möte varje dag, vilket vi tycker har varit till vår

    fördel, då vi snabbt kunde upptäcka problem eller liknande situationer som kunde ha belastat oss i

    vårt dagliga arbete. Detta gav också tydlig inblick i kollegors arbete.

    Exempel på möteskallelse och mötesprotokoll finns bifogat i rapporten som bilaga 6

  • 17 (67)

    3. Resultatbeskrivning/måluppfyllelse

    Projektgruppen har enats om att man slutfört projektet inom dess tidsram och på kort tid skapat

    ett mycket tillfredsställande resultat. En fullständig applikation finns och det är upp till

    övertagande organisation att ta ett beslut om systemet, i nuvarande version, kan tas i bruk.

    I alla kortare projekt, liksom i detta, kan tänkas att man kommer att springa på mindre buggar, så

    för att vara på den säkra sidan kan man inleda lanseringen av systemet med ytterligare en testfas,

    för att få ett helt felfritt system. Vidareutveckling är också en punkt som övertagande organisation

    kan se över.

    Det vi vill framföra på denna punkt är att projektet har uppfyllt alla krav från kund och även

    tillhörande testfall är godkända. Även admingränssnittet levererades trots att detta var en

    avgränsning inom projektet.

    Vi lämnar nu därför över systemet och avslutar projektet som ett lyckat projekt då vi levererat

    efter kravspecifikationen. Om vidareutveckling av systemet önskas så står vi mer än gärna till

    förfogade.

    Nedan presenteras bilder från färdigt system, med beskrivande texter

  • 18 (67)

    Den här vyn möts användaren av när man startar applikationen. Beroende på vilken

    behörighetsnivå man har (student, lärare eller superadmin) så visas olika menysystem. I den här

    bildserien väljer vi att visa hur det kan se ut då man skriver en tenta.

  • 19 (67)

    Kurs och kursmoment är valt. Här presenteras en kort hjälptext som upplyser användaren om vad

    som gäller. När användaren är redo klickar man på “Starta testet”.

  • 20 (67)

    När testet är igång kan en nedräknare presenteras i den övre menyn. När tiden tickat till noll

    skickas användaren automatiskt ut från testet. För att spara sina alternativ klickar man på

    “Föregående fråga” eller “Nästa fråga”.

  • 21 (67)

    När man klickat sig igenom alla frågor hamnar på denna översiktssida. Den tydliga röda

    markeringen talar om för användaren ifall man missat att svara på någon fråga. Alla frågor

    presenteras också på en och samma sida för att användaren på ett enkelt sätt ska kunna kontrollera

    sina svar.

  • 22 (67)

    Längst ned på översiktssidan finns en knapp för att lämna in testet.

  • 23 (67)

  • 24 (67)

    När testet är inlämnat skickas användaren till en resultatsidan där det tydligt framgår hur man

    klarat sig. Rätt/Fel presenteras med klara färger och totalpoängen ligger i fokus.

    Ifall användaren av någon anledning inte är nöjd med tilldelade poäng kan denne skicka en

    kommentar till lärarna, direkt genom applikationen. På så vis hjälper man lärarna att hålla rent i e-

    postinkorgen.

  • 25 (67)

    4. Vidareutveckling

    När vidareutveckling av systemet träder i kraft, skulle vi vilja påpeka att bland annat följande kan

    åtgärdas:

    Alla elever får samma prov, ”poängmässigt”.

    När eleven trycker på [Starta testet] slumpas det automatiskt fram ett individuellt prov utan att ta

    hänsyn till poäng.

    Det vore bra om man i ett vidareutvecklande skede låter läraren bestämma testets maxpoäng och att

    provet genereras utifrån detta villkor.

    Dock är det inget fel på det sättet som finns idag, då man kan läsa av poängen procentuellt.

    [Kursansvarig]

    Sökruta för att söka efter person och lägga till person istället för en hel klass.

    Just nu kan man antingen lägga till en hel klass till ett kurstillfälle, eller lägga till en enskild användare

    från en lång lista.

    Önskvärt vore att man enkelt skall kunna söka efter en person och lägga till denna individuellt till ett

    kurstillfälle.

    För att öka användarvänligheten skall det finnas autocomplete kopplat till denna sökruta.

    Kursansvarig ska kunna bestämma kommenteringstid.

    I dagsläget finns det en hårdkodad tid på 30 minuter för kommentering, där testet inte har någon

    särskild tidsbegränsning.

    Önskvärt vore om läraren själv kunde bestämma denna tid.

    Roller med Windows Authentication.

    När personer kan kopplas till roller i Windows Authentication så kan IsAdmin tas bort från tabellen

    Person i databasen.

    I Areas/Student/Views/Index.aspx byts då

    if (Model.IsAdmin == true)

    ut mot if(User.IsInRole("superadmin") || User.IsInRole("professor"))

    I controllerna har vi förberett en rad som kan bortkommenteras för att aktivera autentisering beroende

    på roll i databasen. Ovanför klassen CourseController finns t.ex följande rad bortkommenterad

    //[AccessDeniedAuthorize(Roles="superadmin, professor")],

    som begränsar åtkomsten till bara de personer som har rollen superadmin eller professor.

    Dessutom måste de lagrade procedurerna för tabellen Person uppdateras samt vyerna för

    Skapa/Editera Personer.

    Validering för att kolla att valt antal frågor för kursmomentet faktiskt finns i databasen, samt

    antal alternativ till frågan.

    I dagsläget görs ingen koll mot databasen då man skapar ett kursmoment, för att kolla om antalet valda

    frågor faktiskt finns i databasen. Detta är såklart ett måste, då det kan uppstå problem i applikationen

    om detta inte finns, dvs. om antalet valda frågor är flera än de som finns i databasen.

  • 26 (67)

    5. Övertagande organisation

    Applikationen kommer att lämnas över till Linnéuniversitetet.

    Enligt överenskommelse har universitetet fri tillgång till att vidareutveckla och distribuera

    systemet fritt.

    I samband med överlämnande vill vi uppmärksamma Linnéuniversitetets representant att läsa

    och ta ställning till punkten vidareutveckling i rapporten.

  • 27 (67)

    6. Diskussion

    Vad gjorde vi bra respektive vad gjorde vi mindre bra? Bra: Vi tog oss tid och gjorde en grundlig inledande fas på projektet,

    strukturerade oss och hade långa möten, där tankar ledde till diskussioner och där

    diskussioner formades till lösningar.

    Mindre bra: Vi borde läst på mer om subversion.

    Utvärdering av tidplanen - höll den? Vad beror det på?

    Då det var tänkt att alla skulle bekanta sig med alla områden inom projektet kunde det

    ändå tendera till att bli ostrukturerat, med tiden formades automatiskt grupper och

    ansvarsområden och det resulterade även i att arbetet kunde fortskrida lite snabbare, inget

    dubbelarbete. Vi hade regelbundna möten där vi var noga med att informera och upplysa

    övriga medlemmar om så väl kod som dokumentation för att alla skulle vara medvetna

    om hela projektets fortskridande och inte bara sitt eget område. Iterationsplanen var en

    grund varje vecka och vi strävade att hela tiden försöka slutföra iterationen enligt dess

    mål. Så med andra ord har vi lagt tyngd på att hela tiden reflektera över arbetsuppgifterna

    och försökt kartlägga hur pass tidskrävande varje del kan tänkas vara.

    Vi gjorde även en tydlig avgränsning i början för att förvissa oss om att kunna leverera

    utlovad del och lät resterande bli ”ett plus i kanten”, vilket även kund tyckte var ett bra

    förslag. Då vi höll tidsplanen kunde vi halvvägs in i projektet även besluta oss för att

    utveckla admingränssnittet.

    Då vi har använt oss av programmet Skype har vi alltid haft daglig kontakt, många

    frågeställningar ang. vad tycker du? Kan du kolla det här osv.

    Vår allmänna uppfattning är att då det uppkommer problem har vi haft en väldigt fin

    gruppsammansättning, och ett mycket bra samarbete. Detta har resulterat i att vi vågat

    fråga varandra i stället för att sitta tyst i flera timmar. Detta är också ett skäl till att vi

    hållit tidsplanen.

    Blev användarhandledningen tillräckligt bra?

    Ja, det var ett bra stöd att ha tillgång till handledning.

    Dock hade detaljerad information i förhand, kring dokumentation och liknande varit att

    föredra, istället för i efterhand.

    Kunde vi gjort annorlunda? Vi kunde ha använt ett annat versionshanteringssystem, då vi fick lite problem med

    Tortoise SVN. Vi kunde ha provat t.ex. GIT eller Mercurial istället.

    Vi fick mycket konflikter när vi var i samma filer och kodade. Konflikthantering var vi

    inte helt insatta i och hur det fungerade och detta belastade tidsplanen. På grund av detta

    valde vi att inte koda i samma filer och vi tog olika ansvarsområden. Detta ser vi i

    efterhand som en risk för projektet om någon projektmedlem skulle utgå och ingen är

    insatt i den personens arbete.

    Hur fungerade samarbetet inom och utom projektet?

  • 28 (67)

    Det fungerade bra. Vi hade i princip daglig kontakt via skype, hade man något problem

    fanns det nästan alltid andra gruppmedlemmar online att diskutera med.

    Var projektmöten, styrgruppsmöten med flera lagom långa? Tillräckligt effektiva? Vi höll mötena så långa det behövdes, alltså tills vi diskuterat igenom alla punkter vi

    bestämt oss för att ta upp. Effektiviteten var inte 100% alla gånger men det blev många

    skratt och arbetsmoralen var hög.

    Hölls mötena tillräckligt ofta? Kunde vi gjort på annat sätt? På måndagar hade vi stående gruppmöte 10:30 samt handledning med ett kort

    efterföljande reflektionsmöte 13:30. Torsdagar 14:00 hade vi kundmöte med efterföljande

    reflektionsmöte.

    Hur var riktlinjerna vi fick? Var de tydliga nog? Vi fick relativt fria händer, från början var riktlinjerna vi fick att skapa en ny

    examinationsapplikation som skulle kunna användas för examinering på distans.

    Utveckling skulle ske i ASP.NET MVC

    Fria händer är bra men vi hade önskat att få klarare krav/önskemål från början, som det

    var nu dök det upp allt eftersom.

    Motsvarade vi kundens krav? Kunden har på kundmöten, muntligen uttryckt, att han är mycket nöjd med resultatet och

    detta har även framförts vid delleveranser så vi vågar svara ja på denna fråga.

    Ja, vi inte bara uppfyllde de överenskomna målen utan vi överlevererade ordentligt i form

    av ett komplett administrationsgränssnitt.

    Gav vi realistiska förslag på lösningar? Kunde vi gjort annorlunda? Inom tidsramarna för projektet gav vi lösningar som var realistiska i förhållandet till

    tiden, vissa lösningar kunde tendera att inte vara helt perfekta som de kunde ha varit, om

    projektet hade haft en längre tidsplan. Det vi hade kunnat göra annorlunda är att gå in mer

    på detaljnivå rörande olika lösningar, dock återkommer vi till att tidsplanen var för

    krävande för det.

    Har vi haft ett system för tidiga varningar om planerna inte följs? Hur har det fungerat? Vi hade varje morgon 15 minuters scrummöte vilket vi tycker har varit till vår fördel, då

    vi snabbt kunde upptäcka problem eller liknande situationer som kunde belasta oss i vårt

    dagliga arbete. Detta gav också tydlig inblick i kollegors arbete.

  • 29 (67)

    7. Slutsatser

    Vi anser att vi nått ett mycket tillfredsställande resultat med tanke på den korta utvecklingstiden.

    Vi har lyckats ta fram ett fungerande system för online examinationer samt ett

    administratörsgränssnitt som gör att alla lärare på skolan skulle kunna använda systemet.

    Inom tidsramarna för projektet, gav vi lösningar som var realistiska i förhållande till tiden, vissa

    lösningar kunde tendera att inte vara helt perfekta som de kunde ha varit, om projektet hade haft

    en längre tidsplan. Det vi hade kunnat göra annorlunda är att gå in mer på detaljnivå rörande olika

    lösningar, dock återkommer vi till att iterationerna redan i utgångsläget var krävande, utrymme

    för ytterligare uppgifter fanns ej.

    Kunden har på kundmöten, muntligen uttryckt, att han är mycket nöjd med resultatet och detta har

    även framförts vid delleveranser så vi vågar tro att kunden är nöjd med projektet.

    En anledning till det kan tänkas vara att vi inte bara uppfyllde de överenskomna målen utan vi

    överlevererade, i form av ett komplett administrationsgränssnitt.

    Vi kunde ha använt ett annat versionshanteringssystem, då vi fick lite problem med Tortoise

    SVN. Vi kunde ha provat t.ex. GIT eller Mercurial istället.

    Vi fick mycket konflikter när vi var i samma filer och kodade. Konflikthantering var vi inte helt

    insatta i, hur det fungerade och det belastade tidsplanen negativt. På grund av detta valde vi att

    inte koda i samma filer och vi tog olika ansvarsområden. Detta ser vi i efterhand som en risk för

    projektet, för om någon projektmedlem, av någon anledning lämnat gruppen, så hade det tagit

    mycket tid att sätta sig in i den personens arbete.

    Vi har haft mycket roligt tillsammans och samarbetet har varit givande. Vi har alla fått nya

    kunskaper och det är med en tår i ögat som detta lider mot sitt slut, men vi är som sagt mycket

    nöjda med att vi i detta projekt nådde målflaggan!

  • 30 (67)

    8. Referenser

    Elektroniska källor:

    Dagens Nyheter- http://www.dn.se/nyheter/nutidstestet/nutidstestet-vecka-10

    (nutidsfrågorna)

    MVC 3 - http://www.asp.net/mvc/mvc3

    Google – www.google.se – Alltid en hjälp då felsökning är ett faktum.

    Muntliga källor:

    Mats Loock – Linnéuniversitetet

    Kontaktuppgifter feb-mars 2011:

    E-post: [email protected]

    Linnéuniversitetet: Avdelning Institutionen för datavetenskap, fysik och matematik

    Byggnad: Kalmar Nyckel A:3

    Telefon: 0480-497714

    http://www.dn.se/nyheter/nutidstestet/nutidstestet-vecka-10http://www.asp.net/mvc/mvc3http://www.google.se/mailto:[email protected]

  • 31 (67)

    9. Bilagor

    Bilaga 1: Testspecifikation med testfall

    Bilaga 2: Ex Iterationsplan

    Bilaga 3: Ex möteskallelse och protokoll

    Bilaga 4: Databasdiagram

  • 32 (67)

    Bilaga 1

    Testspecifikation

    Projektnamn: ExamApp

    Testfas: Utveckling

    Testledare: Emmilie Sidevåg

    Projektledare: Altinerande mellan medlemmarna i grupp 7

    Innehållsförteckning

    1 Inledning

    1.1 Syfte

    1.2 Mål

    1.3 Förutsättningar

    1.4 Avgränsningar

    2 Testfall

    2.1 Skapa ett test och navigera

    2.2 Utför ett test och skicka in.

    2.3 Utför ett test och skicka in (version 2)

    2.4 Skriv kommentarer till dina svar

    2.5 Svara på kommentar från läraren

    2.6 Svara på kommentar från läraren (version 2)

  • 33 (67)

    Inledning

    Denna testspecifikation samlar de testfall som skapats i samband med testning av online

    systemet ExamApp.

    ExamApp är under utveckling inom ramarna för kursen webbteknik 1 vid Linnéuniversitetet.

    I denna specifikation finns även fyra testfall som övergripande testar av de krav som finns

    kopplade till applikation. Testfallen testar av funktioner som:

    Skapa ett test och navigera

    Utför ett test och skicka in

    Skriv kommentarer till dina svar

    Svara på kommentarer från läraren

    1.1 Syfte

    Syftet med testspecifikationen som dokument är att samla alla samordnade testfall i ett

    dokument.

    Syftet med testfallen är att verifiera att kraven uppfyllts och att systemet levererar enligt

    kraven.

    1.2 Mål

    Målet med testspecifikationen är att vid testens slut, utgöra en dokumentation över vilka

    tester som genomförts och att redovisa utfallet per testfall.

  • 34 (67)

    1.3 Förutsättningar

    ExamApp har en koppling mot en databas av typen SQL server 2008. För att använda sig av

    applikationen krävs också att konto på lnu’s nätverk finns, då applikationen använder sig av

    Windows Authtentication. Även vpn uppkoppling om du befinner dig utanför nätverket.

    Alla testfall har samma förutsättningar om inget annat anges specifikt i testfallet.

    Gemensamma förutsättningar är:

    Dator

    Webbläsare

    Internetuppkoppling

    url – http://172.16.213.1/grupp7/

    vpn

    1.4 Avgränsningar

    Admingränssnittet tester kommer inte att dokumenteras pga. tidsbrist och pga. att det inte är

    huvudsyftet med projektet. Kund är informerad om detta och har även godkänt det.

  • 35 (67)

    Testfall

    Testaren ska följa instruktionerna och noterar resultatet i kolumnerna OK, Ej körbar &

    avvikelsenummer. Om utfallet motsvarar det förväntade resultatet noteras ja. I annat fall nej och

    ett avvikelsenummer, som sedan utvecklas under testfallstabellen. Testfallets titel är ett

    förtydligande över vad testfallet ska verifiera.

  • 36 (67)

    2.1 Skapa ett test och navigera

    Testfall-ID: 1

    Testare: Mats Loock

    Datum: 2011-02-18

    Systemversion: 1

    Behörighetsroll: Användare

    Underlag/krav: (Spårbarhet)

    Krav 9 (A ska starta testet via ett knapptryck)

    Krav 10 (Fråga med flervalssvar ska presenteras genom

    att slumpas fram)

    Krav 11 (Även en bild ska kopplas till en fråga)

    Krav 12 (När testet startat ska A kunna navigera till nästa

    fråga och till föregående fråga)

    Krav 13(Via översiktssidan ska A kunna se frågor med angivna svar)

  • 37 (67)

    Teststeg:

    Nr Instruktion Förväntat resultat OK

    (Ja/Nej)

    Ej

    körbar

    Avvikelse-

    nummer

    1 Välj kurs i

    dropdown.

    När du klickar i

    dropdownlistan ska det

    finnas kurser att välja, välj

    en kurs.

    Ja 1

    2 Välj kursmoment i

    dropdownlista

    När du klickar i

    dropdownlistan ska det

    finnas kursmoment att välja

    på, välj ett moment.

    Ja 2, 3

    3 Klicka på “Starta

    testet”

    Ett test med frågor ska starta Ja

    4 Gör repetitioner av

    steg 1 – 3.

    Olika svarsalternativ till

    frågorna bör visas när du

    slutligen klickar på den

    gröna knappen.

    Ja

    5 Någon av frågorna

    ska visa en bild till

    frågan

    Du ska se en bild på någon

    av frågorna, klicka på nästa

    fråga till du ser den…

    Ja

    6 Väljer ett

    svarsalternativ och

    klickar på “nästa

    Klicka i ett eller flera av

    svarsalternativen och klicka

    dig till nästa fråga

    Ja

  • 38 (67)

    fråga”.

    7 Studera sidan Du bör komma till en ny

    fråga

    Ja

    8 Välj ett

    svarsalternativ och

    klickar på

    “föregående fråga”

    Du bör komma till

    föregående fråga och

    svarsalternativen du klickade

    i bör vara sparade.

    Ja

    9

    Klicka dig vidare

    via knappen ”nästa

    fråga”

    Klicka dig vidare via

    knappen nästa fråga, tills

    den knappen byter namn till

    ”fortsätt”.

    Ja

    10 Klicka på knappen

    fortsätt

    Översiktssida ska

    presenteras

    Ja

    11 Studera

    översiktssidan

    Du ska här kunna se en

    överblick över frågorna som

    tillhör ditt test och de svar

    du valt till varje fråga

    Ja

  • 39 (67)

    AvvikelseNr: 1 och 2

    Avvikelsebeskrivning: Saknar instruktion om att man måste klicka på knappen Välj. Det räcker

    uppenbarligen inte bara med att välja kurs/moment i de nedrullningsbara listrutorna för att komma

    till nästa steg i guiden. Eller är detta intuitivt uppenbart…

    AvvikelseNr: 3

    Avvikelsebeskrivning:

    Måste välja Steg 1. Väljer man annat moment kraschar applikationen efter klick på knappen Välj

    och Starta testet.

    Analys:

    Presentationen av svaren i översikten bör nog utformas så användaren känner igen sig

    från frågan. Förslagsvis används därför ”read-only”-kryssrutor istället för en vanlig textsträng så

    att samtliga alternativ redovisas istället för enbart de alternativ man valt. (Det bör även klart

    framgå av översikten att man inte svarat på en fråga. Det är väl kanske inte en del av testet…)

  • 40 (67)

    2.2 Utför ett test och skicka in.

    Testfall-ID: 2

    Testare: Mats Loock Mats Loock

    Datum: 2011-03-03/09 2011-03-03/09

    Systemversion: 2

    Behörighetsroll: Användare

    Underlag/krav: (Spårbarhet)

    Feedback via översiktssidan bl.a. read only kryssrutor som visar svarade alternativ vid översikten

    enligt kundönskemål (feedback Testfall-ID 1)

    Implementera krav 15 (Om A vill skicka in ett ofullständigt test ska A först godkänna detta genom ett

    knapptryck)

    Implementera krav 16 (A avslutar testet manuellt genom ett knapptryck)

  • 41 (67)

    Teststeg:

    Nr Instruktion Förväntat resultat OK

    (Ja/Nej)

    Ej

    körbar

    Avvikelse-

    nummer

    1 Välj kursen

    Inledande

    programmerin

    g med C# i

    dropdownlista

    n

    Du ska komma åt kursen i

    dropdownlisstan

    Ja

    2 Klicka på

    knappen välj

    Du ska komma till nästa vy Ja

    3 Välj

    kursalternative

    t Steg1 i

    dropdownen

    Testet ska finnas i dropdown

    listan och du ska kunna välja

    det

    Ja

    4 Klicka på

    knappen välj

    Du ska komma till nästa vy

    ”Starta testet”

    Information om vilken kurs

    och elev det gäller ska synas

    under loggan. Du ska se:

    Inledande programmering

    med C# 1DV402

    Nathalie Törnemyr

    880906-000

    Du ska även se en text som

    uppmanar dig att läsa

    Ja

  • 42 (67)

    hjälptexten.

    5 Starta testet

    genom att

    klicka på den

    gröna knappen

    starta testet

    Ett nytt test ska genereras och

    du ska se fråga ett

    Ja

    6 Välj

    svarsalternativ

    ett och två och

    klickar på

    “nästa fråga”

    Du bör komma till fråga två Nej 1

    7 Klicka på

    föregående

    fråga

    Du bör komma till fråga 1

    och svarsalternativen ett och

    två bör vara sparade.

    X

    8 Klicka på

    knappen nästa

    Du bör komma till fråga två X

    9 Lämna fråga

    två tom och

    klicka på nästa

    fråga

    Du bör komma till fråga tre X

    10 Klicka i

    valfritt svar på

    fråga tre, eller

    Det ska gå att klicka i

    checkbox eller skriva i

    X

  • 43 (67)

    skriv i textfält

    om det finns

    ett sådant

    textfält

    11 Klicka på

    knappen nästa

    Du ska komma till fråga fyra X

    12 Lämna nu

    fråga 4 tom,

    klicka på

    knappen nästa.

    Fråga fem ska synas, svara ett

    av alternativen. Knappen

    nästa fråga bör ha bytt namn

    till ”fortsätt”

    X

    13 Klicka på

    knappen

    fortsätt

    Du bör komma till en

    översiktssida. Fråga 2 och 4

    bör i ditt fall vara

    rödmarkerade då du inte

    svarat på dessa frågor

    X

    14 Scrolla ner till

    nummer 4,

    som också ska

    vara

    rödmarkerad

    ute i listkanten

    till vänster

    Klicka på

    knappen ändra

    som tillhör

    fråga 4

    Du bör komma till fråga fyra,

    som har tomma checkboxar el

    textfält.

    X

  • 44 (67)

    15 Klicka i ett

    alternativ eller

    ange text i

    textfältet som

    tillhör fråga

    fyra om det

    finns ett

    sådant.

    Det ska gå att klicka i en

    checkbox eller gå att skriva i

    ett textfält

    X

    16 Klicka på

    nästa fråga

    Du ska komma till fråga fem X

    17 Klicka på

    knappen

    ”fortsätt”

    Du kommer åter till

    översiktssidan, och ser att en

    fråga inte är besvarad, fråga

    2.

    X

    18 Scrolla längst

    ner på sidan,

    klicka på

    knappen

    ”Lämna in”

    Du bör komma till en sida där

    du ska bekräfta att du vill

    lämna in ett ofullständigt test.

    X

    19 Klicka på

    knappen

    ”lämna in”

    Här slutar detta testfall!! X

  • 45 (67)

    AvvikelseNr: 1

    Avvikelsebeskrivning: ”Gul-ful”-sida visas.

    Analys: -

  • 46 (67)

    2.3 Utför ett test och skicka in (version 2).

    Testfall-ID: 2 version 2

    Testare: Mats Loock

    Datum: 2011-03-09

    Systemversion: 2

    Behörighetsroll: Användare

    Underlag/krav: (Spårbarhet)

    Testfall-ID: 2

    Feedback via översiktssidan bla read only kryssrutor som visar svarade alternativ vid översikten

    enligt kundönskemål (feedback Testfall-ID 1)

    Implementera krav 15 (Om A vill skicka in ett ofullständigt test ska A först godkänna detta genom ett

    knapptryck)

    Implementera krav 16 (A avslutar testet manuellt genom ett knapptryck)

  • 47 (67)

    Teststeg:

    Nr Instruktion Förväntat resultat OK

    (Ja/Nej)

    Ej

    körbar

    Avvikelse-

    nummer

    1 Välj kursen

    Inledande

    programmering med

    C# i dropdownlistan

    Du ska komma åt kursen i

    dropdownlisstan

    Ja

    2 Klicka på knappen

    välj

    Du ska komma till nästa vy Ja

    3 Välj kursalternativet

    Steg1 i dropdownen

    Testet ska finnas i dropdown

    listan och du ska kunna välja

    det

    Ja

    4 Klicka på knappen

    välj

    Du ska komma till nästa vy

    ”Starta testet”

    Information om vilken kurs

    och elev det gäller ska synas

    under loggan. Du ska se:

    Inledande programmering

    med C# 1DV402

    Nathalie Törnemyr

    880906-000

    Du ska även se en text som

    Ja

  • 48 (67)

    uppmanar dig att läsa

    hjälptexten.

    5 Starta testet genom

    att klicka på den

    gröna knappen starta

    testet

    Ett nytt test ska genereras

    och du ska se fråga ett

    Ja

    6 Välj svarsalternativ

    ett och två och

    klickar på “nästa

    fråga”

    Du bör komma till fråga två Ja

    7 Klicka på

    föregående fråga

    Du bör komma till fråga 1

    och svarsalternativen ett och

    två bör vara sparade.

    Ja

    8 Klicka på knappen

    nästa

    Du bör komma till fråga två Ja

    9 Lämna fråga två tom

    och klicka på nästa

    fråga

    Du bör komma till fråga tre Ja

    10 Klicka i valfritt svar

    på fråga tre, eller

    skriv i textfält om

    Det ska gå att klicka i

    checkbox eller skriva i

    textfält

    Ja

  • 49 (67)

    det finns ett sådant

    11 Klicka på knappen

    nästa

    Du ska komma till fråga fyra Ja

    12 Lämna nu fråga 4

    tom, klicka på

    knappen nästa.

    Fråga fem ska synas, svara

    ett av alternativen. Knappen

    nästa fråga bör ha bytt namn

    till ”fortsätt”

    Ja

    13 Klicka på knappen

    fortsätt

    Du bör komma till en

    översiktssida. Fråga 2 och 4

    bör i ditt fall vara

    rödmarkerade då du inte

    svarat på dessa frågor

    Ja

    14 Scrolla ner till

    nummer 4, som

    också ska vara

    rödmarkerad ute i

    listkanten till

    vänster

    Klicka på knappen

    ändra som tillhör

    fråga 4

    Du bör komma till fråga

    fyra, som har tomma

    checkboxar el textfält.

    Ja

  • 50 (67)

    15 Klicka i ett

    alternativ eller ange

    text i textfältet som

    tillhör fråga fyra om

    det finns ett sådant.

    Det ska gå att klicka i en

    checkbox eller gå att skriva i

    ett textfält

    Ja

    16 Klicka på nästa

    fråga

    Du ska komma till fråga fem Ja

    17 Klicka på knappen

    ”fortsätt”

    Du kommer åter till

    översiktssidan, och ser att en

    fråga inte är besvarad, fråga

    2.

    Ja

    18 Scrolla längst ner på

    sidan, klicka på

    knappen ”Lämna in”

    Du bör komma till en sida

    där du ska bekräfta att du

    vill lämna in ett

    ofullständigt test.

    Ja

    19 Klicka på knappen

    ”lämna in”

    Här slutar detta testfall!! Ja

    AvvikelseNr:

    Avvikelsebeskrivning:

    Analys: Saknas

  • 51 (67)

    2.4 Skriv kommentarer till dina svar.

    Testfall-ID: 3

    Testare: Mats Loock

    Datum: 2011-03-16

    Systemversion: 3

    Behörighetsroll: Användare

    Underlag/krav: (Spårbarhet)

    Krav 18 (När testet skickats iväg får A möjlighet att skriva kommentarer till varje fråga som kommer

    presenteras för läraren i kursen)

    Krav 20 (Student ska kunna kommentera sina svar direkt efter inlämnad examination. Om provet har

    tidsbegränsning måste kommentarer göras inom provtiden. Finns ingen tidsbegränsning måste man

    kommentera inom 30 min efter inlämnat prov.)

  • 52 (67)

    Teststeg:

    Nr Instruktion Förväntat resultat OK

    (Ja/Nej)

    Ej

    körbar

    Avvikelse-

    nummer

    1 utför testfall 2 tom

    punkt 18

    Du bör komma till en sida

    där du ska bekräfta att du

    vill lämna in ett

    ofullständigt test.

    Ja

    2 Klicka på knappen

    ”lämna in”

    Du bör komma till

    resultatsidan

    Ja

    3 Skriv i en kommentar i

    rutan på fråga 2, skriv:

    jag vet inte

    Det ska gå att skriva i texten

    (jag vet inte) i textboxen

    Ja

    4 Scrolla ner så att du

    hämnar längst ner på

    resultatsidan, klicka på

    den gula knappen spara

    kommentarer

    Det ska gå att klicka på

    knappen och du bör komma

    till startsidan igen där du bör

    se en grön knapp med texten

    “se testresultat”

    Ja

    5 Klicka på den gröna

    knappen

    Du bör komma till

    resultatsidan och se dina

    svar och eventuella

    kommentarer MEN du ska

    inte kunna ange en ny

    Ja

  • 53 (67)

    kommenntar nu.

    6 Scrolla ner och klicka

    på den gula knappen

    Tillbaka

    Det ska gå att klicka på

    knappen och du ska

    återkomma till startsidan

    Ja

    7 Ditt testfall sluta här! Maila nu Emmilie och

    meddela att du slutfört ett

    test, så ska vi svara på dina

    kommentarer

    Ja

    AvvikelseNr:

    Avvikelsebeskrivning:

    [Om du hittar något att kommentera skriver du in ett avvikelsenummer i tabellen och anger

    sedan numret nedan, följt av önskad kommentar]

    Analys:

    Önskar att då resultatet presenteras ska samtliga alternativ visas på samma sätt som då testet

    genomfördes, d.v.s. kryssrutor ska användas istället för punktlista. Det gäller både ”Du har

    svarat” och ”Rätt svar”.

  • 54 (67)

    2.5 Svara på kommentar från läraren.

    Testfall-ID: 4

    Testare: Mats Loock

    Datum: 2011-03-17

    Systemversion: 4

    Behörighetsroll: Användare

    Underlag/krav: (Spårbarhet)

    Krav 20 (Student ska kunna kommentera sina svar direkt efter inlämnad examination. Om provet har

    tidsbegränsning måste kommentarer göras inom provtiden. Finns ingen tidsbegränsning måste man

    kommentera inom 30 min efter inlämnat prov.)

    Krav 22 (Student ska kunna kommentera lärares kommentarer efter provslut (tidsbegränsning?)

  • 55 (67)

    Nr Instruktion Förväntat resultat OK

    (Ja/Nej)

    Ej

    körbar

    Avvikelse-

    nummer

    1 Ange url

    http://172.16.213.1/gru

    pp7/

    Du bör komma till startsidan Ja

    2 Välj under kurstillfälle

    som student, C# i

    dropdown

    Det ska gå att välja C# i

    dropdown

    Ja

    3 Klicka på den gula

    knappen välj i den

    delen

    Du ska komma till nästa sida Ja

    4 och där ska du välja

    steg 1 i

    dropdownlistan, klicka

    på gula knappen ”välj”

    Du ska komma till nästa sida

    och längst ner ska du kunna

    se att det finns besvarad

    kommentar till en av dina

    frågor

    Ja

    5 Klicka på den gula

    länken som

    representerar en fråga

    (fråga 2)

    Du ska komma till nästa sida

    och där se din lärares

    kommentar

    Nej 1

  • 56 (67)

    6 Skriv ytterligare

    kommentar i textbox,

    skriv ”nu har jag jätte

    kul”

    Klicka på gula knappen

    svara

    X

    7 Ditt testfall sluta här! X

    AvvikelseNr: 1

    Avvikelsebeskrivning:

    ”Gul-ful”-sida.

  • 57 (67)

    Analys: Det visade sig att projektmedlemmarna gjorde en publicering till Hangaren

    (acceptanstest) precis samtidigt som kund utförde testet, därav gulful sida, kund ombads att

    göra samma test igen.

  • 58 (67)

    2.6 Svara på kommentar från läraren (version 2).

    Testfall-ID: 4

    Testare: Mats Loock

    Datum: 2011-03-17

    Systemversion: 3

    Behörighetsroll: Användare

    Underlag/krav: (Spårbarhet)

    Krav 20 (Student ska kunna kommentera sina svar direkt efter inlämnad examination. Om provet har

    tidsbegränsning måste kommentarer göras inom provtiden. Finns ingen tidsbegränsning måste man

    kommentera inom 30 min efter inlämnat prov.)

    Krav 22 (Student ska kunna kommentera lärares kommentarer efter provslut (tidsbegränsning?)

  • 59 (67)

    Teststeg:

    Nr Instruktion Förväntat resultat OK

    (Ja/Nej)

    Ej

    körbar

    Avvikelse-

    nummer

    1 Ange url

    http://172.16.213.1/grupp

    7/

    Du bör komma till

    startsidan

    Ja

    2 Välj under kurstillfälle

    som student, C# i

    dropdown

    Det ska gå att välja C# i

    dropdown

    Ja

    3 Klicka på den gula

    knappen välj i den delen

    Du ska komma till nästa

    sida

    Ja

    4 och där ska du välja steg

    1 i dropdownlistan,

    klicka på gula knappen

    ”välj”

    Du ska komma till nästa

    sida och längst ner ska

    du kunna se att det finns

    besvarad kommentar till

    en av dina frågor

    Ja

    5 Klicka på den gula

    länken som representerar

    en fråga (fråga 2)

    Du ska komma till nästa

    sida och där se din

    lärares kommentar

    Ja

    6 Skriv ytterligare

    kommentar i textbox,

    skriv ”nu har jag jätte

    Klicka på gula knappen

    svara

    Ja

  • 60 (67)

    kul”

    7 Ditt testfall sluta här! Ja

    AvvikelseNr: 1

    Avvikelsebeskrivning:

    Analys:

    [Under analys skriver du lite om din uppfattning ang det som ombeds testas, känns det

    stabilt, är någon del lite ”skakig”. Hittar du förbättringar och vad är du nöjd med]

  • 61 (67)

    Bilaga 2

    Iterationsplan inför iteration 9

    Projektledare - Michael Holmgren

    Tidsrapport iteration 8

    Emmilie Nathalie Michael Markus

    Krav

    Analys/Design

    Implementation - 17 24 32

    Test 8 - 2 0,5

    Leverans 1 1 - 0,5

    Möten 3 3,5 2 2

    Övrigt 18 2 - 1

    TOTALT 30h 23,5h 28h 36h

    Tidsrapport totalt

    TOTALT 165h 193,5h 167.5h 210h

    Aktuell risklista

    1. Frånvaro av projektmedlemmarna - Medel risk 2. Kunden upptagen/sjuk - Medel risk 3. Förlorad data - Medel risk

  • 62 (67)

    Mål Iteration 8

    Användargränssnitt:

    Krav 17 Om testtiden löpt ut och användaren fortfarande är aktiv i testet, kommer testet att "släckas" ner och skickas in automatiskt. Ok

    Krav 26 När student skriver prov och hon väljer att klicka på “översikt” eller “hjälp” ska hon uppmärksammas om att aktuell fråga inte sparas om hon lämnar den. ok

    Krav 27 Student ska på informationssidan uppmärksammas om eventuell tidsbegränsning. ok

    Krav 28 Allmän felsida istället för en gulful sida ok

    Lärargränssnitt:

    Krav 3 Lärare ska kunna modifiera poäng för varje fråga vid rättning ok

    Admingränssnitt:

    Krav 16 Kursansvarig ska kunna radera roller för sina kurser (ta bort användare från kurstillfället) ok

    Krav 19 Kursansvarig ska kunna editera frågor från kursmoment för sina kurser ok

    Krav 18 Kursansvarig ska kunna radera frågor från kursmoment för sina kurser ok

    Krav 17 Kursansvarig ska kunna lägga till frågor till kursmoment för sina kurser ok

    Krav 20 Kursansvarig ska kunna lägga till svarsalternativ till frågor för sina kurser ok

    Krav 21 Kursansvarig ska kunna radera svarsalternativ från frågor för sina kurser ok

    Krav 22 Kursansvarig ska kunna editera svarsalternativ för sina kurser ok Krav 28 Kursansvarig ska kunna skapa klass ok Krav 29 Kursansvarig ska kunna radera klass från program ok

  • 63 (67)

    Krav 30 Kursansvarig ska kunna editera klass ok Krav 31 Kursansvarig ska kunna lägga till bilder till frågor för sina kurser ok Krav 32 Kursansvarig ska kunna radera bilder för sina kurser ok Krav 33 Kursansvarig ska kunna editera bilder för sina kurser ok Krav 34 Kursansvarig ska kunna lägga till hel klass till kurstillfälle ok

    Mål Iteration 9

    Administrationsgränssnitt

    Krav 35 Om man har rollen elev i en kurs ska man inte kunna komma åt administrationsgränssnittet

    Uppgifter Iteration 9

    Projektpresentation (24/3 13-17) Examination, deadline för inlämning (30/3 10:00)

  • 64 (67)

    Bilaga 3

    Möteskallelse

    Gruppmöte

    Datum: 7 mars 2011

    Tid: 10:30 (stående)

    Plats: Skype

    Typ av möte Gruppmöte för att gå igenom iteration 7

    Kallelse från Emmilie Sidevåg

    Deltagare Michael, Markus, Nathalie

    Ämnen

    1. Ämne: Programmering

    Ansvarig: Nathalie & Markus

    Anteckning: Status och informera övriga i gruppen

    Timerfunktionen - Michael - Hur går det?

    2. Ämne: Test

    Ansvarig: Emmilie

    Anteckning: Testpersoner för ad-hocktestning

    3. Ämne: Mål

    Ansvarig: Emmilie

    Anteckning Gå igenom målen för iterationen tillsammans som grupp

  • 65 (67)

    4. Ämne: Windows Auth

    Ansvarig: Emmilie

    Anteckning: Implementation?

    5 Ämne: Tidsredovisning

    Ansvarig: Emmilie (Alla fyller dock i sin egen tid)

    Anteckning: Fyll i er tid på Google docs i Iteration 7

    6 Övrigt

    Ytterligare information:

    Ta med Tankar och funderingar från föregående iteration.

    Läs/ Gör detta

    före mötet Ha koll på dina uppgifter och vad som förväntas av dig denna

    iteration för en kortare presentation tillövriga i gruppen

    Kommentarer Till ämne 2: Ad hoc-testning är en form av programvarutestning som utförs utan detaljerad plan. Ofta är testerna avsedda att köras en enda gång, vilket stämmer överens med betydelsen av 'ad hoc', som är 'för detta speciella ändamål'. Ofta utförs den som improviserad testning, testaren försöker hitta buggar med alla möjliga hjälpmedel som verkar lämpliga vid tillfället...

    Anteckningar för Gruppmöte

    http://sv.wikipedia.org/wiki/Programvarutestninghttp://sv.wikipedia.org/wiki/Ad_hoc

  • 66 (67)

    Skype, 7 mars 2011 10:30

    Anteckningar från mötet: Målen från admingränssnittet inte uppfyllda. Omstrukturering av kod prioriterad.

    Kommentar

    Då admingränssnittet ligger utanför de egentliga kraven sköts dessa upp till nästa iteration och

    Implementering av Windows Authentication gjordes samt en omstrukturering av applikationen med

    bl.a. en ny Area samt mindre förändringar i databasen, detta tog längre tid än beräknat då det

    uppstod problem.

    Testapplikationen i stora delar klar.

    Timer för test/kommentering skall göras under måndag. Michaelläser på om AJAX för att på ett

    smidigt sätt spara ikryssade alternativ ifall man klickar på länkarna “Översikt” / “Hjälp”.

    Ad hoc testning påbörjas under veckan. Emmilie ansvarar för att dela ut uppdraget till olika insatta

    personer inom området.

    Windwows authentication har diskuterats och skall implementeras i veckan. Markus hjälper Nathalie

    med utplockningen av inlockad användare.

    Dokumentation kring projektet skall påbörjas av Emmilie och Michael.

  • 67 (67)

    Bilaga 4