Föreläsning 3 - Verktyg, krav och testning Flashcards

1
Q

Vad är syftet med versionshantering i mjukvaruutveckling?

A

Versionshantering låter utvecklare arbeta med olika versioner av systemet, ger möjlighet att återställa till tidigare versioner, och hjälper till att koordinera arbetet i team.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vad innebär Continuous Integration?

A

CI innebär att kodändringar regelbundet integreras i ett gemensamt repositorium, där bygg och tester automatiskt körs för att upptäcka fel så tidigt som möjligt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad är funktionen av byggscript i mjukvaruutveckling?

A

Byggscript automatiserar skapandet av ett exekverbart system från källkoden, vilket inkluderar kompilering, länkning, och paketering.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vad är rollen för en byggserver?

A

En byggserver automatiserar bygg- och testprocesser, ofta som en del av CI, för att säkerställa att mjukvaran alltid är i ett byggbart och testbart tillstånd.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad fokuserar kravhanteringen på?

A

Kravhantering fokuserar på att definiera vad systemet ska göra och hur det ska bete sig, inklusive insamling och specificering av funktionella och icke-funktionella krav.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vad används JUnit för i mjukvaruutveckling?

A

JUnit är ett ramverk för att skriva och köra automatiserade tester i Java, vilket stödjer testdriven utveckling (TDD).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vad är principen bakom testdriven utveckling?

A

I TDD skrivs tester för ny funktionalitet innan själva koden skrivs. Koden skrivs sedan för att passera testerna, vilket garanterar att funktionaliteten uppfyller de definierade kraven.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Vad innebär konfigurationshantering?

A

Konfigurationshantering innebär att spåra och kontrollera ändringar i mjukvarans konfigurationer och beroenden, för att underlätta återställning och distribution.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Vilka är vanliga problem i systemgenerering?

A

Vanliga problem inkluderar att säkerställa att alla nödvändiga komponenter inkluderas, att rätt version av komponenter används, och att alla datafiler är tillgängliga.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Vad är Maven och dess roll i mjukvaruutveckling?

A

Maven är ett verktyg för projektledning och förståelse i Java-projekt, som automatiserar byggprocessen och hanterar projektets beroenden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Vad innebär “Infrastruktur” i mjukvaruutveckling?

A

Infrastruktur refererar till den tekniska grund som stödjer utveckling, byggnation, testning och distribution av mjukvara. Det inkluderar servermaskiner, nätverk, lagring och plattformstjänster som databaser och webbservrar, samt molntjänster för skalbarhet och flexibilitet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Vad är GIT och dess huvudfunktion? (Versionshantering)

A

GIT är ett distribuerat versionshanteringssystem som spårar ändringar i filer och koordinerar arbete mellan flera personer på ett projekt, optimerat för hastighet och effektivitet för både små och stora projekt. Det möjliggör offline arbete och ökad säkerhet genom att lagra hela versionshistoriken lokalt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vad är syftet med Branching och Merging?

A

Branching tillåter utvecklare att skapa parallella versioner (grenar) av kodbasen för att utveckla nya funktioner eller åtgärda buggar isolerat. Merging integrerar sedan dessa ändringar tillbaka till huvudgrenen, kombinerande bidragen från olika grenar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Vad innebär Bygghantering?

A

Bygghantering automatiserar omvandlingen av källkod till ett exekverbart system, inklusive kompilering, länkning och paketering, för att spara tid och minimera fel. Verktyg som ANT och Maven används för att definiera och automatisera byggprocessen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Vilka är huvudkomponenterna i Kravhantering?

A

Kravhantering innefattar insamling och specificering av både funktionella och icke-funktionella krav, med fokus på att definiera vad systemet ska göra och hur det ska bete sig. Det kräver tydlig kommunikation och dokumentation samt flexibilitet för att hantera förändringar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vad är Continuous Integration (CI)?

A

CI är en utvecklingspraxis där kodändringar regelbundet integreras i ett gemensamt repositorium och automatiskt testas. Detta syftar till att snabbt upptäcka och åtgärda fel, förbättra mjukvarukvaliteten och minska tiden för validering och release.

17
Q

Vad är ett Repository?

A

Ett repository är en databas för att lagra, organisera och spåra versioner av ett projekt, inkluderande hela versionshistoriken, vilket möjliggör djupgående spårbarhet och återställningsförmåga.

18
Q

Vad innebär Systemgenerering?

A

Systemgenerering är processen att bygga det kompletta systemet från källkod och resurser, vilket innefattar kompilering och paketering. Det testar kodens integritet och säkerställer att alla delar fungerar tillsammans som avsett.

19
Q

Version Control:

A

Versionshanteringssystem (som GIT) är fundamentala för att hantera kodändringar och historik, möjliggöra parallellt arbete mellan utvecklare, och integrera ändringar på ett kontrollerat sätt.

20
Q

Write & Run Tests:

A

Skrivning och körning av tester är avgörande för att säkerställa kvaliteten på mjukvaran. Automatiserade tester körs kontinuerligt för att snabbt identifiera och åtgärda buggar.

21
Q

Script Builds:

A

Byggscript (som de definierade i ANT eller Maven) automatiserar processen att omvandla källkod till körbara program eller system. Dessa script säkerställer att byggprocessen är konsekvent och repeterbar.

22
Q

Continuous Builds:

A

Kontinuerlig byggning innebär automatiskt att bygga och testa mjukvaran vid varje kodinlämning, vilket snabbt upptäcker problem och förbättrar produktkvaliteten.

23
Q

Track Features & Issues:

A

Verktyg för ärendehantering och funktionspårning (som JIRA) används för att organisera, prioritera och spåra utvecklingen av funktioner samt hantering av buggar och problem.