Testning av applikationer

Relevanta dokument
Systemutvecklare SU13, Malmö

Fortsättningskurs Webbklientprogrammering

Systemutvecklare SU14, Malmö

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

Tentamen, delkurs Projektstyrning Webbutvecklare SU13, Malmö

HI1024 Programmering, grundkurs TEN

Grundkurs i programmering - intro

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.

HI1024 Programmering, grundkurs TEN

Tentamen TEN1 HI

Tentamen Grundläggande programmering

TENTA: TDDD11 & TDDC68. Tillåtna hjälpmedel. Starta Emacs, terminal och tentakommunikationsfönster. Skicka in frågor och uppgifter

PDA-applikationer med.net

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

Tentamen TEN1 HI

Metoder (funktioner) Murach s: kap Winstrand Development

Tentamen i Grundläggande programmering STS, åk 1 fredag

Försök att skriva svaren inom det utrymme som finns på sidan. Skriv tydligt! Svara sammanhängande och med enkla, tydliga meningar.

Felhantering TDDD78, TDDE30, 729A

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

Lösningar till tentamen i EIT070 Datorteknik

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson

kl Tentaupplägg

kl Tentaupplägg

TENTAMEN. Luleå tekniska universitet

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,

Enhetstester på.netplattformen

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011

WCMS-15, Webbutvecklare CMS

Kvalitets- och miljöstyrning/ Kvalitet och ledningssystem

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

TUTORIAL: SAMLING & KONSOLL

Tentamen i Grundläggande programmering STS, åk 1 fredag

Anvisning för ARVI-systemet för dig som matar in personbedömningar

Objektorienterad Programmering (TDDC77)

Dr. Gustav Taxén MDI-Gruppen, CSC / VIC-Sthlm gustavt@kth.se

Tentamen i Grundläggande programmering STS, åk 1 lördag

Objektorienterad Programkonstruktion. Föreläsning jan 2016

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

NetBeans 5.5. Avsikt. Projektfönster

Föreläsning 3. Programmering, C och programmeringsmiljö

Digitalt lärande och programmering i klassrummet

729G74 - IT och programmering, grundkurs. Dugga.

TUTORIAL: KLASSER & OBJEKT

PROGRAMMERINGSTEKNIK TIN212

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

kl Tentaupplägg

Introduktion till programmering och Python Grundkurs i programmering med Python

International Olympiad in Informatics July 2011, Pattaya City, Thailand Tävlingsuppgifter Dag 2 Svenska 1.3. Papegojor

729G04 Programmering och diskret matematik Tenta kl 14:00-18:00

Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen

BMI = (vikt i kg) / (längd i m) 2. Lösningsförslag

OOP Tentamen

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas.

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Zoomtext 2019 Skripting

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

NetBeans 7. Avsikt. Projektfönster

Instruktion slutprov. P&L Nordic AB Växel Epost: - Hemsida:

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00

Tentamen i: Affärssystem och tjänsteorienterad arkitektur

I Besöker skrivningen Åke Tvrbern [8] Ja kl. ca 9 och 11

Föreläsning 3. Programmering, C och programmeringsmiljö

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 19 oktober 2016, kl 14 18

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Tentamen i EDAF oktober Skrivtid: Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas.

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Att använda pekare i. C-kod

Tentamen TEN1 HI

Datorteknik 2 (AVR 2)

Efternamn förnamn pnr programkod

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Tentamen i Grundläggande programmering STS, åk

Kompilatorer och interpretatorer

INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Tentamen I Arkitektur och design av globala applikationer

Grundkurs i Informationsbehandling Del II (1119) Tentamen

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Tisdagen 26 april Tentamen består av 8 sidor

Kursnamn: Vetenskapsteori och grundläggande forskningsmetod

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

tentaplugg.nu av studenter för studenter

Tentamen i Grundläggande programmering STS, åk

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Objektorienterad programmering, Java, 5p TDBA63

Identifiering av stödbehov

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

(Används även till tentamenslådan.) Måste alltid lämnas in. OBS! Eventuella lösblad måste alltid fiistas ihop med tentamen.

INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

Omtentamen i OOPW, 29 augusti 2013 kl. 9-13

Transkript:

Tentamen, (20 YH-poäng) Plats: Övningstenta Tid: Övningstenta Tillåtna hjälpmedel: Papper, penna, suddgummi, linjal. Ej tillåtna hjälpmedel: Datorer, mobiltelefoner, surfplattor, miniräknare, böcker, anteckningar, kompendier etc. Max poäng: 75 poäng Betygsgränser Godkänt: 40 poäng, Väl godkänt: 60 poäng Examinator: Tobias Gasslander, NodeHill AB Sida 1 av 9

