سافٹ ویئر ٹیسٹنگ

بلیک باکس ٹیسٹنگ ٹیوٹوریل برائے ابتدائیہ

30 اکتوبر 2021

بلیک باکس ٹیسٹنگ سافٹ ویئر ٹیسٹنگ کے طریقوں میں سے ایک ہے جو دستیاب خصوصیات کی بنیاد پر ایپلیکیشن کی فعالیت کو چیک کرتا ہے۔

بنیادی طور پر اس قسم کی جانچ میں جس چیز کی جانچ کی جاتی ہے اس کا اندرونی ڈھانچہ/ڈیزائن/عمل درآمد ٹیسٹر کو معلوم نہیں ہوتا ہے۔ بلیک باکس ٹیسٹنگ کو تصریح پر مبنی جانچ، طرز عمل کی جانچ، اوپیک باکس ٹیسٹنگ، کلوزڈ باکس ٹیسٹنگ، اور آنکھ سے آنکھ کی جانچ کے نام سے بھی جانا جاتا ہے۔ جانچ کا یہ طریقہ سافٹ ویئر ٹیسٹنگ کے ہر سطح پر لاگو ہوتا ہے۔

بلیک باکس ٹیسٹنگ

فہرست کا خانہ

مثال:

آئیے ایک ایپلیکیشن کی لاگ ان اسکرین کی مثال لیتے ہیں۔ لاگ ان اسکرین میں دو فیلڈز، صارف نام اور پاس ورڈ ہیں۔ چونکہ یہ بلیک باکس ٹیسٹنگ ہے اس میں کوڈ کی خصوصیات کو مدنظر نہیں رکھا جائے گا، اس لیے یہ اکاؤنٹ میں لاگ ان ہونے کے لیے صارف نام اور پاس ورڈ کی جانچ کرے گا۔

بلیک باکس ٹیسٹنگ شروع کرنے کے اقدامات

  1. درخواست کی ضروریات کو سمجھیں۔
    یہ ایس آر ایس دستاویزات کی مدد سے کیا جا سکتا ہے۔
  2. درست آدانوں اور ٹیسٹ کے منظرناموں کی جانچ کے لیے کال کریں۔
  3. تیار کریں۔ ٹیسٹ کیسز
  4. آؤٹ پٹ پیدا کرنے کے لیے ٹیسٹ کیسز پر عمل کریں۔
  5. ناکام ہونے والے اقدامات کو نشان زد کیا جاتا ہے اور انہیں ٹھیک کرنے کے لیے ترقیاتی ٹیم کو بھیجا جاتا ہے۔
  6. اس بات کو یقینی بنانے کے لیے سسٹم کی دوبارہ جانچ کریں۔ عیب ٹھیک ٹھیک کام کرتا ہے اور مزید خرابیاں نہیں ہیں۔

بلیک باکس ٹیسٹنگ کی اقسام

بلیک باکس ٹیسٹنگ کی تین اقسام ہیں اور ان کا ذکر ذیل میں کیا گیا ہے۔

    فنکشنل ٹیسٹنگ
    بلیک باکس ٹیسٹنگ جانچ کے عمل کے دوران سافٹ ویئر کے مخصوص افعال کی جانچ کرتا ہے۔ فنکشنل ٹیسٹنگ سافٹ ویئر کے انتہائی اہم پہلوؤں اور کلیدی اجزاء کے درمیان انضمام پر توجہ مرکوز کرتی ہے۔
  • غیر فعال ٹی ایسٹنگ
    بلیک باکس ٹیسٹنگ کا استعمال نہ صرف خصوصیات اور فعالیت کو چیک کرنے کے لیے کیا جاتا ہے، بلکہ یہ سافٹ ویئر کے اضافی پہلوؤں کو بھی جانچ سکتا ہے۔
    ایک نان فنکشنل ٹیسٹ چیک کرتا ہے کہ آیا سافٹ ویئر کوئی مخصوص عمل انجام دے سکتا ہے یا نہیں بلکہ یہ چیک کرتا ہے کہ وہ اس عمل کو کیسے انجام دیتا ہے۔
  • ریگریشن ٹیسٹنگ
    بلیک باکس ٹیسٹنگ یہ جانچنے میں مددگار ہے کہ آیا سافٹ ویئر کا نیا ورژن ایک ورژن سے دوسرے ورژن میں کسی قسم کی خرابی کو ظاہر کرتا ہے۔ ریگریشن ٹیسٹنگ کا اطلاق سافٹ ویئر کے فعال اور غیر فعال دونوں پہلوؤں پر کیا جا سکتا ہے۔

