چرخه عمر انتشار نرم افزار فرآیند توسعه، آزمایش و توزیع یک محصول نرم افزاری است. معمولاً شامل چندین مرحله است، مانند قبل از آلفا، آلفا، بتا و نامزد انتشار، قبل از اینکه نسخه نهایی یا "Gold" برای عموم منتشر شود.
پیش آلفا به مراحل اولیه توسعه اشاره دارد، زمانی که نرم افزار هنوز در حال طراحی و ساخت است. تست آلفا اولین مرحله تست رسمی است که طی آن نرم افزار به صورت داخلی با استفاده از تکنیک های White-Box تست می شود. آزمایش بتا مرحله بعدی است که در آن نرم افزار توسط گروه بزرگتری از کاربران، معمولاً خارج از سازمانی که آن را توسعه داده است، آزمایش می شود. مرحله بتا بر کاهش تأثیرات روی کاربران متمرکز است و ممکن است شامل آزمایش قابلیت استفاده باشد.
پس از آزمایش بتا، نرم افزار ممکن است یک یا چند مرحله کاندید انتشار را پشت سر بگذارد، که در آن، قبل از انتشار نسخه نهایی، اصلاح و آزمایش بیشتری می شود.
برخی از نرم افزارها، به ویژه در صنعت اینترنت و فناوری، در حالت بتا دائمی منتشر می شوند، به این معنی که به طور مداوم در حال به روز رسانی و بهبود هستند و هرگز به عنوان یک محصول کامل به حساب نمیآیند. این رویکرد به فرآیند توسعه چابکتر اجازه میدهد و نرمافزار را قادر میسازد تا زودتر در چرخه توسعه توسط کاربران منتشر شود و مورد استفاده قرار گیرد.
پیش آلفا
Pre-alpha به تمام فعالیت های انجام شده در طول پروژه نرم افزار قبل از تست رسمی اشاره دارد. این فعالیت ها می تواند شامل تجزیه و تحلیل نیازمندی ها، طراحی نرم افزار، توسعه نرم افزار و تست واحد باشد. در توسعه متن باز معمولی، انواع مختلفی از نسخه های پیش آلفا وجود دارد. نسخه های Milestone شامل مجموعه های خاصی از توابع هستند و به محض تکمیل ویژگی منتشر میشوند.
آلفا
مرحله آلفای چرخه حیات انتشار اولین مرحله آزمایش نرم افزار است (آلفا اولین حرف الفبای یونانی است که به عنوان عدد 1 استفاده میشود). در این مرحله، توسعه دهندگان به طور کلی نرم افزار را با استفاده از تکنیک های جعبه سفید آزمایش می کنند. سپس اعتبار سنجی اضافی با استفاده از تکنیک های جعبه سیاه یا جعبه خاکستری توسط تیم آزمایش دیگری انجام میشود. حرکت به سمت تست جعبه سیاه در داخل سازمان به عنوان انتشار آلفا شناخته میشود.
نرم افزار آلفا قبل از عرضه به مشتریان توسط توسعه دهنده به طور کامل آزمایش نمیشود. نرم افزار آلفا ممکن است حاوی خطاهای جدی باشد و هر گونه بی ثباتی ممکن است باعث خرابی یا از دست رفتن دادهها شود. نرم افزار آلفا ممکن است شامل تمام ویژگی هایی نباشد که برای نسخه نهایی برنامه ریزی شده است به طور کلی، در دسترس بودن خارجی نرمافزار آلفا در نرمافزار اختصاصی غیرمعمول است، در حالی که نرمافزار منبع باز اغلب دارای نسخههای آلفای عمومی است. فاز آلفا معمولاً با فریز کردن ویژگی به پایان می رسد که نشان می دهد هیچ ویژگی دیگری به نرم افزار اضافه نخواهد شد. در این زمان، گفته می شود که نرم افزار ویژگی کامل است. یک تست بتا پس از تست پذیرش در سایت تامین کننده (آزمون آلفا) و بلافاصله قبل از انتشار عمومی نرم افزار به عنوان یک محصول انجام میشود.
به طور کلی، نسخه آلفا یا انتشار یک بسته نرم افزاری قصد دارد کاری خاص را انجام دهد، و عمدتاً این کار را انجام می دهد، اما انجام آن به طور کامل تضمین نمیشود.
نسخه بتا
بتا که نام آن از حرف دوم الفبای یونانی گرفته شده است، مرحله توسعه نرم افزار پس از آلفا است. نرم افزارهایی که در مرحله بتا قرار دارند به عنوان beta ware نیز شناخته میشوند. مرحله بتا معمولاً زمانی شروع میشود که نرمافزار کامل شده باشد اما احتمالاً حاوی چندین باگ شناخته شده یا ناشناخته باشد. نرمافزار در مرحله بتا معمولاً دارای اشکالات بسیار بیشتری نسبت به نرمافزار تکمیلشده و مشکلات سرعت یا عملکرد است و همچنان ممکن است باعث خرابی یا از دست رفتن دادهها شود. تمرکز آزمایش بتا کاهش تأثیرات روی کاربران است که اغلب شامل آزمایش قابلیت استفاده است. فرآیند ارائه نسخه بتا به کاربران، انتشار بتا نامیده می شود و معمولاً اولین بار است که نرم افزار خارج از سازمانی که آن را توسعه داده در دسترس است. نسخههای بتای نرمافزار بسته به اینکه آزادانه در دسترس هستند یا فقط برای مخاطبان محدودی در دسترس هستند، میتوانند باز یا بسته باشند. نرم افزار نسخه بتا اغلب برای نمایش و پیش نمایش در یک سازمان و برای مشتریان احتمالی مفید است. برخی از توسعه دهندگان از این مرحله به عنوان پیش نمایش، انتشار پیش نمایش، نمونه اولیه، پیش نمایش فنی یا پیش نمایش فناوری (TP) یا دسترسی اولیه یاد میکنند.
آزمایش کنندگان بتا افرادی هستند که به طور فعال مشکلات نرم افزار بتا را گزارش میکنند. آنها معمولا مشتریان یا نمایندگان مشتریان احتمالی سازمانی هستند که نرم افزار را توسعه میدهند. آزمایشکنندگان بتا تمایل دارند خدمات خود را به صورت رایگان ارائه کنند، اما اغلب نسخههایی از محصولی را که آزمایش میکنند، تخفیفهایی در نسخه منتشر شده یا سایر مشوقها دریافت میکنند.
بتا یعنی چه؟
بتا به معنای آزمایشی می باشد یعنی نسخه ای از نرم افزار که هنوز به صورت رسمی از سمت سازنده معرفی نشده و در حال رفع باگ های آن است.
برنامه بتا چیست؟
برنامه بتا همان نسخه آزمایشی و در حال توسعه یک نرم افزار است که قابل توسعه و باگ گیری می باشد و با گزارش کاربران باگ های احتمالی در این نرم افزار و برنامه رفع و به نسخه های نهایی تبدیل می شود.
نسخه بتا دائمی
برخی از نرمافزارها بهاصطلاح بتا دائمی نگهداری میشوند، جایی که ویژگیهای جدید به طور مداوم به نرمافزار اضافه میشوند بدون اینکه نسخه نهایی «پایدار» ایجاد شود. از آنجایی که اینترنت توزیع سریع و ارزان نرمافزار را تسهیل کرده است، شرکتها رویکرد آزادتری را برای استفاده از کلمه بتا اتخاذ کردهاند.
نسخه بتا باز و بسته
توسعه دهندگان ممکن است یک نسخه بتا بسته یا یک بتا باز منتشر کنند. نسخههای بتای بسته برای یک گروه محدود از افراد برای آزمایش کاربر با دعوتنامه منتشر میشوند، در حالی که آزمایشکنندگان بتای باز از یک گروه بزرگتر یا هر کسی که علاقهمند است، تشکیل میشوند. بتا خصوصی میتواند برای نرمافزاری مناسب باشد که قادر به ارائه ارزش است، اما به دلیل مشکلات مقیاسپذیری، نداشتن مستندات یا کمبود ویژگیهای حیاتی، آماده استفاده برای همه نیست. آزمایشکنندگان هر گونه اشکالی را که پیدا میکنند گزارش میکنند و گاهی ویژگیهای اضافی را که فکر میکنند باید در نسخه نهایی در دسترس باشند، پیشنهاد میکنند.
نسخههای بتای باز هدف دوگانه نشان دادن یک محصول به مصرفکنندگان بالقوه را دنبال میکنند، و آزمایش در میان کاربران گسترده احتمالاً خطاهای مبهمی را آشکار میکند که ممکن است یک تیم آزمایشی کوچکتر آنها را پیدا نکنند.
نسخه بتا نامزد انتشار
کاندید انتشار (RC)، همچنین به عنوان "Going Silver" شناخته می شود، یک نسخه بتا با پتانسیل تبدیل شدن به یک محصول پایدار است که آماده انتشار است مگر اینکه اشکالات قابل توجهی ظاهر شوند. در این مرحله از تثبیت محصول، تمام ویژگیهای محصول از طریق یک یا چند چرخه بتا طراحی، کدگذاری و آزمایش شدهاند که هیچ باگ شناخته شدهای در کلاس showtopper وجود ندارد. زمانی که تیم توسعه موافقت کند که هیچ کد منبع کاملا جدیدی به این نسخه اضافه نخواهد شد، یک نسخه کامل شده نامیده می شود. هنوز ممکن است تغییرات کد منبع برای رفع نقص ها، تغییرات در اسناد و فایل های داده، و کدهای جانبی برای موارد آزمایشی یا ابزارهای کمکی وجود داشته باشد. آزمایشکنندگان بتا، اگر بهصورت خصوصی انتخاب شوند، اغلب برای استفاده از کاندیدای انتشار بهگونهای که گویی یک محصول نهایی هستند، اعتبار داده میشوند. آزمایش بتا در مکان مشتری و برای آزمایش نرم افزار از دیدگاه کاربر انجام می شود.
نسخه بتا انتشار پایدار
انتشار پایدار که انتشار تولید نیز نامیده می شود، آخرین نامزد انتشار (RC) است که تمام مراحل تأیید و آزمایش را پشت سر گذاشته است. باگهای باقی مانده قابل قبول در نظر گرفته میشوند. این نسخه به مرحله تولید می رود.
برخی از محصولات نرم افزاری (مانند توزیع های لینوکس) همچنین دارای نسخه های پشتیبانی طولانی مدت (LTS) هستند که بر اساس نسخه های کاملی هستند که قبلاً آزمایش و آزمایش شده اند و فقط به روز رسانی های امنیتی را دریافت می کنند. این به توسعه دهندگان اجازه می دهد تا به جای به روز رسانی کد یا یافتن و رفع اشکالات جدید معرفی شده به دلیل فرضیات منسوخ در مورد سیستم استفاده شده، زبان یا کتابخانه های زیربنایی، زمان بیشتری را به توسعه محصول اختصاص دهند.
پس از انتشار، نرم افزار به طور کلی به عنوان "نسخه پایدار" شناخته می شود. اصطلاح رسمی اغلب به روش انتشار بستگی دارد:
- رسانه فیزیکی
- انتشار آنلاین
- برنامه تحت وب
تفاوت نسخه بتا و اصلی
برای تفاوت نسخه بتا و اصلی همانطور که در بالا گفته شد، نسخه بتا مدام در حال آزمایش و آزمون و خطا است و ممکن است به هر نحوی از کار بیوفتد اما نسخه اصلی یا همان پایدار شاید مشکلاتی داشته باشد اما این مشکلات قابل قبول هستند و به هسته محصول آسیب جدی وارد نمیکنند.