Deprecated: Creation of dynamic property ACF::$fields is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/fields.php on line 138

Deprecated: Creation of dynamic property acf_loop::$loops is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/loop.php on line 28

Deprecated: Creation of dynamic property ACF::$loop is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/loop.php on line 269

Deprecated: Creation of dynamic property ACF::$revisions is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/revisions.php on line 397

Deprecated: Creation of dynamic property acf_validation::$errors is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/validation.php on line 28

Deprecated: Creation of dynamic property ACF::$validation is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/validation.php on line 214

Deprecated: Creation of dynamic property acf_form_customizer::$preview_values is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-customizer.php on line 28

Deprecated: Creation of dynamic property acf_form_customizer::$preview_fields is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-customizer.php on line 29

Deprecated: Creation of dynamic property acf_form_customizer::$preview_errors is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-customizer.php on line 30

Deprecated: Creation of dynamic property ACF::$form_front is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-front.php on line 598

Deprecated: Creation of dynamic property acf_form_widget::$preview_values is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-widget.php on line 34

Deprecated: Creation of dynamic property acf_form_widget::$preview_reference is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-widget.php on line 35

Deprecated: Creation of dynamic property acf_form_widget::$preview_errors is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-widget.php on line 36

Deprecated: Creation of dynamic property KS_Site::$pingback is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Site.php on line 180

Deprecated: Creation of dynamic property acf_field_oembed::$width is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/fields/class-acf-field-oembed.php on line 31

Deprecated: Creation of dynamic property acf_field_oembed::$height is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/fields/class-acf-field-oembed.php on line 32

Deprecated: Creation of dynamic property acf_field_google_map::$default_values is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/fields/class-acf-field-google-map.php on line 33

Deprecated: Creation of dynamic property acf_field__group::$have_rows is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/includes/fields/class-acf-field-group.php on line 31

Deprecated: Creation of dynamic property acf_field_clone::$cloning is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-clone.php on line 34

Deprecated: Creation of dynamic property acf_field_clone::$have_rows is deprecated in /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-clone.php on line 35

Deprecated: Creation of dynamic property Timber\Integrations::$wpml is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Integrations.php on line 33

Warning: Cannot modify header information - headers already sent by (output started at /home/sarotaq/crn/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-clone.php:34) in /home/sarotaq/crn/wp-includes/feed-rss2.php on line 8
- CRN https://crn.sarota.dev/tag/tester/ CRN.pl to portal B2B poświęcony branży IT. Dociera do ponad 40 000 unikalnych użytkowników. Jest narzędziem pracy kadry zarządzającej w branży IT w Polsce. Codziennie nowe informacje z branży IT, wywiady, artykuły, raporty tematyczne Wed, 27 Jan 2021 14:31:51 +0000 pl-PL hourly 1 https://wordpress.org/?v=6.6.2 Czemu programiści nie chcą testować? https://crn.sarota.dev/wywiady-i-felietony/czemu-programisci-nie-chca-testowac/ Wed, 17 Feb 2021 07:15:00 +0000 https://crn.pl/?p=253864 Analizując przekonanie, że programista nie powinien zajmować się testami, dochodzę do wniosku, że opiera się ono przede wszystkim na dwóch fałszywych przesłankach.

Artykuł Czemu programiści nie chcą testować? pochodzi z serwisu CRN.

]]>
Taka dość typowa historia: w pewnym zespole programiści nie chcą zajmować się testami. Ba, Scrum Master, który jednocześnie jest też programistą, przygotował nawet specjalną prezentację na ten temat, by opowiedzieć o tym innym Scrum Masterom. Wynikało z niej, że testować ogólnie nie warto, bo programista przecież wie, że to co zrobił działa, więc to dla niego jest stratą czasu, a poza tym programiści są od programowania, testów nie lubią. Zresztą testy to coś pośledniejszego i oni, wykonując taką gorszą pracę, źle się czują. Więc nie będą.

