Menu / szukaj

.net DD 2016 – materiały

Od jakiegoś czasu dostępne są już na kanale YouTube materiały z konferencji .NET DeveloperDays 2016. Jeśli chodzi o mnie to w tym roku najlepszym prelegentem był Ted Neward. Szczególnie polecam sesję zamykającą. Nie jest to prezentacja ściśle techniczna, a raczej filozoficzna. W jej trakcie Ted pokazuje jak istotne znaczenie na ocenę sytuacji ma kontekst. Oraz jak trudno jest znaleźć najlepsze jednoznaczne rozwiązanie. Zresztą zobaczcie sami.

FluentValidation.Validators.UnitTestExtension

Chciałem Was zachęcić do używania biblioteki, którą ostatnio opublikowałem – FluentValidation.Validators.UnitTestExtension. Głównym jej celem jest rozszerzenie oraz uproszczenie możliwości testowania kodu, który wykorzystuje pakiet FluentValidation do walidacji obiektów.

Bibliotekę można zainstalować wykorzystując nugeta:

Install-Package FluentValidation.Validators.UnitTestExtension

lub ściągnąć kod z GithHuba.

Na wiki dotyczącej biblioteki FluentValidation można znaleźć propozycję pisania testów przygotowaną przez autorów biblioteki. W celu ułatwienia nam tego procesu autorzy przygotowali dwie metody ShouldHaveValidationErrorFor oraz ShouldNotHaveValidationErrorFor. Czytaj dalej

Testy jednostkowe – materiały szkoleniowe dla testerów

Zapraszam do zapoznania się z materiałami szkoleniowymi z testów jednostkowych. Szkolenie zostało przygotowane w ramach pracy w Objectivity Bespoke Software Specialists. Celem szkolenia było przybliżenie zagadnienia związanego z testami jednostkowymi testerom pracującym w Objectivity.

Szkolenie składało się z dwóch części:

  1. Unit Tests – The Beginning – szkolenie stanowi wstęp do zagadnienia pisania testów jednostkowych, z materiałów można dowiedzieć się:
    • co to są testy jednostkowe,
    • jak należy pisać je poprawnie,
    • co należy robić, aby w ramach pracy nad projektem pisać takie testy lepiej,
    • jak działają testy jednostkowe.
  2. Unit Test – Let’s write some code – druga część szkolenia jest już bardziej nastawiona na element praktyczny. Przedstawia w jaki sposób piszemy testy jednostkowe przy użyciu xUnita oraz Moq. Oprócz tego po krótce zostały w niej przedstawione inne frameworki testowe (nUnit oraz MS Test), NSubstitute oraz narzędzia do badania pokrycia kodu. Oczywiście nie zabraknie również pokazania jak uruchamiać i debugować napisane wcześniej testy.

Materiały dostępne są na firmowym koncie GitHub:

  1. Unit Tests – The Beginning
  2. Unit Test – Let’s write some code

Mam nadzieję, że pomimo faktu, że szkolenie zostało przygotowane dla testerów to osoby pełniące inne funkcje znajdą również coś dla siebie.

.NET DeveloperDays 2016

W poprzednim tygodniu odbyła się konferencja .NET DeveloperDays 2016. Niestety udało mi się dotrzeć dopiero na część główną konferencji – opuściłem warsztaty. Zastanawiałem się jak można podsumować tą konferencję. Tym razem postanowiłem odejść od typowego formatu oceny każdej prezentacji. Wydaje mi się, że dojrzałem już do takiego etapu, że prezentacje traktuję jako część dodatkową konferencji. Natomiast jako główny element traktuję możliwość spotkania i porozmawiania z ludźmi.

Stosując to kryterium ciężko jest przyczepić się do czegokolwiek. Było sporo miejsca, gdzie można było porozmawiać. Nawet stojąc pośrodku nie bałem się, że ktoś mnie stratuje, potrąci, wpadnie na mnie. Wynikało to chyba, z tego, że miejscem konferencji była hala, z której zostały wydzielone trzy pomieszczenia na prelekcje, a resztę stanowiła przestrzeń, w której można było swobodnie porozmawiać. Na obrzeżach były punkty z kawą, ciastkami, XBoxy. Trochę tłoczno robiło się w trakcie obiadów – wtedy tworzyły się długie kolejki głodnych programistów. Czytaj dalej

.NET DeveloperDays – Ostatnie dni normalnej ceny

Jeśli ktoś jeszcze nie zdecydował się na udział w konferencji .NET DeveloperDays powinien się pospieszyć. Od 1 października cena wzrośnie o 200 zł. Z wejściem na konferencję nie powinno być problemu, ale coraz mniej miejsc zostało na warsztaty.

