پارت ۸: تست و ارزیابی کد
**سلام دوستان! 👋
در این پارت از آموزش بکاند با پایتون، به موضوع تست و ارزیابی کدها میپردازیم. تست نرمافزار یکی از مراحل حیاتی در توسعه پروژههای نرمافزاری است که باعث میشود از عملکرد صحیح کد اطمینان حاصل کنیم. 🚀**
معرفی اصول تست نرمافزار 🛠️
تست نرمافزار به فرآیندی گفته میشود که در آن برنامهنویسان عملکرد کد خود را بررسی میکنند تا از صحت، کارایی و عملکرد درست آن اطمینان حاصل کنند. این فرآیند شامل تست واحد (Unit Testing)، تست یکپارچگی (Integration Testing)، و تست سیستم (System Testing) است.
نوشتن تستهای واحد (Unit Tests) با pytest 🧪
تست واحد به بررسی عملکرد یک واحد کوچک از کد (مثلاً یک تابع) میپردازد. برای نوشتن تستهای واحد در پایتون میتوان از کتابخانه pytest استفاده کرد. ابتدا pytest را نصب کنید:
سپس یک فایل تست ایجاد کنید و تستهای خود را بنویسید. مثلاً فرض کنید یک تابع ساده برای جمع دو عدد داریم:
میتوانیم تست واحد این تابع را به صورت زیر بنویسیم:
برای اجرای تستها از دستور زیر استفاده کنید:
تست یکپارچگی و تست سیستم 🔄
تست یکپارچگی به بررسی عملکرد ماژولهای مختلف به صورت ترکیبی میپردازد. این نوع تستها اطمینان میدهند که ماژولهای مختلف برنامه به درستی با یکدیگر تعامل دارند. تست سیستم نیز به بررسی عملکرد کلی سیستم به عنوان یک واحد یکپارچه میپردازد.
ابزارهای تست خودکار و CI/CD 🤖
ابزارهای تست خودکار مانند Jenkins، Travis CI، و GitHub Actions به توسعهدهندگان کمک میکنند تا تستها را به صورت خودکار اجرا کنند و از صحت عملکرد کد در هر تغییر اطمینان حاصل کنند. این ابزارها به ویژه در پروژههای بزرگ و تیمهای چند نفره بسیار کاربردی هستند.
ادامه مسیر 🚀
در پارت بعدی، به مبحث استقرار (Deployment) پروژه میپردازیم و نحوه آمادهسازی و استقرار پروژه را در یک سرور یا سرویس ابری بررسی میکنیم.
🔗 [لینک کانال تلگرام]
#پایتون #بک_اند #تست_نرم_افزار #pytest #برنامه_نویسی #تست_واحد
**سلام دوستان! 👋
در این پارت از آموزش بکاند با پایتون، به موضوع تست و ارزیابی کدها میپردازیم. تست نرمافزار یکی از مراحل حیاتی در توسعه پروژههای نرمافزاری است که باعث میشود از عملکرد صحیح کد اطمینان حاصل کنیم. 🚀**
معرفی اصول تست نرمافزار 🛠️
تست نرمافزار به فرآیندی گفته میشود که در آن برنامهنویسان عملکرد کد خود را بررسی میکنند تا از صحت، کارایی و عملکرد درست آن اطمینان حاصل کنند. این فرآیند شامل تست واحد (Unit Testing)، تست یکپارچگی (Integration Testing)، و تست سیستم (System Testing) است.
نوشتن تستهای واحد (Unit Tests) با pytest 🧪
تست واحد به بررسی عملکرد یک واحد کوچک از کد (مثلاً یک تابع) میپردازد. برای نوشتن تستهای واحد در پایتون میتوان از کتابخانه pytest استفاده کرد. ابتدا pytest را نصب کنید:
pip install pytest
سپس یک فایل تست ایجاد کنید و تستهای خود را بنویسید. مثلاً فرض کنید یک تابع ساده برای جمع دو عدد داریم:
# calculator.py
def add(a, b):
return a + b
میتوانیم تست واحد این تابع را به صورت زیر بنویسیم:
# test_calculator.py
from calculator import add
def test_add():
assert add(1, 2) == 3
assert add(-1, 1) == 0
assert add(0, 0) == 0
برای اجرای تستها از دستور زیر استفاده کنید:
pytest
تست یکپارچگی و تست سیستم 🔄
تست یکپارچگی به بررسی عملکرد ماژولهای مختلف به صورت ترکیبی میپردازد. این نوع تستها اطمینان میدهند که ماژولهای مختلف برنامه به درستی با یکدیگر تعامل دارند. تست سیستم نیز به بررسی عملکرد کلی سیستم به عنوان یک واحد یکپارچه میپردازد.
ابزارهای تست خودکار و CI/CD 🤖
ابزارهای تست خودکار مانند Jenkins، Travis CI، و GitHub Actions به توسعهدهندگان کمک میکنند تا تستها را به صورت خودکار اجرا کنند و از صحت عملکرد کد در هر تغییر اطمینان حاصل کنند. این ابزارها به ویژه در پروژههای بزرگ و تیمهای چند نفره بسیار کاربردی هستند.
ادامه مسیر 🚀
در پارت بعدی، به مبحث استقرار (Deployment) پروژه میپردازیم و نحوه آمادهسازی و استقرار پروژه را در یک سرور یا سرویس ابری بررسی میکنیم.
🔗 [لینک کانال تلگرام]
#پایتون #بک_اند #تست_نرم_افزار #pytest #برنامه_نویسی #تست_واحد
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
🔥3
آموزش PyTest در پایتون – بخش اول
PyTest یکی از محبوبترین ابزارهای تست در پایتون است که به دلیل سادگی و قدرت زیادش مورد توجه قرار گرفته است. در این پست، به معرفی و آموزش استفاده از PyTest میپردازیم.
نصب PyTest
برای شروع کار با PyTest، ابتدا باید آن را نصب کنید. این کار بسیار ساده است و میتوانید با استفاده از pip آن را نصب کنید:
نوشتن اولین تست با PyTest
برای نوشتن تستها در PyTest، کافی است که توابع تست خود را با
در این مثال، دو تابع تست ساده نوشتهایم. برای اجرای این تستها، کافی است در خط فرمان دستور زیر را اجرا کنید:
PyTest به صورت خودکار فایلهای تست شما را پیدا کرده و آنها را اجرا میکند.
استفاده از pytest.fixture
در PyTest، میتوانید از قابلیت fixtures برای آمادهسازی پیششرطها و تمیز کردن بعد از تستها استفاده کنید. به مثال زیر توجه کنید:
در این مثال، یک fixture به نام
گزارشدهی PyTest
یکی از ویژگیهای قدرتمند PyTest، قابلیت گزارشدهی آن است. با استفاده از پلاگینها میتوانید گزارشهای مختلفی از نتایج تستها دریافت کنید. برای نصب پلاگین گزارشدهی، میتوانید از دستور زیر استفاده کنید:
سپس میتوانید با استفاده از دستور زیر، یک گزارش HTML از نتایج تستهای خود تولید کنید:
ادامه دارد...
در بخش دوم این آموزش، به مباحث پیشرفتهتری همچون پارامتری کردن تستها، تستهای مقیاسپذیر، و دیگر قابلیتهای قدرتمند PyTest خواهیم پرداخت.
🔻بیا اینجا تا بیشتر یاد بگیری🔻
#پایتون #PyTest #آموزش_پایتون #برنامهنویسی #تست_نرمافزار #python
PyTest یکی از محبوبترین ابزارهای تست در پایتون است که به دلیل سادگی و قدرت زیادش مورد توجه قرار گرفته است. در این پست، به معرفی و آموزش استفاده از PyTest میپردازیم.
نصب PyTest
برای شروع کار با PyTest، ابتدا باید آن را نصب کنید. این کار بسیار ساده است و میتوانید با استفاده از pip آن را نصب کنید:
pip install pytest
نوشتن اولین تست با PyTest
برای نوشتن تستها در PyTest، کافی است که توابع تست خود را با
test_
شروع کنید. به مثال زیر توجه کنید:# فایل test_sample.py
def test_addition():
assert 1 + 1 == 2
def test_subtraction():
assert 2 - 1 == 1
در این مثال، دو تابع تست ساده نوشتهایم. برای اجرای این تستها، کافی است در خط فرمان دستور زیر را اجرا کنید:
pytest
PyTest به صورت خودکار فایلهای تست شما را پیدا کرده و آنها را اجرا میکند.
استفاده از pytest.fixture
در PyTest، میتوانید از قابلیت fixtures برای آمادهسازی پیششرطها و تمیز کردن بعد از تستها استفاده کنید. به مثال زیر توجه کنید:
# فایل test_fixture.py
import pytest
@pytest.fixture
def sample_data():
return [1, 2, 3]
def test_sum(sample_data):
assert sum(sample_data) == 6
در این مثال، یک fixture به نام
sample_data
تعریف کردهایم که یک لیست از اعداد را برمیگرداند. این fixture به عنوان ورودی به تابع تست test_sum
ارسال میشود.گزارشدهی PyTest
یکی از ویژگیهای قدرتمند PyTest، قابلیت گزارشدهی آن است. با استفاده از پلاگینها میتوانید گزارشهای مختلفی از نتایج تستها دریافت کنید. برای نصب پلاگین گزارشدهی، میتوانید از دستور زیر استفاده کنید:
pip install pytest-html
سپس میتوانید با استفاده از دستور زیر، یک گزارش HTML از نتایج تستهای خود تولید کنید:
pytest --html=report.html
ادامه دارد...
در بخش دوم این آموزش، به مباحث پیشرفتهتری همچون پارامتری کردن تستها، تستهای مقیاسپذیر، و دیگر قابلیتهای قدرتمند PyTest خواهیم پرداخت.
🔻بیا اینجا تا بیشتر یاد بگیری🔻
#پایتون #PyTest #آموزش_پایتون #برنامهنویسی #تست_نرمافزار #python
آموزش PyTest در پایتون – بخش دوم
در بخش اول این آموزش، با نصب و نوشتن تستهای ساده با PyTest آشنا شدیم. در این بخش به مباحث پیشرفتهتر PyTest میپردازیم.
پارامتری کردن تستها
با استفاده از
در این مثال، تابع تست
اجرای تستهای مقیاسپذیر
PyTest قابلیت اجرای تستهای مقیاسپذیر و تستهای مختلف به صورت همزمان را دارد. برای این کار میتوانید از پلاگین
سپس میتوانید تستهای خود را به صورت موازی اجرا کنید:
این دستور تستها را در چهار پردازش موازی اجرا میکند، که باعث افزایش سرعت اجرای تستها میشود.
استفاده از Mock در PyTest
برای شبیهسازی رفتارهای مختلف در تستها، میتوانید از کتابخانه
در این مثال، یک شیء
تنظیمات و پیکربندی PyTest
PyTest به شما اجازه میدهد تنظیمات و پیکربندیهای مختلفی را اعمال کنید. با ایجاد یک فایل
در این مثال، یک تنظیم برای علامتگذاری تستهای کند و همچنین محدود کردن تعداد شکستها به دو تست اعمال کردهایم.
با این آموزش جامع، شما اکنون با مفاهیم و قابلیتهای اصلی PyTest آشنا شدهاید و میتوانید تستهای قدرتمندی برای پروژههای پایتون خود بنویسید.
🔻بیا اینجا تا بیشتر یاد بگیری🔻
#پایتون #PyTest #آموزش_پایتون #برنامهنویسی #تست_نرمافزار #
در بخش اول این آموزش، با نصب و نوشتن تستهای ساده با PyTest آشنا شدیم. در این بخش به مباحث پیشرفتهتر PyTest میپردازیم.
پارامتری کردن تستها
با استفاده از
pytest.mark.parametrize
میتوانید تستهای خود را برای مجموعهای از دادهها اجرا کنید:# فایل test_parametrize.py
import pytest
@pytest.mark.parametrize("input,expected", [
(1 + 1, 2),
(2 + 2, 4),
(3 + 3, 6),
])
def test_addition(input, expected):
assert input == expected
در این مثال، تابع تست
test_addition
برای هر جفت داده ورودی و خروجی اجرا میشود.اجرای تستهای مقیاسپذیر
PyTest قابلیت اجرای تستهای مقیاسپذیر و تستهای مختلف به صورت همزمان را دارد. برای این کار میتوانید از پلاگین
pytest-xdist
استفاده کنید:pip install pytest-xdist
سپس میتوانید تستهای خود را به صورت موازی اجرا کنید:
pytest -n 4
این دستور تستها را در چهار پردازش موازی اجرا میکند، که باعث افزایش سرعت اجرای تستها میشود.
استفاده از Mock در PyTest
برای شبیهسازی رفتارهای مختلف در تستها، میتوانید از کتابخانه
unittest.mock
استفاده کنید. به مثال زیر توجه کنید:# فایل test_mock.py
from unittest.mock import MagicMock
def test_mocking():
mock = MagicMock(return_value=10)
assert mock() == 10
در این مثال، یک شیء
MagicMock
ایجاد کردهایم که مقدار 10 را برمیگرداند. این شیء میتواند برای شبیهسازی توابع و متدها در تستها استفاده شود.تنظیمات و پیکربندی PyTest
PyTest به شما اجازه میدهد تنظیمات و پیکربندیهای مختلفی را اعمال کنید. با ایجاد یک فایل
pytest.ini
میتوانید تنظیمات دلخواه خود را اعمال کنید:# فایل pytest.ini
[pytest]
markers =
slow: mark a test as slow
addopts = --maxfail=2
در این مثال، یک تنظیم برای علامتگذاری تستهای کند و همچنین محدود کردن تعداد شکستها به دو تست اعمال کردهایم.
با این آموزش جامع، شما اکنون با مفاهیم و قابلیتهای اصلی PyTest آشنا شدهاید و میتوانید تستهای قدرتمندی برای پروژههای پایتون خود بنویسید.
🔻بیا اینجا تا بیشتر یاد بگیری🔻
#پایتون #PyTest #آموزش_پایتون #برنامهنویسی #تست_نرمافزار #