تست بخشی جدایی ناپذیر از فرآیند توسعه نرم افزار و وب سایت است، یکی از آخرین مراحل قبل از تولید آخرین نسخه شما. این یک مرحله هیجان انگیز است، اما همچنین مرحله ای است که می خواهید درست انجام دهید.
برای انجام آزمایش، یک تیم توسعه معمولاً از آنچه محیط سندباکس نامیده می شود استفاده می کند. محیطهای Sandbox به توسعهدهندگان نرمافزار این امکان را میدهند که یک رایانه مجازی را برای اجرا و آزمایش برنامه نرمافزاری خود شبیهسازی کنند، بدون اینکه نگران تأثیر این آزمایشها بر برنامههای مجاور یا اجزای شبکه باشند.
در این پست، می آموزید که محیط سندباکس چیست، چه کاربردی دارد و چرا. ما همچنین به نکاتی برای ایجاد محیط sandbox خود اشاره خواهیم کرد.
مطالعه بیشتر: طراحی سایت رایگان
محیط سندباکس چیست؟
محیط سندباکس یک فضای مجازی است که در آن کدهای کامپیوتری به صورت مجزا و بدون تأثیر بر شبکه اطراف یا برنامه های کاربردی آن اجرا می شود. Sandbox ها هم در توسعه وب و هم در امنیت سایبری برای تست، نظارت و آزمایش ایمن با نرم افزار استفاده می شوند.
هدف از sandbox ارائه یک محیط آزمایشی است که محیط تولید را تکرار می کند (یعنی شرایط واقعی یک نرم افزار در داخل آن اجرا می شود)، اما جدا از سایر منابع یک شرکت است، مانند سرورهایی که برای اجرای وب سایت و برنامه های کاربردی آنها یا پایگاه های داده استفاده می شوند. که اطلاعات مشتری را ذخیره می کند.
به این ترتیب، اگر مشکلاتی در آزمایش وجود داشته باشد، آنها به جعبه شنی محدود میشوند و بر دیگر سیستمهای حیاتی تأثیر نمیگذارند. هنگامی که کد سندباکس به طور کامل آزمایش شد و کارکرد آن تأیید شد، میتوان آن را برای تولید مستقر کرد و برای کاربران نهایی و سایر توسعهدهندگان قابل دسترسی بود.
محیط های sandbox چگونه استفاده می شوند؟
سندباکس ها در ابتدا در دو زمینه استفاده می شوند: توسعه نرم افزار و تست امنیت سایبری.
توسعه نرم افزار
هر زمان که یک ویژگی نرمافزاری معرفی یا تغییر میکند، باید قبل از عرضه به تولید، برای شناسایی و اصلاح باگها آزمایش شود.
البته، اجرای آزمایش روی کد زنده یک وب سایت یا برنامه منطقی نیست. در عوض، توسعه دهندگان از محیط های sandbox برای این آزمایش استفاده می کنند. Sandbox یک محیط واقعی سیستم عامل را شبیهسازی میکند و مکانی امن برای شناسایی و رسیدگی به خطاها فراهم میکند.
تست تضمین کیفیت ممکن است قبل از استقرار در تولید در محیط sandbox نیز انجام شود.
امنیت سایبری
جعبه های ماسه ای نیز برای انجام تست های امنیت سایبری به صورت مجزا استفاده می شوند. در جعبه ماسهبازی، متخصصان امنیتی میتوانند برنامههایی را اجرا کنند که معتقدند حاوی کدهای مخرب هستند، در حالی که هر اثری را جدا و دور از دستگاه میزبان، شبکه محلی و منابع حیاتی نگه میدارند. آن را مانند قفسی در نظر بگیرید که در آن می توانید ویروس را بدون آسیب رساندن به محیط اطرافش رها کنید.
اگر مثلاً، کسبوکاری پیوست ایمیل یا پیوند مشکوکی را دریافت کرده باشد و بخواهد آن را برای بدافزار بررسی کند، میتوان از محیط سندباکس استفاده کرد. محققان امنیتی همچنین میتوانند از جعبههای شنی برای انجام تحقیقات در مورد فناوریهای بدافزار، یادگیری نحوه عملکرد آنها و آزمایش دفاعهای جدید استفاده کنند.
به عنوان مثال دیگر، ممکن است زمانی فکر کنید که یک وب سایت حاوی بدافزاری است که به مرورگر شما آسیب می رساند. برای بررسی، به جای بازدید از وب سایت با مرورگر نصب شده بر روی سیستم عامل خود، می توانید مرورگر خود را در محیط سندباکس نصب کرده و از طریق آن به وب سایت مراجعه کنید. هر گونه آسیب به مرورگر یا سیستم عامل به جعبه ایمنی محدود می شود. شما می توانید همین کار را با هر نرم افزار دانلودی که مشکوک هستید مضر است نیز انجام دهید.
نحوه ایجاد یک محیط Sandbox
تنظیم محیط سندباکس شما به نحوه استفاده از آن بستگی دارد. معمولا سندباکس ها روی ماشین های مجازی اجرا می شوند. ماشین مجازی از یک کامپیوتر تقلید می کند اما از منابع نرم افزاری به جای سخت افزار استفاده می کند. هر اثر نرم افزار مستقر در ماشین مجازی در محیط مجازی باقی می ماند، مانند یک کامپیوتر در یک کامپیوتر.
یکی از رایج ترین ماشین های مجازی VirtualBox برای ویندوز یا macOS است. می توانید آن را روی رایانه خود نصب کنید و یک نمونه مجازی از سیستم عامل دیگری مانند لینوکس ایجاد کنید.
هنگام ایجاد جعبه شنی، محیط آزمایش شما باید محیط تولید را تا حد امکان شبیه سازی کند. نرم افزاری که آزمایش می کنید باید به منابع مشابهی مانند قدرت پردازش، ذخیره سازی و RAM دسترسی داشته باشد. البته، شما همچنین می خواهید سیستم عامل(هایی) را که نرم افزار شما در حال تولید بر روی آنها اجرا می شود، شبیه سازی کنید.
اگر به دنبال آزمایش یکپارچگی نرم افزار با یک برنامه ابری شخص ثالث هستید، بررسی کنید که آیا برنامه یک محیط جعبه ایمنی برای انجام آزمایش برای شما ارائه می دهد یا خیر. پلتفرم ها ممکن است یک محیط آزمایشی ارائه دهند که عملکرد واقعی آن را شبیه سازی کند.
به عنوان مثال، HubSpot دارای یک محیط sandbox کاملاً جدید است که در دسترس همه مشتریان Enterprise است. این امکان را به مدیران حساب و توسعه دهندگان می دهد تا قبل از اعمال تغییرات در سازمان یا پایگاه مشتری گسترده تر، آزمایش، آزمایش و تکرار کنند. این ویژگیهای جدید با کاهش نیاز مشتریان به ایجاد حسابهای آزمایشی جداگانه و کپی کردن تنظیمات و تعاریف آنها، در زمان گرانبها صرفهجویی میکنند.