ODBIERZ TWÓJ BONUS :: »

Recenzje

Testowanie oprogramowania z wykorzystaniem generatywnej AI

Testowanie oprogramowania jest krytycznym elementem procesu wytwarzania, gwarantującym jakość, niezawodność i bezpieczeństwo dostarczanych systemów i produktów. W ostatnich latach generatywna sztuczna inteligencja (ang. generative artificial intelligence, generative AI, GenAI) i duże modele językowe (ang. large language models, LLMs) otworzyły nowe możliwości dla testowania: automatyzację pewnych zadań, generowanie danych testowych, znaczące wsparcie procesu projektowania skryptów automatycznych, a nawet wspomaganie testowania eksploracyjnego, obiecując znaczne przyspieszenie cyklu wydawania. Z jednej strony eksperci prowadzą krytyczne rozważania odnośnie wiarygodności, kontroli i etyki wykorzystania AI w tak wrażliwym obszarze, jak zapewnienie jakości. Z drugiej strony, strategiczne możliwości AI w optymalizacji kosztów i czasu testowania są zbyt duże, by je ignorować. I choć wiele firm inwestuje coraz więcej zasobów w rozwój kompetencji pracowników w zakresie AI i jej integrację z procesem tworzenia oprogramowania, teoria nie zawsze łatwo przekłada się na praktykę, tym bardziej, że wdrożenie tego typu rozwiązań wymaga przezwyciężenia wielu wyzwań związanych z kontekstem domenowym, halucynacjami modeli i efektywną inżynierią promptów. Książka “Testowanie oprogramowania z wykorzystaniem generatywnej AI” Marka Winteringhama stanowi ciekawy i praktyczny pomost między innowacyjnym potencjałem AI a rzeczywistymi przykładami i gotowymi implementacjami w procesie testowania. Książka podzielona jest na trzy logiczne części, które obejmują trzy kluczowe atrybuty stanowiące niezbędny fundament dla skutecznej i odpowiedzialnej pracy z modelami językowymi: nastawienie (mindset), technikę i kontekst. Pierwsza część - Nastawienie, to fundament, który skupia się na zrozumieniu i właściwemu podejściu do tego, jak wykorzystujemy LLMs, co może znacząco zwiększyć lub zmniejszyć ich wartość. To celowy i świadomy kierunek, który wymaga jasnego zrozumienia celu i wartości testowania, realnej oceny możliwości LLMs oraz nauczenia się, jak budować z nimi relację, by wykorzystywać w ukierunkowany i precyzyjny sposób. O ile wiedza o tym gdzie i kiedy używać LLMs jest kluczowa, o tyle umiejętność skutecznej pracy z nimi maksymalizuje ich wartość. Druga część - Technika, koncentruje się na inżynierii, w tym na tworzeniu jasnych i precyzyjnych instrukcji, na zaawansowanych metodach integracji z platformami API i agentami AI, czy na wdrażaniu AI do automatyzacji bardziej złożonych zadań. W części tej Autor omawia, jak wykorzystując pojedyncze prompty i inne narzędzia LLM w połączeniu z technikami TDD i narzędziami, jak Copilot, mogą one wspierać programistów w szybszym tworzeniu kodu i testów jednostkowych, ale również w ulepszaniu dokumentacji technicznej i komunikacji z zespołem. Kolejne podrozdziały skupiają się na planowaniu efektywnych i ukierunkowanych testów opartych na ryzyku. Kluczowe jest to, aby nie ograniczać się tylko do generowania przypadków testowych przy użyciu AI, ale skupić się również na tym, jak bezpiecznie i precyzyjnie wykorzystać model do wsparcia w identyfikacji zagrożeń, analizy ryzyka, i generowaniu danych testowych w dowolnym popularnym formacie (np. JSON, XML, SQL), pamiętając, że zbyt ogólnikowe i niejasne formułowanie promptów może bardziej zaszkodzić niż wesprzeć nasze planowanie i przygotowywanie testów. Również w przypadku automatyzacji UI, Autor prezentuje jak możemy przyspieszyć zautomatyzowanie testów przy użyciu AI, ale znowu, podkreśla, że najpierw musimy posiadać głęboką wiedzę na temat projektu i struktury automatyzowanych testów, a dopiero potem myśleć kiedy i gdzie używać narzędzi AI, by odnieść faktyczne korzyści, a nie tylko szybciej generować trudne w utrzymaniu testy wymagające wielu poprawek. Bardzo ciekawy jest również fragment książki opisujący wsparcie AI w testach eksploracyjnych i kombinację różnych działań, które mogą wystąpić podczas sesji testowej, i jak łączenie promptów z heurystykami testowymi może zaoferować nową perspektywę i sugerować pomysły na nowe testy. Ostatnia część książki - Kontekst, wychodzi poza standardowe użycie dostępnych modeli, wprowadzając zaawansowane techniki i ich dostosowywanie do specyfiki danej dziedziny. Zasada „śmieci na wejściu, śmieci na wyjściu” jest w pracy z modelami bezwzględna. Ich odpowiedzi będą powierzchowne, jeśli brakuje im specyficznych informacji. W tym rozdziale Autor skupia się na sposobach pozyskiwania i dostarczania wiedzy dziedzinowej i kontekstu do promptów i modeli, aby generować trafne i użyteczne rezultaty. Czytelnik pozna kilka technik, takich jak generowanie wspomagane wyszukiwaniem (ang. retrieval-augmented generation, RAG) i dostrajanie (ang. fine-tuning), zyskując wiedzę na temat narzędzi do dostosowywania LLMów do konkretnych potrzeb biznesowych. Książka „Testowanie oprogramowania z wykorzystaniem generatywnej AI” to doskonałe źródło wiedzy, które łączy w sobie szeroką perspektywę teoretyczną z konkretnymi, gotowymi do wdrożenia technikami. Przemyślana struktura i skupienie na inżynierii promptów oraz odpowiedzialnym użyciu AI sprawiają, że jest to pozycja wartościowa zarówno dla testerów manualnych, którzy chcą wejść w świat automatyzacji i GenAI, jak i dla programistów oraz architektów testów, szukających innowacyjnych metod na podniesienie jakości swojego oprogramowania. Szczególnie cenię formę książki za to, że z jednej strony prezentuje praktyczne i innowacyjne metody testowania wspomaganego przez sztuczną inteligencję, z drugiej, w niemal każdym aspekcie, konsekwentnie podkreśla rolę Human-in-the-Loop (HITL) w AI, która łączy wiedzę ekspercką człowieka z uczeniem maszynowym. To tester, posiadający wiedzę domenową i doświadczenie, kieruje procesem, decydując o tym, kiedy, gdzie i jakie narzędzie AI ma zostać użyte, co z pewnością stanowi o przewadze tej pozycji nad innymi publikacjami, które promują bezrefleksyjne użycie AI. W dobie współpracy testerów ze sztuczną inteligencją, książka oferuje praktyczny plan działania dla efektywniejszego testowania przy jednoczesnym utrzymaniu najwyższej jakości. Zdecydowanie polecam ją każdemu, kto dąży do bycia innowacyjnym liderem i chce przewodzić transformacji w dziedzinie zapewnienia jakości oprogramowania.

