PRINTING UNITED ONLINE Eindopdracht GMTSTR7
Gemaakt door: Dairo Bosschart (0763673) Stefan Fernandes (0787744 Docent: M. Santcroos
Inhoudsopgave
Inhoudsopgave ........................................................................................................................... 2 Inleiding ..................................................................................................................................... 3 Opdracht ................................................................................................................................. 3 Definitie Lijst ............................................................................................................................. 4 Website Onderhoud ................................................................................................................ 5 Veiligheid ............................................................................................................................... 5 Promotie ................................................................................................................................. 6 Domein Model............................................................................................................................ 7 ERD ............................................................................................................................................ 8 Testplan ...................................................................................................................................... 9 Bijlagen .................................................................................................................................... 14
2
Inleiding
Opdracht Er moet een nieuwe website ontwikkeld worden voor Printing United, een jong grafiemedia bedrijf dat zich specialiseert in printmedia. Deze website moet ervoor zorgen dat het bedrijf zeer toegankelijk en bereikbaar is voor de klanten. De website moet de klant in staat stellen direct en automatisch offertes op te vragen en in staat stellen direct online zelf drukwerk te maken door bijvoorbeeld bestanden te uploaden. Ook moeten zowel Printing United als de klant in staat zijn op de website de bestelling van de klant te volgen en de gemaakte offertes kunnen inzien in een soort workflow onderdeel.
3
Definitie Lijst
detail pagina webpagina welke extra details geeft. domeinmodel visuele weergave van relaties tussen de classes zonder attributen ERD een visuele weergave van relaties en entiteiten met attributen factuur een document dat de betalingsverplichting van een klant aan de leverancier weergeeft. Google ranking dit bepaald hoe hoog je in de zoekresultaten van Google komt Hacker iemand die via internet toegang tot de applicatie probeert te krijgen Moscow Value (MV) Een techniek die de prioriteit van de specificatie aangeeft. • • • •
M - MUST have this. S - SHOULD have this if at all possible. C - COULD have this if it does not affect anything else. W - WON'T have this time but WOULD like in the future.
nieuwsbericht een tekst bericht zonder afbeeldingen enz. resolutie het aantal pixels in de hoogte en in de breedte stakeholder een belanghebbende Stakeholder Value (SV) De waarde die de specificatie bij de stakeholders heeft. toegankelijkheid de mate waarin het bedrijf is bereikbaar, begrijpbaar en bruikbaar is uploaden het verplaatsen van een bestand op je eigen computer naar een server vaste klant een bezoeker die een eigen gebruikers account heeft aangemaakt 4
Specificaties
Website Onderhoud
1 2 3 4 5 6 7 8
Beheerders kunnen alleen als beheerder inloggen op een aparte inlogpagina voor beheerders. (SV: 5/5 MV: M) Ingelogde beheerders kunnen de website aanpassen m.b.v formulieren in het cms systeem, welke alleen toegankelijk zijn voor de beheerders. (SV: 5/5 MV: M) Nieuwsberichten kunnen alleen worden ingevoerd door ingelogde beheerders, dmv een daarvoor bestemd formulier.(SV: 4/5 MV: S) Het FAQ onderdeel is op elk moment aan te passen door de beheerders met behulp van een daarvoor bestemd formulier welke in het cms systeem te vinden is. (SV: 3/5 MV: C) Met behulp van een formulier kunnen productgroepen op de site alleen worden aangemaakt door de beheerders. (SV: 5 MV:M) Producten op de site kunnen alleen worden aangemaakt door de beheerders met behulp van een daarvoor bestemd formulier. (SV: 4/5 MV: S) Met behulp van een formulier kan de beheerder voor ieder product bepalen welke aanpassingsmogelijkheden de bezoeker heeft. (SV: 5/5 MV: M) Orders van de website worden na plaatsing automatisch opgeslagen in het boekhoudsysteem. (SV: 3/5 MV: C)
Veiligheid
9 10 11 12 13 14 15 16 17
5
Klanten en bezoekers mogen geen toegang hebben tot gegevens van andere klanten. (SV:4/5 MV:S) Klanten en bezoekers kunnen geen content veranderen van de website. (SV:4/5 MV:S) Klanten en bezoekers kunnen geen nieuwsberichten plaatsen. (SV:4/5 MV:S) Klanten en bezoekers kunnen geen producten toevoegen. (SV:4/5 MV:S) Klanten en bezoekers kunnen geen productgroepen toevoegen. (SV:4/5 MV:S) Klanten en bezoeker kunnen niet als een andere klant inloggen(SV:4/5 MV:S) Klanten en bezoekers kunnen geen bestellingen doen op de naam van een andere klant. (SV:4/5 MV:S) Klanten en bezoekers kunnen niet als beheerder inloggen. (SV:4/5 MV:S) Het systeem kan door niemand vernield worden(SV:4/5 MV:S)
Gebruiksvriendelijkheid / functionaliteit Klanten
18 Elke bezoeker, ongeacht de locatie, heeft de mogelijkheid om een gebruikers account aan te maken. (SV: 5/5 MV: M) 19 De klant kan inloggen op zijn eigen gebruikers account 20 Via de aangeboden producten is er een detail pagina van het betreffende product te bereiken dmv een link.(SV: 5/5 MV: M) 21 Op de detail pagina van een product kan de klant bestanden uploaden die gebruikt kunnen worden bij de printopdracht.(SV/5/5 MV:M). 22 Op de detail pagina kan de klant het product samenstellen. (SV:5/5 MV:M) 23 Op de detail pagina kan de klant het product bestellen. (SV:5/5 MV:M) 24 Op de detail pagina kan de klant het product betalen met IDeal, Creditcard, Paypal en bankoverschrijvingen. (SV: 5/5 MV:M) 25 De website heeft een Frequently Asked Questions (FAQ) gedeelte, welke toegankelijk is voor iedereen die de website bezoekt. (SV: 4/5 MV: S) 26 Een klant moet in staat zijn om op de website, binnen 10 klikken, zelf kaarten en folders samen te stellen. (SV: 4/5 MV: S) 27 De klant krijgt per email een PDF van 150DPI van zijn samengestelde drukwerk. (SV: 4/5 MV:S) 28 Op de Server wordt het samengestelde drukwerk van een klant opgeslagen als een PDF van 300DPI. 29 Ingelogde klanten kunnen alle bestellingen die ooit door hen zijn gedaan zien op een overzichtspagina.(SV: 4/5 MV: S) 30 De status van bestellingen moeten automatisch geregistreerd en geüpdate worden in database. (SV: 5/5 MV: M) 31 De klanten kunnen inzicht krijgen in de status van de opdracht via een “opdracht status” webpagina in hun gebruikers account. (SV: 4/5 MV: S) 32 De tekst op de website is voor elke bezoeker leesbaar bij een resolutie van minimaal 800x600. (SV: 5/5 MV: M) 33 Alle functies van de website moeten in Safari, Opera, Internet Explorer, en Firefox werken. (SV: 5/5 MV: S) 34 Klanten kunnen het bedrijf op de hoogte stellen van fouten en onduidelijkheden op de website d.m.v. een “raporteer probleem” knop, welke linkt naar een formulier, die de bezoeker kan gebruiken om een probleem te emailen naar de beheerders. (SV: 4/5 MV: S) 35 De applicatie is toegankelijk voor iedereen die in het bezit is van een internetverbinding en een computer. (SV: 5/5 MV: M) Promotie
36 De website komt op de eerste pagina in de Google zoekmachine bij zoekopdrachten welke de woorden “printen” en “drukken” bevatten. (SV: 3/5 MV: C) 37 De teksten van de website kunnen ook in het Engels worden weergegeven. (SV: 3/5 MV: C)
6
Domein Model
7
ERD
Website_info -info_id : int -kop : char -tekst : char -timestamp
* * leest gebruikers 1
-ip_adres -online_timestamp -type -gebruikers_id
1
leest
1..* 1
1..*
1..*
klanten 1
-klant_id : int -klant_voornaam : char -klant_achternaam : char -klant_gebruikersnaam : char -klant_wachtwoord : char -klant_straat : char -klant_huisnummer : int -klant_huisnummer_toevoeging : char -klant_postcode : char -klant_woonplaatst_id : int -klant_telefoonnummer : char -klant_geb_datum : Date
FAQ
1
-FAQ_id : int -vraag : char -antwoord : char
beheerders -beheerder_id : int -beheerder_gebruikersnaam : char -beheerders_waachtwoord : char *
1
plaatst
1 1
plaatst
1
personeel
*
-personeels_id : int -personeels_voornaam : char -personeels_achternaam : char -personeels_gebruikersnaam : char -personeelswachtwoord : char
0..* 1 orderstatus
Nieuwsberichten -nieuws_id : int -nieuws_kop : Char -nieuwstext : Char -nieuws_datum : Date -Nieuws_plaatsing_timestamp
-orderstatus_id : int -status : char doet
1 behandeld
1
1 heeft/hebben
betalingen -betaling_id : int -betaling_klant_id : int -betaling_bedrag : decimal -betaling_datum_tijd -id_bestelling
1
Bestellingen 1..*
-bestelling_d -id_klant -bestelling_timestamp -betaling_status -order_status_id
opdrachten -opdracht_id : int -id_product : int -id_tekst : int -opdracht_timestamp -opdracht_gebruiker_id : int -opdracht_pdf_small -opdracht_pdf_big -id_bestelling : int
*
Voert in *
Productgroepen
1
-groep_id -groepnaam
1..*
1..*
Voert in
Bestaat uit 1 Bestaat uit
*
Producten 1
bevat 1..* 1
8
1
-product_id : int -product_naam : char -product_source : char
Testplan
Het testplan is bedoeld om achter fouten te komen die in het systeem zitten aan de hand van de opgestelde specificaties. Met behulp van het commentaar wat de tester of developper invult kan men precies zien welke fouten er zijn en wat er eventueel verbeterd moet worden.
1. Alleen beheerders kunnen als beheerder inloggen op een aparte inlogpagina voor beheerders. TEST 1.1 Doel :
Een beheerder komt na het inloggen met zijn gebruikersnaam en zijn wachtwoord op de welkomspagina van beheerders terecht. Techniek : Dit gaat getest worden door externe testers dmv Monkey testing. Situatie : De beheerdergegevens staan al in de database Test case : De testpersonen krijgen een lijst met de inloggegevens van de gebruikers. Ze proberen voor elke beheerder uit of er ingelogd kan worden met de inloggegevens van die beheerder. Slagingskans : De test is klaar wanneer 80% van de beheerders is gechecked op inloggen. De test klopt wanneer in testformulier1 alle nee’s zijn doorgestreept. Mocht er 1 of meer ja’s op het testformulier aanwezig zijn, dan betekend dat niet alle beheerders kunnen inloggen. Er zit dan een fout die de scripter moet oplossen. Als de scripter dit denkt opgelost te hebben moet de test opnieuw worden gedaan, net zolang de test klaar is. Aannames :
er wordt vanuit gegaan dat de testers de inloggegevens goed invullen. Er zijn minder dan 20 beheerders. Hulpmiddelen : De inloggegevens van alle beheerders, testformulier(bijlage TEST 1.1)
TEST 1.2 Doel :
Techniek : Situatie : Test case :
9
Vermijden dat niet beheerders, welke misschien in handen zijn gekomen van of het wachtwoord of de gebruikersnaam van de beheerder in kunnen loggen als beheerder. Inloggen mag alleen met een goede combinatie tussen gebruikersnaam en wachtwoord. Dit gaat getest worden door externe testers dmv Monkey testing. De beheerdersgegevens staan al in de database De testpersonen krijgen een lijst met de inloggegevens van de gebruikers. Ze proberen bij meerdere beheerders uit of er op een andere manier ingelogd kan worden als beheerder. Dit zullen zij doen door een goede gebruikersnaam te combineren met een fout wachtwoord, een goed wachtwoord te combineren met een verkeerde gebruikersnaam, één of beide velden leeg laten, 1 of beide gegevens met hoofdletters in te voeren.
Slagingskans : De test is klaar wanneer alle mogelijkheden minimaal 5 keer zijn uitgeprobeerd. Het doel is bereikt als er geen enkele manier is om als een beheerder in te loggen dan de goede combinatie van gebruikersnaam en wachtwoord. Voor het formulier geld dus dat alle ja’s zijn doorgestreept. Het doel is niet gehaald als er ook maar 1 manier is om als beheerder in te loggen Aannames : We gaan ervan uit dat wanneer 5 van de beheerders zijn gechecked en goed door de test zijn gekomen, dit voor alle beheerders geldt. Hulpmiddelen : De inloggegevens van enkele beheerders, testformulier(bijlage TEST 1.2)
10
26.De bezoekers zijn in staat zijn op de website, binnen 10 klikken, zelf kaarten en folders samen te stellen met zelf getypte tekst en een zelfgekozen lettertype.
TEST 26.1 Doel :
Via zoveel mogelijk manieren kaarten en folders kunnen samenstellen binnen 10 klikken. Techniek : Dit gaat getest worden door de developpers dmv Scenario Testing Situatie : De lettertypes en kaartjes/folders staan in de database. De website is voor het grootste gedeelte gebouwd. Test case : De probeert op zoveel mogelijk manieren een zelfgemaakte folder/kaartje samen te stellen. Slagingskans : De test is klaar wanneer alle mogelijke scenario’s zijn doorlopen. Het doel is bereikt wanneer het gemiddelde aantal clicks lager is dan 10. Aannames : er wordt vanuit gegaan dat de gebruikers de site niet kennen. Hulpmiddelen : De maak-zelf-kaarten/folder-applicatie, testformulier(bijlage TEST 26.1)
TEST 26.2 Doel :
Erachter komen welke manieren langer dan 10 keer klikken kosten om een folder of kaart samen te stellen. Erachter komen welke mogelijke onduidelijkheden zich in het systeem voordoen waardoor een gebruiker meer dan 10 klikken nodig heeft om een product samen te stellen. Techniek : Dit gaat getest worden door externe testers dmv Exploratory testing. Situatie : De lettertypes en kaartjes/folders staan in de database. De website is voor het grootste gedeelte gebouwd. Test case : De testpersonen probeert op zoveel mogelijk manieren een zelfgemaakte folder/kaartje samen te stellen met meer dan 10 keer klikken. De testpersoon noteert elke scenario die meer dan 10 klikken in beslag neemt. Slagingskans : De test is klaar wanneer alle mogelijke scenario’s zijn doorlopen. Heeft de testpersoon een mogelijke manier gevonden dat de gebruiker meer dan 10 keer klikt dan moet er gericht naar dit scenario worden gekeken. Er wordt dan gekeken naar onduidelijkheden, welke er mogelijk zijn voor de gebruiker waardoor hij niet het ideale pad doorloopt. Zo nodig moet de website worden aangepast met alle duidelijkheid voor de gebruiker hoe hij/zij een folder/ kaart kan samenstellen. Aannames : er wordt vanuit gegaan dat de gebruikers de site niet kennen. Hulpmiddelen : De maak-zelf-kaarten/folder-applicatie, testformulier(bijlage TEST 26.2)
11
6. Producten op de site kunnen alleen worden aangemaakt door de beheerders met behulp van een daarvoor bestemd formulier. TEST 6.1 Doel :
Testen of een product aangemaakt kan worden en wordt opgeslagen in de database. Ook worden de grenzen bepaald wanneer een product kan worden opgeslagen. Techniek : Dit gaat getest worden door de developpers zelf dmv Boundary testing Situatie : Er is een functionaliteit geschreven waar het mogelijk is om een product aan te maken . Test case : De developper probeert meerdere malen verschillende producten toe te voegen. Slagingskans : De test is klaar wanneer de developper meerdere malen een product heeft toegevoegd. Is elk ingevoerd product opgeslagen, dan kan men ervan uitgaan dat elke product goed in de database kan worden opgeslagen. Wordt het product niet of niet goed opgeslagen, dan moet er gekeken worden welk(e) product(en) er niet kunnen worden opgeslagen. Ook moet er gekeken worden naar de reden dat die producten niet/ niet goed worden opgeslagen. Aannames : er wordt vanuit gegaan dat de beheerders later geen rare tekens gebruiken bij het aanmaken van een product. Hulpmiddelen : Het systeem wat de beheerders later gaan gebruiken om een product toe te voegen, testformulier(bijlage TEST 6.1)
TEST 6.2 Doel :
Checken of een bestaand product kan worden toegevoegd aan het systeem aan de hand van verschillende schrijfwijzen zoals het gebruik van hoofdletters en kleine letters. Ontdekken van ontbrekende checks en meldingen die de beheerder nodig kan hebben bij zijn beslissing om een product wel of niet toe te voegen aan het systeem. Techniek : Dit gaat getest worden door de developpers zelf dmv Boundary testing Situatie : Er is een functionaliteit geschreven waar het mogelijk is om een product aan te maken . Test case : De developper probeert meerdere malen verschillende producten meer dan 2 keer toe te voegen met behulp van een daarvoor bestemd formulier. De developper mag voert een product meerdere malen in met een andere schrijfwijze. Lijkt het woord sterk op een woord wat al in het systeem staat, krijgt de gebruiker dan een melding met de naam van het product wat al in het systeem staat met daaronder de mogelijkheid om het product alsnog toe te voegen of te annuleren. Slagingskans : De test is klaar wanneer de developper meerdere malen een product dubbel heeft ingevoerd op verschillende schrijfwijzen. Wordt er geen enkel product dubbel opgeslagen, dan is de test geslaagd. Wordt een product wel dubbel opgeslagen in de database, dan moet de developper een functie schrijven die checkt of de ingevoerde waarde zich al in de database bevindt. Dan pas mag het product worden toegevoegd. Bestaat die functie al, dan moet de developper dmv de ingevoerde waarden checken waar de fout zit en de functie herschrijven. Wanneer de functie is geschreven of is herschreven moet deze test opnieuw worden uitgevoerd. Aannames : er wordt vanuit gegaan dat de beheerders later geen rare tekens gebruiken bij het aanmaken van een product. 12
Hulpmiddelen : Het systeem wat de beheerders later gaan gebruiken om een product toe te voegen, testformulier(bijlage TEST 6.2)
13
Bijlagen
14
TEST 1.1 Een beheerder komt na het inloggen met zijn gebruikersnaam en zijn wachtwoord op de welkomspagina van beheerders terecht. Naam tester: Datum: beheerders_gebruikersnaam
beheerders_wachtwoord
Totaal aantal x ja: Specificatie voldoet *JA /NEE *Doorhalen wat niet van toepassing is.
15
beheerders_id
Correct
ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* Totaal aantal x nee:
Zo nee, waar komt de gebruiker op terecht? Of welke melding verschijnt er op het scherm?
TEST 1.2 Vermijden dat niet beheerders, welke misschien in handen zijn gekomen van of het wachtwoord of de gebruikersnaam van de beheerder in kunnen loggen als beheerder. Inloggen mag alleen met een goede combinatie tussen gebruikersnaam en wachtwoord. Naam tester: beheerders_gebruikersnaam
Datum: beheerders_wachtwoord Correct
Totaal aantal x ja: Specificatie voldoet *JA /NEE *Doorhalen wat niet van toepassing is.
16
Wat ging er mis?
ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* Totaal aantal x nee:
TEST 26.1 Via zoveel mogelijk manieren kaarten en folders kunnen samenstellen binnen 10 klikken. Naam developper: Datum: Sceanriobeschrijving
Aantal kliks
Minder dan 11 keer klikken
ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* Gemiddelde aantal kliks: Specificatie voldoet *JA /NEE *Doorhalen wat niet van toepassing is.
17
Aantal x nee:
Opmerkingen
TEST 26.2 Erachter komen welke manieren langer dan 10 keer klikken kosten om een folder of kaart samen te stellen. Naam tester: Datum: Scenariobeschrijving
Aantal kliks
Minder dan 11 keer klikken
ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* Gemiddelde aantal kliks: Aantal x nee: Specificatie voldoet *JA /NEE *Doorhalen wat niet van toepassing is.
18
Zijn er onduidelijkheden op de website waardoor de gebruiker niet het ideale pad doorloopt?
TEST 6.1 Testen of een product aangemaakt kan worden en wordt opgeslagen in de database. Naam tester: Datum: Ingevoerde gegevens product
Opgeslagen gegevens product
Totaal aantal x ja: Specificatie voldoet *JA /NEE *Doorhalen wat niet van toepassing is.
19
Correct opgeslagen
Wat ging er fout?
ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* Totaal aantal x nee:
TEST 6.2 Checken of een bestaand product kan worden toegevoegd aan het systeem aan de hand van verschillende schrijfwijzen zoals het gebruik van hoofdletters en kleine letters. Ontdekken van ontbrekende checks en meldingen die de beheerder nodig kan hebben bij zijn beslissing om een product wel of niet toe te voegen aan het systeem. Naam tester: Datum: Product Schrijfwijze 1
Product Schrijfwijze 2
Totaal aantal x ja: Specificatie voldoet *JA /NEE *Doorhalen wat niet van toepassing is.
20
Melding
Welke functionaliteit moet toegevoegd worden aan het checken van ingevoerde waarden?
ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* ja/nee* Totaal aantal x nee (aantal ontbrekende meldingen):