You are currently viewing محیط اسکریپت شده چیست؟

محیط اسکریپت شده چیست؟


محیط صحنه چیست؟

محیط صحنه سازی (صحنه) تقریباً شبیه سازی دقیق یک محیط تولید برای است تست نرم افزار. محیط‌های مرحله‌بندی برای آزمایش کد، ساخت‌ها و به‌روزرسانی‌ها برای اطمینان از کیفیت در یک محیط تولید مانند قبل از استقرار برنامه استفاده می‌شوند. یک محیط مرحله‌بندی به یک کپی از همان پیکربندی‌های سخت‌افزاری، سرورها، پایگاه‌های داده و کش‌ها نیاز دارد. همه چیز در محیط صنعتی باید تا حد امکان به محیط تولید نزدیک باشد تا اطمینان حاصل شود که نرم افزار به درستی کار می کند.

اهمیت محیط های دیدنی

مراحل پیاده سازی نرم افزار شامل توسعه، ادغامتست و تضمین کیفیت (QA)، صحنه سازی و صحنه سازی. کاربران صبر کمی برای عملکرد ضعیف برنامه ها دارند، بنابراین پیدا کردن باگ ها و خطاهای نرم افزاری برای عملکرد حیاتی است. محیط‌های مرحله‌ای در یک سطح نزدیک به تولید در یک محیط غیرتولیدی آزمایش می‌کنند و می‌توانند منجر به اعتماد بیشتر به نرم‌افزار در هنگام استقرار آن در محیط تولید شود.

مرحله بندی در پایان فرآیند توسعه نرم افزار رخ می دهد. کدنویسی اضافه و تغییر کرده است، بیلدها تولید شده اند و آزمایشات اساسی در یک محیط تست کنترل شده تکمیل شده است. با این حال، تعهد حتی یک ساخت آزمایش شده به تولید، خطر نامطلوبی را برای اکثر سازمان ها به همراه دارد – به خصوص اگر برنامه کاربردی برای ماموریت حیاتی یا درآمدزا باشد. با قرار دادن نرم افزار در a محیط کاربردی و غیر تولیدیبرنامه ممکن است تحت آزمایش های مختلف کیفیت و کاربر قرار گیرد.

هدف این مرحله این است که به تیم‌های توسعه، مدیران پروژه و ذینفعان اجازه دهد تا تحت فشار کمی با نرم‌افزار کار کنند و تصمیم نهایی برای استقرار یا رد آن بگیرند. قرار دادن صحیح معمولاً منجر به یکی از سه نتیجه زیر می شود. در دو مورد از این سناریوها، ساخت صحنه ممکن است به تولید متعهد نباشد:

  1. خوب پیش نمی رود. اگر نامزد انتشار فعلی اشکالات اضافی، عملکرد ضعیف یا مسائل دیگر را نشان دهد، تیم پروژه نرم افزار می تواند این چرخه توسعه را کوتاه کند و نتایج مرحله را برای کدنویسی بیشتر به توسعه دهندگان برگرداند. چرخه توسعه دوباره شروع می شود. مرحله بندی در این مورد یک خطای ایمن را فراهم می کند.
  2. خوب پیش نمی رود. جاری توسعه انعطاف پذیر پارادایم ها نیازی به استقرار هر ساخت افزایشی ندارند. در بسیاری از موارد، ساخت مرحله‌ای ممکن است به سادگی افزودن برخی ویژگی‌ها، عملکردها یا اصلاحات جدید باشد که از آزمایش پیش تولید سود می‌برند. با این حال، ساخت ممکن است برای استقرار تولید مناسب نباشد، شاید به این دلیل که ویژگی‌های بیشتری باید اضافه شود. این برای یکپارچه سازی مداوم/تحویل پیوسته (CI/CD) یا رایج است سی دی گردش کار توسعه مرحله بندی آزمایشات بیشتری را در این مورد فراهم می کند.
  3. من دارم میروم. اگر بیلد برای انتشار برنامه ریزی شده باشد و تست را در محیط مرحله بندی پشت سر بگذارد، تیم های پروژه می توانند تصمیم بگیرند که به جلو حرکت کنند و بیلد را برای تولید مستقر کنند. یک استقرار جدید به سادگی می تواند جای استقرار قبلی را بگیرد یا از استقرار تقسیم شده برای آزمایش و اعتبارسنجی دنیای واقعی تر استفاده کند، مانند سبز آبی یا پیاده سازی A/B، که می تواند برای بازخورد و پذیرش گسترده تر کاربر مفید باشد. سازمان ها با استفاده از استقرار مداوم گردش کار توسعه می تواند تمام ساخت های مرحله ای را به استقرار متعهد کند. اما چنین برنامه هایی به ندرت از نظر ماموریت حیاتی هستند و معمولاً برنامه های بازگشتی وجود دارد.
