আমি কীভাবে একটি ওয়েব ফর্ম সাইট পরীক্ষা করতে পারি? এটি আমার কাছে মনে হয় যে এটির অনেকাংশ রাষ্ট্র এবং ব্যবহারকারী ইনপুটের উপর নির্ভর করে এটি সম্ভব হয় না as
যদি এটি সম্ভব না হয় তবে কোনও বৈধ স্বয়ংক্রিয় বিকল্প আছে কি?
আমি কীভাবে একটি ওয়েব ফর্ম সাইট পরীক্ষা করতে পারি? এটি আমার কাছে মনে হয় যে এটির অনেকাংশ রাষ্ট্র এবং ব্যবহারকারী ইনপুটের উপর নির্ভর করে এটি সম্ভব হয় না as
যদি এটি সম্ভব না হয় তবে কোনও বৈধ স্বয়ংক্রিয় বিকল্প আছে কি?
উত্তর:
হ্যা, তুমি পারো. আপনার উদ্বেগগুলি ভালভাবে আলাদা করার জন্য আপনাকে অবশ্যই যত্নবান হতে হবে। সংক্ষেপে, আপনার কোডটি পিছনে থেকে আপনার সমস্ত যুক্তি সরিয়ে অন্য ক্লাসে রাখতে হবে।
এটি করার দুটি সাধারণ উপায় রয়েছে।
সহজ উপায় হ'ল "সিস্টেম আমাকে কী তথ্য দেয়? পৃষ্ঠায় আমার কী তথ্য বর্ধন করতে হবে?" এর পদক্ষেপে আপনার ইভেন্টের সমস্ত হ্যান্ডলারদের পুনর্বিবেচনা করা? এবং তারপরে একটি পরিষেবা শ্রেণি সরবরাহ করে যা সেই রূপান্তরটি করে।
এই ক্ষেত্রে, পরিষেবা স্তরটি আপনার উপস্থাপনা স্তরের প্রকৃতি সম্পর্কে খুব কমই জানতে হবে। আপনাকে এখনও পরিষেবা থেকে ফিরে আসা ডেটা নিতে হবে এবং আপনার কোড-পেছনে ওয়েবফোর্মের সঠিক উপাদানগুলি তৈরি করতে হবে এবং এটি অনির্ধারিত থেকে যায় (কমপক্ষে ইউনিট পরীক্ষার মাধ্যমে আপনি এখনও ইন্টিগ্রেশন টেস্ট নিয়োগ করতে পারেন)। তবে এটি খুব কমই কোড যেখানে ভুল হয়, যুক্তিতে এটি ব্যর্থ হওয়ার সম্ভাবনা অনেক বেশি।
আরও জটিল, তবে আরও কার্যকর উপায় হ'ল মডেল ভিউ উপস্থাপক প্যাটার্নটি ব্যবহার করা । আমরা যখন এটি চেষ্টা করেছি, আমরা দেখতে পেলাম যে উপস্থাপকরা খুব দ্রুত কাঠামোর সাথে মিলিত হয়ে গিয়েছিলেন এবং এমভিপির যত বেশি বিকাশ করেছেন, তত বেশি স্পষ্ট হয়েছিল যে এমভিপি সত্যই এমভিসি হতে চেয়েছিল তবে হতে পারে নি।
এটি বলেছিল, অন্যরা এটি খুব সফলভাবে করে ফেলেছে - ভারী উত্তোলন অপসারণ করতে এমন একটি ওয়েবফর্মসএমভিপি ফ্রেমওয়ার্ক রয়েছে - যাতে আপনার মাইলেজটি আলাদা হতে পারে।
একদম স্পষ্টতই, একটি সম্পূর্ণ ওয়েব ফর্ম পৃষ্ঠা কোনও ইউনিট নয় এবং সুতরাং ইউনিট পরীক্ষা করা যায় না। তবে, অটোমেটেড পরীক্ষার জন্য আপনি করতে পারেন এমন কিছু জিনিস রয়েছে:
প্রশ্নের "ইউনিট" হারিয়ে যাওয়ার জন্য আমি দুঃখিত ...
প্রথম প্রান্ত থেকে পরীক্ষার জন্য সেলেনিয়াম এইচকিউ আপনার বন্ধু। এটি কোনও ইউনিট পরীক্ষা নয়, আরও একটি ব্ল্যাক বক্স পরীক্ষার মতো। আপনার এখনও বৈধ পরীক্ষার কেসগুলি নিয়ে ভাবতে হবে ...
অভিজ্ঞতা থেকে কথা বলা: কেবলমাত্র যদি এটি সঠিকভাবে করা হয়। "ডান" দ্বারা আমি সর্বনিম্ন কোড-পেছন এবং ওয়েব ফর্মটিকে "বোবা" বানানোর জন্য উপরে উল্লিখিত মডেল-ভিউ-উপস্থাপকের মতো কিছু বোঝাতে চাইছি। এটি সাধারণত ব্রাউনফিল্ড অ্যাপ্লিকেশনগুলির সাথে খুব কঠিন বলে প্রমাণিত হয় কারণ এটি এটিকে মাথায় রেখে তৈরি করা হয়নি এবং এটি ব্যবহার করার জন্য পৃষ্ঠাগুলি পুনঃঅ্যাক্টর / পুনর্লিখনের নিকট-হারকিউলিয়ান প্রচেষ্টা।
আমি দেখতে পাই ইউনিট ওয়েব টেস্টগুলি অত্যন্ত কার্যকর, এমনকি যদি এটি কেবল একটি রিগ্রেশন বাগ সম্পর্কে বা নতুন প্রকল্পগুলির জন্য সাধারণ ধারণা দেওয়া হয়।
রাজ্যের বিষয় হিসাবে, আপনি আপনার ইউনিট পরীক্ষাগুলি তৈরি করেন যেমন আপনি নন-ইউআই পরীক্ষার সাথে করেন - তারা পরীক্ষার শুরুতে ডাটাবেস সাফ করে দেয় এবং স্টার্ট স্টেট ব্যতীত আর কিছু না রাখার জন্য ডাটাবেসটিকে পুনর্নির্মাণ করে। প্রতিটি ইউনিট পরীক্ষা তারপরে একটি একক পৃষ্ঠা, বা একটি পৃষ্ঠায় সাধারণত একটি স্বতন্ত্র কাজকে encapsulates করে।
http://watin.org/ অন্য একটি ওয়েব পরীক্ষার সরঞ্জাম তবে সি # /। নেট এর জন্য। আপনি ইউনিট পরীক্ষা হিসাবে পরীক্ষা লিখুন:
[Test]
public void SearchForWatiNOnGoogle()
{
using (var browser = new IE("http://www.google.com"))
{
browser.TextField(Find.ByName("q")).TypeText("WatiN");
browser.Button(Find.ByName("btnG")).Click();
Assert.IsTrue(browser.ContainsText("WatiN"));
}
}
এটি বর্তমানে IE ভিত্তিক তবে ফায়ারফক্স এবং ক্রোমের জন্য কিছু পরীক্ষামূলক সহায়তা রয়েছে। জাভাস্ক্রিপ্ট ইন্টারঅ্যাকশন সহ ম্যানুয়াল পরীক্ষায় আপনি যা কিছু করতে চান তা আপনি স্বয়ংক্রিয়ভাবে করতে পারেন।
আপনি কোনও ওয়েব সাইটের সত্যই ইউনিট পরীক্ষা করতে পারবেন না, কেবল কারণ তারের মাধ্যমে ওয়েব অনুরোধগুলি ঘটে (বা একটি টিসিপি স্ট্যাকের মাধ্যমে)। সুতরাং, পরীক্ষাগুলি "ইউনিট পরীক্ষা" এর সংজ্ঞা অনুসারে মাপসই হয় না, তারা সম্ভবত শেষ থেকে শেষের পরীক্ষা হবে।
এই ধরণের পরীক্ষার জন্য, আপনি সেলেনিয়ামের মতো স্যুট ব্যবহার করতে পারেন যা পর্দার আড়ালে একটি ওয়েব ব্রাউজার চালায়। সতর্কতার একটি শব্দ যদিও: সাধারণত এই ধরণের পরীক্ষা করা খুব কঠিন এবং অবিশ্বাস্য, কারণ অনেকগুলি চলমান অংশ রয়েছে!
আরও মজার বিষয় যদিও এটি আপনাকে কিছুটা উদ্বেগ করছে কেন আপনার ওয়েব ফর্মটি কেন পরীক্ষা করা প্রয়োজন । আপনি কি পিছনে কোডটিতে খুব বেশি যুক্তি রাখছেন না, এবং কোনও সুযোগে রক্তাল্পিক ব্যবসার যুক্তি রেখেছেন?
গত ৫ বছরে জেসমিন ফ্রন্ট-এন্ড ইউনিট পরীক্ষার মূল সরঞ্জাম হিসাবে আত্মপ্রকাশ করেছে। এটি প্রায়শই নোড এবং এনপিএম সহ স্বয়ংক্রিয় বিল্ড পরীক্ষায় অন্তর্ভুক্ত হয়
প্রতি https://en.wikedia.org/wiki/Jasmine_( জাভাস্ক্রিপ্ট_প্রেমীকরণ_ফ্রেমওয়ার্ক) :
জুঁই জাভাস্ক্রিপ্টের জন্য একটি মুক্ত উত্স পরীক্ষার কাঠামো [[2] এর উদ্দেশ্যটি কোনও জাভাস্ক্রিপ্ট-সক্ষম সক্ষম প্ল্যাটফর্মে চালানো, অ্যাপ্লিকেশনটি বা আইডিইতে অনুপ্রবেশ না করা এবং সহজেই পঠনযোগ্য বাক্য বাক্য গঠন করতে পারে। এটি অন্যান্য ইউনিট টেস্টিং ফ্রেমওয়ার্কগুলি যেমন স্ক্রুউনিত, জেএসএসপেক, জেএসপেক এবং আরএসপেক দ্বারা প্রচণ্ডভাবে প্রভাবিত হয় [[3]
জাভাস্ক্রিপ্টের সমস্ত উল্লেখ থাকা সত্ত্বেও এটি সরল ওয়েব ফর্মের ইউনিট পরীক্ষার জন্যও ব্যবহার করা যেতে পারে।
একটি এএসপি.এনইটি সাইট বিকাশ করার সময় আমরা এতে ইউনিট পরীক্ষা চালাতে সক্ষম হয়েছি:
আপনার আর্কিটেকচারের উপর নির্ভর করে এই সবগুলি টিডিডি করা সম্ভব। আপনি যা পরীক্ষা করতে পারবেন না তা হ'ল মার্কআপ ফাইলের বিন্যাস।