بلیک باکس ٹیسٹنگ کے اوزار

فنکشنل اور ریگریشن ٹیسٹنگ کے لیے

    یو ایف ٹی - یہ مائیکرو فوکس (سابقہ ​​HP) سے ایک پروڈکٹ ہے اور اس کا مطلب ہے۔ متحد فنکشنل ٹیسٹ . اسکرپٹ کی ترقی مکمل ہونے کے بعد یہ ٹیسٹر کو بغیر نگرانی کے خودکار ٹیسٹ کرنے میں مدد کرتا ہے۔ یہ ایگزیکٹو سمری میں نتائج اور رپورٹس کا موازنہ کرتا ہے۔ سیلینیم - یہ ایک اوپن سورس UI آٹومیشن ٹیسٹ سویٹ ہے۔ اسے میکنٹوش، ونڈوز، لینکس اور بہت کچھ جیسے پلیٹ فارمز پر آسانی سے تعینات کیا جا سکتا ہے۔

غیر فنکشنل ٹیسٹنگ کے لیے

    لوڈ رنر - مائیکرو فوکس کی پیداوار ہے۔ یہ ایپلی کیشنز کو جانچنے اور سسٹم کے رویے کی پیمائش کرنے کے لیے استعمال ہوتا ہے۔ یہ ایپلی کیشن کے اہم اجزاء کی کارکردگی کا بھی تجزیہ کرتا ہے۔ جے میٹر - ایک ٹیسٹنگ ٹول ہے جو ایپلی کیشنز کی کارکردگی کے تجزیہ اور پیمائش کے لیے استعمال ہوتا ہے۔ اس کا ایک دوستانہ GUI ہے اور یہ پلیٹ فارم سے آزاد ہے۔ اسے سیلینیم کے ساتھ بھی ضم کیا جا سکتا ہے۔

بلیک باکس ٹیسٹنگ پر لاگو لیولز

بلیک باکس ٹیسٹنگ درج ذیل سطحوں پر لاگو ہوتی ہے۔

    انٹیگریشن ٹیسٹنگ : یہ سافٹ ویئر ٹیسٹنگ کی ایک سطح ہے جہاں انفرادی اکائیوں کو ایک گروپ کے طور پر ملا کر جانچا جاتا ہے۔ اس کا مقصد مربوط اکائیوں کے درمیان خرابیوں کو بے نقاب کرنا ہے۔ یہ یونٹ ٹیسٹنگ کے بعد اور سسٹم ٹیسٹنگ سے پہلے کی جانے والی جانچ کی دوسری سطح ہے۔
    سسٹم ٹیسٹنگ : سافٹ ویئر ٹیسٹنگ کی سطح جہاں ایک مربوط سافٹ ویئر کی جانچ کی جاتی ہے۔ مقصد نظام کی تعمیل کا جائزہ لینا ہے۔ یہ انضمام کی جانچ کے بعد اور قبولیت کی جانچ سے پہلے کی جانے والی جانچ کی تیسری سطح ہے۔
    قبولیت کی جانچ : سافٹ ویئر ٹیسٹنگ کی سطح جہاں قابل قبولیت کے لیے سسٹم کی جانچ کی جاتی ہے۔ بنیادی مقصد کاروباری ضروریات کے ساتھ نظام کی تعمیل کا جائزہ لینا ہے۔ قبولیت کی جانچ سسٹم ٹیسٹنگ کے بعد انجام دی جانے والی سافٹ ویئر ٹیسٹنگ کی آخری سطح ہے۔

بلیک باکس ٹیسٹنگ تکنیک