Ditt namn: Läs igenom frågorna på följande sidor och välj svarsalternativ. FYLL I DITT NAMN (!) och kryssa i dina svar på denna sida. (Mer än ett ikryssat svar per fråga ger 0 poäng på frågan.) Lämna ENDAST in denna sida! Grunder Fråga 1 a b Fråga 2 a b c d Fråga 3 a b c d Fråga 4 a b c d Fråga 5 a b c d Fråga 6 a b c d Unit-testning Fråga 7 a b c d Fråga 8 a b c d Fråga 9 a b c d TDD Fråga 17 a b c d Fråga 18 a b c d Fråga 19 a b c d Fråga 20 a b c d Fråga 21 a b c d Övrigt Fråga 22 a b c d Fråga 23 a b c d Fråga 24 a b c d Fråga 25 a b c d Fråga 10 a b c d Fråga 11 a b Unit-testning 2 Fråga 12 a b c d Fråga 13 a b c d Fråga 14 a b c d Fråga 15 a b c d Fråga 16 a b c d Sida 2 av 9

Grunder Fråga 1 Betyder modul-, enhets- och unittest samma sak? a) Nej b) Ja Fråga 2 Vad är sant om ett unit test? a) Det testar om en liten del av ett program (en funktion eller en metod) returnerar rätt svar. b) Det handlar inte om kod, utan något man gör manuellt. c) Det testar om hela programmet fungerar som det ska. d) Ett unit test går inte att skriva om man använder sig av test driven development. Fråga 3 Fråga 4 Try...catch-kommandon används: Unit testning gör att a) Alltid när man går live med kod. b) För att se om någon trycker på fel knapp. c) För att kunna kompilera om gammal kod. d) För att kapsla in ett stycke kod så att eventuella körfel fångas upp. a) Det inte går att köra kod som inte är färdigskriven. b) Det finns större risk för kvarvarande fel i kod. c) Det finns mindre risk för kvarvarande fel i kod. d) Alla kan testa samtidigt. Fråga 5 Om du adderar ett finally-statement till try...catch kommer det att köras: a) När ett fel uppstår. b) När ett fel inte uppstår. c) Om ett fel uppstår som inte kan fångas upp av ett catch-statement. d) Alltid. Fråga 6 Ett catch-statement i try..catch körs: a) Om ett fel uppstår som inte kan fångas upp av ett finally-statement. b) När ett fel inte uppstår. c) Alltid. d) När ett fel uppstår. Sida 3 av 9

Unit-testning Fråga 7 Fråga 8 Vad betyder "unit" inom unit-testning? Varför skriver man unit tester? a) En användare bland flera. b) En avdelning inom ett företag. c) En eller flera applikationer. d) Ett mindre stycke kod (vanligen en funktion eller en metod). a) För att minska risken för fel, även tidigt i utvecklingen. b) För att sluttesta en applikation. c) För att inte skada kompilatorn. d) För att förstå varför systemtester inte fungerar. Fråga 9 Fråga 10 Vad kontrollerar ett unit test? Ett unit test kan kontrollera om: a) Om en programmerare har indenterat sin kod korrekt. b) Om en funktion/metod/del av ett program returnerar rätt output vid en vss input. c) Om det finns tillräckligt med internminne för att köra ett program. d) Om det finns syntax errors i koden. a) En beräkning returnerar rätt resultat. b) Kod är skriven enligt en viss kodstandard. c) Användargränssnittet ser ut exakt som det ska. d) Synskadade får en bra upplevelse av en webbapplikation. Fråga 11 Unit tester innebär att: a) Det behövs skrivas mindre kod i ett projekt. b) Det behövs skrivas mer kod i ett projekt. Sida 4 av 9

Unit-testning 2 Fråga 12 Fråga 13 Om ett unit test går fel: Vanligen skrivs: a) Kan man enkelt se varför om man kör det via ett test-ramverk. b) Kan man inte skriva fler unit tester. c) Är det svårt att veta varför. d) Tyder det på att man har en användare som inte kan systemet. a) Många unit tester per applikation. b) Unit tester bara om en användare märker att det finns buggar i en applikation. c) Inga unit tester om koden fungerar bra. d) Ett unit test per applikation. Fråga 14 Unit testning kan aldrig: a) Ersätta systemtestning. b) Köras flera gånger. c) Svara på vilken metod som returnerade fel resultat. d) Återanvändas i ett annat projekt. Fråga 15 Du har skrivit ett unit test. Det går troligen att köra: a) Genom att skapa en global variabel. b) Genom att uppdatera node.js. c) Via ett testramverk. d) Först när du refaktorerat din kod. Fråga 16 Ett testramverk kan: a) Aldrig användas tillsammans med en databas. b) Köra flera unit tester automatiskt och rapportera resultatet. c) Aldrig användas tillsammans med node.js. d) Inte användas om du inte betalar en licensavgift till npm. Sida 5 av 9