Signum-temporis.pl Agnieszka Paś

Kali Linux. Testy bezpieczeństwa, testy penetracyjne i etyczne hakowanie. Wydanie II

„Kali Linux. Testy bezpieczeństwa, testy penetracyjne i etyczne hakowanie. Wydanie II” to doskonałe wprowadzenie do świata pentestów i cyberbezpieczeństwa - zarówno dla początkujących, jak i dla osób, które chcą usystematyzować swoją wiedzę. Autor w przejrzysty, rzeczowy sposób prowadzi czytelnika przez kolejne etapy pracy pentestera, pokazując, jak potężnym narzędziem jest Kali Linux i jak świadomie można go wykorzystać w profesjonalnych testach bezpieczeństwa. Książka imponuje aktualnością: to odświeżone, rozszerzone wydanie, które nie tylko przedstawia narzędzia dostępne w Kali Linux, ale przede wszystkim uczy, jak realnie planować, przeprowadzać i dokumentować testy penetracyjne. Znajdziemy tu zarówno podstawy, takie jak instalacja systemu i struktura testów, jak i bardziej zaawansowane zagadnienia - eksploity, techniki łamania haseł, testy aplikacji WWW, analizy kodu czy praktyczne podejście do inżynierii wstecznej. Dużym atutem jest również rozdział poświęcony etyce i legalności działań, co czyni książkę kompletnym i odpowiedzialnym przewodnikiem po świecie cyberbezpieczeństwa. Autor nie poprzestaje na prezentacji narzędzi - podpowiada, jak myśli pentester, jak dobierać techniki ataku, interpretować wyniki oraz jak przygotować profesjonalny raport końcowy. Dzięki temu książka staje się nie tylko katalogiem funkcji Kali Linux, ale przede wszystkim praktycznym kursem metodyki bezpieczeństwa. Całość napisana jest zwięźle, klarownie i z wyczuwalnym doświadczeniem praktyka. To publikacja, która naprawdę „robi robotę”: pozwala zrozumieć procesy, narzędzia i filozofię pracy w security, nie przytłaczając przy tym zbyt technicznym językiem. Świetna pozycja dla każdego, kto chce wejść w świat pentestów, poszerzyć swoje kompetencje lub poznać bezpieczne i etyczne podstawy pracy z Kali Linux. Zdecydowanie warto - polecam jako człowiek zajmujący się również tematami Cyber w praktyce!

