Archiwum kategorii: Development

Potyczki z Selenium część 2

W drugiej części wpisu chciałbym dodać trochę szczegółów technicznych, które pominąłem w pierwszej części (patrz Potyczki z Selenium część 1) dla przejrzystości. Więc zaprezentuję jak wyglądają niektóre pliki konfiguracyjne i skrypty, których używamy do resetowania testowych node’ów. Forma jest bardzo skondensowana ale mam nadzieję, że w połączeniu z pierwszą częścią nie powinno być problemów ze zrozumieniem.

Jeszcze tytułem wyjaśnienia – testy automatyczne wykonują się podczas uruchomiania procesu build-a na TFS, a resetowanie node’ów następuje przed wykonaniem testów jak i po ich zakończeniu. To dlatego, że lokalnie podczas uruchamiani testów również czasami używamy node’ów. Po wykonaniu paczki testów automatycznych wykonujemy również podczas nightly build-a przywrócenie bazy danych do pierwotnego stanu, aby system na środowiskach testowych był wyczyszczony z danych testowych produkowanych przez testy automatyczne.

Czytaj dalej

Potyczki z Selenium część 1

W tej odsłonie bloga chciałbym się podzielić doświadczeniami z uruchamianiem automatycznych testów. W kwestii technicznej używamy SpecFlow wraz z Selenium do tworzenia BDD i chcieliśmy dołączyć uruchamianie testów automatycznych do naszej ciągłej integracji. W części 1 opiszę naszą drogę do uzyskania środowiska wraz ze ślepymi uliczkami które sprawdziliśmy nie wnikając bardzo w techniczną stronę zagadnienia. W 2 części wpisu podzielę się również skryptami power shell i konfiguracją, której używamy finalnie.

W sumie początki wydawały się proste i obiecujące – choć nie bezbolesne. Na początku dało nam się we znaki stworzenie driver-a we frameworku do testów jako statycznej zmiennej. To bardzo szybko wywołało konieczność większego refactoring-u bo uniemożliwiało uruchamianie równoległe testów (wtedy jeszcze nie wiedzieliśmy, że temat równoległości zajmie nas na dłuższy czas).

Czytaj dalej

Potyczki z SonarQube

W ramach podnoszenia jakości kodów zdecydowaliśmy się na uruchomienie SonarQube dla naszych projektów. Oczywiście początki okazały się trudne, bo jak każda nowość również statyczna analiza kodów na początku wydaje się być przeszkodą a nie pomocą. Jednak praktyka pokazuje, że była to bardzo dobra decyzja. Sporą ilość czasu poświęconą na konfigurację i wstępne wyczyszczenie kodu wynagradza z nawiązką wymuszanie dobrych standardów, jak również czasami wykrywanie błędów w kodzie. Chciałbym pokrótce opisać co uruchomiliśmy w naszym projekcie i jak osiągnęliśmy użyteczność narzędzia.

Czytaj dalej