examapp - lnu.seorion.lnu.se/pub/education/course/1dv411/vt14/slutrap...grundläggande programmering...
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