Zagadnienia NPR 2016

Poniżej znajduje się lista zagadnień obowiązujące na teście zaliczeniowym. Zagadnienia te dotyczą materiału, który pojawił dotychczas na zajęciach, czyli:

Team Foundation Server i Visual Studio Team Services

System kontroli wersji TFVC

Scrum w TFS

Statyczna analiza kodu

FxCop (analiza statyczna w Visual Studio)

Resharper

Testowanie jednoskowe

Pojęcia

System kontroli wersji

Application Lifecycle Management (ALM, zarządzanie cyklem życia aplikacji)

Continuous integration

Model kaskadowy (sekwencyjny)

Programowanie zwinne

Scrum

Role w scrumie Product Owner, Scrum master

Artefakty scruma: product backlog, sprint backlog, sprint

Burndown chart

Statyczna analiza kodu

Metryki statyczne kodu

Refaktoryzacja

Testy jednostkowe

Asercja

Test driven development

Code coverage

Atrapa obiektu (mock)

Wzorzec: wstrzyknięcie zależności (ang. Dependency Injection, DI)

Data-driven testing

Technologie i aplikacje

Czym są i do czego wykorzystywane są wymienione aplikacje i/lub technologie?

Visual Studio

Visual Stdiu Online

ReSharper

CodePlex

FxCop

Subversion

Git

Team Foundation Server

Visual Studio Unit Testing Framework

NUnit

xUnit.net

AutoFixture

Moq

Rozszyfruj skróty

Podaj polskojęzyczne i angielskojęzyczne rozwinięcie skrótu.

ALM	Application Lifecycle Management zarządzanie cyklem życia aplikacji
API	Application Programming Interface Interfejs programistyczny aplikacji
DDT	Data-driven testing testowanie sterowane danymi
GUI	Graphical User Interface graficzny interfejs użytkownika
IDE	Integrated Development Environment zintegrowane środowisko programistyczne
SAST	Static Analysis Software Testing statystyczna analiza oprogramowania
SDK	Software development kit zestaw narzędzi dla programistów
TDD	Test-driven development programowanie wspomagane przez testy
TFS	Team Foundation Server
XML	Extensible Markup Language Rozszerzalny Język Znaczników
SAST	Static Analysis Software Testing statystyczna analiza oprogramowania
UML	Unified Modeling Language zunifikowany język modelowania

Przykładowe pytania

Czy system kontroli wersji Team Foundation Version Control posiada architekturę:

scentralizowaną,

zdecentralizowaną,

żadne z powyższych

Jeden z programistów zatwierdził własne świeże zmiany w systemie kontroli wersji dotyczące pewnego piku. Drugi programista pracował nad kodem zawartym w tym samym pliku i próbuje zatwierdzić w repozytorium zmiany naniesione w tej samej linii kodu co pierwszy programista. Jaki będzie efekt takiego działania:

system kontroli wersji automatycznie wybierze najbardziej świeżą wersję pliku, tracąc zmiany naniesione przez pierwszego programistę

system kontroli wersji automatycznie scali pliki wybierając umieszczając pokrywające się linie jedna nad drugą

system kontroli wersji zasygnalizuje wystąpienie konfliktu, który musi zostać rozwiązany zanim drugi programista zatwierdzi zmiany

Podaj rozwinięcie skrótu API w języku polskim lub angielskim