Видавець: 16
Testowanie aplikacji Java za pomocą JUnit
Radosław Sokół
Testuj swój kod profesjonalnie — pisz testy jednostkowe! Poznaj niezbędne narzędzia Twórz testy jednostkowe Korzystaj z technik TDD i TAD Jednym z największych wyzwań współczesnej inżynierii oprogramowania jest zapewnienie właściwej jakości tworzonych produktów, którą można osiągnąć w dużej mierze dzięki odpowiedniej weryfikacji kodu. Odpowiedzią na potrzeby branży są testy automatyczne, a wśród najważniejsze to z pewnością testy jednostkowe. Nie tylko umożliwiają one ciągłe, bezproblemowe i szybkie sprawdzanie poprawności pisanego kodu, lecz również pozwalają wyeliminować regresję i poprawić jakość architektury tworzonych rozwiązań, a także stanowią dla nich doskonałą dokumentację. Jeśli nie chcesz zostać w tyle, również Ty powinieneś zacząć pisać testy jednostkowe do swoich programów tworzonych w języku Java. Pomoże Ci w tym książka prezentująca koncepcję UT, bibliotekę JUnit, rozszerzenie AssertJ oraz biblioteki EqualsVerifier, Mockito i Google Guava. Poznasz dzięki niej sposoby pisania testów, refaktoryzowania kodu oraz imitowania działania funkcji i bazy danych. Dowiesz się też, jak w praktyce stosować metodyki TDD i TAD. A wszystkiego nauczysz się dzięki wziętym z życia przykładom oraz zadaniom do samodzielnego wykonania. Tworzenie testów jednostkowych za pomocą biblioteki JUnit Ścieżki kodu, pokrycie testami i refaktoryzacja kodu Unikanie zależności za pomocą imitacji i zastosowanie Mockito Płynne definiowanie testów za pomocą biblioteki AssertJ Programowanie ukierunkowane na testy i wspomagane testami Imitowanie baz danych przy użyciu rozwiązania Apache Derby Popraw jakość swoich programów, korzystając z testów jednostkowych!
Testowanie aplikacji w React.js. Kurs video. Praca z biblioteką Jest.js
Krzysztof Komar
Obierz kurs na... automatyczne testowanie aplikacji w React.js Rozwój internetu oraz fakt, że większość komputerów i telefonów ma z nim stałe połączenie, sprawił, że wiele aplikacji jest tworzonych wyłącznie z myślą o uruchamianiu ich w przeglądarce, także mobilnej. Przykładów nie trzeba daleko szukać ? Facebook i sprzężony z nim komunikator Messenger, Instagram albo Netflix. Jeśli chodzi o technologię, wszystkie je łączy coś bardzo istotnego: biblioteka React.js, której użyto do zbudowania każdej z tych aplikacji. Im większa i bardziej złożona aplikacja, tym trudniejsze jest jej utrzymanie. Oznacza to między innymi, że coraz ciężej jest dbać o to, by nowo dodawane funkcje nie psuły niczego w dotychczasowym, działającym kodzie. By zapobiec awariom związanym z wprowadzaniem do aplikacji usprawnień i unowocześnień, można - i należy - ją przy tej okazji testować. Wiele aplikacji testuje się manualnie, za pomocą opisanych scenariuszy testowych. Nie jest to złe rozwiązanie, ale obarczone pewnymi ograniczeniami. Rozrost aplikacji oznacza konieczność zatrudniania kolejnych testerów. Dodatkowo im większa aplikacja, tym dłuższy proces manualnego testowania. Jest to więc przedsięwzięcie nieopłacalne. Na szczęście testowanie aplikacji może zacząć już programista, co sprawia, że na kolejnych etapach nie potrzeba tylu testerów. Umożliwia to Jest.js, biblioteka opracowana z myślą o łatwym testowaniu aplikacji napisanych w React.js. Jest.js bardzo dobrze integruje się z Reactem, a dodatkowo udostępnia wiele przydatnych w nim rozwiązań (takich jak snapshoty). Pisanie testów z wykorzystaniem tej biblioteki jest bardzo wygodne i może stanowić naturalny kierunek dalszego ulepszania aplikacji. Co Cię czeka podczas naszego profesjonalnego szkolenia? Podczas tego kursu video: Zapoznasz się z zagadnieniem testów jednostkowych i integracyjnych. Zaznajomisz się z wadami i zaletami testowania. Dowiesz się, czym jest zjawisko regresji i w jaki sposób testy mogą mu zapobiec. Poznasz różne rodzaje testów - jak je uruchamiać i przechowywać w repozytorium. Opanujesz najpopularniejsze funkcje Jest Matchers. Co więcej... Nauczysz się instalowania i konfigurowania biblioteki Jest.js oraz tworzenia testów za jej pomocą. Po ukończeniu szkolenia Testowanie aplikacji w React.js. Kurs video. Praca z biblioteką Jest.js będziesz dysponować wiedzą i umiejętnościami na poziomie średnio zaawansowanym. Trzy godziny z testowaniem Tyle mniej więcej czasu musisz poświęcić na to, by z naszym kursem zgłębić temat testowania aplikacji w React.js z użyciem biblioteki Jest.js. Zaczniemy oczywiście od podstaw, czyli od ogólnego omówienia koncepcji testowania. Przyswoimy niezbędną teorię - poznamy między innymi koncepcję regresji. Następnie zainstalujemy bibliotekę Jest.js, stworzymy pierwsze pliki z testami i uruchomimy napisane testy. Przyjrzymy się strukturze testów - blokom describe() oraz it() - i zaczniemy generować testy asynchroniczne. Poznamy działanie funkcji setUp() oraz tearDown(), będziemy tworzyć mocki funkcji i modułów oraz testować komponenty za pomocą snapshotów. Snapshoty stworzymy, wykorzystując do tego react-test-renderer oraz Enzyme Shallow - ten ostatni przyda nam się także do tworzenia testów integracyjnych. Na koniec będziemy testować komponenty bezstanowe oraz te ze stanem i omówimy funkcje Matchers: toBe, toEqual, toBeCloseTo, toContain, toHaveLength. Testowanie dowodzi obecności błędów, a nie ich braku. Edsger Dijkstra
Testowanie automatyczne w .NET. Kurs video. Zastosowania frameworka nUnit
Mateusz Boguszewski
Obierz kurs na... karierę profesjonalnego testera oprogramowania Rynek pracy w IT zmienia się dynamicznie, w tempie odpowiadającym rozwojowi stosowanej w informatyce technologii. Ponieważ rośnie zakres wiedzy, liczba języków programowania, środowisk programistycznych i rozmaitych rodzajów oprogramowania wspomagającego, mamy obecnie do czynienia ze zjawiskiem specjalizacji. Dziś ze świecą szukać fullstack developerów, czyli osób wykonujących wszystkie zadania w IT. Dziś pracę jednego fullstack developera wykonuje co najmniej trzech ludzi: frontend developer, backend developer i tester oprogramowania. A ponieważ drugim, obok specjalizacji, zjawiskiem na rynku pracy w branży jest poszukiwanie rozwiązań wydajniejszych, a co za tym idzie – szybszych, ten ostatni z teamu, czyli tester, będzie najprawdopodobniej wykonywał swoje zadania w sposób zautomatyzowany. Kurs, który Ci proponujemy, odpowiada na zmieniające się trendy i zapotrzebowanie rynku. Dzięki niemu poznasz najpopularniejsze narzędzie do pracy z technologią .NET, czyli Visual Studio, a także nUnit – framework, w którym często pisane są testy automatyczne. Szkolenie wprowadzi Cię w tematykę testów, a następnie, dzięki zadaniom praktycznym, pozwoli Ci gruntownie poznać zagadnienia związane z testami jednostkowymi, integracyjnymi i E2E. Umiejętności te przydadzą Ci się z pewnością podczas szukania pracy na stanowisku testera. Do niedawna było tak, że testy manualne wykonywali testerzy manualni, a automatyczne pisali programiści. Aktualnie jednak coraz częściej poszukuje się testerów będących w stanie przeprowadzić samodzielnie oba rodzaje testów. Co Cię czeka podczas naszego profesjonalnego szkolenia W czasie kursu nauczysz się: określać warunki brzegowe testu tworzyć tablicę decyzyjną przygotowywać przypadki testowe pisać testy jednostkowe we frameworku nUnit pisać testy integracyjne we frameworku nUnit pisać testy interfejsu użytkownika aplikacji webowych we frameworku nUnit z wykorzystaniem Selenium pisać testy interfejsu użytkownika aplikacji desktopowych we frameworku nUnit z wykorzystaniem Appium Szkolenie Testowanie automatyczne w .NET. Kurs video. Zastosowania frameworka nUnit zakończysz na poziomie średnio zaawansowanym. Obszerne teoretyczne wprowadzenie, a także liczne zadania, które wykonasz w trakcie kursu, dostarczą Ci wiedzy wystarczającej do rozpoczęcia pracy na stanowisku testera automatyzującego. Co więcej, zdobyte w ramach szkolenia umiejętności będą stanowić bazę do dalszego rozwoju w tym obszarze informatyki. „Automatyzacja to zastępowanie tego, co działa, czymś, co prawie działa, ale jest szybsze i tańsze” – to zdanie przypomina o dwóch podstawowych warunkach, które wskazują na zasadność automatyzacji testów: wykonanie automatycznych testów powinno być szybsze niż manualna weryfikacja zachowania systemu.
Testowanie bezpieczeństwa aplikacji internetowych. Receptury
Paco Hope, Ben Walther
Poznaj i wykorzystaj mechanizmy testowania zabezpieczeń, a nikt nie prześlizgnie się przez Twoją witrynę! Jak zainstalować i skonfigurować narzędzia do testowania zabezpieczeń? Jak szybko i sprawnie znaleźć problemy w aplikacjach? Jak wykorzystywać testy powtarzalne? Witryny internetowe oraz ich aplikacje stanowią swoistą wirtualną furtkę do wszystkich korporacji i instytucji. Jak zatem zadbać, aby nikt niepożądany nie przedostał się do środka? Co sprawia, że witryna jest naprawdę bezpieczna? I w jaki sposób testować aplikację, aby nie był to proces żmudny i czasochłonny, a raczej sprawny i skuteczny? Oto rozwiązanie -- niniejsza książka zawiera proste receptury, dzięki którym z łatwością znajdziesz luki w aplikacjach, zanim zrobią to różni hakerzy. Książka "Testowanie bezpieczeństwa aplikacji internetowych. Receptury" to napisany zrozumiałym językiem podręcznik, dzięki któremu szybko poznasz mechanizmy testowania zabezpieczeń. Praktyczne przykłady zawarte w tym przewodniku sprawią, że szybko nauczysz się włączać systemy zabezpieczeń do standardowych procedur kontroli aplikacji. Bez problemu stworzysz testy dotyczące funkcji AJAX, a także przeprowadzisz rozbudowane, wieloetapowe testy podatności na klasyczne problemy: skrypty krzyżowe oraz wstrzykiwanie kodu. Bezpieczeństwo oprogramowania Instalacja darmowych narzędzi i rozszerzeń Kodowanie danych w Internecie Manipulowanie danymi wejściowymi Fałszowanie informacji przesyłanych w nagłówkach przez przeglądarki Przesyłanie na serwer plików o dużej objętości Obchodzenie ograniczeń interfejsu użytkownika Autoryzacja masowego skanowania Ataki przeciwko aplikacjom AJAX Manipulowanie sesjami Testy wielostronne Niech bezpieczeństwo Twoich aplikacji nie spędza Ci snu z powiek!
Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości
Gayathri Mohan
Wysoka jakość aplikacji nie bierze się znikąd! Aby ją zapewnić, testowanie musi być integralnym aspektem inżynierii oprogramowania, wplecionym w każdy etap cyklu jego dostarczania. Błędy czy niedoskonałości w kodzie, pominięte z powodu niedokładnego testowania, mogą się okazać niezwykle kosztowne, jeśli ujawnią się w środowisku produkcyjnym. Oznacza to, że wdrożenie mądrej strategii testowania jest warunkiem sukcesu w branży dostarczania oprogramowania. Ten praktyczny przewodnik zawiera szeroki przegląd strategii, wzorców i form testowania oprogramowania, ułatwiających dobór ścieżek i podejść do konkretnych projektów w zależności od zakresu, budżetu i ram czasowych. Książka uczy przydatnych umiejętności w zakresie przeprowadzania testów wydajności, bezpieczeństwa i dostępności, w tym testów eksploracyjnych, automatyzacji testów, testów wielofunkcyjnych, testowania danych, testowania mobilnego i wielu innych. Zaprezentowano tu także łączenie testów w potokach ciągłej integracji, co pozwala na szybkie otrzymywanie informacji zwrotnych. W ten sposób łatwiejsze staje się kontrolowanie trudnych przepływów pracy programistycznej i uzyskiwanie wysokiej jakości aplikacji. Najciekawsze zagadnienia: ponad 40 narzędzi do testowania kodu zasady dobierania testów pod kątem jakości oprogramowania strategie i koncepcje dotyczące testowania praktyczne korzystanie z poszczególnych narzędzi do testowania najlepsze praktyki przeprowadzania testów Po pierwsze, po drugie i po trzecie: testuj swój kod!
Dave Westerveld
Znaczenie interfejsów API systematycznie rośnie. Głównie za sprawą tego, że ułatwiają komunikację - zarówno zewnętrzną, jak i tę, która zapewnia spójne działanie elementów nowoczesnych systemów. I podobnie jak dobre porozumienie jest podstawą relacji międzyludzkich, tak samo sprawna komunikacja między usługami ma kluczowe znaczenie dla prawidłowego funkcjonowania aplikacji. Z tego powodu od jakości API zależy jakość systemu oprogramowania jako całości. Warto zatem dobrze poznać Postmana. Dzięki tej praktycznej książce poznasz pełnię możliwości Postmana. Znajdziesz tu przystępnie wyjaśnione koncepcje, a także zestaw rzeczywistych przykładów, co ułatwi Ci korzystanie z tego narzędzia do tworzenia doskonale zaprojektowanych, udokumentowanych i przetestowanych interfejsów programowania aplikacji. Za pomocą praktycznych projektów nauczysz się dodawać automatyzację testów do istniejącego API. Poznasz również nowe funkcjonalności Postmana, stanowiące dużą pomoc w unikaniu błędów. W drugim, w pełni zaktualizowanym wydaniu znajdziesz nowe rozdziały dotyczące testowania przepływu pracy, tworzenia i używania serwerów imitacji, testowania bezpieczeństwa API, jak również testowania wydajności. W książce: użycie Postmana do poprawy jakości interfejsu API Postman i testowanie sterowane danymi serwery mock w Postmanie i testowanie kontraktowe zasady testowania bezpieczeństwa funkcjonalne i niefunkcjonalne podejście do testowania API praca ze standardami przemysłowymi, na przykład przy użyciu OpenAI i imitacji API? Lepiej przetestować dziś niż debugować jutro!
Renu Rajani
Doświadczeni deweloperzy wiedzą, że testowanie oprogramowania jest procesem żmudnym i wymagającym, niemniej rzetelnie przeprowadzone testy są konieczne, aby uznać kod za godny zaufania. Co więcej, testowanie kodu jest tą gałęzią techniki, która rozwija się bardzo dynamicznie. Ma to związek z rosnącymi konsekwencjami ewentualnych incydentów, przerw w działaniu oprogramowania czy wręcz ataków hakerskich. Oznacza to, że tester musi być na bieżąco z nowinkami ze swojej branży. Ta książka jest nieodzowną pomocą każdego testera. Stanowi wyczerpujące źródło potrzebnych informacji, prezentuje przeróżne perspektywy, praktyki, trendy, narzędzia i rozwiązania związane z testowaniem aplikacji. Omówiono różne modele działań testowych i rozmaite cykle życia oprogramowania. Pokazano nieoczywiste aspekty analizy jakości oraz prowadzenia testów w przypadku mediów społecznościowych, urządzeń mobilnych, danych analitycznych i technologii chmury. Opisano technologie, które najprawdopodobniej będą kształtować przyszłość testów oprogramowania. W publikacji nie zabrakło informacji o najlepszych praktykach, które warto stosować w celu zapewnienia stabilności i bezpieczeństwa oprogramowania. W tej książce między innymi: Najnowsze trendy w dziedzinie działań testowych i modeli operacyjnych Automatyzacja testów Uczenie maszynowe i systemy kognitywne: testowanie i wykorzystywanie w testach Testowanie na potrzeby różnych branż: ochrona zdrowia, marketing cyfrowy i inne Testowanie aplikacji na potrzeby rozwoju IoT (internetu rzeczy) Podoba Ci się ten kod? Przetestuj, zanim pochwalisz!
Scottie Crump
W ostatnich latach zdecydowanie wzrosła popularność frameworka React, pozwalającego w pełni skorzystać z możliwości nowoczesnych przeglądarek i urządzeń mobilnych. Nowym narzędziem służącym do testowania obiektowego modelu dokumentu (DOM) jest React Testing Library. Zostało ono zaprojektowane tak, aby ułatwiać projektantom pracę zgodną z podejściem test-driven development (TDD). Jest to bardzo cenna właściwość, gdyż prawidłowo napisane komponenty testowe znacznie obniżają ryzyko wystąpienia poważnych błędów aplikacji. W tej książce przystępnie wyjaśniono, w jaki sposób używać nowoczesnego narzędzia, jakim jest React Testing Library (RTL), do testowania komponentów napisanych w React. Dzięki niej zrozumiesz główne aspekty działania tej biblioteki. Nauczysz się symulować interakcje użytkownika i zrozumiesz podejście TDD. Znajdziesz tu wskazówki, jak tworzyć testy jednostkowe komponentów, które wchodzą w interakcje z interfejsami API, a także jak testować komponenty za pomocą takich bibliotek jak GraphQL i Redux. Zapoznasz się też z technikami testowania aplikacji, które podległy poważnej refaktoryzacji. Na koniec dowiesz się, jak pisać całościowe testy funkcjonalne z wykorzystaniem biblioteki Cypress i które wzorce projektowe są najbardziej przydatne do ustrukturyzowania profesjonalnego zbioru testów. W książce między innymi: wprowadzenie do RTL i jego zastosowań użycie jest-dom do rozbudowy testów opartych na RTL techniki tworzenia komponentów testowych łatwych do modyfikacji integracja zestawów testowych z Cucumber i Cypress podejście TDD React: z łatwością napiszesz doskonałe komponenty testowe!
Testowanie oprogramowania. Podręcznik dla początkujących
Rafał Pawlak
Testuj programy i śpij spokojnie! Ogólna teoria testowania, czyli po co nam testy i jak sobie z nimi radzić Projekt a proces testowania, czyli kiedy zacząć testować i jak to robić z głową Automatyzacja i dokumentacja, czyli jak ułatwić sobie pracę podczas testowania Testowanie oprogramowania jest niesłychanie ważnym czynnikiem, wręcz decydującym o sukcesie lub porażce systemu, aplikacji czy sieci. Bezlitośni użytkownicy wykryją najdrobniejszy błąd, skutkujący choćby niewielkim spowolnieniem działania programu… i nie omieszkają wyrazić swojej opinii w internecie. Jeśli chcesz uniknąć takich niespodzianek, a ponadto zależy Ci na jak najszybszym ukończeniu realizowanego projektu i wypuszczeniu perfekcyjnego produktu, musisz natychmiast zacząć go testować! Ta książka pomoże Ci zorientować się w metodach i technikach testowania. Jej autor, praktyk z wieloletnim doświadczeniem, zawarł w niej informacje o narzędziach i procesach, opisał również własne doświadczenia związane z konkretnymi projektami. Dowiesz się między innymi, jak radzić sobie na kolejnych etapach weryfikacji jakości oprogramowania — wybrać odpowiedni typ testu i przejść przez proces jego projektowania — a także jak uporać się ze znużeniem nieustannym testowaniem. Odkryjesz też, do czego służy automatyzacja i jak przejrzyście dokumentować całe przedsięwzięcie. Usuń błędy, zanim zaczną sprawiać Ci kłopoty! Poziomy wykonywania testów Typy testów Wprowadzenie do projektowania testów Psychologiczne aspekty procesu testowania Syndrom zniechęcenia testami Testowanie usług sieciowych (WebServices) Wprowadzenie do automatyzacji testów Generowanie sumy kontrolnej i danych testowych Membrane HTTP/SOAP Monitor SoapUI Postaw na jakość! To się opłaca!
Marcin Szyszka
Obierz kurs na perfekcyjne kodowanie poprzez testowanie Jednostkowe i integracyjne testy oprogramowania należą do paradygmatów profesjonalnego kodowania. W niemal każdym ogłoszeniu o pracę na stanowisku programisty, w sekcji wymagań dotyczących kandydata, zamieszczona jest informacja o umiejętności przeprowadzania testów jednostkowych, jak również znajomości przeznaczonych do tego szczegółowych narzędzi. Dlaczego to tak ważna kompetencja? Otóż testy jednostkowe nie służą jedynie sprawdzeniu wyniku pojedynczego bloku kodu; kod pisany pod testy jednostkowe wymusza na programiście wykorzystywanie wzorców projektowych, dzięki czemu powstaje produkt lepszej jakości, w efekcie łatwiejszy w utrzymaniu. Przygotowując niniejsze szkolenie, jego autor postawił sobie za cel nie tylko przybliżenie słuchaczowi definicji związanych z testowaniem oraz zaprezentowanie narzędzi służących testom, ale przede wszystkim pokazanie różnicy między kodem pisanym bez testów jednostkowych i kodem tworzonym z użyciem takich testów. Dlatego też proponowany kurs został skonstruowany tak, by przedstawić cały proces decyzyjno-skutkowy związany z kodowaniem z testowaniem lub bez testowania. Po ukończeniu szkolenia jego uczestnik będzie potrafił przetestować napisany przez siebie kod, a także zdobędzie umiejętność pisania kodu, który pomyślnie przejdzie testy — jego własne oraz prowadzone przez innych programistów z zespołu. Co Cię czeka podczas naszego profesjonalnego szkolenia? Podczas pracy z tym kursem video: poznasz ogólne zasady dotyczące testów jednostkowych i integracyjnych; będziesz pracować z wieloma narzędziami służącymi testowaniu; przeprowadzisz testy manualne, jednostkowe, parametryzowane oraz integracyjne; dowiesz się, na czym polega automatyzacja testów i jak ją zrealizować. Co więcej... ...poznając zasady dotyczące różnych rodzajów testowania, w oczywisty sposób nauczysz się pisać kod lepszej jakości. Testowanie oprogramowania w .NET Core 2.0. Kurs video. Poziom pierwszy. Jak pisać dobry, niezawodny i łatwy w utrzymaniu kod kończy się na poziomie średnio zaawansowanym — szkolenie bowiem obejmuje opisane i poparte praktycznymi przykładami podstawowe przypadki testowe (jednostkowe) oraz wymagające szerszego spojrzenia i przygotowania infrastruktury środowiska testowego testy integracyjne. Spędź ten dzień we własnej bibliotece! Tak, to nie żart, to bardzo poważna propozycja — na dobry początek pracy z niniejszym kursem napiszesz niewielką bibliotekę, którą będziesz rozwijać w miarę zapoznawania się z kolejnymi narzędziami i sposobami testowania we frameworkach: MsTest, xUnit oraz nUnit. Rozpoczniesz od testów jednostkowych, sprawdzających pojedyncze metody, a następnie poznasz i wykorzystasz mechanizm dependency injection oraz jeden z popularnych kontenerów IoC (inversion of control) — niezwykle ważne podczas pisania testowalnego kodu. Dowiesz się, czym jest TDD (test-driven development), a w dalszej części kursu napiszesz testy integracyjne sprawdzające integrację Twojej biblioteki z zewnętrznym Web API typu REST, testy warstwy bazodanowej oraz kompletny test integracyjny całego endpointu REST API z wykorzystaniem klasy TestServer. Jeśli nie pracowałeś dotąd z frameworkiem Asp.Net Core 2.0, teraz będziesz miał okazję napisać oraz uruchomić na serwerze IIS w pełni działającą aplikację Web API REST wraz z dostępem do bazy danych z wykorzystaniem Entity Framework Core w podejściu Code First. Na koniec kursu uruchomisz i skonfigurujesz tzw. build server, który po wykryciu zmiany w repozytorium kodu automatycznie uruchomi wszystkie testy, a po ich pomyślnym zakończeniu opublikuje napisaną przez Ciebie bibliotekę. W ten sposób zautomatyzujesz proces testowania i publikacji. Tylko dla wtajemniczonych Wraz z kursem jego autor udostępnia repozytorium Git dostępne z całym kodem źródłowym. Repozytorium jest wygodnie skonstruowane, zawiera bowiem commity dodane po każdej z praktycznych lekcji (czyli takich, podczas których powstał jakikolwiek kod). Commit message zaczyna się od numeru lekcji. Dzięki temu słuchacz może skupić się na słuchaniu i oglądaniu, by następnie, w miarę potrzeby i chęci, swobodnie przełączać się w repozytorium kodu pomiędzy commitami i aktualizować tym samym pliki projektu na swoim komputerze, a przy tym koncentrować się na pisaniu testów Poznaj naszego eksperta Materiał zawarty w szkoleniu Testowanie oprogramowania w .NET Core 2.0. Kurs video. Poziom pierwszy. Jak pisać dobry, niezawodny i łatwy w utrzymaniu kod opanujesz dzięki jego autorowi Marcinowi Szyszce. Marcin Szyszka z wykształcenia jest inżynierem elektroniki i telekomunikacji, z wyboru — programistą. Pracuje jako .Net developer przy projektach aplikacji internetowych, desktopowych oraz mobilnych z wykorzystaniem platformy Xamarin. Stale podnosi swoje kwalifikacje, uczestnicząc w różnego rodzaju warsztatach programistycznych oraz śledząc aktualności. Od początku aktywności zawodowej jest związany z platformą .Net, ale nie zamyka się na technologie front-endowe. Prywatnie mąż Małgorzaty i pasjonat sportowej odmiany paintballa, grający w warszawskiej drużynie Grim Reapers (wicemistrz Polski 2017). Zawsze staraj się, aby Twój kolejny kod był lepszy od poprzedniego!
Testowanie pomysłów biznesowych. Biblioteka technik eksperymentacyjnych
David J. Bland, Alexander Osterwalder
Uważaj! Najpierw zgromadź dane, a dopiero potem wprowadzaj swój pomysł w życie. Choćby w teorii wydawał się najlepszy, najpierw rzetelnie go przetestuj! Praktyczny przewodnik - od pomysłu do sprawdzonej koncepcji biznesowej Specjalnie dla innowatorów z korporacji, założycieli start-upów i przedsiębiorców Odwołuje się do fundamentalnych modeli Customer Development oraz Lean Startup Zawiera niesamowitą, rozbudowaną bibliotekę technik szybkich eksperymentów Oceń trafność swojej koncepcji za pomocą mistrzowskiej metodologii! Spośród milionów śmiałych idei zaledwie niewielka część przynosi imponujący sukces, sławę i wielkie pieniądze. Pozostałe odchodzą w niepamięć. W bestsellerze Tworzenie modeli biznesowych opisano rewolucyjne narzędzia pracy dla wizjonerów. Książka zawiera techniki skutecznej weryfikacji trafności pomysłu na biznes i wyjaśnia cały proces testowania, począwszy od zaplanowania pierwszego eksperymentu. Dowiesz się z niej także, jak kształtować pożądane postawy zespołu: wypracujesz język i ceremoniał organizacji nastawionej na eksperyment. Najwyższy czas przestać ograniczać się do opinii i zdobyć niepodważalne dane! A zatem pojawił pomysł i jest szansa na sukces. Być może w przeszłości udało Ci się dokonać kilku niezłych wdrożeń. Teraz jednak chcesz wejść na wyższy poziom i nauczyć się testować pomysły, aby uniknąć oczywistych porażek. W tej książce znajdziesz najnowsze skuteczne rozwiązania praktyczne, oparte na sprawdzonych koncepcjach Steve'a Blanka: metodologiach Customer Development oraz "w teren!". Koniec z utartymi schematami i przestarzałymi rozwiązaniami! Skorzystaj z wiedzy i doświadczenia najsłynniejszych praktyków i strategów tej dziedziny, aby nauczyć się stosowania niezwykłych technik eksperymentów! Przed Tobą nowoczesny przewodnik po świecie szybkich testów, dzięki którym znajdziesz drogę do działalności na dużą skalę. Wybieraj spośród 44 praktycznych testów, z których każdy może przynieść Ci niemały dochód! Do dzieła! Przetestuj, zanim wdrożysz! Przystępnie podana praktyczna i potrzebna wiedza Liczne łatwe do zapamiętania rysunki i schematy Rozszerzające biznesową świadomość przykłady i komentarze
Testowanie w Angularze. Kurs video. Karma i Jasmine
Dawid Perdek
Obierz kurs na bezbłędny kod Z roku na rok powstaje coraz więcej aplikacji webowych — a ich znaczący procent jest tworzony z wykorzystaniem frameworka Angular. To narzędzie cenione za stabilność i za to, że umożliwia dość bezproblemowe tworzenie stron typu SPA (single-page application), które działają szybciej i dają większe możliwości techniczne od stron budowanych z użyciem innych podejść. Jednym z niezbędnych etapów pracy z frameworkiem Angular (oraz z każdą inną technologią tego typu) jest testowanie kodu, który się za jego pomocą pisze. Pisanie testów to świetny sposób na doskonalenie własnych umiejętności programistycznych, dobra metoda na pełne poznanie kodu i opanowanie mechanizmów działania frameworka. Oczywiście, testowanie ma także wymiar czysto praktyczny — developerowi zapewnia spokój i daje gwarancję działania kodu. Poza spokojem własnym testowanie sprzęgnięte z kodowaniem obniża ciśnienie w relacjach z klientami — wielu z nich życzy sobie, aby kod był w jakimś, określonym kontraktem, stopniu przetestowany. Co Cię czeka podczas naszego profesjonalnego szkolenia? W trakcie pracy z tym kursem video: Dowiesz się, czym jest framework Angular. Poznasz najważniejsze narzędzia do testowania (Jasmine i Karma). Nauczysz się wykonywać testy różnego rodzaju (testy jednostkowe izolowane, płytkie i głębokie testy integracyjne oraz testy widoku). Co więcej... Otrzymasz zadanie domowe, które zmotywuje Cię do dalszej pracy! Testowanie w Angularze. Kurs video. Karma i Jasmine kończy się na poziomie podstawowym. Po odbyciu szkolenia będziesz posiadać fundamentalną wiedzę, wystarczającą do samodzielnego tworzenia testów. Dzięki licznym praktycznym przykładom, które pojawią się w trakcie nauki, będziesz miał się do czego odwołać, gdy zajmiesz się pogłębianiem umiejętności testowania w Angularze we własnym zakresie. Dwa słowa o Angularze Jeśli wciąż się wahasz, ponieważ nie masz pewności, na jaki język i jakie środowisko programistyczne warto postawić — przestań! Po prostu wybierz framework Angular, a otworzą się przed Tobą drzwi wymarzonych pracodawców w najlepszych zespołach programistycznych. Programiści najnormalniej w świecie lubią pracować z ludźmi, którzy rozumieją, jak działa Angular, i którzy chcą z niego korzystać, ponieważ jest to framework uniwersalny, o dość niskiej barierze „wejścia”. Bazuje na języku JavaScript, przez co wymusza na developerze dobre praktyki, i przede wszystkim jest uniwersalny — za jego pomocą można tworzyć bardzo różne produkty: od stron internetowych i aplikacji webowych aż po aplikacje mobilne i desktopowe. Jeśli testować, to zwinnie Testowanie rzadko bywa pasją programistów. A szkoda — kod odpowiednio przetestowany to kod elegancki, czysty i w pełni sprawny, co docenią koledzy z projektu, klient, pracodawca... Dla uczciwości należy dodać, że niechętne testom podejście, jakie prezentuje wielu koderów, powoli się zmienia, w czym niemały udział ma popularyzacja metodyki TDD (test-driven development). W jej ramach najpierw poznaje się wymagania, potem pisze do nich testy i dopiero na koniec kod, który te wymagania i testy zaspokoi. Jest to ciekawe doświadczenie programistyczne i wiele osób pozostaje przy tej filozofii pracy. Nauczenie się podstaw testowania i późniejsze samodzielne zgłębienie zagadnienia to pierwszy krok w kierunku TDD. Kod bez testów nie jest czysty!
Tilo Linz
Styl programowania zwinnego obiecuje wyższą jakość oprogramowania, krótszy czas dotarcia z produktem na rynek oraz lepsze nastawienie na potrzeby klientów. Coraz więcej projektów związanych z tworzeniem oprogramowania wykorzystuje metody zwinne takie jak Scrum. Jednakże przejście na programowanie zwinne i efektywne z niego korzystanie nie zawsze jest łatwe. Testowanie oprogramowania i zarządzanie jakością są istotnymi czynnikami dla powodzenia wprowadzenia i wykorzystania metodyk zwinnych na dłuższą metę. Ta książka omawia metodyki zwinne z perspektywy testowania oprogramowania i zarządzania jakością oprogramowania. Pokazuje, jak działa testowanie zwinne i przedstawia sytuacje, w których tradycyjne techniki testowania są nadal konieczne w ramach podejścia zwinnego. Menedżerowie oprogramowania, menedżerowie projektu i menedżerowie zarządzania jakością uzyskają wskazówki i porady, jak organizować testowanie i zarządzanie jakością, aby w pełni wykorzystać potencjał metodyk zwinnych. Certyfikowani testerzy i eksperci od zarządzania jakością dowiedzą się, jak skutecznie pracować w zespołach zwinnych i jak najlepiej zintegrować swoje doświadczenie. Do omawianych tematów należą: • Podejścia zwinne a tradycyjne • Planowanie testów w projektach zwinnych • Testy jednostkowe i podejście sterowane testami • Testy integracyjne i ciągła integracja • Testy systemowe i testy non-stop • Zwinne zarządzanie jakością Książka wykorzystuje też sześć studiów przypadku z dziedziny produkcji, sieciowego handlu oraz wytwarzania oprogramowania, a także ćwiczenia testowe do samodzielnego sprawdzania wiedzy. Książka ta obejmuje zagadnienia z programu ISTQB Foundation Level Extension Syllabus „Agile Tester” i jest odpowiednim źródłem dla wszystkich kursantów, którzy planują uzyskać ten certyfikat ISTQB.
Testowanie w React. Kurs video. Kompleksowe testy dla Frontend Developera
Kamil Homernik
Obierz kurs na... testowanie frontendu W erze dynamicznych interfejsów automatyzacja testowania okazuje się szczególnie potrzebna dla utrzymania jakości i wydajności. Wiele firm IT oczekuje dziś od frontend developerów umiejętności testowania kodu jako standardu, nie dodatku. Dzięki testom jednostkowym, integracyjnym i end-to-end wykryjesz błędy, zanim trafią one do użytkowników końcowych. Poprawnie przeprowadzone testy przekładają się na szybsze i bezpieczniejsze wdrażanie zmian. Testując frontend, poznasz nowoczesne narzędzia takie jak biblioteka React Testing Library (RTL), która pozwala testować komponenty w sposób odzwierciedlający rzeczywiste interakcje użytkownika, i Vitest – framework testowy doskonale zintegrowany z Vite i zapewniający błyskawiczne uruchamianie testów. Znajomość testowania frontendu znacząco wpływa na rozwój kariery frontend developera. Pozwala się wyróżnić na rynku pracy, zwiększa pewność przy wprowadzaniu zmian i buduje zaufanie w zespole. Umiejętność pisania testów to znak profesjonalizmu i dojrzałości technicznej; ceniona jest zwłaszcza w większych firmach i zaawansowanych projektach. Dzięki pisaniu testów łatwiej awansować, wejść w role techniczne lub liderskie i pracować nad bardziej odpowiedzialnymi zadaniami. To inwestycja, która przekłada się na jakość kodu, bezpieczeństwo wdrożeń i długofalowy rozwój zawodowy. Testowanie w React. Kurs video. Kompleksowe testy dla frontend developera ukończysz na poziomie średnio zaawansowanym. Zdobędziesz wiedzę o testowaniu komponentów w React i unikaniu błędów. Opanujesz nowoczesne narzędzia, takie jak Vitest i React Testing Library, które są standardem w świecie frontendu. Nauczysz się mierzyć pokrycie kodu testami (test coverage) i optymalizować testy tak, by były skuteczne. Napiszesz testy end-to-end (E2E) z wykorzystaniem Playwrighta i dowiesz się, jak monitorować aplikację po wdrożeniu. Przećwiczysz dobre praktyki testowania stosowane przez Google czy Netflix. Nauczysz się mockować funkcje, komponenty i żądania sieciowe, a także testować komponenty z hookami. Poznasz różne rodzaje testów: jednostkowe, integracyjne i E2E, zrozumiesz również, kiedy i jak je stosować. Przećwiczysz cały proces testowania na gotowej aplikacji React: od konfiguracji po testy E2E w realistycznych scenariuszach. Dzięki temu zdobytą wiedzę od razu zastosujesz w praktyce, pracując nad rzeczywistymi projektami. Dobre testy to pewność, że aplikacja działa tak, jak powinna. Dzięki nim oszczędzasz czas na szukanie błędów i zyskujesz spokój, że Twoje zmiany nie popsują już działającego kodu. Testowanie to po prostu rozsądne podejście do pisania aplikacji, które pomaga uniknąć problemów w przyszłości.
Testuj oprogramowanie jak Google. Metody automatyzacji
James A. Whittaker, Jason Arbon, Jeff Carollo
Poznaj najlepszą na świecie metodę testowania! Oprogramowanie firmy Google to miliony linii kodu źródłowego, dziesiątki wersji językowych, różne systemy operacyjne, przeglądarki i preferencje użytkownika. Jak przy takich wymogach dostarczyć klientom produkt najwyższej jakości? Tu mogą pomóc tylko testy automatyczne. Dzięki nim codziennie bez trudu można uruchomić miliony testów! Google opanowało tę sztukę do mistrzostwa. Warto uczyć się od najlepszych! Dzięki tej książce dowiesz się, jak zorganizować proces testowania tak, żeby był elastyczny, skuteczny i spełniał Twoje oczekiwania. Poznasz rolę inżyniera do spraw testowania oprogramowania, kierownika zespołów inżynierskich oraz inżyniera testującego. Zobaczysz, na jakie problemy natykają się oni każdego dnia oraz jak sobie z nimi radzą. Ponadto nauczysz się oceniać ryzyko, dokumentować proces testowania czy raportować błędy. Książka ta jest obowiązkową lekturą dla wszystkich osób, które doskonalą swoje umiejętności programistyczne i chcą polepszyć jakość dostarczanego oprogramowania. Dzięki tej książce: poznasz najlepsze metody zapewniania jakości oprogramowania nauczysz się planować i przeprowadzać testy poprawnie ocenisz ryzyko udoskonalisz proces wytwarzania oprogramowania! Sprawdź, jak testują najlepsi!
Testy A/B. Od kliknięcia do klienta
Dan Siroker, Pete Koomen
Odkryj możliwości testów A/B! Kampanie reklamowe to nie lada obciążenie dla firmowego budżetu. W dodatku badania pokazują, że zaledwie 2% osób klikających reklamę i odwiedzających Twoją witrynę staje się Twoimi klientami. Łatwo z tego wyciągnąć smutny wniosek - aż 98% z nich nie skorzysta z Twoich usług! Zmień to! Poznaj sposoby na zwiększenie współczynnika konwersji! Istnieją narzędzia, które pozwolą Ci polepszyć ten wskaźnik. Ta książka omawia jedną z najskuteczniejszych technik - testy A/B. Polegają one na prezentowaniu użytkownikom różnych wersji strony i mierzeniu, jak reagują ci użytkownicy. W trakcie lektury tego wyjątkowego poradnika dogłębnie poznasz tę metodykę i odkryjesz najlepsze sposoby jej wdrażania. A potem dowiesz się, jakie pułapki i problemy czekają na Ciebie oraz jak sobie z nimi poradzić. Książka ta jest poświęcona niełatwym zagadnieniom, jednak ta wiedza przekazywana jest w niezwykle przyjazny i prosty sposób. Popraw wyniki swoich kampanii! Dzięki tej książce: poznasz testy A/B wdrożysz testy A/B krok po kroku unikniesz najczęstszych błędów zwiększysz współczynnik konwersji Zwiększ skuteczność Twoich działań marketingowych!
Testy automatyczne kodu Python. Kurs video. Pisanie testów jednostkowych od podstaw
Jakub Wasielak
Obierz kurs na sprawne testowanie kodu Trudno wyobrazić sobie doświadczonego programistę, który w trakcie rozwijania kodu nie dba o jego przetestowanie. Dynamika powstawania oprogramowania powoduje, że kod z napisanymi testami automatycznymi jest o wiele bardziej odporny na przypadkowe błędy, które - nie ma co ukrywać - zdarzają się nawet najlepszym. Jeżeli więc zależy Ci na dostarczaniu niezawodnego kodu, testy automatyczne są obowiązkowym punktem na Twojej liście "to do". W trakcie tego kursu nauczysz się, jak z sukcesem tworzyć podstawowe, a przy okazji najważniejsze z nich, czyli testy jednostkowe, które sprawdzają najbardziej szczegółowe funkcje. Niniejsze szkolenie to doskonały przewodnik po najpopularniejszej bibliotece służącej do testowania kodu języka Python, czyli py.test. Autor kursu nie omawia wyłącznie dokumentacji - kładzie nacisk przede wszystkim na dobre nawyki i zwyczaje, które zwiększają zarówno wartość testów, jak i biegłość ich tworzenia. Osoba, która ukończy proponowane przez nas szkolenie, z pewnością nabierze wprawy w pisaniu testów jednostkowych oraz polepszy jakość tworzonego oprogramowania. Co więcej, opanowanie testów jednostkowych będzie świetnym wstępem do nauki testowania funkcjonalnego oraz behawioralnego. Co Cię czeka podczas naszego profesjonalnego szkolenia? Dzięki niniejszemu kursowi video: poznasz środowisko PyCharm i nauczysz się w nim pracować; zrobisz sobie małą powtórkę z Pythona; nauczysz się sprawnie testować swój kod; dowiesz się, jak oszczędzić czas podczas testowania; przekonasz się, w jaki sposób skutecznie debugować kod. Co więcej... ...poznasz metodykę Test Driven Development. Testy automatyczne kodu Python. Kurs video. Pisanie testów jednostkowych od podstaw kończy się na poziomie średnio zaawansowanym. W trakcie szkolenia jego słuchacz zdobędzie wyczerpującą wiedzę na temat testów jednostkowych. Kolejnym etapem nauki powinno być testowanie całościowego działania - najlepiej w oparciu o aplikacje webowe. Witaj w świecie testów jednostkowych! Usiądź wygodnie, uruchom kurs i przygotuj się na to, że kolejne trzy godziny swojego programistycznego życia spędzisz bardzo owocnie. Dowiesz się mianowicie, czym są testy jednostkowe i kiedy warto - a nawet trzeba! - je stosować. Nauczysz się pisać takie testy z wykorzystaniem wbudowanej w język Python biblioteki unittest. Poznasz dobre praktyki rozwijania testów oraz metodykę ich pisania według szablonu given - when - then. Opanujesz zasady DRY (don't repeat yourself), reguły parametryzacji testów oraz mockowania, czyli tworzenia atrap obiektu, które będą naśladować jego funkcjonowanie. Dowiesz się, czym jest monkeypatching, oraz przyjrzysz się globalnemu plikowi konfiguracyjnemu Conftest. Sprawdzisz pokrycie swojego kodu testami. Wreszcie - będziesz debugować kod z użyciem wbudowanego debuggera pdb, korzystać z biblioteki wdb i zarządzać uruchamianiem poszczególnych testów. Dla zaawansowanych Na koniec kursu poznasz najlepszą możliwą propozycję dla początkujących programistów: nauczysz się rozwiązywać proste ćwiczenie, czyli tzw. kata, w metodyce Test Driven Development. Metodyka ta zyskuje na popularności, zarówno jeśli chodzi o ćwiczenia programistyczne, jak i o profesjonalne pisanie kodu. Dobre opanowanie TDD pozwala nie tylko na tworzenie testów równolegle z oprogramowaniem, ale również pokazuje, jak wartościowe może być podejście od szczegółu do ogółu.
Testy E2E. Kurs video. Protractor, Cypress, Cucumber
Dawid Perdek
Obierz kurs na... testowanie aplikacji jako całości Aplikacje webowe otaczają nas zewsząd. Używamy ich do zamawiania jedzenia, robienia zakupów, rozrywki, kontaktowania się z rodziną i ze znajomymi, nauki czy pracy; często od nich zależą nasze pieniądze, a nawet zdrowie. W związku z tym nam, programistom, powinno szczególnie zależeć na tym, by były one niezawodne. A to wymaga dobrego testowania. Testować kod można na wiele sposobów: manualnie, automatycznie, jednostkowo, integracyjnie, kontraktowo, mutacyjnie, metodą end-to-end (E2E). Ponieważ jednak liczba funkcjonalności w kolejnych aplikacjach rośnie, nie sposób w pełni manualnie sprawdzić wszystkich scenariuszy. Stąd uwaga świata informatycznego kieruje się ku testom automatycznym. Dobrze zaprogramowane testy automatyczne mogą znacznie ułatwić codzienną pracę zespołów developerskich, zwolnić sporo czasu poświęcanego do tej pory choćby na ręczne testy regresyjne, dzięki czemu można go poświęcić więcej na dopracowywanie i rozwijanie produktu. Dlatego też w ramach tego kursu skupiamy się na zagadnieniu przeprowadzania testów automatycznych end-to-end, czyli traktujących aplikację jako nierozerwalną całość. Ponieważ sporo aplikacji jest tworzonych z wykorzystaniem frameworka Angular, to na jego przykładzie pokażemy testy E2E. Użyjemy dwóch bibliotek do testowania: Protractora, stosowanego do aplikacji angularowych, i Cypressa, którego można użyć również w aplikacjach napisanych w innych technologiach. Poruszymy też pokrótce kwestie BDD (behavior-driven development) i na przykładzie biblioteki Cucumber zobaczymy, jak mogłaby wyglądać dokumentacja w postaci scenariuszy testowych. Co Cię czeka podczas naszego profesjonalnego szkolenia W trakcie kursu: Zdobędziesz wiedzę o testach E2E i dowiesz się, czym są i jak je przeprowadzać. Poznasz narzędzia do testowania: Protractor, Cypress i Cucumber. Nabędziesz umiejętność samodzielnego wyboru technologii i pisania testów E2E. Co więcej... Zyskasz podstawy do dalszego zgłębiania tematów związanych z jakością (jak piramida testów, metryki) i metodykami, takimi jak BDD. Testy E2E. Kurs video. Protractor, Cypress, Cucumber porusza tematy średnio i całkiem zaawansowane, ale zaczyna się od spraw zupełnie podstawowych i większość materiału dotyczy tych właśnie tematów. Po ukończeniu kursu będziesz w stanie rozpocząć samodzielne pisanie testów E2E z wykorzystaniem wymienionych technologii - i to jest główny cel tego kursu. Po co komu testowanie Cóż, prawda jest taka, że testowanie nie jest tym, co tygrysy (programiści) lubią najbardziej. Wiadomo, zajmuje czas, hamuje pracę, zmusza do cofania się i wprowadzania poprawek... Tyle że produkt nieprzetestowany to produkt nieużyteczny. Z błędami, gorzej działający, czasami wcale. Stąd testy, testy i jeszcze raz testy - albo klient się mocno zdenerwuje, gdy otrzyma kolejną wersję beta. I następną. I jeszcze jedną. Jeśli więc jesteś programistą, działającym w zespole lub freelancerem - testuj. A przynajmniej posiądź wiedzę na temat rodzajów testów i technologii, które służą do testowania, ich możliwości, wymogów, efektów. Dzięki temu będziesz wypuszczać lepszej jakości aplikacje i robić to (wbrew pozorom) szybciej i taniej. Bo nie ma nic mniej opłacalnego niż niezakończony, nieodebrany przez klienta projekt!
Testy jednostkowe. Świat niezawodnych aplikacji. Wydanie II
Roy Osherove
Poznaj możliwości testów jednostkowych! System informatyczny to inteligentne połączenie modułów i zależności, otoczone setkami tysięcy, a nawet milionami linii kodu źródłowego. Zmiana w jednym obszarze może mieć fatalny wpływ na działanie systemu w zupełnie innym miejscu. Ta zależność prowadzi do ogromnych kosztów wprowadzenia nawet najdrobniejszej zmiany w oprogramowaniu. Czy istnieje rozwiązanie tego problemu? Jak stworzyć system, w którym błyskawiczna weryfikacja lub wprowadzona zmiana nie spowodują nowych błędów w innej części? Oczywiście, że można to zrobić! Odpowiedzią na te i wiele innych problemów są testy automatyczne. Ten przewodnik to doskonała okazja, by głębiej poznać temat testów jednostkowych. Jeżeli uważasz, że ich pisanie jest uciążliwe, czasochłonne, trudne lub po prostu nie wiesz, jak je tworzyć, ta książka rozwiąże wszystkie Twoje problemy! W trakcie lektury dowiesz się, jak pisać testy, tworzyć zestawy testowe oraz przygotowywać makiety i namiastki. Poznasz narzędzia Moq, FakeItEasy oraz Typemock Isolator. Ponadto zdobędziesz wiedzę na temat organizacji testów oraz strategii testowania kodu odziedziczonego. Książka ta jest obowiązkową lekturą dla wszystkich programistów C# szukających świetnego przewodnika po świecie testów jednostkowych! Dzięki tej książce: rozwiejesz swoje wątpliwości dotyczące testów poznasz najpopularniejsze narzędzia wspomagające testowanie zorganizujesz swoje testy jednostkowe zapoznasz się z kluczowymi elementami dobrych testów stworzysz niezawodny i tani w utrzymaniu kod Niezawodny kod jest w Twoim zasięgu!
Testy jednostkowe. Zasady, praktyki i wzorce
Vladimir Khorikov
Każdy inżynier oprogramowania zna teoretyczne podstawy testowania. O tym, że sumienne przeprowadzenie testów ma podstawowe znaczenie dla jakości gotowego produktu, nie trzeba nikogo przekonywać. A jednak wciąż zbyt często okazuje się, że zaplanowanie, napisanie i przeprowadzenie testów jednostkowych w praktyce nie jest łatwym zadaniem. Co gorsza, niewłaściwe testy psują kod, mnożą błędy i zabierają mnóstwo cennego czasu i pieniędzy. Okazuje się, że dla uzyskania maksymalnej jakości projektu, który trzeba dostarczyć w krótkim czasie, konieczne jest nauczenie się praktycznego stosowania zasad i wzorców testowania jednostkowego. Jeśli znasz już podstawy testowania jednostkowego, dzięki tej książce nauczysz się projektowania i pisania testów, które obierają za cel model domeny i pozostałe kluczowe obszary kodu. Ten przejrzyście napisany przewodnik poprowadzi Cię przez proces tworzenia zestawów testowych o optymalnej wartości, bezpiecznej automatyzacji testowania i umiejętnego włączania go w cykl życia oprogramowania. W książce znalazły się uniwersalne wskazówki dotyczące analizy dowolnych testów jednostkowych oraz porady odnoszące się do zmian testów następujących wraz ze zmianami kodu produkcyjnego. Nie zabrakło również informacji, dzięki którym sprawnie zidentyfikujesz i wykluczysz ewentualne antywzorce testowania. Materiał został bogato zilustrowany przejrzystymi przykładami kodu napisanego w C#. Naturalnie, mają one zastosowanie także dla innych języków programowania. W książce między innymi: cel testowania jednostkowego i cechy dobrych testów fundamenty porządnego testowania jednostkowego wpływ zaślepek i sterowników na stabilność testów style testowania jednostkowego zalety i ograniczenia testowania integracyjnego Przed wdrożeniem dobrze przetestuj swój kod!
Testy penetracyjne dla zaawansowanych. Hakowanie najlepiej zabezpieczonych sieci na świecie
Wil Allsopp
Zgodnie z obiegową opinią typowy haker godzinami przeszukuje ogromne ilości danych o ruchu sieciowym w celu znalezienia słabiej zabezpieczonego systemu, a potem przeprowadza atak i uzyskuje dostęp do cennych zasobów. Obrona przed takimi cyberprzestępcami jest stosunkowo prosta. Prawdziwe wyzwanie rzuca silnie zmotywowany napastnik, który jest znawcą systemów i sprawnym programistą. Dzisiejsi administratorzy stoją w obliczu advanced persistent threat (APT), co oznacza dosłownie trwałe zagrożenie zaawansowanym atakiem. Ta książka jest znakomitym wprowadzeniem do zaawansowanych technik forsowania dobrze zabezpieczonych środowisk. Metody tu opisane nie są przedstawiane w żadnym poradniku ani na żadnych szkoleniach. Autor skoncentrował się na modelowaniu ataków APT w rzeczywistych warunkach: prezentuje różne nowe technologie i techniki ataków w szerokim kontekście rozmaitych dziedzin i branż działalności. Poza skutecznymi wektorami ataku przedyskutowano tak ważne koncepcje jak unikanie wykrycia szkodliwych programów, świadomość sytuacyjną, eksplorację poziomą i wiele innych umiejętności, które są kluczowe dla zrozumienia ataków APT. W tej książce między innymi: Makroataki i ataki typu „człowiek w przeglądarce” Wykorzystywanie apletów Javy do ataków Metody eskalacji uprawnień Maskowanie fizycznej lokalizacji za pomocą ukrytych usług w sieci Tor Eksperymentalne metody C2 Techniki inżynierii społecznej Sam sprawdź, czy Twój system odeprze prawdziwy atak? Wil Allsopp jest ekspertem w dziedzinie bezpieczeństwa systemów informatycznych. Testami penetracyjnymi zajmuje się od ponad 20 lat. Specjalizuje się w działaniach red team, ocenie systemów pod kątem podatności na ataki, audytach bezpieczeństwa, kontroli bezpieczeństwa kodu źródłowego, a także w inżynierii społecznej oraz rozpoznawaniu zaawansowanych stałych zagrożeń. Przeprowadził setki etycznych testów hakerskich i penetracyjnych dla wielu firm z listy „Fortune 100”. Mieszka w Holandii.
Testy penetracyjne. Kurs video. Testowanie bezpieczeństwa sieci
Adam Józefiok
Obierz kurs na... testowanie bezpieczeństwa sieci komputerowej Sieci komputerowe są nieustannie narażone na ataki hakerskie. Można się próbować przed nimi bronić i zainstalować odpowiednie oprogramowanie, jednak to często nie wystarcza. Dlatego, szczególnie w instytucjach i firmach, dla których wyciek danych miałby katastrofalne skutki, do dbania o bezpieczeństwo sieci zatrudnia się specjalnie przeszkolone do tego celu osoby. W tym – pentesterów. Pentesterzy, albo inaczej: testerzy penetracyjni, zajmują się identyfikowaniem i oceną luk w zabezpieczeniach systemów komputerowych, aplikacji i sieci. Wykonują tzw. testy penetracyjne, symulowane ataki, które mają na celu sprawdzenie, jak dobrze infrastruktura organizacji jest zabezpieczona przed rzeczywistymi zagrożeniami. Chodzi tu przede wszystkim o zabezpieczenie sieci komputerowej, ale zwykle wiedza i zainteresowanie pentestera sięga głębiej, nawet do kodu aplikacji. Jeśli te sprawy Cię interesują i chcesz je zgłębić, polecamy Ci nasz kurs. Obejmuje on szeroki zakres tematyczny i umożliwia zrozumienie zagadnień związanych z bezpieczeństwem sieci komputerowych, a także przyswojenie technik testów penetracyjnych. Znajdziesz w nim zarówno teoretyczne aspekty związane z bezpieczeństwem sieci, jak i praktyczne ćwiczenia, które otworzą Ci drogę do samodzielnego przeprowadzania testów bezpieczeństwa i analizowania zagrożeń w środowiskach sieciowych. Uruchom szkolenie i przyjrzyj się najważniejszym narzędziom używanym do testów penetracyjnych, takim jak Kali Linux, Nmap, Metasploit Framework, OWASP ZAP, Nikto i Nessus. Poznaj metody ataków na warstwy sieciowe, między innymi ARP cache poisoning, MAC flooding, i ataków na routing (na przykład atak na RIPv2 i EIGRP). Tego rodzaju wiedza z pewnością Ci się przyda, by wdrażać skuteczne środki zaradcze i zapobiegać atakom. Szkolenie Testy penetracyjne. Kurs video. Testowanie bezpieczeństwa sieci kończy się na poziomie średnio zaawansowanym. Dostarcza wiedzy i umiejętności, które są uniwersalne i mogą Ci się przydać zarówno w pracy zawodowej, jak i w codziennym życiu. Narzędziownik pentestera Nasz kurs obejmuje kluczowe aspekty pentestingu – od podstawowych zagadnień, takich jak rodzaje testów penetracyjnych i metody zbierania informacji, po bardziej zaawansowane, w tym techniki ataków na różnych warstwach modelu OSI. Przede wszystkim jednak koncentruje się na zapoznaniu uczestnika z popularnymi narzędziami używanymi w testach penetracyjnych: Kali Linux – najpopularniejsza dystrybucja systemu Linux, specjalizująca się w narzędziach bezpieczeństwa Nmap – skaner portów używany do zbierania informacji o usługach i wersjach oprogramowania, dzięki czemu możliwe jest identyfikowanie podatności Metasploit Framework – platforma pozwalająca na wyszukiwanie i wykorzystywanie luk w systemach OWASP ZAP i Nikto – narzędzia do skanowania aplikacji webowych pod kątem podatności Nessus – jedno z najpopularniejszych narzędzi komercyjnych do skanowania podatności, wykorzystywane w profesjonalnych środowiskach
Testy penetracyjne nowoczesnych serwisów. Kompendium inżynierów bezpieczeństwa
Prakhar Prasad
Testy penetracyjne nowoczesnych serwisów. Kompendium inżynierów bezpieczeństwa Sieć stała się niebezpiecznym miejscem. Między grasującymi złoczyńcami a inżynierami bezpieczeństwa aplikacji trwa ciągły wyścig zbrojeń. Mimo to oczywiste jest, że uzyskanie stuprocentowego bezpieczeństwa jest niemożliwe. Jedną z technik zabezpieczania aplikacji są testy penetracyjne, które polegają na atakowaniu systemu różnymi metodami, aby odnaleźć jego słabe punkty i pokazać, jak można się do niego włamać. Niniejsza książka stanowi wyczerpujące źródło wiedzy dla testerów przeprowadzających analizę aplikacji internetowej. Opisano tu zarówno najnowsze, jak i klasyczne techniki łamania zabezpieczeń — bardzo często starsze metody rozwijają się w różnych kierunkach i nie należy o nich zapominać. Między innymi przedstawiono informacje o atakach XML, w tym XXE, oraz metody wykorzystywania słabych stron OAuth 2.0. Omówiono również XSS, CSRF, Metasploit i wstrzykiwanie SQL. Nie zabrakło również opisu rzeczywistych przypadków testowania aplikacji. Nowe lub mniej popularne techniki ataku na strony WWW takie jak wstrzykiwanie obiektów PHP lub wykorzystanie danych XML. Sposób pracy z narzędziami do przeprowadzania testów bezpieczeństwa, aby w ten sposób zautomatyzować żmudne zadania. Różne rodzaje nagłówków HTTP wspomagających zapewnienie wysokiego poziomu bezpieczeństwa aplikacji. Wykorzystywanie i wykrywanie różnego rodzaju podatności XSS. Ochronę aplikacji dzięki technikom filtracji. Stare techniki ataku takie jak XSS, CSRF i wstrzykiwanie SQL, ale w nowej osłonie. Techniki ataku takie jak XXE i DoS wykorzystujące pliki XML. Sposoby testowania API typu REST w celu znalezienia różnego rodzaju podatności i wycieków danych. Testy penetracyjne — klucz do bezpieczeństwa Twojej aplikacji! Prakhar Prasad mieszka w Indiach. Jest ekspertem w dziedzinie bezpieczeństwa aplikacji specjalizującym się w testach penetracyjnych. W 2014 roku został sklasyfikowany na dziesiątej pozycji w światowym rankingu HackerOne. Zdobył kilka nagród za znalezienie luk bezpieczeństwa w takich serwisach, jak Google, Facebook, Twitter, PayPal czy Slack. Posiada certyfikaty z OSCP. Przeprowadza testy bezpieczeństwa dla różnych organizacji rządowych, pozarządowych i edukacyjnych.
Testy penetracyjne środowiska Active Directory i infrastruktury opartej na systemie Windows
Denis Isakov
Cyberprzestępczość to obecnie wielki biznes i wielka polityka. Zaangażowane podmioty nieustannie dążą do doskonalenia technik ataków. Cyberprzestępcy dysponują własną metodologią, narzędziami i wykwalifikowanym personelem. Aby obronić się przed nimi, musisz zrozumieć, w jaki sposób atakują, a potem dobrze poznać ich taktyki i techniki. W trakcie lektury tej książki przygotujesz własne laboratorium, a następnie przeanalizujesz każdy etap zabójczego łańcucha ataków i zastosujesz nową wiedzę w praktyce. Dowiesz się, jak ominąć wbudowane mechanizmy bezpieczeństwa, między innymi AMSI, AppLocker i Sysmon, przeprowadzać działania rozpoznawcze i wykrywające w środowisku domeny, a także zbierać dane uwierzytelniające w całej domenie. Przeczytasz również, jak poruszać się ruchem bocznym, aby wtopić się w ruch środowiska i pozostać niewykrytym przez radary obrońców, a ponadto jak eskalować uprawnienia wewnątrz domeny i w całym lesie domen czy osiągać stan przetrwania na poziomie domeny i w kontrolerze domeny. W efekcie nauczysz się przeprowadzać ocenę bezpieczeństwa różnych produktów i usług Microsoftu, takich jak Exchange Server, SQL Server i SCCM. Ciekawsze zagadnienia: techniki atakowania usług: Active Directory, Exchange Server, WSUS, SCCM, AD CS i SQL Server skuteczne unikanie wykrycia w środowisku ofensywne bezpieczeństwo operacyjne (OpSec) sposoby naprawy błędnych konfiguracji przygotowanie rzeczywistych scenariuszy Testuj granice odporności swojej infrastruktury!