dlaTesterów.PL Krząpa Rafał

Kadr (nie)doskonały. Poznaj sekrety mistrza kompozycji i fotografuj, przełamując schematy

Czy zastanawialiście się kiedyś, jak to jest, że niektórzy potrafią zrobić niesamowite zdjęcie nawet w pozornie chaotycznym otoczeniu? Właśnie na to pytanie (i na wiele innych), próbuje odpowiedzieć Scott Kelby w swojej książce "Kadr (nie)doskonały". To nie jest typowy podręcznik, a raczej wciągająca podróż u boku jednego z najbardziej znanych fotografów. Ta książka to ponad 200 stron inspiracji, przy czym mniej więcej połowa to fascynujący tekst, a druga połowa to zdjęcie, które ten tekst omawia. Autor uczy nas przede wszystkim podejścia do fotografowania, analizowania swoich błędów i ciągłego wprowadzania ulepszeń. Dzieli się z nami opowieściami ze swojego życia i cytatami, które skłoniły go do głębszych refleksji nad rzemiosłem, udowadniając, że nie zawsze wszystko wychodzi idealnie od razu. Autor skupia się na praktycznych aspektach, pokazując, jak w tym "(nie)doskonałym" kadrze stworzyć coś pięknego i przyciągającego wzrok. Znajdzicie tu cenne wskazówki dotyczące perspektyw, w tym robienia zdjęć z dołu, z góry, w każdym możliwym miejscu, a nawet w jakich sytuacjach nasz telefon może z powodzeniem zastąpić profesjonalny aparat. To książka o fotograficznej postawie, która ma nas inspirować do wyjścia poza strefę komfortu i szukania własnego, unikalnego spojrzenia na świat. Jeśli szukacie inspiracji, autentycznych historii i chcecie nauczyć się myśleć jak fotograf, analizując to, co robicie - "Kadr (nie)doskonały" jest dla Was! To lektura, która odświeża i motywuje do ciągłego ćwiczenia oka i techniki📸.

atejka7 Nosal Natalia

Automatyka przemysłowa dla początkujących. Poznaj sterowniki PLC oraz panele HMI i naucz się je programować

