Gopher Academy
🔴آشنایی با Test Coverage در گولنگ و نحوه تست آن🔴 ❌در ادامه آموزش خواهیم داد 🔵 واسه شروع کار این سه پست زیر رو اول بخونید 🔵 Code Coverage / Test Coverage / Branch Coverage / Path Coverage 🟡 https://t.me/gopher_academy/397 🟡 https://t.me/gopher_academy/398…
🔵Checking Test Coverage🔵
مقیاسی است که مشخص می کند چه تعداد test case وجود دارد و آیا این test case ها تمام functionality سیستم را مورد تست قرار می دهند به عبارت دیگر چند درصد از functionality سیستم توسط test case ها مورد تست قرار گرفته است.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
مقیاسی است که مشخص می کند چه تعداد test case وجود دارد و آیا این test case ها تمام functionality سیستم را مورد تست قرار می دهند به عبارت دیگر چند درصد از functionality سیستم توسط test case ها مورد تست قرار گرفته است.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴آشنایی با Test Coverage در گولنگ و نحوه تست آن🔴 ❌در ادامه آموزش خواهیم داد 🔵 واسه شروع کار این سه پست زیر رو اول بخونید 🔵 Code Coverage / Test Coverage / Branch Coverage / Path Coverage 🟡 https://t.me/gopher_academy/397 🟡 https://t.me/gopher_academy/398…
🔵 Using the -cover flag🔵
🟡 خوب برای اجرا دستور زیر را وارد کنید:👇🏻
🟢 go test -cover
🟡 خروجی👇🏻
PASS
coverage: 66.7% of statements
ok github.com/mrbardia72/covtes 0.006s
🟡 این ۶۶ درصد بیانگر این هست که 66.7٪ درصد کد مارو پوشش قرار داده توسط test case ها
🟡 در حالی که این مقدار 66.7٪ می تواند به ما بگوید که چه مقدار از کد خود را آزمایش کرده ایم ، اما به ما دقیقاً نشان نمی دهد که در کد مسیرهایی را داریم یا آزمایش نکرده ایم.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟡 خوب برای اجرا دستور زیر را وارد کنید:👇🏻
🟢 go test -cover
🟡 خروجی👇🏻
PASS
coverage: 66.7% of statements
ok github.com/mrbardia72/covtes 0.006s
🟡 این ۶۶ درصد بیانگر این هست که 66.7٪ درصد کد مارو پوشش قرار داده توسط test case ها
🟡 در حالی که این مقدار 66.7٪ می تواند به ما بگوید که چه مقدار از کد خود را آزمایش کرده ایم ، اما به ما دقیقاً نشان نمی دهد که در کد مسیرهایی را داریم یا آزمایش نکرده ایم.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴آشنایی با Test Coverage در گولنگ و نحوه تست آن🔴 ❌در ادامه آموزش خواهیم داد 🔵 واسه شروع کار این سه پست زیر رو اول بخونید 🔵 Code Coverage / Test Coverage / Branch Coverage / Path Coverage 🟡 https://t.me/gopher_academy/397 🟡 https://t.me/gopher_academy/398…
🔵 Visualizing Coverage🔵
🟡خوب برای این که خروجی کار روی توی مرورگر
🟡ببینیم دستور زیر رو اول بزنید
🟢go test -coverprofile=all.out
🟡بعدش دستور زیر
🟢go tool cover -html=coverage.out
🟡زمانی که دستور فوق رو میزنید با تصویر بالا روبه رو می شوید
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟡خوب برای این که خروجی کار روی توی مرورگر
🟡ببینیم دستور زیر رو اول بزنید
🟢go test -coverprofile=all.out
🟡بعدش دستور زیر
🟢go tool cover -html=coverage.out
🟡زمانی که دستور فوق رو میزنید با تصویر بالا روبه رو می شوید
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Go 1.16.1 and 1.15.9 have been released!
🔐 A security fix for encoding/xml (CVE-2021-27918), archive/zip (CVE-2021-27919)
📢 Announcement: https://t.co/qgkC1kh9JC
⬇️ Download: https://t.co/tp0591yoMS
#golang
🔰 @gopher_academy
🔐 A security fix for encoding/xml (CVE-2021-27918), archive/zip (CVE-2021-27919)
📢 Announcement: https://t.co/qgkC1kh9JC
⬇️ Download: https://t.co/tp0591yoMS
#golang
🔰 @gopher_academy
golang.org
Downloads - The Go Programming Language
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
🎆 Go 1.16.2 and 1.15.10 are released!
📢 Announcement: https://t.co/79KoT1kEQA
⬇️ Download: https://t.co/wOMs5iS5N4
#golang https://t.co/hrrahJ5SAc
🔰 @gopher_academy
📢 Announcement: https://t.co/79KoT1kEQA
⬇️ Download: https://t.co/wOMs5iS5N4
#golang https://t.co/hrrahJ5SAc
🔰 @gopher_academy
golang.org
Downloads - The Go Programming Language
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Forwarded from Gopher Academy
Concurrency in Go-226.pdf
1.7 MB
🔴آشنایی با Benchmark Test در گولنگ و نحوه تست آن🔴
❌در ادامه آموزش خواهیم داد
🔵introduction to Benchmark
🟡 https://t.me/gopher_academy/729
🔵 A Simple Benchmark Test
🟡 https://t.me/gopher_academy/730
🟡 https://t.me/gopher_academy/731
🟡 https://t.me/gopher_academy/732
🔵 The -run Flag
🟡 https://t.me/gopher_academy/733
🔵 Increasing the Complexity.
🟡 https://t.me/gopher_academy/734
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
❌در ادامه آموزش خواهیم داد
🔵introduction to Benchmark
🟡 https://t.me/gopher_academy/729
🔵 A Simple Benchmark Test
🟡 https://t.me/gopher_academy/730
🟡 https://t.me/gopher_academy/731
🟡 https://t.me/gopher_academy/732
🔵 The -run Flag
🟡 https://t.me/gopher_academy/733
🔵 Increasing the Complexity.
🟡 https://t.me/gopher_academy/734
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔵introduction to Benchmark🔵
🟢 بنچمارک (Benchmark) به زبانی ساده، به معنای استاندارد و یا مجموعهای از استانداردها است که میتواند معیاری برای اندازه گیری و سنجش عملکرد یک قطعه، یک ویژگی، یک برنامه و یا یک قابلیت در حوزههای مختلف، قرار گیرد.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟢 بنچمارک (Benchmark) به زبانی ساده، به معنای استاندارد و یا مجموعهای از استانداردها است که میتواند معیاری برای اندازه گیری و سنجش عملکرد یک قطعه، یک ویژگی، یک برنامه و یا یک قابلیت در حوزههای مختلف، قرار گیرد.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴آشنایی با Benchmark Test در گولنگ و نحوه تست آن🔴 ❌در ادامه آموزش خواهیم داد 🔵introduction to Benchmark 🟡 https://t.me/gopher_academy/729 🔵 A Simple Benchmark Test 🟡 https://t.me/gopher_academy/730 🟡 https://t.me/gopher_academy/731 🟡 https://t.me/gopher_academy/732…
🔵 A Simple Benchmark Test🔵
🟢 در Go ، تست های Benchmark را می توان همراه با unit test نوشت.
🟢 توابع Benchmark باید با پیشوند "Benchmark" نوشته شود و به دنبال آن نام تابع ، به همان روشی که برای unit test استفاده می کنیم
🟢 اما اجرا آنها متقاوت هست
👇🏻❌👇🏻به تکه کد زیر توجه کنید👇🏻❌👇🏻
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟢 در Go ، تست های Benchmark را می توان همراه با unit test نوشت.
🟢 توابع Benchmark باید با پیشوند "Benchmark" نوشته شود و به دنبال آن نام تابع ، به همان روشی که برای unit test استفاده می کنیم
🟢 اما اجرا آنها متقاوت هست
👇🏻❌👇🏻به تکه کد زیر توجه کنید👇🏻❌👇🏻
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴آشنایی با Benchmark Test در گولنگ و نحوه تست آن🔴 ❌در ادامه آموزش خواهیم داد 🔵introduction to Benchmark 🟡 https://t.me/gopher_academy/729 🔵 A Simple Benchmark Test 🟡 https://t.me/gopher_academy/730 🟡 https://t.me/gopher_academy/731 🟡 https://t.me/gopher_academy/732…
🟢 این توابع با نام Benchmark شروع می شوند
🟢 ازکتابخانه testing برای اجرا استفاده می کند
🟢 مقدار b.N هر بار افزایش می یابد تا زمانی که معیاری از stability برسد.
🟢 هر Benchmark باید کد را تحت آزمایش b.N بار اجرا کند.
👇🏻👇🏻❌نحوه اجرا❌👇🏻👇🏻
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟢 ازکتابخانه testing برای اجرا استفاده می کند
🟢 مقدار b.N هر بار افزایش می یابد تا زمانی که معیاری از stability برسد.
🟢 هر Benchmark باید کد را تحت آزمایش b.N بار اجرا کند.
👇🏻👇🏻❌نحوه اجرا❌👇🏻👇🏻
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴آشنایی با Benchmark Test در گولنگ و نحوه تست آن🔴 ❌در ادامه آموزش خواهیم داد 🔵introduction to Benchmark 🟡 https://t.me/gopher_academy/729 🔵 A Simple Benchmark Test 🟡 https://t.me/gopher_academy/730 🟡 https://t.me/gopher_academy/731 🟡 https://t.me/gopher_academy/732…
🟢 اجرای کد فوق به صورت عکس فوق
❌ go test -bench=.
کامند فوق تمام متد Benchmark ها رو اجرا می کنه
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
❌ go test -bench=.
کامند فوق تمام متد Benchmark ها رو اجرا می کنه
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴آشنایی با Benchmark Test در گولنگ و نحوه تست آن🔴 ❌در ادامه آموزش خواهیم داد 🔵introduction to Benchmark 🟡 https://t.me/gopher_academy/729 🔵 A Simple Benchmark Test 🟡 https://t.me/gopher_academy/730 🟡 https://t.me/gopher_academy/731 🟡 https://t.me/gopher_academy/732…
🔵 The -run Flag🔵
❌کد فوق رو درنظر بگیرید
🟢برای اجرای متد TestCalculate به صورت زیر عمل می کنیم
❌ go test -run=Calculate -bench=.
🟢برای اجرای متد BenchmarkCalculate به صورت زیر عمل می کنیم
❌ go test -run=Bench -bench=.
🟢برای اجرای جداگانه تست هامون از -run Flag استفاده می کنیم
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
❌کد فوق رو درنظر بگیرید
🟢برای اجرای متد TestCalculate به صورت زیر عمل می کنیم
❌ go test -run=Calculate -bench=.
🟢برای اجرای متد BenchmarkCalculate به صورت زیر عمل می کنیم
❌ go test -run=Bench -bench=.
🟢برای اجرای جداگانه تست هامون از -run Flag استفاده می کنیم
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴آشنایی با Benchmark Test در گولنگ و نحوه تست آن🔴 ❌در ادامه آموزش خواهیم داد 🔵introduction to Benchmark 🟡 https://t.me/gopher_academy/729 🔵 A Simple Benchmark Test 🟡 https://t.me/gopher_academy/730 🟡 https://t.me/gopher_academy/731 🟡 https://t.me/gopher_academy/732…
🔵 Increasing the Complexity. 🔵
🟢 به طور معمول ، شما می خواهید برنامه های خود را با انواع ورودی های مشخص محک بزنید. شما می خواهید ویژگی های performance برنامه خود را تحت تعدادی سناریوی مجزا و واقعی اندازه گیری کنید.
🟢ما از تابع محاسبه مثال قبلی خود استفاده خواهیم کرد و این بار مجموعه ای از benchmarks های مختلف را اضافه خواهیم کرد که ورودی های مختلف را آزمایش کنند
🟢 بنابراین ، در اینجا ما 3 عملکرد مشخص Benchmark را ایجاد کرده ایم که با انواع مختلف ورودی ، فراخوانی Benchmark را می خوانند.
🟢این به ما اجازه می دهد که بین عملکردهای مختلف تفاوت عملکردی داشته باشیم
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟢 به طور معمول ، شما می خواهید برنامه های خود را با انواع ورودی های مشخص محک بزنید. شما می خواهید ویژگی های performance برنامه خود را تحت تعدادی سناریوی مجزا و واقعی اندازه گیری کنید.
🟢ما از تابع محاسبه مثال قبلی خود استفاده خواهیم کرد و این بار مجموعه ای از benchmarks های مختلف را اضافه خواهیم کرد که ورودی های مختلف را آزمایش کنند
🟢 بنابراین ، در اینجا ما 3 عملکرد مشخص Benchmark را ایجاد کرده ایم که با انواع مختلف ورودی ، فراخوانی Benchmark را می خوانند.
🟢این به ما اجازه می دهد که بین عملکردهای مختلف تفاوت عملکردی داشته باشیم
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Final Results
67%
خوب
33%
متوسط
0%
ضعیف
Final Results
60%
خوب
40%
متوسط
0%
بد
✅ مجموعه سری آموزشی تست نویسی و اجرا آن
🔴آشنایی با Benchmark Test
🟡 https://t.me/gopher_academy/728
🔴آشنایی با Test Coverage
🟡 https://t.me/gopher_academy/717
🔴آشنایی با unitTest
🟡 https://t.me/gopher_academy/684
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔴آشنایی با Benchmark Test
🟡 https://t.me/gopher_academy/728
🔴آشنایی با Test Coverage
🟡 https://t.me/gopher_academy/717
🔴آشنایی با unitTest
🟡 https://t.me/gopher_academy/684
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
کانال ما چهارشنبه ۸ مرداد سال ۹۹ شروع به فعالیت توی زمینه زبان برنامه نویسی گولنگ کرده و هدفش آموزش این زبان و نکات کلیدی بود نظرتون در مورد محتوا کانال چیه؟نظر سنجی آخر سال
Final Results
26%
عالی
32%
خوب
20%
متوسط
22%
ضعیف