- API ٹیسٹنگ ٹیوٹوریلز کی فہرست
- اس API ٹیسٹنگ سیریز میں سبق کا جائزہ
- نتیجہ
- API ٹیسٹنگ ٹیوٹوریل
- آپ کی تنظیم میں API ٹیسٹنگ متعارف کرانا
یہ گہرائی والا API ٹیسٹنگ ٹیوٹوریل API ٹیسٹنگ، ویب سروسز اور آپ کی تنظیم میں API ٹیسٹنگ متعارف کرانے کے بارے میں سب کچھ بتاتا ہے:
اس تعارفی ٹیوٹوریل سے شفٹ لیفٹ ٹیسٹنگ اور ویب سروسز کا تصور۔
تصورات جیسے Web API، API کیسے کام کرتا ہے (حقیقی دنیا کی مثال کے ساتھ) اور یہ ویب سروسز سے کیسے مختلف ہے اس کی مثالوں کے ساتھ اچھی طرح وضاحت کی گئی ہے۔ ٹیوٹوریل۔
API ٹیسٹنگ ٹیوٹوریلز کی فہرست
ٹیوٹوریل #1: API ٹیسٹنگ ٹیوٹوریل: ایک مکمل گائیڈ برائے ابتدائیہ
ٹیوٹوریل #2: ویب سروسز ٹیوٹوریل: اجزاء، فن تعمیر، اقسام اور مثالیں
ٹیوٹوریل #3: ٹاپ 35 ASP.Net اور Web API انٹرویو سوالات کے ساتھ جوابات
ٹیوٹوریل #4: پوسٹ مین ٹیوٹوریل: API ٹیسٹنگ پوسٹ مین کا استعمال کرنا
ٹیوٹوریل #5: اپاچی HTTP کلائنٹ کا استعمال کرتے ہوئے ویب سروسز کی جانچ
اس API ٹیسٹنگ سیریز میں سبق کا جائزہ
ٹیوٹوریل # | آپ کیا سیکھیں گے | ||
---|---|---|---|
API ٹیسٹنگ ٹیوٹوریل : شروعات کرنے والوں کے لیے ایک مکمل گائیڈ یہ گہرائی سے API ٹیسٹنگ ٹیوٹوریل API ٹیسٹنگ، اور ویب سروسز کے بارے میں تفصیل سے بیان کرے گا اور آپ کو اپنی تنظیم میں API ٹیسٹنگ متعارف کرانے کے بارے میں بھی آگاہ کرے گا۔ 14 | |||
ٹیوٹوریل_#2: | ویب سروسز ٹیوٹوریل: اجزاء، فن تعمیر، اقسام اور مثالیں یہ ویبدرست اور غلط جواب کے لیے API کے جوابات کی درستگی واقعی بہت ضروری ہے۔ اگر 200 کا اسٹیٹس کوڈ (یعنی سب ٹھیک ہے) ٹیسٹ API سے جواب کے طور پر موصول ہوتا ہے، لیکن اگر جوابی متن کہتا ہے کہ ایک خرابی کا سامنا ہوا ہے، تو یہ ایک خرابی ہے۔ اس کے علاوہ، اگر غلطی کا پیغام بذات خود غلط ہے، پھر یہ آخری صارف کے لیے بہت گمراہ کن ہو سکتا ہے جو اس API کے ساتھ ضم ہونے کی کوشش کر رہا ہے۔ نیچے اسکرین شاٹ میں، صارف نے غلط وزن درج کیا ہے، جو قابل قبول 2267 کلو گرام سے زیادہ ہے۔ API غلطی کے اسٹیٹس کوڈ اور ایرر میسج کے ساتھ جواب دیتا ہے۔ تاہم، غلطی کے پیغام میں وزن کی اکائیوں کا غلط طور پر KG کے بجائے lbs کے طور پر ذکر کیا گیا ہے۔ یہ ایک ایسا نقص ہے جو آخری صارف کو الجھا سکتا ہے۔ (ii) لوڈ اور کارکردگی کی جانچAPIs کا مقصد ڈیزائن کے لحاظ سے توسیع پذیر ہونا ہے۔ یہ، بدلے میں، لوڈ اور کارکردگی کی جانچ کو ضروری بناتا ہے، خاص طور پر اگر اس نظام سے توقع کی جاتی ہے کہ وہ ضرورت کے لحاظ سے، فی منٹ یا گھنٹہ ہزاروں درخواستوں کی خدمت کر رہا ہے۔ API پر معمول کے مطابق لوڈ اور پرفارمنس ٹیسٹ کرنے سے کارکردگی، چوٹی کے بوجھ اور بریکنگ پوائنٹ کو بینچ مارک کرنے میں مدد مل سکتی ہے۔ کسی ایپلیکیشن کو بڑھانے کی منصوبہ بندی کے دوران یہ ڈیٹا مفید ہے۔ یہ معلومات دستیاب ہونے سے فیصلوں اور منصوبہ بندی کی حمایت کرنے میں مدد ملے گی خاص طور پر اگر تنظیم مزید گاہکوں کو شامل کرنے کی منصوبہ بندی کر رہی ہے، جس کا مطلب زیادہ آنے والا ہوگا۔درخواستیں۔ اپنی تنظیم میں API ٹیسٹنگ کو کیسے متعارف کرایا جائےکسی بھی تنظیم میں API ٹیسٹنگ کو متعارف کرانے کا عمل کسی دوسرے ٹیسٹنگ ٹول اور فریم ورک کو لاگو کرنے یا رول آؤٹ کرنے کے لیے استعمال ہونے والے عمل سے ملتا جلتا ہے۔ نیچے دی گئی جدول میں ہر مرحلے کے متوقع نتائج کے ساتھ اہم مراحل کا خلاصہ کیا گیا ہے۔
| ||
13>13 عمل درآمد | شروع کرنا | آپ کی پسند کے ٹول پر منحصر ہے، آپ کو پی سی، ورچوئل مشین یا سرور پر مطلوبہ ٹول انسٹال کرنے کی ضرورت ہوگی۔ اگر پسند کا ٹول سبسکرپشن پر مبنی ہے ، مطلوبہ ٹیم بنائیںاکاؤنٹس۔ اگر ضرورت ہو تو ٹیم کو تربیت دیں۔ | |
جاتے رہیں | ٹیسٹ بنائیں ٹیسٹ انجام دیں نقائص کی اطلاع دیں |
عام چیلنجز اور ان کو کم کرنے کے طریقے
آئیے کچھ عام چیلنجوں پر بات کریں جو QA ٹیمیں کسی تنظیم میں API ٹیسٹنگ فریم ورک کو لاگو کرنے کی کوشش کرتے وقت سامنا کرنا پڑتا ہے۔
#1) صحیح ٹول کا انتخاب
کام کے لیے صحیح ٹول کا انتخاب سب سے عام چیلنج ہے۔ بہت سے API ٹیسٹ ٹولز ہیں جو مارکیٹ میں دستیاب ہیں۔
مارکیٹ میں دستیاب جدید ترین، مہنگے ترین ٹول کو لاگو کرنا بہت پرکشش لگتا ہے- لیکن اگر یہ مطلوبہ نتائج نہیں لاتا، تو وہ ٹول کوئی فائدہ نہیں ہے۔
لہذا، ہمیشہ وہ ٹول منتخب کریں جو آپ کی تنظیمی ضروریات کی بنیاد پر 'لازمی' ضروریات کو پورا کرتا ہے۔ دستیاب API ٹولز
ٹول | قیمتوں کا تعین | نوٹس |
---|---|---|
Soap UI | SoapUI اوپن سورس (فنکشنل ٹیسٹنگ) کے لیے مفت ورژن دستیاب ہے | * REST، SOAP اور دیگر مقبول API اور IoT پروٹوکول۔ * مفت ورژن میں شامل SOAP اور REST ایڈہاک ٹیسٹنگ پیغام کا دعوی گھسیٹیں اور ڈراپ ٹیسٹ تخلیق ٹیسٹ لاگز ٹیسٹ کنفیگریشن ریکارڈنگ سے ٹیسٹ یونٹ رپورٹنگ۔ * خصوصیات کی مکمل فہرست ہوسکتی ہے۔ ان میں پایاویب سائٹ۔ |
پوسٹ مین | مفت پوسٹ مین ایپ دستیاب ہے | * REST کے لیے سب سے زیادہ استعمال ہونے والی۔ * خصوصیات ان کی ویب سائٹ میں مل سکتی ہیں۔ |
پیرا سافٹ | یہ ایک ادا شدہ ٹول ہے، اس کے لیے لائسنس خریدنے کی ضرورت ہوتی ہے اور پھر انسٹالیشن کی ضرورت ہوتی ہے۔ اس سے پہلے کہ ٹول استعمال کیا جا سکے۔ | * جامع API ٹیسٹنگ: فنکشنل، لوڈ، سیکیورٹی ٹیسٹنگ، ٹیسٹ ڈیٹا مینجمنٹ |
vREST | 13>* طاقتور رسپانس کی توثیق۔||
HttpMaster | ایکسپریس ایڈیشن: ڈاؤن لوڈ کرنے کے لیے مفت پیشہ ور ورژن: صارفین کی تعداد کی بنیاد پر
| * ویب سائٹ کی جانچ کے ساتھ ساتھ API ٹیسٹنگ میں بھی مدد کرتا ہے۔ * دیگر خصوصیات میں عالمی پیرامیٹرز کی وضاحت کرنے کی صلاحیت شامل ہے، صارف کو یہ صلاحیت فراہم کرتی ہے کہ وہ توثیق کی اقسام کے بڑے سیٹ کو استعمال کرکے ڈیٹا کے جواب کی توثیق کے لیے چیک تیار کر سکے۔ یہ سپورٹ کرتا ہے 13>* API کی نگرانی اور جانچ کے لیے۔ * درست ڈیٹا کی واپسی کو یقینی بنانے کے لیے ڈیٹا کی توثیق کے لیے استعمال کیا جا سکتا ہے۔ * کی خصوصیت پر مشتمل ہےکسی بھی API ٹرانزیکشن کی ناکامی کی صورت میں ٹریکنگ اور مطلع کرنا (اگر آپ کی درخواست کو ادائیگی کی توثیق کی ضرورت ہے، تو یہ ٹول ایک اچھا انتخاب ثابت ہوسکتا ہے)۔ |
لوڈ فوکس | صارفین کی تعداد اور پلان کی اقسام کی بنیاد پر | * API لوڈ ٹیسٹنگ کے لیے استعمال کیا جا سکتا ہے - صارفین کی تعداد معلوم کرنے کے لیے چند ٹیسٹ چلانے کی اجازت دیتا ہے جن کی ایک API مدد کر سکتا ہے۔ * استعمال میں آسان - براؤزر میں ٹیسٹ چلانے کی اجازت دیتا ہے۔ |
PingAPI | 1 پروجیکٹ کے لیے مفت (1,000 درخواست ) | * خودکار API ٹیسٹنگ اور مانیٹرنگ کے لیے فائدہ مند۔ |
#2) ٹیسٹ کی تفصیلات غائب ہیں
بطور ٹیسٹرز، ہمیں یہ جاننے کی ضرورت ہے ایک درخواست کو مؤثر طریقے سے جانچنے کے لیے متوقع نتائج۔ یہ اکثر ایک چیلنج ہوتا ہے، کیونکہ متوقع نتائج جاننے کے لیے، ہمیں واضح تقاضوں کی ضرورت ہوتی ہے – جو کہ ایسا نہیں ہے۔
مثال کے لیے ، ذیل میں فراہم کردہ تقاضوں پر غور کریں:
"درخواست کو صرف ایک درست شپنگ تاریخ کو قبول کرنا چاہیے اور تمام غلط تقاضوں کو مسترد کر دینا چاہیے"
ان تقاضوں میں کلیدی تفصیلات موجود نہیں ہیں اور بہت مبہم ہیں - ہم ایک درست تاریخ کی وضاحت کیسے کر رہے ہیں؟ فارمیٹ کے بارے میں کیا خیال ہے؟ کیا ہم اختتامی صارف وغیرہ کو کوئی مسترد پیغام واپس کر رہے ہیں؟
واضح تقاضوں کی مثال:
1) درخواست کو صرف ہونا چاہئے ایک درست ترسیل کی تاریخ قبول کریں۔
شپنگ کی تاریخ درست سمجھی جاتی ہے اگر یہہے
- ماضی میں نہیں
- آج کی تاریخ سے زیادہ یا اس کے برابر
- قابل قبول شکل میں ہے: DD/MM/YYYY
2 مندرجہ بالا معیار پر پورا نہیں اترتا ہے اسے غلط سمجھا جانا چاہئے۔ اگر کوئی صارف ترسیل کی غلط تاریخ بھیجتا ہے، تو اسے درج ذیل غلطی کے پیغامات کے ساتھ جواب دینا چاہیے:
3.1
رسپانس اسٹیٹس کوڈ نہیں 200
خرابی: فراہم کردہ شپنگ کی تاریخ غلط ہے؛ براہ کرم یقینی بنائیں کہ تاریخ DD/MM/YYYY فارمیٹ میں ہے
3.2
رسپانس اسٹیٹس کوڈ 200 نہیں
خرابی: بشرطیکہ ترسیل کی تاریخ درج ہو ماضی
#3) سیکھنے کا منحنی خطوط
جیسا کہ پہلے ذکر کیا گیا ہے، GUI پر مبنی ایپلی کیشنز کی جانچ کے دوران اپروچ کے مقابلے میں API ٹیسٹنگ کا طریقہ مختلف ہوتا ہے۔
اگر آپ API ٹیسٹنگ کے لیے اندرون ملک یا کنسلٹنٹس کی خدمات حاصل کر رہے ہیں، پھر API ٹیسٹ اپروچ یا API ٹیسٹ ٹول کا سیکھنے کا وکر کم سے کم ہو سکتا ہے۔ اس معاملے میں سیکھنے کا کوئی بھی منحنی خطوط پروڈکٹ یا ایپلیکیشن کے علم کے حصول سے منسلک ہوگا۔
اگر ٹیم کے کسی موجودہ رکن کو API ٹیسٹنگ سیکھنے کے لیے تفویض کیا جاتا ہے، تو انتخاب کے ٹول کی بنیاد پر، سیکھنے کا منحنی خطوط ہو سکتا ہے۔ درمیانے درجے سے اونچائی تک، ٹیسٹ کے نقطہ نظر کو تبدیل کرنے کے ساتھ۔ پروڈکٹ یا ایپلیکیشن کے لیے سیکھنے کا وکر اس بات پر منحصر ہے کہ آیا اس ٹیسٹر نے ٹیسٹ کیا ہے۔وہ ایپلیکیشن پہلے ہے یا نہیں۔
#4) موجودہ سکل سیٹ
یہ سیکھنے کے منحنی خطوط سے براہ راست تعلق رکھتا ہے۔
اگر کوئی ٹیسٹر اس سے تبدیل ہو رہا تھا۔ GUI پر مبنی ٹیسٹنگ، پھر ٹیسٹر کو ٹیسٹنگ کے نقطہ نظر کو تبدیل کرنے اور ضرورت کے مطابق نیا ٹول یا فریم ورک سیکھنے کی ضرورت ہوگی۔ مثلاً اگر API JSON فارمیٹ میں درخواستوں کو قبول کرتا ہے، تو ٹیسٹر کو یہ جاننے کی ضرورت ہوگی کہ JSON کیا ہے، تاکہ ٹیسٹ بنانا شروع کر سکیں۔
کیس اسٹڈی
ٹاسک
موجودہ ایپلیکیشن کو بڑھانے کے لیے، ایک کمپنی API کے ساتھ ساتھ معیاری GUI ایپلیکیشن میں پروڈکٹ پیش کرنا چاہتی تھی۔ QA ٹیم کو ٹیسٹ کوریج پلان فراہم کرنے کے لیے کہا گیا تاکہ یہ یقینی بنایا جا سکے کہ وہ باقاعدہ GUI پر مبنی ٹیسٹ سے آگے API ٹیسٹنگ کو ایڈجسٹ کرنے کے لیے تیار ہیں۔
چیلنجز
- کوئی نہیں دیگر سافٹ ویئر پروڈکٹس میں API پر مبنی فن تعمیر تھا، لہذا اس کام کے ارد گرد جانچ کو ایڈجسٹ کرنے کے لیے، ٹیم کو شروع سے API ٹیسٹ کے عمل کو قائم کرنے کی ضرورت ہے۔ اس کا مطلب یہ ہے کہ ٹولز کا جائزہ لیا جانا تھا، شارٹ لسٹ کیا جانا تھا، حتمی شکل دی جانی تھی اور ٹیم کو ٹیسٹ کے لیے تربیت دی جانی تھی۔
- اس ٹول کو حاصل کرنے اور لاگو کرنے کے لیے کوئی اضافی بجٹ مختص نہیں کیا گیا تھا۔ اس کا مطلب ہے کہ ٹیم کو ایک مفت یا اوپن سورس API ٹیسٹنگ ٹول کا انتخاب کرنا تھا اور موجودہ ٹیم میں سے کسی کو اس کام کو انجام دینے کے لیے تربیت دی جانی تھی۔
- API فیلڈز اور ڈیٹا کے لیے کوئی تقاضے نہیں تھے۔توثیق تقاضے "متعلقہ GUI ایپلیکیشن کی طرح کام کرنے چاہئیں"۔
خطروں کو کم کرنے اور چیلنجوں سے نمٹنے کے لیے ٹیم کی طرف سے اپنانے والا طریقہ
- QA ٹیم نے مندرجہ ذیل تقاضوں کی شناخت کے لیے پروجیکٹ ٹیم کے ساتھ کام کیا:
- API قسم (REST/SOAP): REST
- ٹیسٹ درکار ہیں (فنکشنل، لوڈ، سیکیورٹی: صرف فنکشنل ٹیسٹنگ
- خودکار ٹیسٹ درکار ہیں (ہاں/نہیں): ابھی کے لیے اختیاری
- ٹیسٹ رپورٹس (ہاں/نہیں) ): درکار ہے
- QA ٹیم نے دستیاب API ٹیسٹنگ ٹولز پر ٹول ایویلیویشن کی جو ضروری ضروریات کی بنیاد پر کی۔ پوسٹ مین API ٹول کو ان کی پسند کے ایک ٹول کے طور پر حتمی شکل دی گئی تھی کیونکہ یہ مفت تھا، اور استعمال میں بھی آسان تھا، اس طرح سیکھنے کے منحنی خطوط کو کم سے کم کیا گیا، اور ٹیسٹوں کو خودکار کرنے کی صلاحیت تھی، اور اچھی ان بلٹ رپورٹس کے ساتھ آیا تھا۔
- وہی ٹیسٹر جس نے ایپلیکیشن کا تجربہ کیا تھا اسے پوسٹ مین کے استعمال کے لیے تربیت دی گئی تھی تاکہ وہ ابتدائی ٹیسٹ تیار کر سکیں اور اس طرح پروڈکٹ کے علم کے کسی بھی خلا کو ختم کر سکیں۔
- لاپتہ تقاضوں سے نمٹنے کے لیے، پروجیکٹ ٹیم نے Swagger کا استعمال کرتے ہوئے اعلیٰ سطحی فیلڈ لیول دستاویزات تیار کیں۔ . تاہم اس سے قابل قبول ڈیٹا فارمیٹس کے لحاظ سے کچھ خلا رہ گیا اور اسے پروجیکٹ ٹیم کے ساتھ اٹھایا گیا اور متوقع فارمیٹس پر اتفاق کیا گیا اور دستاویزی شکل دی گئی۔
نتیجہ
API پر مبنی ایپلی کیشنز کے پاس ہے حالیہ دنوں میں مقبولیت حاصل کی. یہ ایپلی کیشنز زیادہ ہیں۔روایتی ایپلیکیشنز/سافٹ ویئر کے مقابلے میں توسیع پذیر ہے اور دوسرے APIs یا ایپلیکیشنز کے ساتھ آسانی سے انضمام کی اجازت دیتا ہے۔
اس API ٹیسٹنگ ٹیوٹوریل میں API ٹیسٹنگ، شفٹ لیفٹ ٹیسٹنگ، ویب سروسز، اور ویب API کے بارے میں تفصیل سے بتایا گیا ہے۔ ہم نے مثالوں کے ساتھ ویب سروسز بمقابلہ ویب API کے درمیان فرق کو بھی دریافت کیا۔
ٹیوٹوریل کے دوسرے حصے میں، ہم نے API ٹیسٹنگ کے مکمل اسپیکٹرم پر تبادلہ خیال کیا، آپ کی تنظیم میں API ٹیسٹنگ کو کیسے متعارف کرایا جائے اور اس میں کچھ عام چیلنجز یہ عمل ان کے حل کے ساتھ۔
ہمارے آنے والے ٹیوٹوریل کو دیکھیں اور مثالوں کے ساتھ ویب سروسز کے بارے میں مزید جاننے کے لیے!!
اگلا ٹیوٹوریل
سروسز ٹیوٹوریل آرکیٹیکچر، اقسام اور amp کی وضاحت کرتا ہے۔ ویب سروسز کے اجزاء کے ساتھ اہم اصطلاحات اور SOAP بمقابلہ REST کے درمیان فرق۔آپ جوابات کے ساتھ اکثر پوچھے جانے والے ASP.Net اور Web API انٹرویو کے سوالات کی فہرست تلاش کر سکتے ہیں۔ اس ٹیوٹوریل میں ابتدائی اور تجربہ کار پیشہ ور افراد کے لیے مثالیں POSTMAN
یہ مرحلہ وار ٹیوٹوریل POSTMAN، اس کے اجزاء اور نمونے کی درخواست کی بنیادی باتوں کے ساتھ ساتھ POSTMAN کے استعمال سے API ٹیسٹنگ کی وضاحت کرے گا۔ آپ کی آسان سمجھ کے لیے آسان الفاظ میں جواب دیں۔
یہ API ٹیوٹوریل ویب سروسز پر مختلف CRUD آپریشنز کرنے اور Apache HTTP کلائنٹ کا استعمال کرتے ہوئے ویب سروسز کی جانچ کرنے کے بارے میں ہے
API ٹیسٹنگ ٹیوٹوریل
یہ سیکشن آپ کو ویب سروسز اور ویب API کی بنیادی تفہیم حاصل کرنے میں مدد کرے گا، جو بدلے میں، اس API ٹیسٹنگ سیریز میں آنے والے ٹیوٹوریلز میں اہم تصورات کو سمجھنے میں مددگار ثابت ہوگا۔
API ( ایپلیکیشن پروگرامنگ انٹرفیس) تمام طریقہ کار اور افعال کا ایک مجموعہ ہے جو ہمیں ڈیٹا یا فیچرز تک رسائی حاصل کرکے ایپلیکیشن بنانے کی اجازت دیتا ہے۔آپریٹنگ سسٹم یا پلیٹ فارم۔ اس طرح کے طریقہ کار کی جانچ کو API ٹیسٹنگ کے نام سے جانا جاتا ہے۔
شفٹ لیفٹ ٹیسٹنگ
ایک اہم قسم کی جانچ جو آج کل API ٹیسٹنگ انٹرویوز میں پوچھی جاتی ہے وہ ہے شفٹ لیفٹ ٹیسٹنگ۔ اس قسم کی جانچ تقریباً تمام پروجیکٹس میں کی جاتی ہے جو ایک چست طریقہ کار کی پیروی کرتے ہیں۔
شفٹ لیفٹ ٹیسٹنگ متعارف کرانے سے پہلے، سافٹ ویئر ٹیسٹنگ صرف کوڈنگ مکمل ہونے اور ٹیسٹرز کو کوڈ فراہم کرنے کے بعد ہی تصویر میں آتی ہے۔ اس مشق کی وجہ سے آخری وقت کی آخری تاریخ کو پورا کرنے میں ہلچل ہوئی اور اس نے مصنوعات کے معیار کو بھی کافی حد تک متاثر کیا۔
اس کے علاوہ، کی گئی کوششیں (جب پیداوار سے پہلے آخری مرحلے میں نقائص کی اطلاع دی گئی تھی) بہت بڑا کیونکہ ڈویلپرز کو ڈیزائن اور کوڈنگ دونوں مراحل سے دوبارہ گزرنا پڑا۔
سافٹ ویئر ڈویلپمنٹ لائف سائیکل (SDLC) بائیں جانب ٹیسٹنگ سے پہلے
روایتی SDLC کا بہاؤ یہ تھا: ضرورت – > ڈیزائن –> کوڈنگ –> ٹیسٹنگ۔
روایتی ٹیسٹنگ کے نقصانات
- ٹیسٹنگ انتہائی دائیں جانب ہے۔ جب کسی مسئلے کی آخری لمحات میں نشاندہی کی جاتی ہے تو بہت زیادہ اخراجات ہوتے ہیں۔
- بگ کو حل کرنے اور اسے پروڈکشن میں فروغ دینے سے پہلے اسے دوبارہ جانچنے میں بہت زیادہ وقت لگتا ہے۔
اس لیے، ٹیسٹنگ فیز کو بائیں طرف منتقل کرنے کے لیے ایک نیا آئیڈیا سامنے آیا جس کی وجہ سے لیفٹ ٹیسٹنگ شفٹ ہو گئی۔
مجوزہ پڑھیں => لیفٹ ٹیسٹنگ شفٹ کریں: Aسافٹ ویئر کی کامیابی کے لیے خفیہ منتر
لیفٹ شفٹ ٹیسٹنگ کے مراحل
بائیں شفٹ ٹیسٹنگ نے ڈیفیکٹ ڈیٹیکشن سے ڈیفیکٹ پریوینشن کی جانب کامیاب منتقلی کا باعث بنا۔ اس سے سافٹ ویئر کو تیزی سے ناکام ہونے اور تمام ناکامیوں کو جلد از جلد ٹھیک کرنے میں بھی مدد ملی۔
Web API
عام اصطلاحات میں، ویب API کو ایسی چیز کے طور پر بیان کیا جاسکتا ہے جو کلائنٹ کی درخواست کو قبول کرتا ہے۔ سسٹم ویب سرور کو بھیجتا ہے اور ویب سرور سے جواب کلائنٹ مشین کو بھیجتا ہے۔
API کیسے کام کرتا ہے؟
0 جب آپ پرواز کی بکنگ کے لیے جاتے ہیں، تو آپ سفر کی تاریخ/واپسی کی تاریخ، کلاس وغیرہ جیسی معلومات درج کرتے ہیں اور تلاش پر کلک کرتے ہیں۔یہ آپ کو متعدد ایئر لائنز کی قیمت اور ان کی دستیابی دکھائے گا۔ اس صورت میں، ایپلی کیشن متعدد ایئر لائنز کے APIs کے ساتھ بات چیت کرتی ہے اور اس طرح ایئر لائن کے ڈیٹا تک رسائی فراہم کرتی ہے۔
ایک اور مثال www.trivago.com ہے جو مختلف ہوٹلوں کی قیمت، دستیابی وغیرہ کا موازنہ اور فہرست بناتی ہے۔ کسی خاص شہر سے۔ یہ ویب سائٹ ڈیٹا بیس تک رسائی کے لیے متعدد ہوٹلوں کے APIs کے ساتھ بات چیت کرتی ہے اور ان کی ویب سائٹ سے قیمتوں اور دستیابی کو درج کرتی ہے۔
اس طرح، ایک ویب API کی تعریف "ایک انٹرفیس کے طور پر کی جا سکتی ہے جو کہ ایک کلائنٹ مشین کے درمیان رابطے کی سہولت فراہم کرتا ہے۔ دیویب سرور”۔
ویب سروسز
ویب سروسز (ویب API کی طرح) وہ خدمات ہیں جو ایک مشین سے دوسری مشین تک خدمت کرتی ہیں۔ لیکن API اور ویب سروسز کے درمیان جو بڑا فرق پیدا ہوتا ہے وہ یہ ہے کہ ویب سروسز ایک نیٹ ورک کا استعمال کرتی ہیں۔
یہ کہنا محفوظ ہے کہ تمام ویب سروسز ویب APIs ہیں لیکن تمام ویب APIs ویب سروسز نہیں ہیں (اس میں وضاحت کی گئی ہے۔ مضمون کا آخری حصہ)۔ اس طرح، ویب سروسز ویب API کا سب سیٹ ہیں۔ Web API اور ویب سروسز کے بارے میں مزید جاننے کے لیے نیچے دیے گئے خاکے کو دیکھیں۔
Web API بمقابلہ ویب سروسز
ویب سروسز بمقابلہ Web API
دونوں ویب API اور ویب سروسز کا استعمال کلائنٹ اور سرور کے درمیان رابطے کو آسان بنانے کے لیے کیا جاتا ہے۔ بڑا فرق صرف ان کے بات چیت کے طریقے میں آتا ہے۔
ان میں سے ہر ایک کو درخواست کی باڈی کی ضرورت ہوتی ہے جو ایک مخصوص زبان میں قابل قبول ہو، محفوظ کنکشن فراہم کرنے میں ان کے اختلافات، سرور سے بات چیت کرنے اور جواب دینے کی رفتار کلائنٹ وغیرہ کے لیے۔
آپ کے حوالہ کے لیے ویب سروسز اور ویب API کے درمیان فرق ذیل میں درج ہے۔
ویب سروس
- ویب سروسز عام طور پر XML (ایکسٹینسیبل مارک اپ لینگوئج) استعمال کرتی ہیں، جس کا مطلب ہے کہ وہ زیادہ محفوظ ہیں۔
- ویب سروسز زیادہ محفوظ ہیں کیونکہ ویب سروسز اور API دونوں ڈیٹا ٹرانسمیشن کے دوران SSL (Secure Socket Layer) فراہم کرتے ہیں۔ ، لیکن یہ WSS (ویب سروسز سیکیورٹی) بھی فراہم کرتا ہے۔
- ویب سروس ویب API کا سب سیٹ ہے۔1 21>
- ویب سروسز "ایک کوڈ مختلف ایپلی کیشنز" کو سپورٹ کرتی ہیں۔ اس کا مطلب ہے کہ مختلف ایپلی کیشنز میں زیادہ عام کوڈ لکھا جاتا ہے۔
Web API
- ایک ویب API عام طور پر JSON (جاوا اسکرپٹ آبجیکٹ نوٹیشن) کا استعمال کرتا ہے، جس کا مطلب ہے کہ ویب API تیز تر ہے۔
- ویب API تیز تر ہے کیونکہ JSON ہلکے وزن والا ہے، XML کے برعکس۔
- ویب APIs ویب سروسز کا سپر سیٹ ہیں۔ 1 آپریٹ کرنے کے لیے ایک نیٹ ورک۔
- سسٹم یا ایپلیکیشن کی نوعیت کے لحاظ سے ویب API انٹرآپریبلٹی کو سپورٹ کر سکتا ہے یا نہیں کر سکتا۔
آپ کی تنظیم میں API ٹیسٹنگ متعارف کرانا
ہماری روزمرہ کی زندگی میں، ہم سب APIs کے ساتھ ایپس کے ساتھ بات چیت کرنے کے عادی ہیں اور پھر بھی ہم بیک اینڈ پراسیس کے بارے میں نہیں سوچتے جو بنیادی فعالیت کو آگے بڑھاتے ہیں۔
مثال کے طور پر , آئیے ہم غور کریں کہ آپ Amazon.com پر پروڈکٹس کو براؤز کر رہے ہیں اور آپ کو ایک پروڈکٹ/ڈیل نظر آتی ہے جو آپ واقعی پسند کرتے ہیں اور آپ اسے اپنے Facebook نیٹ ورک کے ساتھ شیئر کرنا چاہتے ہیں۔
جس لمحے آپ کلک کرتے ہیں۔ پیج کے شیئر سیکشن پر فیس بک آئیکن پر اور اپنا درج کریں۔اشتراک کرنے کے لیے Facebook اکاؤنٹ کی اسناد، آپ ایک ایسے API کے ساتھ بات چیت کر رہے ہیں جو بغیر کسی رکاوٹ کے Amazon ویب سائٹ کو Facebook سے منسلک کر رہا ہے۔
API ٹیسٹنگ پر فوکس شفٹ کریں
API ٹیسٹنگ پر مزید بات کرنے سے پہلے، آئیے وجوہات پر بات کرتے ہیں۔ جس کی وجہ سے حالیہ دنوں میں API پر مبنی ایپلی کیشنز نے مقبولیت حاصل کی ہے۔
ایسے کئی وجوہات ہیں جن کی وجہ سے تنظیمیں API پر مبنی پروڈکٹس اور ایپلی کیشنز میں منتقل ہو رہی ہیں۔ اور ان میں سے کچھ آپ کے حوالہ کے لیے ذیل میں درج کیے گئے ہیں۔
#1) API پر مبنی ایپلی کیشنز روایتی ایپلی کیشنز/سافٹ ویئر کے مقابلے میں زیادہ توسیع پذیر ہیں۔ کوڈ ڈویلپمنٹ کی شرح تیز ہے اور وہی API بغیر کسی بڑے کوڈ یا انفراسٹرکچرل تبدیلیوں کے مزید درخواستوں کی خدمت کر سکتا ہے۔
#2) ڈویلپمنٹ ٹیموں کو ہر شروع سے کوڈنگ شروع کرنے کی ضرورت نہیں ہے۔ جب وہ ایک خصوصیت یا ایپلیکیشن تیار کرنے پر کام کرنا شروع کرتے ہیں۔ APIs اکثر موجودہ، دہرائے جانے والے فنکشنز، لائبریریوں، ذخیرہ شدہ طریقہ کار وغیرہ کو دوبارہ استعمال کرتے ہیں اور اس وجہ سے یہ عمل انہیں مجموعی طور پر زیادہ نتیجہ خیز بنا سکتا ہے۔
مثال کے طور پر، اگر آپ ایک ڈویلپر ہیں ای کامرس ویب سائٹ اور آپ ایمیزون کو ادائیگی کے پروسیسر کے طور پر شامل کرنا چاہتے ہیں – پھر آپ کو شروع سے کوڈ لکھنے کی ضرورت نہیں ہے۔
آپ کو بس اپنی ویب سائٹ اور ایمیزون API کے درمیان انضمام قائم کرنے کی ضرورت ہے۔ چیک آؤٹ کے دوران ادائیگیوں پر کارروائی کے لیے انٹیگریشن کیز اور Amazon API کو کال کریں۔
#3) APIs اجازت دیتے ہیں۔دوسرے سسٹمز کے ساتھ آسان انضمام دونوں معاون اسٹینڈ اپلی کیشنز کے ساتھ ساتھ API پر مبنی سافٹ ویئر پروڈکٹس کے ساتھ۔
مثال کے طور پر ، آئیے غور کریں کہ آپ ٹورنٹو سے نیو یارک کے لیے کھیپ بھیجنا چاہتے ہیں۔ . آپ آن لائن جاتے ہیں، فریٹ یا لاجسٹکس کی ایک اچھی ویب سائٹ پر جائیں اور مطلوبہ معلومات درج کریں۔
لازمی معلومات فراہم کرنے کے بعد، جب آپ گیٹ ریٹس بٹن پر کلک کرتے ہیں - پچھلے آخر میں، یہ لاجسٹکس ویب سائٹ منسلک ہو سکتی ہے۔ متعدد کیریئر اور سروس فراہم کرنے والے APIs اور ایپلی کیشنز کے ساتھ مقامات کے اصل سے منزل تک کے امتزاج کے لیے متحرک شرحیں حاصل کرنے کے لیے۔
API ٹیسٹنگ کا مکمل سپیکٹرم
APIs کی جانچ صرف درخواست بھیجنے تک محدود نہیں ہے۔ API میں اور صرف درستگی کے لیے جواب کا تجزیہ کرنا۔ APIs کو کمزوریوں کے لیے مختلف بوجھ کے تحت ان کی کارکردگی کے لیے جانچنے کی ضرورت ہے۔
آئیے اس پر تفصیل سے بات کرتے ہیں۔
(i) فنکشنل ٹیسٹنگ
GUI انٹرفیس کی کمی کی وجہ سے فنکشنل ٹیسٹنگ ایک مشکل کام ہو سکتا ہے۔
آئیے دیکھتے ہیں کہ APIs کے لیے فنکشنل ٹیسٹنگ کا طریقہ GUI پر مبنی ایپلیکیشن سے کس طرح مختلف ہے اور ہم اس کے ارد گرد کچھ مثالوں پر بھی بات کریں گے۔
a) سب سے واضح فرق یہ ہے کہ بات چیت کرنے کے لیے کوئی GUI نہیں ہے۔ ٹیسٹ کرنے والے جو عام طور پر GUI پر مبنی فنکشنل ٹیسٹنگ کرتے ہیں جب اس کے مقابلے میں غیر GUI ایپلیکیشن ٹیسٹنگ میں منتقل ہونا تھوڑا مشکل ہوتا ہے۔کوئی ایسا شخص جو پہلے سے ہی اس سے واقف ہو۔
ابتدائی طور پر، اس سے پہلے کہ آپ API کی جانچ شروع کریں، آپ کو خود تصدیق کے عمل کی جانچ اور تصدیق کرنی ہوگی۔ توثیق کا طریقہ ایک API سے دوسرے API میں مختلف ہوگا اور اس میں تصدیق کے لیے کسی قسم کی کلید یا ٹوکن شامل ہوگا۔
اگر آپ API سے کامیابی سے جڑنے سے قاصر ہیں، تو مزید جانچ آگے نہیں بڑھ سکتی۔ اس عمل کو معیاری ایپلی کیشنز میں صارف کی توثیق سے موازنہ کیا جا سکتا ہے جہاں آپ کو لاگ ان کرنے اور ایپلیکیشن استعمال کرنے کے لیے درست اسناد کی ضرورت ہوتی ہے۔
b) فیلڈ کی توثیق یا ان پٹ ڈیٹا کی توثیق کی جانچ بہت اہم ہے۔ APIs کی جانچ کے دوران۔ اگر ایک حقیقی فارم پر مبنی (GUI) انٹرفیس دستیاب تھا، تو فیلڈ کی توثیق کو سامنے والے یا پچھلے سرے پر لاگو کیا جا سکتا ہے، اس طرح یہ یقینی بنایا جا سکتا ہے کہ صارف کو غلط فیلڈ ویلیوز داخل کرنے کی اجازت نہیں ہے۔
مثال کے طور پر، اگر کسی درخواست کو DD/MM/YYYY ہونے کی تاریخ کا فارمیٹ درکار ہے، تو ہم معلومات جمع کرنے والے فارم پر اس توثیق کا اطلاق کر سکتے ہیں تاکہ یہ یقینی بنایا جا سکے کہ درخواست ایک درست تاریخ وصول کر رہی ہے اور اس پر کارروائی کر رہی ہے۔
تاہم، یہ API ایپلیکیشنز کے لیے ایک جیسا نہیں ہے۔ ہمیں اس بات کو یقینی بنانے کی ضرورت ہے کہ API اچھی طرح سے لکھا ہوا ہے اور ان تمام توثیقوں کو نافذ کرنے کے قابل ہے، درست اور غلط ڈیٹا میں فرق کر سکتا ہے اور جواب کے ذریعے حتمی صارف کو اسٹیٹس کوڈ اور توثیق کی غلطی کا پیغام واپس کر سکتا ہے۔
c) جانچنا