Na początek - dwa łyki automatyki Zanim omówię książkę o jakże intrygującym tytule „Automatyka przemysłowa dla początkujących”, pozwolę sobie umieścić parę zdań o sterownikach programowalnych, czyli PLC, czyli Programmable Logic Controllers, a właściwie o ich programowaniu. Czy sterowniki PLC programuje się tak samo jak „klasyczne” aplikacje? I tak i nie. Są podobieństwa i dość zasadnicze różnice. Po stronie podobieństw jest możliwość programowania (jedna z kilku) w języku tekstowym podobnym nieco do Pascala. Różnic jest dużo więcej. Podstawowa różnica wywodzi się z zaszłości historycznych. Programowanie PLC (będę używał tego terminu w znaczeniu „sterownik programowalny”) jest skokiem ewolucyjnym jaki nastąpił w układach sterowania, kiedy komputery nie były tak tanie jak teraz, żeby sterować pojedynczymi urządzeniami. Układem sterującym była wtedy płyta z elektroniką zawierającą elementy realizujące logikę działania oraz komunikujące się z otoczeniem (odczytywanie danych wejściowych i sterowanie elementami wykonawczymi). Nie były to komputery tylko układy elektroniczne, które wykonywały pewne działania w sposób algorytmiczny. Nie były maszynami o architekturze von Neumanna (patrz: EM Poleca (#34) Benjamín Labatut - „Maniak”), nie przetwarzały strumienia danych w procesorze, ale zmieniały swój stan w zależności od stanu otoczenia. Współczesne sterowniki naśladują tę filozofię działania. W skrócie można powiedzieć, że sterownik wykonuje nieskończoną pętlę programową analizując w każdym obiegu dane wejściowe za pomocą elementów logiki stanowiących właściwy program sterujący i oddziałując na otoczenie za pomocą generowanych sygnałów wyjściowych. Wykonywanie programu PLC polega na każdorazowej (w każdym obiegu tej pętli) analizie zastanego stanu układu i tworzeniu stanu następnego, będącego stanem początkowym dla następnego obiegu. To trochę inne programowanie niż to, które znamy, wymagające wykształcenia pewnych nawyków myślenia. Dodatkowym utrudnieniem jest brak (dla tańszych sterowników, np. S7-1200) możliwości krokowego wykonywania programu i wstrzymywania go na żądanie (breakpoint), co utrudnia i komplikuje debugowanie, zmuszając do stosowania innych, bardziej uciążliwych technik. Ponieważ programowanie informatyczne sterowników PLC wyewoluowało z programowalnych sterowników opartych o fizyczne elementy elektroniczne, lutowane na płytce i łączone ścieżkami, istnieją graficzne „języki” programowania naśladujące takie płytki elektroniczne. Jednym z nich jest język LAD (skrót od ladder-drabina), język tzw. drabinkowy, gdzie rolę programu pełni „drabina” ze „szczebelkami”, na których są porozmieszczane elementy logiki programu, a przepływ sterowania przypomina przepływ prądu między „masą” a „cewkami” i innym elementami klasycznej elektroniki. Wbrew pozorom język LAD jest nadal bardzo popularny, zwłaszcza do programowania sterowania o niezbyt skomplikowanej logice. Jest też łatwiejszy do opanowania dla osób nieprogramujących w klasycznych językach programowania. Trzeba przyznać, że jest bardziej pomocny w debugowaniu programu od tekstowego języka SCL, gdyż na bieżąco pokazuje przepływ „prądu” przez układ. Wracając do książki, co w niej jest? Omawiana książka jest podstawowym kursem programowania sterowników Siemens SIMATIC S7-1200 (generacje G1 i G2) i SIMATIC S7-1500 za pomocą oprogramowania Siemens TIA Portal. Plusem jest uwzględnienie najnowszej wersji pakietu, czyli TIA Portal V20. Autor przystępnie omawia podstawowe aspekty konfiguracji i programowania za pomocą TIA Portal. To ważne, że wykład jest przystępny, bo często zdarza się, że programista przestawiający się z programowania klasycznych aplikacji na programowanie automatyki zdobywa wiedzę w sposób chaotyczny i niepełny, korzystając ze stron internetowych i filmików na YouTube, które są bardzo różnej jakości (oględnie mówiąc). Wiem co piszę, bo sam przez to przeszedłem. Wiedza o programowaniu sterowników Siemensa nie ma takiej bazy wiedzy (Q&A) jak inne języki programowania, na przykład Stack Overflow dla Javy i Pythona. Baza wiedzy prowadzona przez Siemensa jest tak dramatycznie niskiej jakości, że nie przypominam sobie, abym kiedykolwiek był usatysfakcjonowany znalezioną w niej informacją. Jedynym źródłem w miarę (bardzo w miarę) wiarygodnym jest odpytywanie Chatu GPT albo Groka, ale tu należy bardzo uważać na częste konfabulacje. Liderem rynku automatyki przemysłowej w Polsce jest Siemens i jego linia sterowników SIMATIC, „ogarniająca” około ¾ polskiego rynku. Można więc śmiało powiedzieć, że sterowniki PLC Siemensa są pierwszym skojarzeniem związanym z tą tematyką, a TIA Portal pierwszym i najważniejszym środowiskiem programistycznym (aczkolwiek mocno niedoskonałym i wymagającym). Dlatego nie uznaję za błąd, że marka Siemens nie została wymieniona w tytule książki. Zapoznanie się z programowaniem sterowników Siemens można uznać za podstawowy kurs programowania sterowników PLC w ogóle. Autor książki - inżynier praktyk Marcin Podsiadły, dobrze wie, czego potrzeba początkującemu programiście. Nie wiedzy encyklopedycznej, bo ta znajduje się w tzw. helpie. Potrzeba przystepnie wygłoszonego wykładu obejmującego zarówno podstawy jak i wskazówki praktyczne, dobre rady (tips & tricks), schematy postępowania i ostrzeżenia przed polami minowymi. To wszystko jest i chwała Ci Autorze za to. Mam tylko jedną wątpliwość: czy słusznym jest wybór języka drabinkowego (LAD) do prezentowania przykładów programowania. Sam wybrałbym tekstowy SCL, chociażby z uwagi na klasycznych programistów, chcących się przebranżowić na programowanie sterowników. LAD jest wygodny dla nieprogramistów, przypomina obwód elektryczny (bo tym w istocie był x lat temu), ale zaczyna być narzędziem nieporęcznym przy pisaniu dużych, skomplikowanych projektów o wielkiej liczbie zależności. Poniżej, dla porządku, wymienię tematy poruszone w książce abyś, Czytelniku, wiedział z góry czego się spodziewać: - na czym polega programowanie PLC, - zapoznanie się z TIA Portal, - przegląd języków programowania PLC, - programowanie - podstawy, - dobre praktyki, - programowanie timerów i liczników, - obsługa sterowników PLC, różne aspekty, - programowanie paneli HMI (Human Machine Interface) Siemensa. Marcin Podsiadły „Automatyka przemysłowa dla początkujących. Poznaj sterowniki PLC oraz panele HMI i naucz się je programować”. Wydawnictwo Helion 2025 Notka o autorze: Marcin Podsiadły, inżynier automatyki i robotyki, ekspert w dziedzinie programowania sterowników PLC. Wykładowca, doświadczony szkoleniowiec, projektant i programista automatyki. Zwycięzca pierwszej edycji Mistrzostw Polski Programistów PLC (2018).

portal popularnonaukowy Seweryn Wiesław

Zrozumieć Excela. Formuły dynamiczne i nowe funkcje w Microsoft 365

Jeśli myślisz, że znasz Excela… to ta książka szybko pokaże Ci, jak wiele zmieniło się w ostatnich latach. 📊 Dynamiczne formuły, funkcje LET i LAMBDA, nowe możliwości filtrowania, sortowania i pracy z tekstem - Excel w edycji Microsoft 365 to tak naprawdę zupełnie nowe narzędzie. I właśnie to świetnie wyjaśnia Gonet. Co w niej znajdziesz? ✔ jasne omówienie dynamicznych formuł tablicowych (zrozumiesz rozlewanie się raz na zawsze 😄) ✔ praktyczne podejście do nowych funkcji, które usprawniają codzienną pracę ✔ wyjaśnienie różnic między starymi a nowymi formułami tablicowymi ✔ przykłady i ćwiczenia, które realnie pomagają przyswoić temat ✔ omówienie danych rozszerzonych i nowych narzędzi mogących zastąpić tabele przestawne ✔ finansowe funkcje Excela - rzadko omawiane, a bardzo przydatne To nie jest książka „dla początkujących”, ale raczej dla osób, które z Excelem już pracują i chcą w końcu wykorzystać jego pełną moc. Napisana rzeczowo, konkretnie i w sposób, który pomaga naprawdę zrozumieć, dlaczego nowe funkcje działają w taki, a nie inny sposób. 💡 Jeśli chcesz pracować szybciej, czyściej i bardziej automatycznie - zdecydowanie warto.☕💻

@karolka_ees Szala Karolina
Zamknij Pobierz aplikację mobilną Helion