{"id":30181,"date":"2021-07-05T08:37:38","date_gmt":"2021-07-05T06:37:38","guid":{"rendered":"https:\/\/nearshore-it.eu\/artykuly\/piramida-testow-czyli-co-kiedy-i-jak-testowac-zeby-testy-przyniosly-zysk\/"},"modified":"2024-11-07T15:24:14","modified_gmt":"2024-11-07T14:24:14","slug":"piramida-testow-czyli-co-kiedy-i-jak-testowac-zeby-testy-przyniosly-zysk","status":"publish","type":"post","link":"https:\/\/nearshore-it.eu\/pl\/artykuly\/piramida-testow-czyli-co-kiedy-i-jak-testowac-zeby-testy-przyniosly-zysk\/","title":{"rendered":"Piramida test\u00f3w \u2013 czyli co, kiedy i jak testowa\u0107, \u017ceby testy przynios\u0142y zysk?"},"content":{"rendered":"\n<div class=\"table-of-contents\">\n    <p class=\"title\">Id\u017a do:<\/p>\n    <ol>\n                    <li><a href=\"#Czym-jest-piramida-test\u00f3w\">1.  Czym jest piramida test\u00f3w?<\/a><\/li>\n                    <li><a href=\"#Poziomy-test\u00f3w\">2.  Poziomy test\u00f3w<\/a><\/li>\n                    <li><a href=\"#Koszt-testowania-czyli-jak-testowa\u0107-\u017ceby-nie-przep\u0142aca\u0107\">3.  Koszt testowania &#8211; czyli jak testowa\u0107, \u017ceby nie przep\u0142aca\u0107<\/a><\/li>\n                    <li><a href=\"#Podsumowanie\">4.  Podsumowanie<\/a><\/li>\n            <\/ol>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"Czym-jest-piramida-test\u00f3w\">Czym jest piramida test\u00f3w?<\/h2>\n\n\n\n<p>Wed\u0142ug s\u0142ownika ISTQB piramida test\u00f3w to <strong>\u201egraficzny model reprezentuj\u0105cy relacje mi\u0119dzy ilo\u015bci\u0105 test\u00f3w a poziomem test\u00f3w, z wi\u0119ksz\u0105 ilo\u015bci\u0105 test\u00f3w dla ni\u017cszych poziom\u00f3w i mniejsz\u0105 dla wy\u017cszych\u201d.<\/strong><\/p>\n\n\n\n<p>Upraszczaj\u0105c, <strong>piramida test\u00f3w pokazuje nam, jakie powinny by\u0107 proporcje pomi\u0119dzy r\u00f3\u017cnymi rodzajami test\u00f3w,<\/strong> gdzie podstaw\u0105 piramidy powinny by\u0107 testy szybsze w wykonaniu, bardziej stabilne, a co za tym idzie \u2013 ta\u0144sze. Na wy\u017cszych poziomach znajdowa\u0107 si\u0119 powinny testy, kt\u00f3rych przygotowanie i wykonanie zajmuje wi\u0119cej czasu, s\u0105 mniej stabilne i anga\u017cuj\u0105 w wi\u0119kszym stopniu prac\u0119 ludzk\u0105.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/nearshore-it.eu\/wp-content\/uploads\/2024\/09\/2021.07.06_jpro_graphic_piramida_testow.png\" alt=\"piramida test\u00f3w\" class=\"wp-image-35110\" title=\"\"><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Poziomy-test\u00f3w\">Poziomy test\u00f3w<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Testy jednostkowe<\/h3>\n\n\n\n<p>Testy jednostkowe (unit tests) testuj\u0105 pojedyncze, najmniejsze elementy, np. metody, klasy w programie. Najcz\u0119\u015bciej s\u0105 one tworzone przez programist\u00f3w ju\u017c na etapie pisania kolejnych cz\u0119\u015bci kodu. Testy jednostkowe wykonuje si\u0119 szybko i s\u0105 najcz\u0119\u015bciej przeprowadzanym typem test\u00f3w (np. podczas budowania projektu). S\u0105 one bardzo wa\u017cne w projekcie, poniewa\u017c najszybciej dostarczaj\u0105 feedbacku o tym, czy dana funkcja zwraca prawid\u0142owy wynik. Dlatego te\u017c jest ich najwi\u0119cej i tworz\u0105 fundament piramidy.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sprawdzaj\u0105 pojedyncze elementy<\/li>\n\n\n\n<li>szybkie<\/li>\n\n\n\n<li>\u0142atwe w utrzymaniu<\/li>\n\n\n\n<li>niskie koszty utrzymania<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Testy integracyjne<\/h3>\n\n\n\n<p>Testy integracyjne (integration tests) sprawdzaj\u0105, czy poszczeg\u00f3lne modu\u0142y, serwisy lub systemy dzia\u0142aj\u0105 prawid\u0142owo razem, testuj\u0105 interfejsy i interakcje pomi\u0119dzy tymi elementami. Przeprowadzanie takich test\u00f3w jest ju\u017c bardziej wymagaj\u0105ce, a co za tym idzie, kosztowne \u2013 wymaga bowiem uruchomienia kilku modu\u0142\u00f3w aplikacji lub nawet system\u00f3w jednocze\u015bnie.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sprawdzaj\u0105 kilka modu\u0142\u00f3w lub system\u00f3w<\/li>\n\n\n\n<li>bardziej czasoch\u0142onne ni\u017c testy jednostkowe<\/li>\n\n\n\n<li>wy\u017csze koszty utrzymania ni\u017c testy jednostkowe<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Testy E2E<\/h3>\n\n\n\n<p>Testy E2E to testy, kt\u00f3re na\u015bladuj\u0105 zachowanie u\u017cytkownika ko\u0144cowego aplikacji. Tester wciela si\u0119 w rol\u0119 u\u017cytkownika ko\u0144cowego i przechodzi \u015bcie\u017cki, jakimi m\u00f3g\u0142by si\u0119 on porusza\u0107. Testuj\u0105 ca\u0142\u0105 funkcjonalno\u015b\u0107 od pocz\u0105tku do ko\u0144ca (end-to-end) i wykonywane s\u0105 w docelowym \u015brodowisku produkcyjnym. Sprawdzaj\u0105, czy wszystkie systemy i ich elementy wsp\u00f3lnie dzia\u0142aj\u0105 poprawnie i nie posiadaj\u0105 b\u0142\u0119d\u00f3w. Testy E2E s\u0105 najbardziej czasoch\u0142onne, a co za tym idzie, najdro\u017csze, dlatego w piramidzie znajduj\u0105 si\u0119 na samym szczycie.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sprawdzaj\u0105 ca\u0142o\u015bciowe dzia\u0142anie systemu<\/li>\n\n\n\n<li>czasoch\u0142onne<\/li>\n\n\n\n<li>trudniejsze i kosztowne w utrzymaniu<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Koszt-testowania-czyli-jak-testowa\u0107-\u017ceby-nie-przep\u0142aca\u0107\">Koszt testowania \u2013 czyli jak testowa\u0107, \u017ceby nie przep\u0142aca\u0107<\/h2>\n\n\n\n<p>Czym jest wspomniany wcze\u015bniej koszt testowania? Ujmuj\u0105c najpro\u015bciej \u2013 czas to pieni\u0105dz, a im wi\u0119cej os\u00f3b jest zaanga\u017cowanych w testowanie, im wi\u0119cej czasu po\u015bwi\u0119cone jest na przeprowadzenie test\u00f3w, tym bardziej wzrasta ca\u0142kowity koszt projektu. Dodatkowo, im p\u00f3\u017aniej wykrywane s\u0105 b\u0142\u0119dy (na kolejnych poziomach testowania), tym p\u00f3\u017aniej developer otrzyma t\u0119 informacj\u0119 i tym p\u00f3\u017aniej zajmie si\u0119 ich napraw\u0105.<\/p>\n\n\n\n<p><strong>Przyczyny defekt\u00f3w zg\u0142oszonych dopiero podczas test\u00f3w np. E2E s\u0105 du\u017co trudniejsze do namierzenia ni\u017c tych wykrytych ju\u017c na etapie test\u00f3w jednostkowych.<\/strong> To oczywi\u015bcie w ostatecznym rozrachunku zn\u00f3w wyd\u0142u\u017cy czas, wi\u0119c zwi\u0119kszy te\u017c koszty projektu. Dzi\u0119ki stosowaniu si\u0119 do metody piramidy test\u00f3w ca\u0142y proces testowania oprogramowania zaczyna si\u0119 na wczesnych etapach powstawania aplikacji i na tych etapach test\u00f3w jest najwi\u0119cej.<strong> B\u0142\u0119dy znalezione podczas test\u00f3w jednostkowych s\u0105 bardzo \u0142atwe do namierzenia, a to przyspiesza czas ich naprawy.<\/strong> Takie podej\u015bcie sprawia, \u017ce testy nie s\u0105 tylko kosztem, ale przynosz\u0105 realne zyski.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Podsumowanie\">Podsumowanie<\/h2>\n\n\n\n<p>Zatrudnienie testera wi\u0105\u017ce si\u0119 z dodatkowym bud\u017cetem \u2013 &nbsp;jednak w ten spos\u00f3b inwestujemy&nbsp; w projekt na naszych w\u0142asnych zasadach zdefiniowanych w kontrakcie. W przypadku wyst\u0105pienia awarii wynikaj\u0105cej ze zbyt p\u00f3\u017anego wykrycia defekt\u00f3w, panem naszego bud\u017cetu (i czasu) staje si\u0119\u2026 rozwijany system, a my ponosimy nieprzewidziane koszty naprawy, kt\u00f3re mog\u0105 by\u0107 nawet kilkadziesi\u0105t razy wy\u017csze ni\u017c koszty test\u00f3w. Aby testowanie przynios\u0142o zysk, testy oprogramowania warto zacz\u0105\u0107 mo\u017cliwie jak najszybciej \u2013 tu nieocenion\u0105 pomoc\u0105 jest metoda piramidy test\u00f3w, kt\u00f3ra pomaga odpowiednio rozplanowa\u0107 testy na poszczeg\u00f3lnych poziomach.<\/p>\n\n\n\n<p><strong>Przeczytaj tak\u017ce: <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/nearshore-it.eu\/pl\/artykuly\/dlaczego-testy-oprogramowania-sa-wazne\">Dlaczego testy oprogramowania s\u0105 wa\u017cne<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/nearshore-it.eu\/pl\/artykuly\/quality-assurance-czyli-jak-zagwarantowac-jakosc-i-bezpieczenstwo-w-projektach-it\">Jak zagwarantowa\u0107 jako\u015b\u0107 i bezpiecze\u0144stwo w projektach QA<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/nearshore-it.eu\/pl\/artykuly\/pair-programming\">Pair programming<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Jednym z temat\u00f3w, kt\u00f3ry budzi wiele emocji, s\u0105 koszty zwi\u0105zane z testami oprogramowania. I cho\u0107 mog\u0142oby si\u0119 wydawa\u0107, \u017ce \u201etestowanie na produkcji\u201d sta\u0142o si\u0119 ju\u017c synonimem bylejako\u015bci, to wci\u0105\u017c jeszcze mo\u017cna spotka\u0107 si\u0119 z podej\u015bciem neguj\u0105cym potrzeb\u0119 zatrudniania tester\u00f3w oprogramowania. Testy oprogramowania mog\u0105 przynie\u015b\u0107 zb\u0119dny koszt \u2013 ale tylko wtedy, je\u015bli s\u0105 wykonane zbyt p\u00f3\u017ano, s\u0105 niestabilne, z\u0142ej jako\u015bci, lub \u017ale rozplanowane w czasie. Jak odpowiednio dobra\u0107 proporcje pomi\u0119dzy poszczeg\u00f3lnymi testami na okre\u015blonych poziomach, by unikn\u0105\u0107 zb\u0119dnych koszt\u00f3w naprawy rozwijanego oprogramowania, a co wi\u0119cej \u2013 sprawi\u0107, by testy przynios\u0142y zysk? Z pomoc\u0105 przychodzi piramida test\u00f3w.<\/p>\n","protected":false},"author":141,"featured_media":30183,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"iawp_total_views":227,"footnotes":""},"categories":[1,582],"tags":[562],"offering":[],"class_list":["post-30181","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artykuly","category-technologie","tag-qa"],"acf":[],"_links":{"self":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts\/30181","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/users\/141"}],"replies":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/comments?post=30181"}],"version-history":[{"count":3,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts\/30181\/revisions"}],"predecessor-version":[{"id":33952,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts\/30181\/revisions\/33952"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/media\/30183"}],"wp:attachment":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/media?parent=30181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/categories?post=30181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/tags?post=30181"},{"taxonomy":"offering","embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/offering?post=30181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}