TDD Fråga 17 Om man använder test driven development, vad får man då inte göra? a) Skriva tester som inte har någon programkod man kan göra dem mot. b) "Checka in" (addera till git eller liknande) kod som inte klarar ett unit tester man skrivit för den? c) Skriva tester som kontrollerar användarinput. d) Skriva spel. Fråga 18 Test Driven Development innebär att man: a) Skriver testkod först när applikationen är klar. b) Alltid skriver om sina tester minst två gånger. c) Skriver testkod innan man skriver den kod som testen ska kontrollera. d) Måste skriva all testkod i ett annat programmeringsspråk än själva applikationen. Fråga 19 En möjlig nackdel med Test Driven Development är: a) Att mängden fel i en applikation ofta ökar dramatiskt. b) Att ingen utom scrum master kan kontrollera om något går fel. c) Att så mycket kod skrivs automatiskt att det blir mindre kvar för utvecklarna att göra. d) Att det kan ta längre tid att bli klar med ett projekt då mer kod måste skrivas. Fråga 20 En möjlig fördel med Test Driven Development är: a) Att det går mycket snabbare att skriva koden, då den blir mindre/färre rader. b) Att det blir enklare att pröva nya idéer. c) Att alla programmerare i projektet pratar med varandra varje dag. d) Att en applikation får färre fel och att det är enklare att se var de uppstår. Fråga 21 Test Driven Development behövs mest i a) Tidiga prototyper. b) Små applikationer med lång livstid. c) Stora applikationer med lång livstid. d) Små applikaitoner med kort livstid. Sida 6 av 9

Övrigt Fråga 22 Fråga 23 Vad är sant om systemtestning? Vad är sant om Continuous Integration: a) Systemtestning är när man kör alla unit tester samtidigt. b) Systemtestning testar hela systemet - användarupplevelse, att det uppfyller olika krav och att dokumentation är korrekt. c) Systemtestning kontrollerar att en applikation beter sig likadant i olika operativsystem. d) Systemtestning kan bara utföras av en systemvetare. a) Man integrerar ("mergar" om man använder git) kod från olika utvecklare flera gånger per dag. b) Går bara att genomföra om man använder git. c) Alla utvecklare måste träffas ofta och bestämma vad som ska integreras. d) Alla funktioner måste anropa varandra. Fråga 24 Fråga 25 Vad är sant om Continuous Deployment: Vad är sant om en byggserver? a) Går bara att använda om man använder sig av git som versionshanteringssystem. b) Går bara att använda om man använder sig av Test Driven Development. c) All kod som klarar sig igenom ett antal automatiserade tester "går live" (blir en del av produkten) automatiskt. d) Det är ett sätt att se till att man alltid har arbete - och aldrig är arbetslös ("unemployed"). a) Den bygger upp nya applikationer automatiskt. b) Den kan automatisera körningen av ett antal uni tester. c) Det är samma sak som en produktionsserver. d) Det är samma sak som en utvecklingsserver. Sida 7 av 9

Del 2, öppna svar Instruktioner: Läs igenom frågorna på följande sidor och svara på dem på separata skrivpapper. Obs! Märk varje pappersark noga med: Ditt namn Xxx Yyy. Frågans nummer Tenta Test av applikationer, öppen fråga X. Markera även tydligt var svar på olika delfrågor börjar! När du är klar med samtliga öppna frågor (eller inte hinner skriva mer) sidnumrerar du dina skrivna sidor enligt sida X av Y. Detta minimerar risken att något du har skrivit förväxlas eller tappas bort! Fråga 1: Unit tester (13 poäng totalt) Du har en applikation med metoder som räknar ut ett antal saker: En användares ålder utifrån användarens födelsedatum, en användares BMI (Body Mass Index) utifrån vikt och längd, en användares inkomst per månad utifrån årsinkomst. a) Beskriv vilka unit tester du vill skriva för applikationen (hur många och vad de gör). (9 poäng) b) Förklara hur man skulle kunna fånga upp olika fall av felaktig inmatning med hjälp av try...catch-statements. (4 poäng) Sida 8 av 9

Fråga 2: Test Driven Development (1 totalt) Du har fått i uppdrag att bygga en prototyp (som ska kunna vidareutvecklas till en färdig applikation) som är en webbsajt för en mäklarfirma. Prototypen ska byggas snabbt (3-6 veckor) i ett litet utvecklingsteam (5 människor). Ange 3 fördelar och 3 nackdelar med att använda Test Driven Development i detta projekt. Motivera tydligt varför varje fördel är en fördel och varje nackdel är nackdel. Sida 9 av 9