یہ بلیک باکس کی جانچ کی تکنیکیں ہیں:

    باؤنڈری ویلیو تجزیہ مساوات کی تقسیم فیصلہ کی میز کی جانچ ریاستی منتقلی کی جانچ غلطی کا اندازہ لگانا

آئیے ان پر تفصیل سے بات کرتے ہیں۔

    باؤنڈری ویلیو تجزیہ:یہ تکنیک ان پٹ ویلیوز کی رینج پر فوکس کرنے کے بجائے ان پٹ ویلیوز کی خامیوں کی نشاندہی کرتی ہے۔ یہ انتہائی آؤٹ پٹ اقدار سے نمٹنے میں بھی مدد کرتا ہے۔ یہ اس وقت بھی مددگار ہے جب آپ مساوی تقسیم کو انجام دے رہے ہوں۔
بلیک باکس ٹیسٹنگ
پیشہCons کے
متغیرات کے ساتھ اچھی طرح کام کرتا ہے۔
ٹیسٹ بنانے میں کم خرچ
جانچ کے ہر سطح پر استعمال کیا جا سکتا ہے۔
ٹیسٹ کیسز کی ایک بڑی تعداد پیدا کرتا ہے۔
بولین متغیرات کے لیے استعمال نہیں کیا جا سکتا
منطقی متغیرات کے لیے استعمال نہیں کیا جا سکتا
مضبوط زبانوں کے لیے مفید نہیں۔
    مساوات کی تقسیم: یہ تکنیک زیادہ تر ٹیسٹ کیس لکھنے کے لیے استعمال ہوتی ہے۔ اس میں آپ ٹیسٹ کیسز کو مختلف حصوں میں تقسیم کرتے ہیں جو ایک ہی سمجھے جاتے ہیں۔ یہ جانچ کی تمام سطحوں جیسے یونٹ، انضمام، نظام پر لاگو کیا جا سکتا ہے۔ مثال کے طور پر: اگر آپ ایک ان پٹ باکس کے لیے ٹیسٹ کر رہے ہیں جو 1 سے 50 تک نمبرز کو قبول کر رہا ہے تو تمام 100 درست ان پٹ نمبروں کے لیے 100 ٹیسٹ کیس لکھنے کا کوئی فائدہ نہیں ہے۔ لہذا Equivalence Partitioning طریقہ استعمال کرکے ٹیسٹ کیسز کو کلاسز کہلانے والے ان پٹ ڈیٹا کے چار سیٹوں میں تقسیم کیا جا سکتا ہے۔
بلیک باکس ٹیسٹنگ

مندرجہ بالا مثال میں، آپ ٹیسٹ کیسز کو کچھ درست اور غلط ان پٹ کی چار مساوی کلاسوں میں تقسیم کر سکتے ہیں۔

پیشہCons کے
مکمل جانچ فراہم کرتا ہے۔
ان پٹ اور آؤٹ پٹ کے بڑے ڈومینز کو فعال کرتا ہے۔
ٹیسٹ فالتو پن سے بچتا ہے۔
عمل پر مبنی
باؤنڈری ویلیو کی غلطیوں کو ہینڈل نہیں کر سکتے
وقت لگتا
    فیصلہ کی میز کی جانچ: جب آپ کو مختلف مجموعوں کے لیے سسٹم کے رویے کی جانچ کرنی ہوتی ہے تو پھر سافٹ ویئر ٹیسٹنگ تکنیک جو استعمال کرتا ہے وہ فیصلہ کن میز کی جانچ ہے۔ یہ ایک منظم طریقہ ہے جہاں مختلف ان پٹ اور سسٹم کے رویے کو ٹیبلر شکل میں رجسٹر کیا جاتا ہے۔ اسے کاز ایفیکٹ ٹیبل بھی کہا جاتا ہے۔
    مثال کے طور پر: ذیل میں بزنس لاگ ان اسکرین کا فلو ڈایاگرام ہے۔
بلیک باکس ٹیسٹنگ
  • پہلا قدم تمام شاخوں اور پتوں کے نام رکھنا ہے۔
  • a,b,c شاخیں ہیں جبکہ 1,2,3 پتے ہیں۔
