Mandelbugs
وقتی علت ایجاد باگ بسیار پیچیده و غیرقابل فهم باشد و باگ رفتاری غیرطبیعی از خود نشان میدهد، آنرا Mandelbugs مینامند. این باگها نام خود را از روی نام آقای Benoît Mandelbrot گرفتهاند که بهعنوان پدر علم هندسه فراکتال شناخته میشود (فراکتالها، ساختارهای پیچیده و شبیه به خود هستند). یک باگ در سیستمعامل که به زمانبندی وابسته است، مثالی از این نوع باگها است.
Schroedinbug
گاهیاوقات به سورسکد نگاه میاندازید و متوجه میشوید که باگ یا مشکلی وجود دارد که در مرحلهٔ اول اصلاً نباید اجازهٔ اجرا شدن برنامه را بدهد؛ وقتی میخواهید همین کد را اجرا کنید، باگ موردنظر بیدرنگ ظاهر میشود و نرمافزار متوقف میشود. هرچند این مورد کمی غیرمعمول بهنظر میرسد، اما چنین باگهایی گاهیاوقات رخ میدهند و با نام Schroedinbug شناخته میشوند (معمولاً این نوع باگها از مراحل اولیهٔ تستهای کیفیت نرمافزار رد میشوند و خود را نشان نمیدهند).
باگهای نوع Schroedinbug، نام خود را از دانشمند معروف آقای Erwin Schrödinger گرفتهاند که ایدهٔ «آزمایش تئوری گربه» را ارائه کرد؛ در فیزیک کوانتوم، ذرههای کوانتوم مانند اتمها، میتوانند در ۲ حالت یا بیشتر وجود داشته باشند ولی شرودینگر پیشنهاد کرد که در اشیاء کلاسیکتری مانند گربه که از اتمهای بسیاری تشکیل شده، وجود داشتن در ۲ حالت، غیرممکن است. وی یک سناریو را پیشنهاد میکند که در آن یک گربه در داخل جعبهای در بسته، همراه با شیشهای با محتوای سم (که به یک اتم رادیواکتیو متصل است) قرار دارد.
اگر نیمهعمر اتم تمام شود، شیشه شکسته میشود و سم به بیرون نشت میکند و باعث مرگ گربه میشود؛ ولی درِ جعبه بسته است و بنابراین نمیتوان گفت گربه زنده است یا مرده. از اینرو، تا زمانیکه درِ جعبه باز شود، گربه میتواند در ۲ حالت قرار داشته باشد: زنده یا مرده. در فیزیک کوانتوم، به این مورد اصطلاحاً Superposition State میگویند، به شکلی که گربه هم زنده است و هم مرده!
برگردیم به بحث باگها؛ صرفاً با مشاهدهٔ مشکل در کد، شما دست به ایجاد یکسری تغییرات میزنید که در این صورت یا نرمافزار اجرا میشود و یا کار نمیکند. بنابراین این نوع از باگها با عنوان Schroedinbug شناخته میشوند.
انواع باگهای دیگری هم وجود دارند که در قالب این ۴ دسته قرار نمیگیرند که از آن جمله میتوان به باگهای بهاصطلاح Aging-Related اشاره کرد که فقط زمانی رخ میدهند که نرمافزار برای مدت طولانی کار کند! در پایان هم ممکن است این سؤال برای شما پیش آمده باشد که اصلاً اصطلاح Bug (بهمعنی حشره) از چه زمانی در صنعت توسعهٔ نرمافزار باب شد؛ برای یافتن پاسخ به این سؤال، توصیه میکنیم به مقالهٔ آشنایى با دریابان گریس مارى هوپر، کسی که برای اولین بار اصطلاح Bug را باب کرد! مراجعه نمایید.
منبع: سایت https://sokanacademy.com