Locust: ابزاری اپن سورس برای آزمایش وب‌سایت

Locust: ابزاری اپن سورس برای آزمایش وب‌سایت

Locust یک ابزار تست کاربری ساده است و برای اجرای آزمایشی وبسایت -یا سیستم های دیگر- ساخته شده است تا مشخص شود که آن وبسایت چه تعداد کاربر را می تواند در لحظه هندل کند. ایده ی پیاده سازی این ابزار به این شکل است است که در طول یک پروسه تست وبسایت، گروهی از اصطلاحا «ملخ ها» می توانند به وبسایت شما حمله کنند. رفتار هر ملخ ( یا همان کاربر آزمایشی)، توسط شما تعریف شده و پروسه ی هجوم آوردن، از یک رابط کاربری نظارت می شود. این جنگ آزمایشی به شما کمک خواهد کرد تا تنگناهای کد خود را قبل از ورود کاربران واقعی شناسایی و رفع کنید. برای آشنایی بیشتر با این ابزار نسبتا جالب، در ادامه با سکان آکادمی همراه باشید.

کاربران فرضی یا «ملخ ها» به طور کامل مبتنی بر رویداد است، و در نتیجه آن، امکان پشتیبانی از هزاران نفر از کاربران به طور همزمان در یک سیستم واحد وجود دارد. این ابزار در مقایسه با بسیاری از دیگر سرویس های مبتنی بر رویداد، از اصطلاحا Callback استفاده نمی کند. هر حمله ملخ ها به سایت شما در واقع داخل پروسه ی خودش اجرا می شود که چنین فرایندی این به شما اجازه می دهد تا به صورتی کاملا شفاف، الگوریتم های مختلفی در پایتون بنویسید بدون این که با Callbacks ها، سورس کد خود را شلوغ کنید. حال به منظور آشنایی بیشتر با ویژگی های این ابزار، در ادامه با برخی از امکانات این ابزار بیشتر آشنا خواهیم شد:

ارسال سناریوهای تست کاربران در پایتون
نیازی به رابط کاربری پیچیده یا کدهای عجیب و غریب اکس ام ال ندارید؛ مثل هر پروژه ی پایتون دیگری، به سادگی می توانید کد بزنید.

توزیع پذیری / مقیاس پذیری (پشتیبانی از صدها هزار کاربر)
Locust از آزمایش های لود شدن بر روی چندین دستگاه پشتیبانی می کند. با توجه به این که این برنامه مبتنی بر رویداد است، حتی یک ملخ می تواند هزاران نفر از کاربران را در یک پروسه هندل کند. بخشی از دلیل این کار این است که حتی اگر شما شبیه سازی از تعداد بالایی از کاربران را بسازید، همه ی آن ها به طور جدی به سیستم شما هجوم نمی آورند. اکثر مواقع، کاربران بیهوده هستند و نمی داند که چه کاری می خواهند انجام دهند؛ به عبارت دیگر، ریکوئست های در لحظه هرگز به معنای تعداد کاربران آنلاین وبسایت نیست!

رابط کاربری مبتنی بر وب
Locust دارای HTML+JS است که تمام جزئیات مربوطه را به صورت در لحظه نشان می دهد، کراس پلتفرم است و به راحتی قابل توسعه می باشد.

قابلیت تست هر سیستمی را دارد
با این که Locust مبتنی بر وب است، اما می توان آن را برای تست تقریبا هر سیستمی به کار برد. فقط یک کلاینت برای تست آن چیزی را که می خواهید تست کنید، بنویسید و با ملخ ها به آن هجوم ببرید!

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

منبع