Wydawca: Helion
Od początku swojej działalności wydawnictwo Helion wspiera rozwój specjalistów z szeroko pojętej branży IT. To doskonała baza wiedzy dla osób, które chcą poznać tajniki informatyki, programowania, sztucznej inteligencji, cyberbezpieczeństwa czy grafiki komputerowej i innych umiejętności związanych z nowoczesnymi technologiami.
Helion oferuje szeroki wybór książek oraz ebooków z różnych dziedzin informatyki, zawsze aktualnych i zgodnych z najnowszymi trendami technologicznymi.
Terraform. Krótkie wprowadzenie. Tworzenie infrastruktury za pomocą kodu. Wydanie II
Yevgeniy Brikman
Terraform jest narzędziem open source służącym do tworzenia i wdrażania kodu infrastruktury licznych platform wizualizacji i chmury, takich jak Amazon Web Services, Google Cloud, Azure, oraz zarządzania tym kodem. Migracja korporacyjnych systemów IT do chmury jest niezwykle obiecującą możliwością i wielu menedżerów wysokiego szczebla dostrzega zalety technologii chmurowych. Terraform znakomicie ułatwia wdrażanie rozwiązań opartych na chmurze, jest też narzędziem szczególnie predysponowanym do pracy zgodnej z metodyką DevOps, dzięki której współdziałanie ludzi, procesów i technologii pozwala na zapewnienie wysokiej jakości i niezawodności produktu. Ta książka jest drugim, wzbogaconym i uzupełnionym wydaniem praktycznego samouczka, dzięki któremu rozpoczęcie pracy z Terraform stanie się bardzo łatwe. Zapoznasz się z językiem programowania Terraform i zasadami tworzenia kodu. Szybko zaczniesz go wdrażać i zarządzać infrastrukturą za pomocą zaledwie kilku poleceń. Istotną częścią publikacji jest ukazanie metodologii DevOps w działaniu oraz wyjaśnienie zasad kodowania infrastruktury. Dziesiątki jasnych przykładów kodu, które można samodzielnie wypróbować w akcji, ułatwią zrozumienie podstaw. Niezależnie od tego, czy jesteś początkującym programistą, weteranem DevOps lub doświadczonym administratorem systemów, szybko przejdziesz od podstaw Terraform do przygotowania pełnego stosu, który zapewni obsługę ogromnego ruchu sieciowego i dużych zespołów programistów. W książce między innymi: wprowadzenie do Terraform wraz ze zmianami w kolejnych wydaniach tworzenie wysokiej jakości modułów Terraform testy ręczne i zautomatyzowane kodu wdrażanie klastrów serwerów, mechanizmy równoważenia obciążenia i bazy danych zarządzanie informacjami o stanie infrastruktury zaawansowana składnia Terraform Infrastruktura: koduj, wdrażaj i zarządzaj!
Terraform. Tworzenie infrastruktury za pomocą kodu. Wydanie III
Yevgeniy Brikman
Jeszcze do niedawna praca administratora systemu polegała na ręcznym przygotowywaniu infrastruktury do działania. Mozolne konfigurowanie serwerów, baz danych i elementów sieci niosło za sobą ryzyko przestojów środowiska produkcyjnego i wprowadzenia błędnych ustawień, a wdrożenia przebiegały powoli i łączyły się z nieuchronnym poszukiwaniem błędów. Dziś do tego rodzaju prac służy Terraform, narzędzie open source przeznaczone do tworzenia i wdrażania kodu infrastruktury, a także zarządzania nim; rozwiązanie stosowane w takich platformach jak Amazon Web Services, Google Cloud, Azure i wiele innych. To trzecie, wzbogacone i uzupełnione wydanie praktycznego samouczka, dzięki któremu błyskawicznie rozpoczniesz pracę z Terraform. Zapoznasz się z językiem programowania Terraform i zasadami tworzenia kodu. Szybko zaczniesz wdrażać infrastrukturę i zarządzać nią za pomocą zaledwie kilku poleceń. Istotną częścią książki jest pokazanie metodologii DevOps w działaniu, a także wyjaśnienie zasad kodowania infrastruktury. Dziesiątki jasnych przykładów kodu, które można samodzielnie wypróbować w akcji, ułatwią zrozumienie podstaw. Nie musisz być weteranem DevOps ani doświadczonym administratorem systemów - z tym podręcznikiem nawet początkujący programiści sprawnie przygotują pełny stos, który zapewni obsługę ogromnego ruchu sieciowego w rzeczywistych środowiskach produkcyjnych. Dzięki książce: zrozumiesz, kiedy używać Terraform, a kiedy innych narzędzi wdrożysz klastry serwerów, mechanizmy równoważenia obciążenia i bazy danych nauczysz się tworzyć infrastrukturę Terraform przetestujesz moduły Terraform wieloma metodami skonfigurujesz potoki CI/CD i zaczniesz się posługiwać zaawansowaną składnią Terraform nauczysz się pracować w środowiskach chmurowych Infrastruktura jako kod: od sukcesu dzieli Cię kilka poleceń!
Adam Tibi
Spośród wielu koncepcji tworzenia oprogramowania na szczególną uwagę zasługuje model programowania sterowanego testami - TDD. Zastosowanie podejścia TDD ułatwia utrzymanie wysokiej jakości kodu. Technika ta opiera się na dodawaniu funkcjonalności do produktu dopiero po utworzeniu i przeprowadzeniu testów jednostkowych. TDD coraz częściej jest wyborem szanowanych firm programistycznych. W tej praktycznej książce przedstawiono zasady TDD na rzeczywistych przykładach z użyciem popularnych frameworków, takich jak ASP.NET Core i Entity Framework. Po zapoznaniu się z solidnym wprowadzeniem do koncepcji TDD dowiesz się, jak można używać Visual Studio 2022 do tworzenia aplikacji internetowej z wykorzystaniem Entity Framework, a także baz danych SQL Server i Cosmos DB. Nauczysz się też korzystać z różnych wzorców, takich jak repozytorium, usługi i budowniczy. Ponadto omówiono tu architekturę DDD i inne najlepsze praktyki stosowane podczas tworzenia oprogramowania, w tym reguły SOLID i wskazówki FIRSTHAND. Nie zabrakło przydatnych uwag o biznesowych aspektach podejścia TDD. W książce między innymi: testy jednostkowe i mechanizm wstrzykiwania zależności NSubstitute: imitacje i dublery używane podczas testów zastosowanie TDD dla ASP.NET API, Entity Framework i baz danych tworzenie potoków ciągłej integracji za pomocą GitHub zaawansowane scenariusze używania imitacji korzyści z wdrażania podejścia TDD przez zespoły i firmy TDD wprowadza dobre praktyki i doskonali programistę!
Eran Kinsbruner
Nawet bardzo doświadczony zespół niekiedy popełnia błędy, które mogą przesądzić o porażce obiecującego projektu. Aby uniknąć takich sytuacji, trzeba zadbać o odpowiednie testowanie kodu. To jednak bywa prawdziwym wyzwaniem dla frontendowców, którzy na co dzień skupiają się na innych aspektach pracy aplikacji. Obecnie deweloperzy mogą wybierać spośród rozlicznych narzędzi do testowania i wielu nowych metodyk. Na uwagę zasługują zwłaszcza frameworki służące do automatyzacji testów wieloprzeglądarkowych, dostępne na licencji open source. Oto przewodnik po koncepcjach testowania i wiodących frameworkach, za pomocą których automatyzuje się testy aplikacji internetowych, takich jak Selenium, Cypress, Puppeteer i Playwright. Zaprezentowano w nim unikatowe funkcjonalności tych rozwiązań, ich wady i zalety, a także wyjaśniono zasady konfiguracji każdego z nich, aby testowanie przebiegało bezawaryjnie nawet po wprowadzeniu zmian w kodzie. Dzięki tej książce nie tylko wybierzesz najlepszy framework, ale także zintegrujesz go z przepływem pracy programowania frontendowego i utworzysz wstępny zestaw automatyzacji testów oparty na JavaScripcie. Zapewni to szybką informację zwrotną przy zmianach w kodzie i zwiększy niezawodność automatyzacji testów. W książce między innymi: wybór narzędzi do testowania aplikacji zaawansowana automatyzacja testów pomiar pokrycia kodu i pokrycia testowego w ocenie jakości aplikacji kompromisy przy wyborze narzędzi do testowania frameworki: Cypress, Selenium, Playwright i Puppeteer przegląd narzędzi do niskokodowego testowania aplikacji internetowych Automatyzacja testów aplikacji - tak zagwarantujesz niezawodność!
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 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!
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 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.