Poniżej znajdziecie tematy warsztatów:

  • Dino Esposito – Modern web development with the ASP.NET MVC stack
  • Ted Neward – Busy .NET developer’s workshop on the CLR
  • Adam Granicz – Functional programming on .NET with F# – become a programming Jedi now!
  • Daniel Fisher – Resilience and cloud patterns TOGO: build useful stuff in JS and C#

Jeśli chodzi o mnie to pewnie wybrałbym się na warsztaty prowadzone przez Dino Esposito lub Teda Newarda. Pierwszego – Dino chciałbym zobaczyć w akcji, ale w tym przypadku obawiam się, że nie będą to warsztaty, a raczej kilkugodzinne wystąpienie mistrza. Natomiast warsztaty Teda zapowiadają się ciekawie.

Lightning talk – Autofixture

Zachęcam do pobrania i przejrzenia prezentacji z mojego lightning talka dotyczącego biblioteki AutoFixture. Zadaniem tej biblioteki jest ograniczenie części Arrange, a tym samym kosztów utrzymania kodu w testach jednostkowych poprzez ułatwienie nam tworzenia obiektów. Prezentację można ściągnąć z GitHuba – AutoFixture – Lightning talk. Prezentacja przedstawia przykłady użycia wspominanej biblioteki oraz zawiera porównanie AutoFixture do innych bibliotek dostarczających podobną funkcjonalność. Oczywiście na GitHubie znajduje się również kod z przykładami.

Testy jednostkowe SQL – raport pokrycia kodu

Pisanie testów jednostkowych do kodu jest dziś powszechną praktyką, aczkolwiek nie dla wszystkich języków. Pisząc strony WWW, aplikacje desktopowe czy też mobilne przywykliśmy do tego, że tworzymy testy jednostkowe sprawdzające kod aplikacji. Natomiast nie robimy tego dla kodu napisanego w bazie danych. Po części dlatego, że używamy narzędzi ORM, które generują ten kod za nas. I wtedy nie ma rzeczywiście takiej potrzeby.

Inaczej wygląda sytuacja w momencie, gdy sami piszemy kod SQLa. Wtedy kod ten powinien zostać przetestowany na takich samych zasadach jak normalny kod produkcyjny. Jeśli nasza baza stoi na Microsoft SQL możemy do tego wykorzystać bibliotekę tSQLt. Bibliotekę tę używa się bardzo prosto. Pozwala ona fakeować widoki, tabele, funkcje, jak również procedury składowane. Osoby bardziej zainteresowane tematem odsyłam na stronę biblioteki. Czytaj dalej

.NET DeveloperDays nadchodzi wielkimi krokami

Wielkimi krokami zbliża się konferencja .NET DeveloperDays, która odbędzie się w dniach 19.10 – 21.10 w hali EXPO XXI w Warszawie. Będą to trzy dni poświęcone technologiom powiązanym ze środowiskiem .net. W pierwszym dniu odbędą się całodniowe warsztaty. Natomiast w kolejnych dniach odbędą się wykłady prowadzone między innymi przez Jona Skeeta, Daniela Fishera, Adama Granicza czy Dino Esposito.

Konferencja wygląda dosyć ciekawie ponieważ nie jest ona przeładowana tematami związanymi z .NET Core, Dockerem, czy też F#. Wspomniane tematy są obecnie istotne i aktualne, ale wydaje mi się, że w ostatnim czasie były one zbyt często poruszane w dość podobnym zakresie i przynajmniej dla mnie stały się zbyt wyeksploatowane. Czytaj dalej

Win-Win w Scrumie – forma współpracy

Pojęcie win-win wywodzi się z teorii gier i opisuje takie rozstrzygnięcie gry, w którym obie strony odnoszą korzyść. Podejście to można wykorzystać w trakcie zawierania umowy, dotyczącej wytwarzania oprogramowania, kiedy to jedną stroną jest zespół Scrumowy. Z reguły podmioty zamawiające oprogramowanie oczekują podania estymacji kosztu wytworzenia aplikacji i na jej podstawie decydują o zawarciu umowy z danym dostawcą.

Podpisanie umowy tzw. time and material, w której to rozliczenie następuje na podstawie faktycznie przepracowanego czasu nie zawsze jest dobrze odbierane przez zamawiających. Zawsze można spróbować przekonać zamawiającego do zastosowania rozwiązania hybrydowego. W przypadku takiego rozwiązania zamawiający zobowiązuje pokryć koszty działania zespołu przez określony czas (np. rok), ale może również w każdym momencie zrezygnować z dalszej jego pracy. W takim przypadku zamawiający powinien zobowiązać się zapłacić część środków, które wynikałyby z dalszej realizacji kontraktu (np. 20% pozostałej należności). Czytaj dalej