نمودار پنج نوع تست نرم افزار میان افزار را نشان می دهد
با قرار دادن نرم افزار در یک محیط کاربردی و غیر تولیدی، اپلیکیشن می تواند تحت آزمایش های مختلف کیفیت و کاربر قرار گیرد.

انواع تست های انجام شده در محیط مرحله بندی

تست دود و تست پذیرش کاربر (UAT) را می توان در محیط صحنه اجرا کرد. تست‌های دود ویژگی‌های اصلی سرویس را تأیید می‌کنند و UAT از دیدگاه کاربر نهایی انجام می‌شود. به عنوان مثال، اگر یک ساخت جدید در حال توسعه و ادغام باشد، یک تست دود می‌تواند تایید کند که ویژگی‌های اصلی هنوز به درستی کار می‌کنند و UAT می‌تواند تجربه کاربری خوبی را از دیدگاه کاربر ارائه دهد. تست ها در محیط استیجینگ انجام می شود زیرا در صورت وجود نقص عمده و خرابی سیستم، محیط تولید نباید خاموش شود.

اگرچه آزمایش هدفمند معمولاً قبل از استقرار انجام می شود، اما تکرار تست های واحد پایه نیز رایج است تست رگرسیون در یک محیط صحنه تست واحد اساساً عناصر، اجزا یا ماژول های یک سیستم نرم افزاری را برای اطمینان از رفتار صحیح بررسی می کند. با این حال، همه واحدها به راحتی در یک محیط کنترل شده آزمایش نمی شوند. به عنوان مثال، یک تابع طراحی شده برای دسترسی به یک پایگاه داده ممکن است نیاز به آزمایش در یک محیط مرحله بندی داشته باشد که در آن یک پایگاه داده کاملاً کاربردی با داده های واقعی برای محیط مرحله بندی ارائه شده است. هدف آزمایش رگرسیون، آزمایش مجدد ویژگی‌هایی است که پس از اضافه شدن کد جدید یا تغییر یافته کار می‌کردند. به بیان ساده، هدف آزمایش رگرسیون اطمینان از این است که ویژگی‌ها و عملکردهای جدید به طور تصادفی ویژگی‌ها و عملکردهای قدیمی را از بین نبرند.

علاوه بر این، مهندسی آشوب تست ها را می توان در محیط های مرحله بندی پیاده سازی کرد. مهندسی آشوب با تلاش مداوم برای شکستن کد، اعتماد را در سیستم ایجاد می کند. مهندسی آشوب به طور معمول در تولید اجرا می شود. با این حال، ممکن است قبل از آزمایش در تولید، مهندسی آشوب را در یک محیط صحنه‌سازی به عنوان یک عمل آغاز کرد. مهندسی آشوب می تواند به شناسایی مشکلات بالقوه ای که نرم افزار ممکن است در یک سیستم تولید داشته باشد کمک کند.

محیط های مرحله بندی را می توان به راحتی در محاسبات ابری ایجاد کرد و در محیط های تولید مستقر می شود. این می تواند به خودکارسازی پارادایم ها از طریق تحویل مداوم یا استقرار مداوم کمک کند.

https://www.youtube.com/watch?v=SOhM7UP-C0I

مزایای محیط صحنه

محیط استیجینگ مزایای متعددی را برای توسعه دهندگان نرم افزار و کسب و کارها ارائه می دهد، از جمله موارد زیر:

  • تست بهتر استقرار یک بیلد آزمایشی در یک محیط مرحله‌بندی به توسعه‌دهندگان این امکان را می‌دهد تا مجموعه‌ای از تست‌های نرم‌افزاری پیشرفته را در محیطی با زیرساخت، خدمات و منابع داده‌ای که نزدیک به یک محیط تولید واقعی یا حتی احتمالاً یکسان هستند، اجرا کنند. این به بررسی مسائل مربوط به عملکرد، ادغام، قابلیت اطمینان و پذیرش کمک می کند که تلاش های آزمایشی قبلی ممکن است از آن اجتناب کرده باشند.
  • کیفیت بهبود یافته. نتایج موفقیت آمیز نرم افزار در یک محیط میانی می تواند اعتماد سازمان را به یکپارچگی یک نامزد انتشار افزایش دهد و در نتیجه نقص های کمتر و کیفیت بهتر در استقرار تولید ایجاد کند.
  • مسئولیت کمتر. کسب و کارها به طور بالقوه می توانند از مراحل برای بهبود مراحل خود استفاده کنند انطباق با الزامات نظارتی و سمت مدیریت کسب و کار. از آنجایی که کسب‌وکارها برای درآمد و تعاملات تجاری روزانه به نرم‌افزار وابسته هستند، این نقطه عطف می‌تواند به عنوان وسیله‌ای برای افزایش دقت در تست محصول و QA قبل از انتشار – به ویژه برای نرم‌افزارهای حیاتی در بازارهای بسیار تنظیم‌شده مانند امور مالی یا مراقبت‌های بهداشتی دیده شود. .
  • بازاریابی بهبود یافته محیط های مرحله بندی خارج از تولید هستند، اما می توانند برای هر گروه کاربری باز شوند. برخی از کسب‌وکارها ممکن است از مرحله‌بندی به‌عنوان وسیله‌ای برای ارائه نگاهی پنهانی به کاربران، دسترسی زودهنگام یا پیش‌نمایش نسخه‌های آینده استفاده کنند. این می‌تواند به بهبود بازاریابی استراتژیک نرم‌افزارهای جدید یا ارتقاهای عمده کمک کند.