Historię tę opowiedział mi niedawno zaprzyjaźniony Agile Coach z pytaniem dość oczywistym: co z takim przypadkiem robić? Oczywiście coś doradziłem (między innymi zasugerowałem szersze pochwalenie się na świecie kolegą Scrum Masterem – programistą, który tworzy bezbłędny kod – ktoś taki to prawdziwy skarb), miło porozmawialiśmy i być może nawet coś pomogłem. Niemniej pozostało poczucie pewnego niedosytu – miałem wrażenie, że w tej rozmowie nie doszliśmy do sedna sprawy.

Analizując podejście, zgodnie z którym programista nie powinien zajmować się testami (względnie, że zajmowanie się nimi jest poniżej jego godności i statusu społecznego) dochodzę do wniosku, że opiera się ono przede wszystkim na dwóch fałszywych przesłankach.

Edukacyjny grzech pierworodny

Pierwsza z nich to przekonanie, że rolą programisty jest programowanie, a ściślej, że „rolą programisty jest tworzenie kodu”. Takie redukcjonistyczne podejście widzi osobę, która umie programować, tylko w jednym wymiarze – tej właśnie umiejętności. W ten sposób redukuje się tego kogoś do biologicznej maszyny, która ma z punktu widzenia organizacji spełniać jedną funkcję. Nie dziwota, że skoro maszyna „programista” umie tylko jedno – „tworzyć kod” – to trzeba ją odpowiednio nastawić, a więc poprzedzić ją maszyną „architekt”, która „zaprojektuje rozwiązanie” oraz dostarczyć jej półprodukt do przetwarzania, co jest zadaniem maszyny „analityk”, która go tworzy pod postacią „specyfikacji”. Po wyjściu oprogramowania z maszyny „programista” przekazujemy je do maszyny „tes-ter”, której zadaniem jest sprawdzić czy to, co zrobiła maszyna „programista” jest zgodne z tym, co wyprodukowała maszyna „analityk”. Wszystko na podobieństwo łańcucha wytwórczego w przemyśle.

Jak łatwo zauważyć, wszystko jest zoptymalizowane na takie traktowanie pracownika począwszy już od etapu kształcenia (wąska specjalizacja), poprzez rekrutację (stanowiska opisane zadaniem, jakie ma być wykonywane), a kończąc na metrykach (godziny pracy, czyli godziny wykorzystywania umiejętności). Dołóżmy do tego formowanie menedżerów w taki sposób, że każdy z nich niemal instynktownie czuje się zobowiązany do dbania o to, by każda maszyna (zasób) była maksymalnie zajęta – i mamy obraz dysfunkcyjnego mechanizmu, który umacnia to błędne przekonanie – a co za tym idzie, jego konsekwencje.

Nie dziwne zatem, że wykształcona w tym kierunku i rozliczana z godzin programowania maszyna „programista” oburza się, gdy miałaby zajmować się czynnościami innych maszyn lub odpowiadać za ich wyniki. Nie dziwne, że osoba obsadzona w roli maszyny „programista” nie czuje się w pełni zaangażowana w produkt, czy w całość określonej pracy.

Tymczasem tak naprawdę zadaniem programistów, testerów i w ogóle wszystkich innych jest rozwiązywanie problemów użytkowników poprzez oprogramowanie, a więc dostarczanie użytkownikom nowych możliwości, które są dla nich wartościowe. Wymaga to wielu umiejętności i czynności – samo tworzenie kodu (a więc umiejętność przypisywana programistom) jest tylko jedną z nich. Wśród tych umiejętności, poza umiejętnością programowania, mamy także umiejętności analityczne (rozumienie problemu), jak i związane z testowaniem oraz wiele innych. Wszystkie one są potrzebne i ważne, bo bez nich nie może powstać kompletny efekt pracy. Przy czym nie jest nim działające oprogramowanie, ale danie użytkownikowi wartościowych możliwości, których wcześniej nie miał.