بلیک باکس ٹیسٹنگ
پیشہCons کے
ٹولز ٹیسٹ کیسز کی مکمل کوریج فراہم کرتے ہیں۔
یہ تکرار سے کام کرتا ہے۔
اس میں ایک مکملیت ہے۔
اگر ان پٹ کی تعداد میں اضافہ ہوتا ہے تو جدول قدرے پیچیدہ ہو جاتا ہے۔
ریاستی منتقلی کی جانچ

اسٹیٹ ٹرانزیشن ٹیسٹنگ بلیک باکس ٹیسٹنگ کی ایک تکنیک ہے جہاں ٹیسٹ درست اور غلط اسٹیٹ ٹرانزیشن کو انجام دینے کے لیے ڈیزائن کیے گئے ہیں۔

بلیک باکس ٹیسٹنگ

ریاست کی منتقلی کا خاکہ

یہ ظاہر کرتا ہے کہ کچھ ان پٹ پر سسٹم کیسے بدلتا ہے۔ اس کے چار اہم اجزاء ہیں:

  • حالت
  • منتقلی
  • تقریب
  • عمل

عبوری ریاستیں۔

    موڈ تبدیل کریں:چالو ہونے پر، ڈسپلے موڈ وقت بہ تاریخ منتقل ہوتا ہے۔وقت طے:فعال ہونے پر، ڈسپلے موڈ وقتاً فوقتاً تبدیل ہوتا رہتا ہے۔تاریخ مقرر:چالو ہونے پر، ڈسپلے موڈ تبدیل ہونے والی تاریخ سے تاریخ تک بدل جاتا ہے۔ری سیٹ کریں:جب ڈسپلے موڈ وقت یا تاریخ ہے تو یہ انہیں وقت کو تبدیل کرنے یا تاریخ کو تبدیل کرنے کے لیے سیٹ کرتا ہے۔
پیشہCons کے
ٹیسٹرز کو غلط ریاستوں کا احاطہ کرنے کے قابل بناتا ہے۔
نظام کے رویے کی صحیح نمائندگی کرتا ہے۔
یہ تمام شرائط کا احاطہ کرتا ہے۔
اسے ہر جگہ انجام نہیں دیا جا سکتا
یہ قابل اعتماد نہیں ہے۔

غلطی کا اندازہ لگانا: اس قسم کی جانچ کی تکنیک صرف اس صورت میں سیکھی جا سکتی ہے جب آپ تجربہ کار ہوں۔ اس تکنیک میں، تجزیہ کار درخواست کے اندر موجود مسائل کا اندازہ لگانے کے لیے اپنے تجربے کا استعمال کرتا ہے۔

مثال کے طور پر: اگر کسی تجزیہ کار کو لاگ ان پیج میں غلطیاں نظر آتی ہیں، تو ٹیسٹرز لاگ ان پیج پر توجہ مرکوز کرتے ہوئے ٹیسٹ کیس لکھیں گے۔

پیشہCons کے
دوسرے ٹیسٹنگ طریقوں کی تعریف کرتا ہے۔
یہ جانچ کو بہت زیادہ موثر اور موثر بناتا ہے۔
یہ جلد نقائص کو ظاہر کرتا ہے۔
کسی کو جانچ کے تجربے کی ضرورت ہوتی ہے۔
ٹیسٹرز کی وجدان پر انحصار کرتا ہے۔

بلیک باکس ٹیسٹنگ کے فوائد اور نقصانات

پیشہCons کے
بڑے سسٹمز پر استعمال ہونے پر موثر۔
ٹیسٹرز غیر تکنیکی پس منظر سے ہو سکتے ہیں۔
ٹیسٹ صارف کے نقطہ نظر سے کیا جاتا ہے۔
جانچ آپ کو تضادات کی شناخت میں مدد کرتی ہے۔
ٹیسٹ کیسز کو ایک بار ڈیزائن کیا جا سکتا ہے جب فنکشنل تصریحات سامنے آ جائیں۔
جانچ متوازن اور غیر متعصب ہے۔
ٹیسٹ کیسز کو فنکشنل تصریحات کے بغیر ڈیزائن کرنا آسان نہیں ہے۔
جانچ کے عمل کے دوران نامعلوم راستے ہونے کے بہت زیادہ امکانات۔
ٹیسٹ کیس لکھنا سست اور مشکل ہے۔