محدودیت های محیط صحنه

اگرچه محیط های مرحله بندی یک لایه اضافی از اعتماد سیستم را فراهم می کنند، محیط های مرحله بندی هنوز دارای محدودیت هایی هستند، از جمله موارد زیر:

  • شبیه سازی محدود مهم نیست که یک محیط فیلمنامه شده چقدر محیط تولید را تکرار می کند، سناریوهایی باقی می مانند که قابل تقلید نیستند. به عنوان مثال، ممکن است کپی حجم زیادی از ترافیک برای تست استرس برنامه بسیار دشوار یا غیر عملی باشد.
  • خطاهای عدم تطابق اگر محیط صحنه سازی نادرست ساخته شود یا از آن استفاده ضعیفی شود، مشکلات بیشتری ممکن است رخ دهد. اگر پیکربندی‌های هر دو محیط مرحله‌بندی و تولید مطابقت نداشته باشند، داده‌های جمع‌آوری‌شده از آزمایش‌های تکراری دقیق نیستند. نقص ها می توانند به طور بالقوه در محیط تولید منتشر شوند. به عنوان مثال، کد باید در محیط مرحله بندی به همان شکلی که در محیط تولید است ذخیره شود. اگر این اتفاق نیفتد، نتایج آزمون تأخیر ممکن است متفاوت باشد.
  • برای بلند مدت برنامه ریزی کنید. آزمایش در محیط های صحنه سازی در ظرفیت زمانی محدود می تواند مشکلات دیگری ایجاد کند. برخی از مشکلات پیچیده، مانند خرابی داده یا نشت حافظه، ممکن است بیشتر طول بکشد تا آشکار شوند. برای جلوگیری از این مشکل، محیط‌های مرحله‌بندی باید تا زمانی که محیط‌های تولید اجرا می‌شوند، قابل اجرا باشند.

جایگزین های صحنه سازی

برخی از شرکت‌ها تصمیم می‌گیرند از مراحل به نفع استراتژی‌های اجرای جایگزین عبور کنند.

حجم زیادی از داده ها را می توان از یک محیط تولید استخراج کرد، از جمله اطلاعاتی که نمی توان از طریق مرحله بندی به دست آورد، مانند تعداد کاربران یا ترافیک داده ها. اگر یک سازمان از داده‌های یک محیط تولید برای ایجاد و حفظ تغییرات استفاده کند، می‌تواند در زمان کپی کردن، مدیریت و جمع‌آوری داده‌ها از یک محیط صحنه‌سازی صرفه‌جویی کند. کار در محیط تولید سریعتر است. با محیط مرحله‌بندی، تعمیر و نگهداری بیشتری وجود دارد، زیرا ساخت‌ها و تعمیرات جدید اغلب آماده می‌شوند و باید برای مرحله‌بندی و سپس تولید مستقر شوند. با این حال، انتخاب رد شدن از صحنه سازی با خطر اعتماد کمتر به سیستم و احتمال ایجاد مشکلات عمده در محیط تولید همراه است. بنابراین، انتخاب رد شدن از قرار دادن اغلب به برنامه های تجاری تجربی یا غیر بحرانی محدود می شود.

فرمول فوق در محیط هایی که شیوه های آن را اتخاذ می کنند رایج است زیرساخت های تغییرناپذیر. به جای تعقیب ارتقاها و تغییرات در یک برنامه موجود، هر چرخه استقرار به عنوان یک موجودیت کاملاً مستقل منتشر می شود و کاربران به استقرار تغییرناپذیر جدید هدایت یا منتقل می شوند. در صورت نیاز، هر گونه استقرار قبلی به راحتی قابل بازیابی است.

جایگزین دیگری برای مراحل پیش تولید معمولی، استقرار موازی است، مانند سبک A/B استقرار، که در آن نسخه‌های نرم‌افزار قدیمی و جدید به طور موقت در محیط وجود دارند. گاهی اوقات به این می گویند صحنه سازی در تولید. استقرار جدید به تدریج برای گسترش سیستماتیک گروه های کاربران باز می شود تا در نهایت همه کاربران از نسخه جدید استفاده کنند و پس از آن می توان نسخه قدیمی را بازنشسته کرد. اگر نسخه جدید با مشکلات غیرمنتظره مواجه شود، نسخه قدیمی هنوز کار می کند و در دسترس است و به طور موثر گزینه بازگشتی را برای مشاغل فراهم می کند.



Source link