{"id":2227,"date":"2023-08-22T17:32:19","date_gmt":"2023-08-22T17:32:19","guid":{"rendered":"https:\/\/gizemevkuran.com\/?p=2227"},"modified":"2023-09-10T14:07:57","modified_gmt":"2023-09-10T14:07:57","slug":"kara-kutublack-box-ve-beyaz-kutuwhite-box-test-teknikleri","status":"publish","type":"post","link":"https:\/\/gizemevkuran.com\/?p=2227","title":{"rendered":"Kara Kutu(Black Box) ve Beyaz Kutu(White Box) Test Teknikleri"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"412\" height=\"294\" src=\"https:\/\/gizemevkuran.com\/wp-content\/uploads\/2023\/09\/image-2.png\" alt=\"\" class=\"wp-image-2256\"\/><\/figure>\n\n\n\n<p>Kara kutu testleri; kodun yap\u0131s\u0131(structure), tasar\u0131m\u0131(design) ve uygulan\u0131\u015f\u0131(implementation) ile ilgilenmez. Kara kutu testlerinde girdi ve \u00e7\u0131kt\u0131 de\u011fi\u015fimine g\u00f6re sistemin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131 test edilir. Kara kutu test \u00e7e\u015fitleri \u00e7o\u011fu yaz\u0131l\u0131m test uzman\u0131 taraf\u0131ndan yayg\u0131n olarak kullan\u0131lan test \u00e7e\u015fitleridir. Kara kutu test \u00e7e\u015fitlerine gelmeden \u00f6nce bu yaz\u0131mda \u201cKara Kutu Test Teknikleri\u201d konusundan bahsetmek istiyorum.<\/p>\n\n\n\n<p><strong>Kara Kutu Test Teknikleri<\/strong><\/p>\n\n\n\n<p><strong>1)E\u015fit B\u00f6l\u00fcmlere Ay\u0131rma Tekni\u011fi (Equivalence Partitioning)<\/strong><\/p>\n\n\n\n<p>Bu teknikle test ederken, sistemde ayn\u0131 \u015fekilde davranan ve ayn\u0131 sonucu veren girdiler b\u00f6l\u00fcmlenir. Bu b\u00f6l\u00fcmlerden al\u0131nan birer \u00f6rnek girdilerle sistem test edilir. Bu teknikte ama\u00e7 test case say\u0131s\u0131n\u0131 azaltmakt\u0131r.<\/p>\n\n\n\n<p>\u00d6rnekle a\u00e7\u0131klayacak olursak; Sadece -100 ile +100 aras\u0131ndaki tam say\u0131lar\u0131 kabul eden bir girdi alan\u0131 test etti\u011fimizi d\u00fc\u015f\u00fcnelim. Bu test tekni\u011fine g\u00f6re;<\/p>\n\n\n\n<p>-78 , -50 , -23 vb. -100\u2019den b\u00fcy\u00fck b\u00fct\u00fcn negatif tam say\u0131lar ayn\u0131 sonucu verecektir.<\/p>\n\n\n\n<p>Ayn\u0131 \u015fekilde 100\u2019den k\u00fc\u00e7\u00fck b\u00fct\u00fcn pozitif tam say\u0131lar da ayn\u0131 sonucu verecektir.<\/p>\n\n\n\n<p>Bu \u00f6rnek i\u00e7in 0 rakam\u0131 da \u00f6zel bir durumdur, sistemden emin olmak i\u00e7in 0 durumunu da test etmek iyi olacakt\u0131r<\/p>\n\n\n\n<p>Bu sebeple; bu teknikle bu sistemi test etmek i\u00e7in -100\u2019den b\u00fcy\u00fck 1 negatif tam say\u0131, 100\u2019den k\u00fc\u00e7\u00fck 1 tam pozitif say\u0131 ve 0 yeterlidir. Test case say\u0131s\u0131 bu teknikte 3\u2019t\u00fcr.<\/p>\n\n\n\n<p><strong>2)S\u0131n\u0131r De\u011ferleri Analizi (Boundary Value Analysis)<\/strong><\/p>\n\n\n\n<p>\u00c7o\u011fu sistemde u\u00e7 noktalar daha fazla risk i\u00e7ermektedir. Bu teknikte s\u0131n\u0131r noktalar\u0131ndan \u00f6rnekler kullan\u0131larak sistem test edilir. Bu sayede s\u0131n\u0131r noktalar\u0131nda olu\u015fabilecek hatalar\u0131n \u00f6n\u00fcne ge\u00e7ilir.<\/p>\n\n\n\n<p>Yukar\u0131daki \u00f6rnekle a\u00e7\u0131klayacak olursak; verdi\u011fim \u00f6rne\u011fe g\u00f6re bu teknik kullan\u0131larak test edilece\u011finde test case say\u0131m\u0131z -101 , -100 , -99 , -1, 0 , +1, +99 , +100 , +101 olmak \u00fczere 9 olacakt\u0131r.<\/p>\n\n\n\n<p><strong>3)Karar Tablosu (Decision Table)<\/strong><\/p>\n\n\n\n<p>Bu teknikte test senaryolar\u0131, girdi ve nedenlerin tablola\u015ft\u0131r\u0131lmas\u0131yla olu\u015fur. Kar\u0131\u015f\u0131k sistemlerin testinde genellikle bu y\u00f6ntem kullan\u0131l\u0131r.<\/p>\n\n\n\n<p>Yine bir \u00f6rnekle a\u00e7\u0131klayal\u0131m;<\/p>\n\n\n\n<p>Senaryo: Otob\u00fcs bileti belirleme uygulamas\u0131 i\u00e7in<\/p>\n\n\n\n<p>-Sabah 10\u2019dan sonra seyahat edecekler indirimli, 10\u2019dan \u00f6nce edecekler tam bilet fiyat\u0131 \u00f6deyecektir.<\/p>\n\n\n\n<p>-Ya\u015f\u0131 60 ve \u00fczeri olanlar i\u00e7in bu fiyatlar \u00fczerinden %20 iskonto uygulanacakt\u0131r.<\/p>\n\n\n\n<p>Bu senaryoda 2 Durum vard\u0131r:<\/p>\n\n\n\n<p>-Seyahat saati 10\u2019dan \u00f6nce mi? sonra m\u0131? Evet\/Hay\u0131r 2 cevap<\/p>\n\n\n\n<p>-Yolcunu ya\u015f\u0131 60 ve \u00fczeri mi? Evet\/Hay\u0131r 2 cevap<\/p>\n\n\n\n<p>Toplam 2 ko\u015ful oldu\u011fu i\u00e7in burada test case say\u0131m\u0131z da 2^N(Ko\u015ful Say\u0131s\u0131) form\u00fcl\u00fcnden 4 olacakt\u0131r.<\/p>\n\n\n\n<p>Bu senaryoda 4 Eylem vard\u0131r:<\/p>\n\n\n\n<p>-Tam Bilet<\/p>\n\n\n\n<p>-\u0130ndirimli Bilet<\/p>\n\n\n\n<p>-%20 \u0130skontolu Tam Bilet<\/p>\n\n\n\n<p>-%20 \u0130skontolu \u0130ndirimli Bilet<\/p>\n\n\n\n<p>Bu senaryo i\u00e7in Karar Tablosu g\u00f6rseldeki gibi olacakt\u0131r ve test senaryolar\u0131 bu tabloya g\u00f6re y\u00fcr\u00fct\u00fclecektir.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1094\" height=\"471\" src=\"https:\/\/gizemevkuran.com\/wp-content\/uploads\/2023\/08\/image-2.png\" alt=\"\" class=\"wp-image-2228\" srcset=\"https:\/\/gizemevkuran.com\/wp-content\/uploads\/2023\/08\/image-2.png 1094w, https:\/\/gizemevkuran.com\/wp-content\/uploads\/2023\/08\/image-2-768x331.png 768w, https:\/\/gizemevkuran.com\/wp-content\/uploads\/2023\/08\/image-2-585x252.png 585w\" sizes=\"(max-width: 1094px) 100vw, 1094px\" \/><\/figure>\n\n\n\n<p>Karar Tablosu<\/p>\n\n\n\n<p><strong>4) Durum Ge\u00e7i\u015f Tablosu (State Transition Table)<\/strong><\/p>\n\n\n\n<p>Bu y\u00f6ntem, ge\u00e7erli t\u00fcm ge\u00e7i\u015fleri ve ge\u00e7ersiz olan ge\u00e7i\u015fleri g\u00f6sterir. Genellikle, birbirine d\u00f6n\u00fc\u015fen durumlar olarak tan\u0131mlanan sistemlerde kullan\u0131l\u0131r.<\/p>\n\n\n\n<p>Herhangi bir sitenin \u00f6deme sistemini d\u00fc\u015f\u00fcnelim, bir \u00fcr\u00fcn almak istedi\u011finizde \u00f6nce \u2018Sepete Ekle\u2019 i\u015flemini ger\u00e7ekle\u015ftirmeniz gerekiyordur. Daha sonra sepete gidip \u00f6deme i\u015flemine ba\u015flaman\u0131z ve \u00f6demeyi de 3 dakika i\u00e7inde yapman\u0131z beklenmektedir. 3 dakika i\u00e7inde \u00f6deme yapman\u0131z durumunda kargo \u015firketi se\u00e7im ekran\u0131na ge\u00e7ebilirsiniz ve son olarak sipari\u015fi tamamlayabilirsiniz. Bu senaryoda durumlar birbirini takip edecek \u015fekildedir. Herhangi bir ad\u0131m\u0131 atlad\u0131\u011f\u0131n\u0131zda sipari\u015f i\u015flemini ger\u00e7ekle\u015ftiremezsiniz. Bu noktada durum ge\u00e7i\u015f diyagram\u0131 olu\u015fturarak test senaryolar\u0131n\u0131z\u0131 olu\u015fturabilirsiniz.<\/p>\n\n\n\n<p><strong>5) Kullan\u0131m Durumlar\u0131 Testi (Use Case Testing)<\/strong><\/p>\n\n\n\n<p>Akt\u00f6rlerden, ad\u0131mlardan, durumlardan ve \u00e7\u0131kt\u0131lardan olu\u015fan bu teknik kullan\u0131c\u0131 tabanl\u0131 oldu\u011fu i\u00e7in ger\u00e7ek kullan\u0131c\u0131 davran\u0131\u015flar\u0131n\u0131 sim\u00fcle etmek a\u00e7\u0131s\u0131ndan en iyi y\u00f6ntemlerden biridir. Test caseler daha kolay tan\u0131mlanabilir. Do\u011fru bir ak\u0131\u015f tan\u0131mland\u0131\u011f\u0131nda, kullan\u0131c\u0131n\u0131n b\u00fct\u00fcn davran\u0131\u015flar\u0131 ve sistemin verece\u011fi \u00e7\u0131kt\u0131lar test edilmi\u015f olur.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1170\" height=\"403\" src=\"https:\/\/gizemevkuran.com\/wp-content\/uploads\/2023\/08\/image-3-1170x403.png\" alt=\"\" class=\"wp-image-2229\"\/><\/figure>\n\n\n\n<p><strong>Beyaz Kutu (White Box) Testi<\/strong><\/p>\n\n\n\n<p>Beyaz kutu testinde, kodun i\u00e7ine girilerek kodun do\u011frulu\u011fu ve kalitesi test edilir. Bu test t\u00fcr\u00fcnde kod eri\u015fimi zorunludur. Kod yap\u0131s\u0131 ve tasar\u0131m\u0131na y\u00f6nelik testler ger\u00e7ekle\u015ftirilir. \u00d6rne\u011fin, gereksiz bir kod blo\u011fu tespit edilebilir veya kodun okunulabilirli\u011fini artt\u0131rmaya y\u00f6nelik durumlar tespit edilebilir. Kodda erken bulunacak hatalar Kara Kutu(Black Box) testlerini de kolayla\u015ft\u0131rmaktad\u0131r. Beyaz kutu testleri \u00e7o\u011funlukla geli\u015ftiriciler taraf\u0131ndan yap\u0131ld\u0131\u011f\u0131 gibi test uzmanlar\u0131 taraf\u0131ndan da uygulanabilir.<\/p>\n\n\n\n<p>Yayg\u0131n kullan\u0131lan baz\u0131 Beyaz Kutu test teknikleri:<\/p>\n\n\n\n<p>1)Statement Coverage: Bu teknik, koddaki her olas\u0131 durumun en az bir kere test edilmesidir. 2)Branch Coverage: Bu teknik, bir yaz\u0131l\u0131m uygulamas\u0131n\u0131n olas\u0131 t\u00fcm yollar\u0131n\u0131(if-else ve di\u011fer ko\u015fullu d\u00f6ng\u00fcler gibi) kontrol etmeye y\u00f6neliktir.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kara kutu testleri; kodun yap\u0131s\u0131(structure), tasar\u0131m\u0131(design) ve uygulan\u0131\u015f\u0131(implementation) ile ilgilenmez. Kara kutu testlerinde girdi ve \u00e7\u0131kt\u0131 de\u011fi\u015fimine g\u00f6re sistemin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131 test edilir. Kara kutu test \u00e7e\u015fitleri \u00e7o\u011fu yaz\u0131l\u0131m test uzman\u0131 taraf\u0131ndan yayg\u0131n olarak kullan\u0131lan test \u00e7e\u015fitleridir. Kara kutu test \u00e7e\u015fitlerine gelmeden \u00f6nce bu yaz\u0131mda \u201cKara Kutu Test Teknikleri\u201d konusundan bahsetmek istiyorum. Kara Kutu Test<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[26],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/gizemevkuran.com\/index.php?rest_route=\/wp\/v2\/posts\/2227"}],"collection":[{"href":"https:\/\/gizemevkuran.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gizemevkuran.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gizemevkuran.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gizemevkuran.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2227"}],"version-history":[{"count":2,"href":"https:\/\/gizemevkuran.com\/index.php?rest_route=\/wp\/v2\/posts\/2227\/revisions"}],"predecessor-version":[{"id":2258,"href":"https:\/\/gizemevkuran.com\/index.php?rest_route=\/wp\/v2\/posts\/2227\/revisions\/2258"}],"wp:attachment":[{"href":"https:\/\/gizemevkuran.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gizemevkuran.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gizemevkuran.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}