کون سا بہتر ہے بلیک باکس ٹیسٹنگ یا وائٹ باکس ٹیسٹنگ؟

اس کے لیے، آپ کو وائٹ باکس ٹیسٹنگ کے بارے میں تھوڑا سا جاننے کی ضرورت ہے۔

وائٹ باکس ٹیسٹنگ

یہ ایک ہے سافٹ ویئر ٹیسٹنگ وہ طریقہ جس میں آئٹم کی ساخت/ڈیزائن/عمل درآمد ٹیسٹر کو معلوم ہوتا ہے۔ ٹیسٹر ان پٹس کا انتخاب کرتا ہے اور مناسب آؤٹ پٹ کا تعین کرتا ہے۔

وائٹ باکس ٹیسٹنگ کے دیگر نام گلاس باکس ٹیسٹنگ، کلیئر باکس ٹیسٹنگ، ساختی ٹیسٹنگ ہیں۔

وائٹ باکس ٹیسٹنگ

مثال کے طور پر:

|_+_|
  • پہلے، A اور B کی قدر تفویض کریں۔ فرض کریں A=60 اور B=50۔
  • دوسرا، اب C کو A+B، A=60، B=50 کی قدر تفویض کی گئی ہے لہذا C=110۔
  • تیسرا، ہم چیک کریں گے کہ آیا C>100 اور اس معاملے میں یہ سچ ہے لہذا ہمیں نتیجہ ITS DONE ملے گا۔

وائٹ باکس ٹیسٹنگ شروع کرنے کے اقدامات

  • جانچ کی جانے والی خصوصیت کی شناخت کریں۔
  • فلو گراف میں تمام راستوں کو پلاٹ کریں۔
  • بہاؤ گراف کے لیے تمام ممکنہ راستوں کی شناخت کریں۔
  • ہر گراف کے لیے ٹیسٹ کیس لکھیں۔
  • پھانسی، کللا، اور دہرائیں.

وائٹ باکس ٹیسٹنگ تکنیک

    بیان کی کوریج: یہ یقینی بناتا ہے کہ آیا ہر لائن کو کم از کم ایک بار عمل میں لایا گیا ہے۔برانچ کوریج: یہ اس بات کو یقینی بناتا ہے کہ ہر فیصلہ کے نقطہ سے ہر شاخ کو عمل میں لایا جائے۔راستے کی کوریج: یہ یقینی بناتا ہے کہ ہر راستے کو کم از کم ایک بار عبور کیا جائے۔

وائٹ باکس ٹیسٹنگ کی اقسام

وائٹ باکس ٹیسٹنگ کی تین اقسام ہیں اور ان کا ذکر ذیل میں کیا گیا ہے۔

    یونٹ ٹیسٹنگ وائٹ باکس دخول کی جانچ میموری لیکس کی جانچ وائٹ باکس میوٹیشن ٹیسٹنگ

وائٹ باکس ٹیسٹنگ کے اوزار

    JsuNit.net: یہ جاوا اسکرپٹ ٹیسٹنگ ٹول ہے جو وائٹ باکس ٹیسٹنگ کے لیے استعمال ہوتا ہے۔ یہ ایک اوپن سورس سافٹ ویئر ہے جس کا مطلب ہے کہ اسے تجارتی مقاصد کے لیے بھی استعمال کیا جا سکتا ہے۔
    سی پی پی یونٹ: CppUnit JsuNit کا ایک حصہ ہے۔ ٹول سادہ متن کی شکل میں یا XML فارمیٹ میں آؤٹ پٹ دے سکتا ہے لیکن یہ مکمل طور پر کوڈر پر منحصر ہے کہ وہ اسے کیسے چاہتا ہے۔
    ویرا کوڈ: یہ ملکیتی سافٹ ویئر ہے اور اسے کچھ طاقتور زبانوں جیسے ٹیسٹ کرنے کے لیے استعمال کیا جاتا ہے۔ نیٹ ، C++، JAVA، اور بہت کچھ۔

