<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های امیرمحمد زاهدی</title>
        <link>https://virgool.io/feed/@a.zahedi</link>
        <description>تستر نرم افزار</description>
        <language>fa</language>
        <pubDate>2026-06-08 23:33:56</pubDate>
        <image>
            <url>https://static.virgool.io/images/default-avatar.jpg</url>
            <title>امیرمحمد زاهدی</title>
            <link>https://virgool.io/@a.zahedi</link>
        </image>

                    <item>
                <title>اصول پایه‌ای تست نرم‌افزار برگرفته کتاب (ISTQB Foundation Level) (بخش پنجم)</title>
                <link>https://virgool.io/@a.zahedi/%D8%A7%D8%B5%D9%88%D9%84-%D9%BE%D8%A7%DB%8C%D9%87-%D8%A7%DB%8C-%D8%AA%D8%B3%D8%AA-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%A8%D8%B1%DA%AF%D8%B1%D9%81%D8%AA%D9%87-%DA%A9%D8%AA%D8%A7%D8%A8-istqb-foundation-level-%D8%A8%D8%AE%D8%B4-%D9%BE%D9%86%D8%AC%D9%85-p8m4hxm0vtu7</link>
                <description>✅ ۱. مدل‌های توسعه نرم‌افزار🔹 Waterfall (آبشاری)مراحل پشت سر هم (تحلیل، طراحی، کدنویسی، تست)تست آخر کار انجام می‌شه → پیدا شدن دیر باگ‌ها🔹 V-Model (مدل V)هر مرحله توسعه، یه مرحله تست هم‌زمان دارهتست از ابتدا وارد می‌شه🔹 Agile (چابک)توسعه و تست با هم و در اسپرینت‌های کوتاه انجام می‌شنتستر عضو تیمه و مدام با توسعه‌دهنده همکاری می‌کنه✅ ۲. سطوح تست (Levels of Testing)Unit Testing (تست واحد)تست قطعه کوچک کدتوسط توسعه‌دهندهIntegration Testing (تست یکپارچه‌سازی)تست ارتباط بین بخش‌هاتوسط توسعه‌دهنده یا تسترSystem Testing (تست سیستم)تست کل نرم‌افزارتوسط تیم تستبررسی نیازمندی‌هاAcceptance Testing (تست پذیرش)توسط مشتریبررسی اینکه نرم‌افزار قابل قبول هست یا نه✅ ۳. انواع تست (Types of Testing)Functional Testing (عملکردی)بررسی عملکرد بر اساس نیازمندی‌هامثل: ورود، ثبت‌نام، ارسال فرم‌هاBlack-boxNon-functional Testing (غیرعملکردی)بررسی کیفیت سیستم مثل:سرعت (Performance)امنیت (Security)تجربه کاربری (Usability)سازگاری (Compatibility)Structural Testing (ساختاری)بررسی ساختار داخلی کدWhite-boxتوسط برنامه‌نویسChange-related Testing (مربوط به تغییرات)Confirmation: باگ قبلی واقعاً حل شده؟Regression: تغییرات جدید باعث خرابی قسمت‌های دیگه نشده؟</description>
                <category>امیرمحمد زاهدی</category>
                <author>امیرمحمد زاهدی</author>
                <pubDate>Thu, 22 May 2025 15:31:50 +0330</pubDate>
            </item>
                    <item>
                <title>اصول پایه‌ای تست نرم‌افزار برگرفته کتاب (ISTQB Foundation Level) (بخش چهارم)</title>
                <link>https://virgool.io/@a.zahedi/%D8%A7%D8%B5%D9%88%D9%84-%D9%BE%D8%A7%DB%8C%D9%87-%D8%A7%DB%8C-%D8%AA%D8%B3%D8%AA-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%A8%D8%B1%DA%AF%D8%B1%D9%81%D8%AA%D9%87-%DA%A9%D8%AA%D8%A7%D8%A8-istqb-foundation-level-%D8%A8%D8%AE%D8%B4-%DA%86%D9%87%D8%A7%D8%B1%D9%85-vf2qy28w78s1</link>
                <description>سه دسته اصلی تکنیک تست:🟦 تکنیک‌های Black-box:Equivalence Partitioning (تقسیم داده به دسته‌های مشابه)Boundary Value Analysis (تست مرزها)Decision Table (جدول تصمیم‌گیری)State Transition (تغییر وضعیت‌ها)Use Case (تست سناریوهای واقعی)◻️ تکنیک‌های White-box:بررسی مسیرهای کد (مانند if، loop)تست مسیرهای منطقی (Logical Paths)معمولا برای Unit Test استفاده می‌شه⚫ تکنیک‌های Experience-based:Error Guessing (حدس خطاهای رایج)Exploratory Testing (تست بدون برنامه‌ریزی قبلی، در حین بررسی)</description>
                <category>امیرمحمد زاهدی</category>
                <author>امیرمحمد زاهدی</author>
                <pubDate>Thu, 22 May 2025 15:25:23 +0330</pubDate>
            </item>
                    <item>
                <title>اصول پایه‌ای تست نرم‌افزار برگرفته کتاب (ISTQB Foundation Level) (بخش سوم)</title>
                <link>https://virgool.io/@a.zahedi/%D8%A7%D8%B5%D9%88%D9%84-%D9%BE%D8%A7%DB%8C%D9%87-%D8%A7%DB%8C-%D8%AA%D8%B3%D8%AA-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%A8%D8%B1%DA%AF%D8%B1%D9%81%D8%AA%D9%87-%DA%A9%D8%AA%D8%A7%D8%A8-istqb-foundation-level-%D8%A8%D8%AE%D8%B4-%D8%B3%D9%88%D9%85-b1rxsuctzh3g</link>
                <description>✅ 1. Functional Testing (تست عملکردی)🔹 بررسی می‌کنیم که آیا سیستم درست و طبق نیازمندی‌ها کار می‌کنه یا نه.🔹 بیشتر با تست جعبه سیاه (Black Box) انجام می‌شه.🔹 مثال: لاگین، ثبت‌نام، خرید، ارسال ایمیل.✅ 2. Non-Functional Testing (تست غیرعملکردی)🔹 بررسی کیفیت سیستم از نظر سرعت، امنیت، راحتی استفاده و ...🔹 روی &quot;چگونه کار می‌کند؟&quot; تمرکز داریم.مهم‌ترین نوع‌های تست غیرعملکردی:Performance (سرعت سیستم)Security (محافظت از اطلاعات)Usability (راحتی برای کاربر)Compatibility (سازگاری با دستگاه‌ها)Reliability (پایداری سیستم)Maintainability (راحتی نگهداری)Load/Stress (تحمل فشار)✅ 3. Maintenance Testing (تست نگه‌داری)🔹 برای زمانی هست که سیستم تغییر داده می‌شه (آپدیت، اصلاح، اضافه کردن فیچر).🔹 بررسی می‌کنیم چیزی که درست بوده، خراب نشده باشه.شامل:Re-testing: آیا باگ برطرف شده؟Regression Testing: آیا قسمت‌های دیگه سالم موندن؟Testing after change: تست کلی بعد از هر تغییر</description>
                <category>امیرمحمد زاهدی</category>
                <author>امیرمحمد زاهدی</author>
                <pubDate>Thu, 22 May 2025 14:41:04 +0330</pubDate>
            </item>
                    <item>
                <title>اصول پایه‌ای تست نرم‌افزار برگرفته کتاب (ISTQB Foundation Level) (بخش دوم)</title>
                <link>https://virgool.io/@a.zahedi/%D8%A7%D8%B5%D9%88%D9%84-%D9%BE%D8%A7%DB%8C%D9%87-%D8%A7%DB%8C-%D8%AA%D8%B3%D8%AA-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%A8%D8%B1%DA%AF%D8%B1%D9%81%D8%AA%D9%87-%DA%A9%D8%AA%D8%A7%D8%A8-istqb-foundation-level-%D8%A8%D8%AE%D8%B4-%D8%AF%D9%88%D9%85-t47dami6bk18</link>
                <description>۱. Component Testing (تست اجزا)تست هر ماژول به‌تنهاییمعمولاً توسط برنامه‌نویس انجام می‌شهبدون ارتباط با ماژول‌های دیگه✅ ۲. Integration Testing (تست یکپارچگی)تست ارتباط بین دو یا چند ماژولبررسی می‌کنیم ماژول‌ها درست با هم کار می‌کنن یا نهروش‌ها:🔹 Big-Bang: همه رو با هم ترکیب می‌کنیم → یه‌باره تست🔹 Top-Down: از بالا به پایین، با Stub🔹 Bottom-Up: از پایین به بالا، با Driver🔹 Incremental: مرحله به مرحله تست همراه با اضافه‌کردن ماژول✅ ۳. System Testing (تست سیستم)تست کل نرم‌افزار به‌صورت یکجابررسی عملکرد کل سیستم طبق نیازمندی‌هاتوسط تیم تست انجام می‌شه✅ ۴. Acceptance Testing (تست پذیرش)آخرین مرحله تست → قبل از استفاده توسط کاربر نهاییبررسی می‌کنیم آیا سیستم قابل قبول برای مشتری هست یا نهانواع:🔸 UAT (User Acceptance Testing): توسط کاربران واقعی🔸 OAT (Operational Acceptance Testing): بررسی مسائل فنی مثل نصب، بکاپ، عملکرد در شرایط واقعی🔸 Contract: تست طبق قرارداد🔸 Regulation: بررسی انطباق با قوانین✅ ۵. Alpha &amp; Beta Testing🔹 Alpha Testing: داخل شرکت، با کاربران خاص، قبل از انتشار عمومی🔹 Beta Testing: در محیط واقعی، با کاربران عادی، قبل از انتشار نهایی</description>
                <category>امیرمحمد زاهدی</category>
                <author>امیرمحمد زاهدی</author>
                <pubDate>Fri, 16 May 2025 19:41:06 +0330</pubDate>
            </item>
                    <item>
                <title>اصول پایه‌ای تست نرم‌افزار برگرفته کتاب (ISTQB Foundation Level) (بخش اول)</title>
                <link>https://virgool.io/@a.zahedi/%D8%A7%D8%B5%D9%88%D9%84-%D9%BE%D8%A7%DB%8C%D9%87-%D8%A7%DB%8C-%D8%AA%D8%B3%D8%AA-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%A8%D8%B1%DA%AF%D8%B1%D9%81%D8%AA%D9%87-%DA%A9%D8%AA%D8%A7%D8%A8-istqb-foundation-level-%D8%A8%D8%AE%D8%B4-%D8%A7%D9%88%D9%84-ymeglylz8umx</link>
                <description>✅ 1. تست نرم‌افزار چیست؟بررسی نرم‌افزار برای پیدا کردن باگ و اطمینان از اینکه نیازمندی‌ها درست پیاده‌سازی شدن.تست فقط وجود باگ رو نشون می‌ده، نبودش رو نه.✅ 2. چرا تست نرم‌افزار مهمه؟برای بالا بردن کیفیت نرم‌افزارجلوگیری از ضرر مالی و فنیاعتماد بیشتر مشتری✅ 3. هفت اصل تست نرم‌افزار (7 Testing Principles):تست وجود باگ رو نشون می‌ده، نه نبودش.تست کامل غیرممکنه. نمی‌تونیم همه حالت‌ها رو تست کنیم.تست در زمان مناسب باعث صرفه‌جویی در هزینه می‌شه.باگ‌ها معمولاً در جاهای خاصی تجمع دارن.اگه تست‌ها رو تکراری بزنیم، دیگه باگ جدید پیدا نمی‌شه. (Pesticide Paradox)نرم‌افزاری که باگ نداره ولی نیاز رو برآورده نمی‌کنه، بی‌فایده‌ست.تست به نوع سیستم بستگی داره. (مثلاً تست بازی با تست نرم‌افزار بانکی فرق داره)✅ 4. مراحل اصلی تست نرم‌افزار (Test Process):Test Planning &amp; Control → تصمیم‌گیری درباره چی، کی، چطور تست کنیم.Test Analysis &amp; Design → طراحی تست کیس‌ها از روی مستندات.Test Implementation &amp; Execution → اجرای تست‌ها.Evaluating Exit Criteria → بررسی آیا تست‌ها کامل و موفق بودن یا نه.Test Closure Activities → بستن پروژه تست و تهیه گزارش نهایی.✅ 5. روان‌شناسی تست (Psychology of Testing):تستر و برنامه‌نویس طرز فکر متفاوت دارن.تستر دنبال باگه، برنامه‌نویس دنبال اجرای درست.مهمه که با احترام، ارتباط و همکاری خوب کار کنن.محیط سالم = کیفیت بالا + تیم خوشحال</description>
                <category>امیرمحمد زاهدی</category>
                <author>امیرمحمد زاهدی</author>
                <pubDate>Fri, 16 May 2025 18:30:05 +0330</pubDate>
            </item>
                    <item>
                <title>راهنمای تست منوال نرم‌افزار: بهترین شیوه‌ها و نکات کلیدی</title>
                <link>https://virgool.io/@a.zahedi/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C-%D8%AA%D8%B3%D8%AA-%D9%85%D9%86%D9%88%D8%A7%D9%84-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%D8%B4%DB%8C%D9%88%D9%87-%D9%87%D8%A7-%D9%88-%D9%86%DA%A9%D8%A7%D8%AA-%DA%A9%D9%84%DB%8C%D8%AF%DB%8C-wuzlwwlz0z6o</link>
                <description>مقدمهتست منوال (Manual Testing) یکی از مهم‌ترین و حیاتی‌ترین مراحل در فرآیند توسعه نرم‌افزار است. در این نوع تست، تستر به صورت دستی نرم‌افزار را بررسی کرده و مطمئن می‌شود که عملکرد سیستم با نیازهای تجاری و مشخصات طراحی مطابقت دارد. برخلاف تست اتوماتیک که از ابزارهای نرم‌افزاری برای اجرای تست‌ها استفاده می‌کند، در تست منوال تستر باید به صورت فیزیکی هر عملکرد و ویژگی نرم‌افزار را بررسی کند.این مقاله به بررسی مفاهیم کلیدی تست منوال، بهترین شیوه‌ها و نکات مهمی که هر تستر باید بداند، می‌پردازد.بخش اول: مفاهیم اصلی تست منوالتعریف تست منوال:تست منوال به معنای اجرای دستی سناریوهای تست توسط یک فرد است. این روش از اهمیت زیادی برخوردار است چرا که برخی از مشکلات و باگ‌ها تنها در شرایط خاص و با بررسی دقیق قابل شناسایی هستند.انواع تست‌های منوال:تست عملکردی (Functional Testing): بررسی عملکرد اجزای مختلف سیستم بر اساس نیازمندی‌ها.تست رابط کاربری (UI Testing): ارزیابی و بررسی رابط کاربری از نظر سازگاری و راحتی استفاده.تست رابط کاربری (Usability Testing): تست راحتی استفاده و تجربه کاربری.تست سازگاری (Compatibility Testing): بررسی نرم‌افزار در محیط‌های مختلف (سیستم‌عامل‌ها، مرورگرها، دستگاه‌ها).تست رگرسیون (Regression Testing): بررسی اینکه تغییرات جدید باعث بروز مشکلات در بخش‌های قبلی نشده باشد.مراحل تست منوال:برنامه‌ریزی تست: ابتدا باید تست‌هایی که قرار است انجام شوند مشخص شوند.اجرای تست‌ها: تستر سناریوهای تست را طبق برنامه اجرا می‌کند.مستندسازی نتایج: هر نتیجه‌ای باید ثبت شده و در صورت وجود باگ‌ها، اطلاعات دقیق به تیم توسعه گزارش شود.تحلیل نتایج: بررسی نتایج تست و تعیین اینکه آیا نرم‌افزار به درستی عمل می‌کند یا خیر.بخش دوم: بهترین شیوه‌ها در تست منوالمستندسازی دقیق و کامل:برای هر تست باید مستندات دقیق شامل سناریوهای تست، فیلدهای ورودی، مراحل اجرایی و نتایج مورد انتظار تهیه شود.استفاده از چک‌لیست‌ها می‌تواند به تستر کمک کند تا هیچ جزئیاتی را فراموش نکند.تست در شرایط واقعی:تست باید در شرایط واقعی استفاده از نرم‌افزار انجام شود. این یعنی تستر باید نرم‌افزار را همانطور که کاربر نهایی آن را استفاده می‌کند، آزمایش کند.همچنین، باید به تست بر روی نسخه‌های مختلف سیستم‌عامل‌ها، مرورگرها یا دستگاه‌ها توجه ویژه‌ای شود.ترکیب انواع تست‌ها:یک تستر باید انواع مختلف تست‌ها مانند تست عملکردی، امنیتی، سازگاری و ... را با هم ترکیب کرده و اطمینان حاصل کند که نرم‌افزار در تمامی جنبه‌ها به درستی عمل می‌کند.بررسی سناریوهای منفی:تست‌های منفی برای شبیه‌سازی رفتار سیستم در صورت ورود داده‌های اشتباه یا شرایط غیرمنتظره ضروری است.این نوع تست‌ها می‌توانند مشکلات پنهانی که در شرایط عادی بروز نمی‌کنند، شناسایی کنند.تست مجدد پس از رفع باگ‌ها:پس از اینکه یک باگ رفع شد، باید همان سناریوهای قبلی که باگ در آن‌ها ظاهر می‌شده دوباره اجرا شوند تا اطمینان حاصل شود که اصلاحات به درستی اعمال شده‌اند.بخش سوم: چالش‌ها و راه‌حل‌ها در تست منوالزمان‌بر بودن:یکی از بزرگ‌ترین چالش‌های تست منوال، زمان‌بر بودن آن است. به دلیل نیاز به بررسی دقیق تمامی بخش‌ها و سناریوهای مختلف، زمان زیادی می‌برد.برای رفع این مشکل می‌توان از الگوهای تستی و چک‌لیست‌های مفصل استفاده کرد تا سرعت تست‌ها افزایش یابد.امکان اشتباه انسانی:تست منوال مستلزم دقت بالا است و احتمال اشتباه انسانی وجود دارد.آموزش مداوم تسترها و استفاده از چک‌لیست‌های دقیق می‌تواند این احتمال را کاهش دهد.محدودیت در تست‌های پیچیده:تست‌های پیچیده مانند بارگذاری یا تست‌های عملکردی ممکن است نیاز به ابزارهای خاص داشته باشند.در این صورت، می‌توان از تست‌های اتوماتیک برای این بخش‌ها استفاده کرد و تست‌های دستی را برای بررسی جزئیات و ویژگی‌های خاص نگه داشت.بخش چهارم: نکات کاربردی برای تسترهای منوالبه روز بودن با تغییرات نرم‌افزار:هر تغییر در کد یا ویژگی‌های جدید باید به روز رسانی تست‌ها را به همراه داشته باشد.همکاری نزدیک با تیم توسعه:تیم تست و تیم توسعه باید ارتباط نزدیکی داشته باشند تا مشکلات و باگ‌ها به سرعت شناسایی و رفع شوند.اولویت‌بندی تست‌ها:در شرایط محدودیت زمانی، باید تست‌هایی را اولویت‌بندی کنید که بر تجربه کاربری و عملکرد نرم‌افزار تاثیر بیشتری دارند.بازخورد مستمر:تستر باید بازخوردهای مداومی از نتایج تست‌ها ارائه دهد و در صورت نیاز با تیم توسعه یا مدیریت پروژه مشورت کند.نتیجه‌گیریتست منوال یک بخش اساسی از فرآیند کیفیت نرم‌افزار است که نمی‌توان از آن صرف‌نظر کرد. این نوع تست به دلیل توانایی شبیه‌سازی سناریوهای دنیای واقعی و شناسایی مشکلات پنهان، همچنان ارزشمند است. با رعایت بهترین شیوه‌ها و توجه به چالش‌ها، تسترها می‌توانند به کیفیت بالای نرم‌افزار کمک کنند و از بروز مشکلات در محیط تولید جلوگیری نمایند.</description>
                <category>امیرمحمد زاهدی</category>
                <author>امیرمحمد زاهدی</author>
                <pubDate>Sat, 05 Apr 2025 17:46:01 +0330</pubDate>
            </item>
                    <item>
                <title>اهمیت تست نرم‌افزار در فرآیند توسعه و بهبود کیفیت محصولات نرم‌افزاری</title>
                <link>https://virgool.io/@a.zahedi/%D8%A7%D9%87%D9%85%DB%8C%D8%AA-%D8%AA%D8%B3%D8%AA-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%AF%D8%B1-%D9%81%D8%B1%D8%A2%DB%8C%D9%86%D8%AF-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D9%88-%D8%A8%D9%87%D8%A8%D9%88%D8%AF-%DA%A9%DB%8C%D9%81%DB%8C%D8%AA-%D9%85%D8%AD%D8%B5%D9%88%D9%84%D8%A7%D8%AA-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%DB%8C-tx2qhrnbaxzd</link>
                <description>در دنیای امروز، نرم‌افزارها بخش جدایی‌ناپذیر از زندگی روزمره ما هستند. از برنامه‌های ساده روی تلفن‌های همراه تا سیستم‌های پیچیده در صنایع بزرگ، همه و همه به نرم‌افزارها وابسته‌اند. اما سوال اینجاست که چگونه می‌توان اطمینان حاصل کرد که این نرم‌افزارها به درستی کار می‌کنند و نیازهای کاربران را برآورده می‌سازند؟ پاسخ این سوال در فرآیند تست نرم‌افزار نهفته است. تست نرم‌افزار نه تنها به شناسایی خطاها و باگ‌ها کمک می‌کند، بلکه باعث بهبود عملکرد، امنیت و رضایت کاربران می‌شود. در این مقاله، به بررسی اهمیت تست نرم‌افزار، مراحل توسعه نرم‌افزار و ابزارهای مورد استفاده در این فرآیند می‌پردازیم.بخش اول: تست نرم‌افزار چیست؟تست نرم‌افزار فرآیندی است که در آن یک محصول نرم‌افزاری به دقت بررسی می‌شود تا اطمینان حاصل شود که آنچه انتظار می‌رود را انجام می‌دهد. این فرآیند شامل بررسی عملکرد نرم‌افزار، شناسایی خطاها و باگ‌ها، و اطمینان از این است که نرم‌افزار قبل از انتشار، به درستی کار می‌کند. تست نرم‌افزار نه تنها به بهبود کیفیت محصول کمک می‌کند، بلکه از بروز مشکلات احتمالی در آینده جلوگیری می‌کند.بخش دوم: فرآیند توسعه نرم‌افزارتوسعه نرم‌افزار یک فرآیند سیستماتیک است که شامل مراحل مختلفی می‌شود. این مراحل عبارتند از:برنامه‌ریزی: در این مرحله، اهداف پروژه، نیازمندی‌ها و منابع مورد نیاز تعیین می‌شوند. ابزارهایی مانند Jira و Trello برای مدیریت پروژه استفاده می‌شوند.طراحی: در این مرحله، معماری نرم‌افزار و رابط کاربری طراحی می‌شود. ابزارهایی مانند Figma و Sketch برای طراحی رابط کاربری استفاده می‌شوند.کدنویسی: در این مرحله، توسعه‌دهندگان کدهای نرم‌افزار را می‌نویسند. ابزارهایی مانند Visual Studio Code و IntelliJ برای کدنویسی استفاده می‌شوند.تست: در این مرحله، نرم‌افزار به دقت بررسی می‌شود تا خطاها و باگ‌ها شناسایی شوند. ابزارهایی مانند Selenium و JUnit برای تست نرم‌افزار استفاده می‌شوند.استقرار: در این مرحله، نرم‌افزار برای استفاده کاربران نهایی آماده می‌شود. ابزارهایی مانند Docker و AWS برای استقرار نرم‌افزار استفاده می‌شوند.نگهداری: پس از انتشار نرم‌افزار، نیاز به نگهداری و به‌روزرسانی‌های مداوم وجود دارد. ابزارهایی مانند Git و Slack برای مدیریت نگهداری استفاده می‌شوند.بخش سوم: اهمیت تست نرم‌افزارتست نرم‌افزار یکی از مراحل حیاتی در فرآیند توسعه نرم‌افزار است. دلایل اصلی اهمیت تست نرم‌افزار عبارتند از:شناسایی خطاها: تست نرم‌افزار به شناسایی خطاها و باگ‌ها قبل از اینکه کاربران با آن‌ها مواجه شوند، کمک می‌کند.اطمینان از کیفیت: تست نرم‌افزار اطمینان می‌دهد که محصول نهایی مطابق با استانداردهای مورد نیاز است.بهبود قابلیت اطمینان: تست نرم‌افزار باعث می‌شود که نرم‌افزار پایدارتر و قابل اعتمادتر باشد.تأیید نیازمندی‌ها: تست نرم‌افزار اطمینان می‌دهد که نرم‌افزار نیازهای کاربران و کسب‌وکار را برآورده می‌کند.جلوگیری از هزینه‌های شکست: شناسایی و رفع خطاها در مراحل اولیه توسعه، از هزینه‌های بالای تعمیرات بعدی جلوگیری می‌کند.اطمینان از امنیت: تست نرم‌افزار به شناسایی آسیب‌پذیری‌های امنیتی کمک می‌کند و اطمینان می‌دهد که نرم‌افزار برای استفاده ایمن است.رضایت کاربران: تست نرم‌افزار باعث می‌شود که کاربران تجربه بهتری با نرم‌افزار داشته باشند و با مشکلات کمتری مواجه شوند.بخش چهارم: ابزارهای تست نرم‌افزارابزارهای مختلفی برای تست نرم‌افزار وجود دارند که به توسعه‌دهندگان کمک می‌کنند تا نرم‌افزار را به دقت بررسی کنند. برخی از این ابزارها عبارتند از:Selenium: یک ابزار تست خودکار برای وب‌اپلیکیشن‌ها.JUnit: یک چارچوب تست برای زبان برنامه‌نویسی جاوا.Postman: یک ابزار برای تست APIها.Docker: یک ابزار برای استقرار نرم‌افزار در محیط‌های مختلف.نتیجه‌گیری:تست نرم‌افزار یکی از مراحل کلیدی در فرآیند توسعه نرم‌افزار است که به بهبود کیفیت، امنیت و قابلیت اطمینان محصول نهایی کمک می‌کند. با استفاده از ابزارهای مناسب و انجام تست‌های دقیق، می‌توان از بروز مشکلات احتمالی جلوگیری کرد و تجربه کاربری بهتری را برای کاربران فراهم آورد. در نهایت، تست نرم‌افزار نه تنها به توسعه‌دهندگان کمک می‌کند، بلکه به کسب‌وکارها نیز این اطمینان را می‌دهد که محصولات آن‌ها مطابق با انتظارات کاربران است.منابع:Latake, Shubham. &quot;Software Testing Basics.&quot;ابزارهای توسعه نرم‌افزار: Jira, Trello, Figma, Selenium, Docker, etc.</description>
                <category>امیرمحمد زاهدی</category>
                <author>امیرمحمد زاهدی</author>
                <pubDate>Thu, 13 Feb 2025 10:46:18 +0330</pubDate>
            </item>
                    <item>
                <title>دسته بندی تست نرم افزار</title>
                <link>https://virgool.io/@a.zahedi/%D8%AF%D8%B3%D8%AA%D9%87-%D8%A8%D9%86%D8%AF%DB%8C-%D8%AA%D8%B3%D8%AA-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-ghlornyy8tr6</link>
                <description>تست نررم افزار به دو دسته   تقسیم بندی میشود : داینامیک تست (Dynamic Testing ) : که این نوع ازمون خود شامل دو بخش میباشد که شامل تست های fuctional و non fuctional میباشد که در ادامه به برسی و بیان هر مورد پرداخته میشود .استاتیک تست (Static Testing) : این تکنیک قبل از اجرای تست کیس ها اغاز میشود و به منظور برسی دیزاین های طراحی شده  چک کردن داکیومنت ها برسی متریال ها و.... میباشد .</description>
                <category>امیرمحمد زاهدی</category>
                <author>امیرمحمد زاهدی</author>
                <pubDate>Thu, 05 Oct 2023 10:49:10 +0330</pubDate>
            </item>
                    <item>
                <title>تفاوت verification و validation  در تست نرم افزار</title>
                <link>https://virgool.io/@a.zahedi/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-verification-%D9%88-validation-%D8%AF%D8%B1-%D8%AA%D8%B3%D8%AA-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-kqfn1dpmffda</link>
                <description>فرایندی هایی میباشد که در زمان تولید و یا بعد از تولید  نرم افزار از عملکرد برنامه اطمینان حاصل میکنند.این دو مفهوم بسیار شبیه به یکدیگر میباشند پس توضیح مختصری در رابطه هر یک بیان میکنیم تا به تفاوت این دو پی ببریم : منظور از validation این میباشد که ایا ما نرم افزار درستی را تولید کرده ایم ؟ ایا نرم افزار با نیاز های مشتری انطباق دارد یا خیر ؟منظور از Verification  این میباشد که ایا نرم افزار تولید شده مورد تایید میباشد ؟ اصول مهندسی نرم افزار روی ان رعایت شده است ؟ عملکرد نرم افزار به درستی میباشد ؟ </description>
                <category>امیرمحمد زاهدی</category>
                <author>امیرمحمد زاهدی</author>
                <pubDate>Thu, 24 Feb 2022 21:46:21 +0330</pubDate>
            </item>
                    <item>
                <title>تفاوت های تست کیس و تست سناریو</title>
                <link>https://virgool.io/@a.zahedi/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%D9%87%D8%A7%DB%8C-%D8%AA%D8%B3%D8%AA-%DA%A9%DB%8C%D8%B3-%D9%88-%D8%AA%D8%B3%D8%AA-%D8%B3%D9%86%D8%A7%D8%B1%DB%8C%D9%88-exlfjflr2akq</link>
                <description>منظور از سناریو تست حالت کلی تستی هست که مورد انتظار ما بوده و میخواهیم انجام بدیم به طور مثال ما میخواهیم صفحه لاگین یک وبسایت رو از نظر عملکردی مورد ازمون قرار بدیم که در این حالت تست سناریو ما میشه:  (برسی لاگین وبسایت از نظر عملکردی )  بعد از مشخص شدن و تعیین تست سناریو میریم سراغ مفهوم تست کیس که یعنی حالت هایی  تو فرایند تست ممکنه  برامون اتفاق بیفته و باید برسی کنیم , برای مثال همین مورد رو در بحث لاگین یک وبسایت مورد برسی قرار میدیم که تست کیس های ما  برای تست سناریو مطرح شده برای برسی عمکرد صفحه لاگین به شرح زیر میباشند : حالت اول :  نام کاربری معتبر + کلمه عبور معتبر = برسی رفتار سیستم حالت دوم : نام کاربری معتبر +کلمه عبور نا معتبر  = برسی رفتار سیستمحالت سوم : نام کاربری نا معتبر + کلمه عبور معتبر  = برسی رفتار سیستمحالت چهارم : نام کاربری نا معتبر + کلمه عبور نا معتبر  = برسی رفتار سیستمو......که به همین شکل و بر اساس تست کیس های مختلف رفتار سیستم و نتیجه را با نتیجه مورد انتظار خود مورد برسی قرار میدهیم . در صورتی که نتیجه مورد انتظار با نتیجه ای که اتفاق افتاد مغایرت داشت مورد را به عنوان باگ ثبت کرده و با مسئول تیم تست در میام میزاریم .</description>
                <category>امیرمحمد زاهدی</category>
                <author>امیرمحمد زاهدی</author>
                <pubDate>Mon, 02 Aug 2021 12:01:13 +0430</pubDate>
            </item>
                    <item>
                <title>تست نرم افزار چیست ؟</title>
                <link>https://virgool.io/@a.zahedi/%D8%AA%D8%B3%D8%AA-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%DA%86%DB%8C%D8%B3%D8%AA-au3arqpabebz</link>
                <description>تست نرم افزار روشی است برای بررسی اینکه آیا محصول واقعی نرم افزار با الزامات مورد انتظار مطابقت دارد و یا اطمینان حاصل کنید که محصول نرم افزار عیب ندارد. این شامل اجرای نرم افزار / اجزای سیستم با استفاده از ابزار دستی یا خودکار برای ارزیابی یک یا چند ویژگی مورد علاقه است. هدف از آزمایش نرم افزار شناسایی خطاها ، شکاف ها یا نیازهای از دست رفته در مقابل نیازهای واقعی است.</description>
                <category>امیرمحمد زاهدی</category>
                <author>امیرمحمد زاهدی</author>
                <pubDate>Sun, 02 May 2021 12:38:06 +0430</pubDate>
            </item>
            </channel>
</rss>