{"id":2291,"date":"2021-09-30T20:59:12","date_gmt":"2021-09-30T20:59:12","guid":{"rendered":"https:\/\/www.yazilimperver.com\/?p=2291"},"modified":"2021-09-30T21:01:55","modified_gmt":"2021-09-30T21:01:55","slug":"birim-test-tavsiyeleri","status":"publish","type":"post","link":"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/","title":{"rendered":"Birim Test Tavsiyeleri"},"content":{"rendered":"<p>Merhabalar yaz\u0131l\u0131mperver dostlar\u0131m, bu yaz\u0131mda, birim test geli\u015ftirirken sizler i\u00e7in faydal\u0131 olaca\u011f\u0131na inand\u0131\u011f\u0131m bir tak\u0131m \u00f6nerileri sizler ile payla\u015f\u0131yor olaca\u011f\u0131m.<\/p>\n<p>Daha \u00f6nce\u00a0<span style=\"color: #008000;\"><strong><a style=\"color: #008000;\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2021\/01\/25\/uygulama-izleme-yazilimi-serisi-3-birim-test\/\">Uygulama \u0130zleme Yaz\u0131l\u0131m\u0131 3 &#8211; Utility, Birim Testler, S\u00fcrekli Entegrasyon<\/a><\/strong><\/span> yaz\u0131mda, birim test konusuna de\u011finmi\u015f, bir tak\u0131m faydalar\u0131n\u0131 s\u0131ralam\u0131\u015f ve Uygulama \u0130zleme Yaz\u0131l\u0131m\u0131nda kullan\u0131m\u0131n\u0131, baz\u0131 k\u00fct\u00fcphaneler ile birlikte sizlerle payla\u015fm\u0131\u015ft\u0131m. Tekrar hat\u0131rlayacak olursak, asl\u0131nda birim testler ile birlikte:<\/p>\n<ul>\n<li>Kodunuzun beklendi\u011fi gibi \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olman\u0131za yard\u0131mc\u0131 olur,<\/li>\n<li>Bir tak\u0131m hatalar\u0131 \u00f6nceden bulup d\u00fczeltmemize yard\u0131m eder,<\/li>\n<li>Kodlar\u0131n de\u011fi\u015fiklikler ile birlikte sa\u011flaml\u0131\u011f\u0131n\u0131 korumas\u0131na yard\u0131m eder ve &#8220;refaktor&#8221; ederken kafan\u0131z\u0131n daha rahat olmas\u0131n\u0131 sa\u011flar,<\/li>\n<li>Kod kalitesini artt\u0131r\u0131r,<\/li>\n<li>Kodun anla\u015f\u0131lmas\u0131na yard\u0131m eder.<\/li>\n<\/ul>\n<p>Bu yaz\u0131mda ise, k\u0131lavuz niteli\u011findeki \u00f6nerileri, madde madde sizler ile payla\u015faca\u011f\u0131m. Daha fazlas\u0131 i\u00e7in de, bir tak\u0131m kaynaklar\u0131 yaz\u0131m\u0131n sonuna ekliyorum. Haydi ba\u015flayal\u0131m:<\/p>\n<ul>\n<li><strong>Birim testleriniz k\u0131sa ve h\u0131zl\u0131 olmal\u0131d\u0131r.<\/strong>\n<ul>\n<li>Neden? Geli\u015ftirici her kodu &#8220;commit&#8221;\/&#8221;check in&#8221; yapt\u0131\u011f\u0131nda h\u0131zl\u0131ca \u00e7al\u0131\u015fmal\u0131 ve sonu\u00e7lar\u0131 g\u00f6stermelidir,<\/li>\n<\/ul>\n<\/li>\n<li><strong>Birim testler olabildi\u011fince otomatize ve d\u0131\u015far\u0131dan m\u00fcdahale ihtiyac\u0131 olmamal\u0131d\u0131r,<\/strong>\n<ul>\n<li>Birim testlerde ne kadar manuel m\u00fcdahale olursa o kadar verimlilik d\u00fc\u015fer. S\u00fcre\u00e7 olabildi\u011fince otomatik ve d\u00fczenli bir \u015fekilde uygulanabiliyor olmal\u0131d\u0131r,<\/li>\n<\/ul>\n<\/li>\n<li><strong>Testleriniz okunabilir olmal\u0131d\u0131r.<\/strong>\n<ul>\n<li>Testleriniz de kodlar gibi bir s\u00fcre sonra okunabilirli\u011fini kaybedebilirler. Hatta, bu \u00e7ok daha kolay ve h\u0131zl\u0131 olabilir.<\/li>\n<li>Bu ba\u011flamda &#8220;arrange, act, assert&#8221; mant\u0131\u011f\u0131na sad\u0131k kal\u0131n,<\/li>\n<li>Testleri olabildi\u011fince basit tutun,<\/li>\n<li>Sihirli sabitler ya da metinlerin kullan\u0131m\u0131ndan ka\u00e7\u0131n\u0131n,<\/li>\n<li>Testlerin ayn\u0131 zamanda koda ili\u015fkin bir k\u0131lavuz\/dok\u00fcmantasyon oldu\u011funu unutmay\u0131n,<\/li>\n<\/ul>\n<\/li>\n<li><strong>Testlerinize ili\u015fkin \u00f6l\u00e7\u00fcmleri unutmay\u0131n, \u00f6zellikle kapsama analizi g\u00f6z ard\u0131 edilmemelidir.<\/strong>\n<ul>\n<li>Testler ile birlikte kodun kapsand\u0131\u011f\u0131 sat\u0131rlar\u0131n\u0131n takip edilmesi, testlerin etkinli\u011fi i\u00e7in \u00f6nemli bir noktad\u0131r,<\/li>\n<\/ul>\n<\/li>\n<li><strong>Kapsama analizi yaparken, \u00f6ncelikle ko\u015fum kapsam\u0131na daha sonra test kapsam\u0131na \u00f6ncelik verin.<\/strong>\n<ul>\n<li>Kapsama analizleri genelikle ko\u015fturulan sat\u0131rlar\u0131 kolay bir \u015fekilde verse de, test ile kapsanan sat\u0131rlar\u0131 (ger\u00e7ekten test edilen) tespit etmek o kadar kolay olmayabilir,<\/li>\n<li>Ko\u015fum kapsam\u0131 sa\u011fland\u0131ktan sonra, ko\u015ful kontrolleri i\u00e7in her ko\u015fulun veya de\u011ferin do\u011fruland\u0131\u011f\u0131 kontrol edilmelidir,<\/li>\n<\/ul>\n<\/li>\n<li><strong>Ba\u015far\u0131z testlerin olabildi\u011fince h\u0131zl\u0131 \u00e7\u00f6z\u00fclmesini sa\u011flay\u0131n.<\/strong>\n<ul>\n<li>Gerek s\u00fcre\u00e7sel gerekse k\u00fclt\u00fcrel olarak, ekibin kalan testleri h\u0131zl\u0131 bir \u015fekilde \u00e7\u00f6zmesini sa\u011flay\u0131n,<\/li>\n<\/ul>\n<\/li>\n<li><strong>Birim testleri, birim seviyesinde tutun.<\/strong>\n<ul>\n<li>Birim testlere ili\u015fkin en \u00f6nemli konulardan birisi de, ilgili testlerin seviyesidir. C++ i\u00e7in bu s\u0131n\u0131flar\u0131n &#8220;public&#8221; fonksiyonlar\u0131d\u0131r,<\/li>\n<li>Burada ayr\u0131ca birim testler ile b\u00fct\u00fcn ak\u0131\u015f\u0131n test edilmesine a\u015f\u0131r\u0131 bir a\u011f\u0131rl\u0131k verilmemesine de dikkat edilmelidir. Birincil \u00f6ncelik s\u0131n\u0131f\u0131n davran\u0131\u015flar\u0131d\u0131r, sonras\u0131nda, kritiklik durumuna g\u00f6re ak\u0131\u015flar da test edilebilir,<\/li>\n<li>D\u0131\u015fa ba\u011f\u0131ml\u0131 olan veya kullan\u0131lacak di\u011fer servisler &#8220;mock&#8221; lar arac\u0131l\u0131\u011f\u0131 ile kullan\u0131lmal\u0131d\u0131r. Olabildi\u011fince ger\u00e7ek s\u0131n\u0131f kullan\u0131lmamal\u0131d\u0131r,<\/li>\n<li>Birim testlerinin, entegrasyon testlerine d\u00f6n\u00fc\u015fmesine izin vermemelisiniz.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Basit testlerden ba\u015flay\u0131n, TDD ad\u0131mlar\u0131n\u0131 takip edebilirsiniz.<\/strong>\n<ul>\n<li>Birim testlerin hi\u00e7 yaz\u0131lmamas\u0131ndansa, testlerin olmas\u0131 \u00e7ok b\u00fcy\u00fck fark yarat\u0131r. Bu sebeple \u00e7ok karma\u015f\u0131k testlere yo\u011funla\u015farak, test yaz\u0131m\u0131ndan uzakla\u015fmay\u0131n,<\/li>\n<li>Basit testler ile ba\u015flay\u0131n, ayn\u0131 kod gibi &#8220;refakt\u00f6r&#8221; ederek, testlerinizi de g\u00fcncel tutun,<\/li>\n<\/ul>\n<\/li>\n<li><strong>Testlerinizde tek bir kullan\u0131m durumuna odaklan\u0131n.<\/strong>\n<ul>\n<li>A\u00e7\u0131k\u00e7as\u0131 bir \u00e7ok yerde kar\u015f\u0131la\u015ft\u0131\u011f\u0131m \u00f6nerilerden birisi de bu oldu. Bunun farkl\u0131 yakla\u015f\u0131mlar\u0131 mevcut.<\/li>\n<li>\u00d6r. En fazla bir &#8220;assertion&#8221; olsun, tek bir kullan\u0131m durumunu test edin, vb.<\/li>\n<li>Her ne kadar tek bir &#8220;assertion&#8221; biraz zor bir hedef olsa da, tek bir kullan\u0131m durumunun test edilmesi \u00f6nemli bir konu,<\/li>\n<li>Ayn\u0131 test i\u00e7erisinde hem dosyaya yazma hem de &#8220;standard output&#8221;&#8216;a yazmay\u0131 test etmemelisiniz,<\/li>\n<\/ul>\n<\/li>\n<li><strong>S\u0131n\u0131flar\u0131n\u0131z\u0131n public API&#8217;lerini ve a\u00e7\u0131k olan (ya da \u00f6yle g\u00f6r\u00fcnen) davran\u0131\u015flar\u0131n\u0131 test edin.<\/strong>\n<ul>\n<li>Bir \u00f6nceki kalem ile de ilintili olarak, basit setter\/gettter bile olsa, bu tarz &#8220;public&#8221; API&#8217;leri muhakkak test edin,<\/li>\n<li>Bu tarz genelde, basit isimlendirme de\u011fi\u015fiklikleri ya da kopyala\/yap\u0131\u015ft\u0131r hatalar\u0131n\u0131n \u00f6n\u00fcne ge\u00e7ecektir,<\/li>\n<li>Benzer \u015fekilde, bariz gibi g\u00f6r\u00fcnen ko\u015fullar\u0131 da test etmeyi ihmal etmeyin,<\/li>\n<\/ul>\n<\/li>\n<li><strong>Testleriniz birbirinden ba\u011f\u0131ms\u0131z olmal\u0131d\u0131r.<\/strong>\n<ul>\n<li>Testlerin bak\u0131m\u0131 ve stabil olmas\u0131 ad\u0131na birbirlerinden ba\u011f\u0131ms\u0131z olmal\u0131d\u0131r,<\/li>\n<li>S\u0131ra ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 olmamal\u0131d\u0131r. Hatta google test gibi bir tak\u0131m k\u00fct\u00fcphaneler \u00f6zellikle s\u0131ralamay\u0131 her ko\u015fum i\u00e7in rastgele de\u011fi\u015ftirebilmektedir,<\/li>\n<\/ul>\n<\/li>\n<li><strong>Testlerinizi do\u011fru bir \u015fekilde isimlendirin.<\/strong>\n<ul>\n<li>Asl\u0131nda benzer bir s\u0131k\u0131nt\u0131, de\u011fi\u015fken, fonksiyon ve s\u0131n\u0131flar i\u00e7in de ge\u00e7erli: isimlendirme,<\/li>\n<li>Testlerin s\u0131n\u0131f\u0131n hangi kabiliyetini test etti\u011fini a\u00e7\u0131k bir \u015fekilde isminde ifade edin,<\/li>\n<\/ul>\n<\/li>\n<li><strong>Testlerinizi tasarlarken farkl\u0131 seviyelerde d\u00fc\u015f\u00fcn\u00fcn.<\/strong>\n<ul>\n<li>Testleri haz\u0131rlarken, tasarlarken, ilgili s\u0131n\u0131flar\u0131n m\u00fc\u015fterisi gibi d\u00fc\u015f\u00fcn\u00fcn,<\/li>\n<li>Dah sonra da, geli\u015ftirdi\u011finiz s\u0131n\u0131fa ili\u015fkin sunmak istedi\u011finiz servisleri d\u00fc\u015f\u00fcnerek testlerinizi haz\u0131rlay\u0131n.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Testlerinizde s\u0131n\u0131r de\u011ferleri es ge\u00e7meyin.<\/strong>\n<ul>\n<li>\u00d6zellikle g\u00f6m\u00fcl\u00fc yaz\u0131l\u0131mlar ve emniyet kritik yaz\u0131l\u0131mlar geli\u015ftiriyorsan\u0131z buna a\u015fina olabilirsiniz ama standart uygulamalarda da s\u0131n\u0131r de\u011ferlerini test ediyor olmak size b\u00fcy\u00fck g\u00fcvence sa\u011flayacakt\u0131r,<\/li>\n<li>Bo\u015f dosya, s\u0131n\u0131r d\u0131\u015f\u0131 say\u0131lar, negatif say\u0131lar, vb. durumlar,<\/li>\n<\/ul>\n<\/li>\n<li><strong>Negatif testleri de g\u00f6z \u00f6n\u00fcnde bulundurun.<\/strong>\n<ul>\n<li>\u00d6zellikle kodun kullan\u0131lmamas\u0131 gereken ko\u015fullar\u0131 da test etmeniz, kodunuzun sa\u011flaml\u0131l\u0131\u011f\u0131n\u0131 artt\u0131racakt\u0131r,<\/li>\n<\/ul>\n<\/li>\n<li><strong>Kodu tasarlarken, testi de muhakkak g\u00f6z \u00f6n\u00fcnde bulundurun.<\/strong>\n<ul>\n<li>Birim testlerin yaz\u0131lmas\u0131 maliyetli ve bak\u0131mlar\u0131 da zor olabilmektedir. Dolayl\u0131 olarak test edilen s\u0131n\u0131flar\u0131n da basit olmas\u0131 testlerin yaz\u0131lmas\u0131n\u0131 da, bak\u0131m\u0131n\u0131 da kolayla\u015ft\u0131racakt\u0131r,<\/li>\n<li>Peki neler yap\u0131labilir?\n<ul>\n<li>Public API&#8217;ler az tutulabilir (tabi ki her \u015feyi &#8220;private&#8221; yap\u0131n demiyorum \ud83d\ude42 )<\/li>\n<li>Yap\u0131c\u0131 ile birlikte s\u0131n\u0131fa dair de\u011fi\u015fmeyecek, durumlar\u0131 atayarak, &#8220;setter&#8221; say\u0131s\u0131n\u0131 azaltabilirsiniz,<\/li>\n<li>Miraz ve sanal &#8220;public&#8221; fonksiyon kullan\u0131m\u0131n\u0131 limitleyebilirsiniz,<\/li>\n<li>Gereksiz ko\u015ful (if, switch) kontrollerinden ka\u00e7\u0131n\u0131n,<\/li>\n<li>Ko\u015fullar i\u00e7erisindeki kodlar\u0131 minimize edin,<\/li>\n<li>K\u0131sacas\u0131 kodu basitle\u015ftirebilecek her \u015feyi yap\u0131n \ud83d\ude42<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li><strong>Bildirilen hatalar\u0131 tekrarlayacak testleri yaz\u0131n.<\/strong>\n<ul>\n<li>Bence bir di\u011fer \u00f6nemli konu, birim testlerde \u00e7\u0131kmayan fakat, herhangi bir zamanda ortaya \u00e7\u0131kan hatalara ili\u015fkin test kodlar\u0131n\u0131n yaz\u0131lmas\u0131,<\/li>\n<li>Ne zaman bir hata bildirilse, ilk i\u015f bunun (elbette olu\u015fturulabiliyorsa) o hatan\u0131n olu\u015fturuldu\u011fu bir test kodu yazmak, sonra kodu d\u00fczeltmek ve ilgili testin ge\u00e7ti\u011fini g\u00f6zlemlemektir,<\/li>\n<\/ul>\n<\/li>\n<li><strong>Birim testlerine ili\u015fkin s\u0131n\u0131rlar\u0131 akl\u0131n\u0131zdan \u00e7\u0131karmay\u0131n.<\/strong>\n<ul>\n<li>Son olarak \u015funu hi\u00e7 unutmay\u0131n ki, birim testler, kodun y\u00fczde y\u00fcz \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelmez,<\/li>\n<li>En b\u00fcy\u00fck faydas\u0131, g\u00fcncellemelerden etkilenmedi\u011fini, yeni geli\u015ftirilen kodlar\u0131n \u00f6ncekileri bozmad\u0131\u011f\u0131n\u0131 ve tutarl\u0131l\u0131\u011f\u0131n\u0131 korudu\u011funu akl\u0131n\u0131zdan \u00e7\u0131karmay\u0131n.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Testleri yazmak i\u00e7in bir test prati\u011fi\/yakla\u015f\u0131m\u0131 belirleyin<\/strong>\n<ul>\n<li>Yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerine paralel \u015fekilde, sa\u011fl\u0131kl\u0131 bir test yaz\u0131m\u0131 i\u00e7in, TDD ya da benzeri yakla\u015f\u0131mlar\u0131 takip etmek, test geli\u015ftirme s\u00fcrecini hayatta tutman\u0131za yard\u0131mc\u0131 olur,<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Benzeri \u00f6neri i\u00e7eren di\u011fer kaynaklar ve birim testlere ili\u015fkin daha detayl\u0131 bilgiler i\u00e7in a\u015fa\u011f\u0131daki kaynaklara g\u00f6z atabilirsiniz \ud83d\ude09<\/p>\n<p>\u00d6nerileri olabildi\u011fince basit, k\u0131sa ama anla\u015f\u0131labilir k\u0131lmaya \u00e7al\u0131\u015ft\u0131m, umar\u0131m faydal\u0131 olmu\u015ftur. Bir sonraki yaz\u0131mda g\u00f6r\u00fc\u015fmek dile\u011fiyle, bol kodlu g\u00fcnler diliyorum.<\/p>\n<h2><span style=\"color: #0000ff;\"><strong>Kaynaklar<\/strong><\/span><\/h2>\n<ul>\n<li><a href=\"https:\/\/www.testim.io\/blog\/unit-testing-best-practices\/\"><span style=\"color: #008000;\"><strong>https:\/\/www.testim.io\/blog\/unit-testing-best-practices\/<\/strong><\/span><\/a><\/li>\n<li><a href=\"https:\/\/www.toptal.com\/qa\/how-to-write-testable-code-and-why-it-matters\"><span style=\"color: #008000;\"><strong>https:\/\/www.toptal.com\/qa\/how-to-write-testable-code-and-why-it-matters<\/strong><\/span><\/a><\/li>\n<li><a href=\"https:\/\/dzone.com\/articles\/unit-testing-best-practices-how-to-get-the-most-ou\"><span style=\"color: #008000;\"><strong>https:\/\/dzone.com\/articles\/unit-testing-best-practices-how-to-get-the-most-ou<\/strong><\/span><\/a><\/li>\n<li><a href=\"https:\/\/www.artofunittesting.com\/definition-of-a-unit-test\/\"><span style=\"color: #008000;\"><strong>https:\/\/www.artofunittesting.com\/definition-of-a-unit-test\/<\/strong><\/span><\/a><\/li>\n<li><a href=\"https:\/\/stackoverflow.com\/questions\/106800\/unit-testing-guidelines\"><span style=\"color: #008000;\"><strong>https:\/\/stackoverflow.com\/questions\/106800\/unit-testing-guidelines<\/strong><\/span><\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Merhabalar yaz\u0131l\u0131mperver dostlar\u0131m, bu yaz\u0131mda, birim test geli\u015ftirirken sizler i\u00e7in faydal\u0131 olaca\u011f\u0131na inand\u0131\u011f\u0131m bir tak\u0131m \u00f6nerileri sizler ile payla\u015f\u0131yor olaca\u011f\u0131m. Daha \u00f6nce\u00a0Uygulama \u0130zleme Yaz\u0131l\u0131m\u0131 3 &#8211; Utility, Birim Testler, S\u00fcrekli Entegrasyon yaz\u0131mda, birim test konusuna de\u011finmi\u015f, bir tak\u0131m faydalar\u0131n\u0131 s\u0131ralam\u0131\u015f ve Uygulama \u0130zleme Yaz\u0131l\u0131m\u0131nda kullan\u0131m\u0131n\u0131, baz\u0131 k\u00fct\u00fcphaneler ile birlikte sizlerle payla\u015fm\u0131\u015ft\u0131m. Tekrar hat\u0131rlayacak olursak, asl\u0131nda&#8230; <a class=\"more-link\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/\">Continue reading <span class=\"meta-nav\">&#8594;<\/span><\/a><\/p>\n","protected":false},"author":2,"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,"footnotes":""},"categories":[41,188],"tags":[901,13,501,473],"class_list":["post-2291","post","type-post","status-publish","format-standard","hentry","category-modern-c","category-yazilim-muhendisligi","tag-birim-test","tag-c","tag-google-test","tag-unit-test"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Birim Test Tavsiyeleri - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Birim Test Tavsiyeleri - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"og:description\" content=\"Merhabalar yaz\u0131l\u0131mperver dostlar\u0131m, bu yaz\u0131mda, birim test geli\u015ftirirken sizler i\u00e7in faydal\u0131 olaca\u011f\u0131na inand\u0131\u011f\u0131m bir tak\u0131m \u00f6nerileri sizler ile payla\u015f\u0131yor olaca\u011f\u0131m. Daha \u00f6nce\u00a0Uygulama \u0130zleme Yaz\u0131l\u0131m\u0131 3 &#8211; Utility, Birim Testler, S\u00fcrekli Entegrasyon yaz\u0131mda, birim test konusuna de\u011finmi\u015f, bir tak\u0131m faydalar\u0131n\u0131 s\u0131ralam\u0131\u015f ve Uygulama \u0130zleme Yaz\u0131l\u0131m\u0131nda kullan\u0131m\u0131n\u0131, baz\u0131 k\u00fct\u00fcphaneler ile birlikte sizlerle payla\u015fm\u0131\u015ft\u0131m. Tekrar hat\u0131rlayacak olursak, asl\u0131nda... Continue reading &#8594;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/\" \/>\n<meta property=\"og:site_name\" content=\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-30T20:59:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-09-30T21:01:55+00:00\" \/>\n<meta name=\"author\" content=\"yaz\u0131l\u0131mperver\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"yaz\u0131l\u0131mperver\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/\"},\"author\":{\"name\":\"yaz\u0131l\u0131mperver\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"headline\":\"Birim Test Tavsiyeleri\",\"datePublished\":\"2021-09-30T20:59:12+00:00\",\"dateModified\":\"2021-09-30T21:01:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/\"},\"wordCount\":1387,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"keywords\":[\"birim test\",\"c++\",\"Google Test\",\"Unit Test\"],\"articleSection\":[\"Modern C++\",\"Yaz\u0131l\u0131m M\u00fchendisli\u011fi\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/\",\"url\":\"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/\",\"name\":\"Birim Test Tavsiyeleri - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#website\"},\"datePublished\":\"2021-09-30T20:59:12+00:00\",\"dateModified\":\"2021-09-30T21:01:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Ana sayfa\",\"item\":\"https:\/\/www.yazilimperver.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Birim Test Tavsiyeleri\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.yazilimperver.com\/#website\",\"url\":\"https:\/\/www.yazilimperver.com\/\",\"name\":\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"description\":\"Payla\u015fmak g\u00fczeldir.\",\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.yazilimperver.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\",\"name\":\"yaz\u0131l\u0131mperver\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png\",\"contentUrl\":\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png\",\"caption\":\"yaz\u0131l\u0131mperver\"},\"logo\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Birim Test Tavsiyeleri - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/","og_locale":"tr_TR","og_type":"article","og_title":"Birim Test Tavsiyeleri - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","og_description":"Merhabalar yaz\u0131l\u0131mperver dostlar\u0131m, bu yaz\u0131mda, birim test geli\u015ftirirken sizler i\u00e7in faydal\u0131 olaca\u011f\u0131na inand\u0131\u011f\u0131m bir tak\u0131m \u00f6nerileri sizler ile payla\u015f\u0131yor olaca\u011f\u0131m. Daha \u00f6nce\u00a0Uygulama \u0130zleme Yaz\u0131l\u0131m\u0131 3 &#8211; Utility, Birim Testler, S\u00fcrekli Entegrasyon yaz\u0131mda, birim test konusuna de\u011finmi\u015f, bir tak\u0131m faydalar\u0131n\u0131 s\u0131ralam\u0131\u015f ve Uygulama \u0130zleme Yaz\u0131l\u0131m\u0131nda kullan\u0131m\u0131n\u0131, baz\u0131 k\u00fct\u00fcphaneler ile birlikte sizlerle payla\u015fm\u0131\u015ft\u0131m. Tekrar hat\u0131rlayacak olursak, asl\u0131nda... Continue reading &#8594;","og_url":"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/","og_site_name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","article_published_time":"2021-09-30T20:59:12+00:00","article_modified_time":"2021-09-30T21:01:55+00:00","author":"yaz\u0131l\u0131mperver","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"yaz\u0131l\u0131mperver","Tahmini okuma s\u00fcresi":"7 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/#article","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/"},"author":{"name":"yaz\u0131l\u0131mperver","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"headline":"Birim Test Tavsiyeleri","datePublished":"2021-09-30T20:59:12+00:00","dateModified":"2021-09-30T21:01:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/"},"wordCount":1387,"commentCount":0,"publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"keywords":["birim test","c++","Google Test","Unit Test"],"articleSection":["Modern C++","Yaz\u0131l\u0131m M\u00fchendisli\u011fi"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/","url":"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/","name":"Birim Test Tavsiyeleri - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/#website"},"datePublished":"2021-09-30T20:59:12+00:00","dateModified":"2021-09-30T21:01:55+00:00","breadcrumb":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.yazilimperver.com\/index.php\/2021\/09\/30\/birim-test-tavsiyeleri\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Ana sayfa","item":"https:\/\/www.yazilimperver.com\/"},{"@type":"ListItem","position":2,"name":"Birim Test Tavsiyeleri"}]},{"@type":"WebSite","@id":"https:\/\/www.yazilimperver.com\/#website","url":"https:\/\/www.yazilimperver.com\/","name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","description":"Payla\u015fmak g\u00fczeldir.","publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.yazilimperver.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb","name":"yaz\u0131l\u0131mperver","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/","url":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png","contentUrl":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png","caption":"yaz\u0131l\u0131mperver"},"logo":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/2291","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/comments?post=2291"}],"version-history":[{"count":6,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/2291\/revisions"}],"predecessor-version":[{"id":2297,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/2291\/revisions\/2297"}],"wp:attachment":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/media?parent=2291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/categories?post=2291"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/tags?post=2291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}