وائٹ باکس ٹیسٹنگ کے فوائد اور نقصانات

پیشہCons کے
ٹیسٹنگ ہونے پر ٹیسٹر کو بتائیں۔
تکنیک خود کار طریقے سے نسبتا آسان ہیں.
پروگرامر کے لیے اصلاح کرنا آسان ہو جاتا ہے۔
کوڈ کے اس حصے کو ہٹانا تھوڑا آسان ہے جس کی پروگرام کی فعالیت کے لیے ضرورت نہیں ہے۔
یہ نسبتاً زیادہ مہنگا ہے۔
کوڈ کی ہر حالت کو جانچنا ممکن نہیں ہے۔
پروگرام کی گمشدہ فعالیت کو تلاش نہیں کر سکتے۔

وائٹ باکس اور بلیک باکس ٹیسٹنگ کے درمیان فرق

بنیادبلیک باکس ٹیسٹنگوائٹ باکس ٹیسٹنگ
تعریف اندرونی ساخت کے علم کے بغیر سافٹ ویئر کو جانچنے کے لیے استعمال کیا جاتا ہے۔سافٹ ویئر کی اندرونی ساخت ٹیسٹر کو معلوم ہوتی ہے۔
دوسرے نام تفصیلات پر مبنی جانچ، طرز عمل کی جانچ، اوپیک باکس ٹیسٹنگ، کلوزڈ باکس ٹیسٹنگ، اور آنکھ سے آنکھ کی جانچ۔گلاس باکس ٹیسٹنگ، واضح باکس ٹیسٹنگ، ساختی جانچ.
ٹیسٹنگ کی بنیاد جانچ بیرونی توقعات پر مبنی ہے۔اندرونی کام کوڈر کو معلوم ہے۔
استعمال اعلیٰ سطح کی جانچ کے لیے موزوں ہے۔نچلی سطح کی جانچ کے لیے موزوں ہے۔
پروگرامنگ زبان پروگرامنگ زبان کی ضرورت نہیں ہے۔پروگرامنگ زبان درکار ہے۔
نفاذ کا علم بلیک باکس ٹیسٹنگ میں ضروری نہیں ہے۔عمل درآمد کی مکمل تفہیم درکار ہے۔
آٹومیشن خودکار کرنا مشکل۔خودکار کرنے میں آسان۔
مقصد اس کا مقصد نظام کی فعالیت کو جانچنا ہے۔مقصد کوڈ کے معیار کو چیک کرنا ہے۔
کی طرف سے تجربہ کیا ٹیسٹر، اختتامی صارف کے ذریعہ انجام دیا گیا۔عام طور پر ٹیسٹر اور ڈویلپرز کے ذریعہ کیا جاتا ہے۔
دانے دار پن دانے داریت کم ہے۔دانے دار زیادہ ہے۔
جانچ کا طریقہ آزمائش اور غلطی کے طریقوں پر مبنی۔اندرونی حدود کو جانچا جا سکتا ہے۔
وقت کم وقت لینے والا۔زیادہ وقت لینے والا۔
کوڈ تک رسائی کوڈ تک رسائی کی ضرورت نہیں ہے۔کوڈ تک رسائی درکار ہے۔

نتیجہ

بلیک باکس ٹیسٹنگ اور وائٹ باکس ٹیسٹنگ دونوں ضروری ہیں اور ایک دوسرے کی تکمیل کرتے ہیں۔ وائٹ باکس ٹیسٹنگ کوڈ کی فعالیت اور اعلیٰ سطح کی جانچ کی یقین دہانی کراتی ہے جبکہ بلیک باکس ٹیسٹنگ اختتامی صارف کے تجربات کو بڑھاتی ہے۔ بحیثیت ٹیسٹر کسی کو بلیک باکس ٹیسٹنگ کا اچھا علم ہونا چاہیے تاکہ آپ مناسب جانچ کر سکیں۔