Jeśli zbierzemy zespół, to z pewnością różni jego członkowie mieć będą owe umiejętności rozwinięte i wyćwiczone w różnym stopniu. Jest to dobre, pod warunkiem, że będą z sobą współpracować w taki sposób, by wykorzystać swoje silne strony i zminimalizować słabe, dzięki czemu możliwości zespołu będą sumą ich możliwości. To zaś możliwe jest jedynie przy wspólnocie pracy (wszyscy razem tworzymy rozwiązanie dla naszego użytkownika/klienta) i odpowiedzialności za produkt. Innymi słowy, „testera” równie interesuje poprawność rozwiązania co i „analityka”, a „programista” przejmuje się nie tylko kodem, ale i tym, czy ów kod działa oraz czy efekt jego działania spełnia oczekiwania klienta. Łatwiej jest stan taki osiągnąć, jeżeli patrzymy na zespół nie jako na zbiór odrębnych wyspecjalizowanych maszyn, ale jako na grupę ludzi o różnych umiejętnościach, którzy wspólnie coś tworzą. Jak sądzę, taki stan właśnie mieli na myśli twórcy Scruma, kiedy nalegali, by wszystkich członków zespołu nazywać „developer” niezależnie od tego, jaką specjalność reprezentują.

Dojrzałość i odpowiedzialność

Drugą fałszywą przesłanką twierdzenia, że „programista nie powinien zajmować się testami” jest przekonanie, że „w pracy powinienem (względnie powinnam) zajmować się rzeczami przyjemnymi”, połączone z brakiem odpowiedzialności za swoją pracę. Nastawienie takie nie jest szczególnie oryginalne i występuje nie tylko w naszej branży. Przeciwnie, jest ogólną bolączką społeczną naszych czasów z ich naciskiem na fun i endemicznym brakiem zrozumienia dla takich pojęć jak obowiązek.

Temat to – wraz z naszym specyficznym tłem kulturowym – na osobny długi artykuł. Dość powiedzieć, że konieczna jest pewna dojrzałość i odpowiedzialność, która powoduje, że wstydzimy się oddać pracę niekompletną. Oprogramowanie, które nie zostało przetestowane jest w sposób ewidentny niekompletne, zbudowane niezgodnie ze sztuką. Profesjonalny, odpowiedzialny programista powinien się tym przejmować, a nie uważać, że czynności te go nie obchodzą i nie interesują. Nie powinien być zdania, że to jest w porządku, że może oddać coś, bo „u mnie działa”, a sprawa ewentualnych testów to już zajęcie dla kogoś innego, gdyż on jest ponad to…

Warto zauważyć, że w grach zespołowych – a Scrum to ma być „zespołowa gra w rozwój oprogramowania” (stąd nazwa) – choć są specjalności, to jednak zawodnicy, jeśli to konieczne, wychodzą poza nie. Na przykład jeśli obrońca znajdzie się w sytuacji dogodnej do oddania strzału na bramkę przeciwnika to to zrobi, a nie będzie się wymawiał, że on nie jest od tego specjalistą. Podobnie napastnik nie będzie obserwował spokojnie z boku akcji drużyny przeciwnej, twierdząc, że tą sprawą powinni zająć się obrońcy, a jego to nie obchodzi, bo on się w obronie źle czuje i pasjonuje go atak.

Ta metafora dość dobrze pokazuje o co chodzi. Nie idzie o to, że istnienie w zespole osób o specjalizacji bardziej ku testom („testerów”) nie ma sensu – wprost przeciwnie. Niemniej granica nie powinna być tak ostro zarysowana jak to ma miejsce ewidentnie w umyśle osoby, która zainspirowała ten przydługi artykuł. Innymi słowy, nie powinno być podziału w zespole, powinna być współpraca, w ramach której każdy robi to, co umie najlepiej, ale w miarę potrzeby także i to, co robi tylko przeciętnie, najlepiej jak umie, wkładając swój wysiłek w pracę zespołu w danym momencie i na danym etapie. Oczywiście, jest to trudniejsze niż po prostu powiedzenie, że „ja nie będę tego robił”, będące właśnie przejawem braku dojrzałości. W połączeniu z równie fałszywym przekonaniem, że celem metod agile jest, aby pracownikom – a szczególnie programistom – było miło i przyjemnie, prowadzi do wypowiedzi i postaw jak wyżej.

Co zatem należy robić? Po pierwsze, usunąć mechanizmy organizacyjne, które mogą wzmacniać pierwsze przekonanie (przede wszystkim skończyć z naciskiem na to, by wszyscy byli zajęci i idiotycznym liczeniem godzin). Po drugie, zdecydowanie walczyć z niedojrzałością i nieodpowiedzialnością, najlepiej już na etapie rekrutacji.


Deprecated: Creation of dynamic property Timber\Post::$_edit_lock is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_thumbnail_id is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_last is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskw is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_linkdex is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_content_score is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$obrazek_wyrozniajacy is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_obrazek_wyrozniajacy is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_author is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$galeria is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_galeria is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_category is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_views_count is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_wp_page_template is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_obrazek_wyrozniajacy is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$obrazek_wyrozniajacy is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_author is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_views_count is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_lock is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_thumbnail_id is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_last is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskw is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_linkdex is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_content_score is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$obrazek_wyrozniajacy is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_obrazek_wyrozniajacy is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_author is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$galeria is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_galeria is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_category is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_views_count is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_wp_page_template is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_obrazek_wyrozniajacy is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$obrazek_wyrozniajacy is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_author is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_views_count is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /home/sarotaq/crn/wp-content/plugins/timber-library/lib/Core.php on line 71

Deprecated: Return type of Twig\Node\Node::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/sarotaq/crn/wp-content/plugins/timber-library/vendor/twig/twig/src/Node/Node.php on line 213

Deprecated: Return type of Twig\Node\Node::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/sarotaq/crn/wp-content/plugins/timber-library/vendor/twig/twig/src/Node/Node.php on line 221
Andy Brandt Andy Brandt  

Jest założycielem i senior consultantem firmy doradczo-szkoleniowej Code Sprinters. Wcześniej był między innymi Country Managerem Swisscom CEE (w Polsce pod marką Air Bites), a także menedżerem i konsultantem w 4pi, Unisys i T-Mobile Polska, jak też pierwszym redaktorem naczelnym „Linux+”.

  

Artykuł Czemu programiści nie chcą testować? pochodzi z serwisu CRN.

]]>
Passus: uniwersalny tester sieciowy https://crn.sarota.dev/aktualnosci/passus-uniwersalny-tester/ https://crn.sarota.dev/aktualnosci/passus-uniwersalny-tester/#respond Thu, 02 Aug 2012 13:23:00 +0000 https://crn.pl/default/passus-uniwersalny-tester/ W ofercie firmy pojawił się OneTouch AT Network Assistant marki Fluke Networks - przenośne urządzenie do testowania dostępności i wydajności sieci.

Artykuł Passus: uniwersalny tester sieciowy pochodzi z serwisu CRN.

]]>
Według dostawcy Network Assistant po naciśnięciu jednego guzika w ciągu minuty automatycznie rozpoznaje najczęściej występujące problemy związane z dostępnością i wydajnością gigabitowych sieci LAN i WAN oraz Wi-Fi. Urządzenie wskazuje źródło problemu, dokonując pomiaru i analizy wydajności newralgicznych elementów sieci, takich jak okablowanie, zasilanie PoE, połączenie do najbliższego przełącznika czy punktu dostępowego, najważniejsze usługi sieciowe, aplikacje i serwery.

OneTouch wyposażono w dwa porty RJ-45 10/100/1000 Mbps, dwa światłowodowe 100/1000 Mbps SFP oraz kartę WLAN 802.11 a/b/g/n, działającą na dwóch częstotliwościach. Dzięki temu urządzenie może równocześnie testować infrastrukturę kablową i bezprzewodową oraz na bieżąco porównywać wyniki. Network Assistant umożliwia tworzenie różnych profili użytkownika. Stworzone na podstawie analizy raporty są dostępne poprzez przeglądarkę.

Cena urządzenia: od 4995 euro netto (20 480 zł po kursie 4,10 zł za 1 euro).

Artykuł Passus: uniwersalny tester sieciowy pochodzi z serwisu CRN.

]]>
https://crn.sarota.dev/aktualnosci/passus-uniwersalny-tester/feed/ 0