রিগ্রেশন টেস্টিং ওয়ার্ডপ্রেস ওয়েবসাইটগুলির জন্য সেরা অনুশীলনগুলি?


22

হাই সব,

আমি কী শুনতে চাই যে অন্যরা যারা ওয়ার্ডপ্রেসের সাথে ক্লায়েন্টগুলিকে জটিল অ-ব্লগ সমাধানগুলি প্ল্যাটফর্ম হিসাবে সরবরাহ করে যা তারা স্বয়ংক্রিয় রেগ্রেশন পরীক্ষার জন্য ব্যবহার করছে ?

"রিগ্রেশন টেস্টিং" শব্দটির সাথে পরিচিত নয় তাদের জন্য উইকিপিডিয়া এটি সংজ্ঞায়িত করে:

রিগ্রেশন টেস্টিং হ'ল ধরণের সফ্টওয়্যার টেস্টিং যা প্রোগ্রামে পরিবর্তনগুলির পরে সফ্টওয়্যার ত্রুটিগুলি উদঘাটন করতে চায় (যেমন: বাগফিক্স বা নতুন কার্যকারিতা) প্রোগ্রামটি পুনরায় পরীক্ষা করে। রিগ্রেশন টেস্টিংয়ের উদ্দেশ্যটি নিশ্চিত করা হয় যে কোনও বাগ-ফিক্সের মতো কোনও নতুন বাগ প্রবর্তন করেনি।

উইকিপিডিয়া আরও বলছে যে নীচে নিম্নলিখিতটি হ'ল আমি এখনই একটি প্রকল্পে ঠিক যা अनुभव করছি:

অভিজ্ঞতা দেখিয়েছে যে সফ্টওয়্যার স্থির হয়ে যাওয়ার সাথে সাথে নতুন এবং / বা পুরাতন ত্রুটিগুলির পুনর্বার উত্থান বেশ সাধারণ। কখনও কখনও পুনঃস্রাব ঘটে কারণ দুর্বল সংশোধন নিয়ন্ত্রণ অনুশীলনগুলির (বা পুনর্বিবেশন নিয়ন্ত্রণে সাধারণ মানুষের ত্রুটি) এর মাধ্যমে একটি ফিক্স হারিয়ে যায়। প্রায়শই, সমস্যার সংশোধনটি "ভঙ্গুর" হতে পারে কারণ এটি সংকীর্ণ ক্ষেত্রে যেখানে সমস্যাটি প্রথম দেখা হয়েছিল সেখানে সমাধান করা হয়েছে তবে সফ্টওয়্যারটির জীবদ্দশায় দেখা দিতে পারে এমন সাধারণ ক্ষেত্রে নয়। প্রায়শই, একটি অঞ্চলে সমস্যার সমাধানের কারণে অসাবধানতাবশত অন্য অঞ্চলে একটি সফ্টওয়্যার বাগ ঘটে। অবশেষে, প্রায়শই এমনটি ঘটে যে যখন কোনও বৈশিষ্ট্যটি নতুনভাবে ডিজাইন করা হয়, তখন বৈশিষ্ট্যটির মূল বাস্তবায়নে একই রকম কিছু ভুল পুনরায় নকশায় করা হয়েছিল।

ক্রিয়াকলাপ এবং ফিল্টারগুলির বিশ্বব্যাপী প্রকৃতির সাথে আমি খুঁজে পেয়েছি যে জটিলতা র‌্যাম্পিং শুরু হয় আমি আরও ক্লায়েন্ট-অনুরোধকৃত কার্যকারিতা যুক্ত করার সাথে সাথে জটিল প্লাগইন স্থিতিশীল হওয়া শক্ত হয়ে যায়, বিশেষত যদি এটি প্রচুর কল ব্যবহার করে WP_Queryএবং ডেটাবেসকে অনেক আপডেট করে ।

আমার মনে সমাধানটি হ'ল "টেস্ট স্যুট " অন্তর্ভুক্ত করার জন্য "টেস্ট কেসগুলি" সিরিজ দিয়ে রিগ্রেশন টেস্টিং সেট করা আপনি HTTP GET অনুরোধগুলির এইচটিএমএল আউটপুট পরীক্ষা করার সময় ধারণাটি তেমন কঠিন নয়। অ্যাডমিন কনসোলের মাধ্যমে লগ ইন করার সময় এবং / অথবা jQuery মিথস্ক্রিয়া পরীক্ষা করতে যখন আপনাকে জিনিসগুলি পরীক্ষা করতে হয় তখন এটি কিছুটা জটিল হয়ে যায়।

আমি এটিকে একটি সম্প্রদায়ের উইকি হিসাবে স্থাপন করছি আশা করি আমরা এখানে সেরা অনুশীলনগুলি সংগ্রহ করতে পারি তবে অন্য কোনও ওয়ার্ডপ্রেস পেশাদাররা যদি এটি ব্যবহার করে থাকেন তবে প্রক্রিয়াগুলি শুনতে আমি সত্যিই উদগ্রীব।


আমি ধরে নিচ্ছি আপনি নিজের কোড (থিম / প্লাগিন) পরীক্ষা করার কথা বলছেন? আপনি যখন নতুন কোড তৈরি করবেন, বা আপনি যখন "পরিবেশ" (ডাব্লুপি, অন্যান্য প্লাগইন) আপডেট করবেন? অথবা উভয়? আমি মনে করি প্রো ওয়েবমাস্টাররা কীভাবে ওয়েব অ্যাপ্লিকেশনগুলি (সেলেনিয়াম এবং স্টাফ) পরীক্ষা করতে পারে সে সম্পর্কে ভাল পরামর্শ থাকতে পারে - সম্ভবত ক্রস-পোস্টিং একটি ভাল ধারণা?
জান ফ্যাব্রি

@ জন ফ্যাব্রি - হ্যাঁ, আমার নিজের কোডটি পরীক্ষা করা হচ্ছে। ক্রস পোস্টিং সম্পর্কে ভাল ধারণা, আমি শীঘ্রই এটি করব।
মাইকচিন্কেল

উত্তর:


10

পিএইচপিউনিট মনে আসবে, যদি ডাব্লুপি পরীক্ষার স্যুটটি এতটা ভাঙা না হয় এবং যদি ডাব্লুপি এমনভাবে নকশা করে এমনভাবে লেখা থাকে যাতে এটি আসলে সঠিকভাবে পরীক্ষা করা যায়। ;-)

আরও গুরুতরভাবে, আপনি আপনার প্লাগইনগুলি ইউনিট টেস্ট এবং এর মতো ক্রিয়ামূলক অবস্থান থেকে আপনার যা যা চান তা পরীক্ষা করতে পারেন। সমস্যাটি হ'ল এই পরীক্ষাগুলি গ্যারান্টি দেয় না যে তারা ডব্লিউপি আপগ্রেডগুলির দ্বারা সূচিত সূক্ষ্ম সম্ভাবনাগুলি ধরবে, একা ছেড়ে দিন যে তারা একবার কাস্টমাইজড ডাব্লুপি ইনস্টলের সাথে যুক্ত হয়ে কাজ শুরু করবে।

আমি যে রঙিন জিনিস দেখেছি তার মধ্যে:

  • ডাব্লুপিআই এপিআই-তে একটি সূক্ষ্ম পরিবর্তন আপনার প্লাগইনের কার্যকারিতাকে প্রভাবিত করে, যেমন আপনি যে টুকরো টার্মটি আইডি পেতে ব্যবহার করেন এবং এটি এখন একটি শব্দ শুল্ক আইডি পাচ্ছে। (সম্ভাবনা ভাল যে আপনার পরীক্ষার শর্তাবলী সুবিধার্থে উভয়ের জন্য একই আইডি রয়েছে)।

  • ডাব্লুপিআই এপিআইতে একটি সূক্ষ্ম পরিবর্তন খারাপ ইনপুট হিসাবে WP_Errorপূর্বে প্রত্যাশিত মানের পরিবর্তে আপনার কোনও অবজেক্ট গ্রহণ করে false

  • আপনার প্লাগইনটি মিউ-প্লাগইন ফোল্ডারের মধ্যে থেকে যুক্ত করা হয়েছে, ফলস্বরূপ বিভিন্ন কোড প্রবাহের সূচনা হয়।

  • আপনার প্লাগইনটি ম্যাকচেড না করা বা অন্য কোনও ধ্রুবক স্টোর সক্ষম না হওয়া পর্যন্ত দুর্দান্ত কাজ করেছে।

  • আপনার প্লাগইন অবহেলিত সুইচ_ টু_ব্লগ () কল না হওয়া পর্যন্ত ভাল কাজ করেছে।

  • একটি প্লাগইন হুক পরিবর্তিত হয় যা ডাকা হওয়ার সময় এটি বাস করে এবং অজান্তেই এটিকে পার্শ্ব প্রতিক্রিয়া হিসাবে বাধা দেয়।

  • একটি প্লাগইন (আন?) জেনেশুনে আপনার ইনপুট বা আউটপুট ডেটার সাথে চারপাশে মেসেজ করে যেখানে আপনার দোষ না থাকলেও জিনিসগুলি ভাঙা দেখায়।

আমি তালিকাটি বার বার প্রসারিত করতে পারি, তবে এগুলি হ'ল মূল আইটেমগুলি যা আমার নিজস্ব প্লাগইনগুলি ভেঙে দেয়। দুটি আইটেম যুক্তিযুক্তভাবে ইউনিট পরীক্ষার সাথে ধরায়যোগ্য। পরের দু'টিও যদি আপনি যথেষ্ট ধৈর্যশীল হন তবে আমি যুক্তি দিয়ে থাকব যে ডাব্লুপিপি যখন জিনিসগুলি ঘটে তখন তাদের কাজ করার পদ্ধতিটি পরিবর্তন করা উচিত নয়। সুইচ_টো_ব্লগ () এর বগি বাস্তবায়নের জন্য কোনও পরিমাণ পরীক্ষার কাজ করবে না। এবং শেষ দুটি হতাশাবোধহীন test

ওহ, এবং ... এমনকি আমাকে সংযুক্তি, অটো ড্রাফ্ট, রিভিশন, মেনু আইটেম এবং পোস্ট টেবিলের মধ্যে কী শেষ নয় তা চালানোর আক্রমণে শুরু করবেন না।

শুভকামনা ... :-)


2
সুন্দর উত্তর, আপনি যে সমস্ত বিবরণ আবরণ করেছেন তার জন্য ধন্যবাদ। FWIW আমি "ইউনিট" পরীক্ষার চেয়ে " রিগ্রেশন" পরীক্ষার জন্য আরও খুঁজছি । আমি জানি প্রচুর ওভারল্যাপ রয়েছে তবে এখনই আমার সবচেয়ে বড় সমস্যাটি ওয়েবসাইটটি ভেঙে না তা যাচাই করছে। হ্যাঁ ইউনিট পরীক্ষার মাধ্যমে একটি প্লাগইন বেশিরভাগ সমস্যার মুখোমুখি হতে পারে তবে ইউনিট পরীক্ষাগুলিতে সম্পূর্ণ কভারেজ পেতে এটি আরও অনেক বেশি সময় এবং প্রচেষ্টা নেয় (যার অর্থ সম্ভবত আমি পুরো কভারেজ পাব না) পুরো পৃষ্ঠার পরীক্ষার প্রয়োজনে খুব কম জরিমানা রয়েছে।
মাইকচিনকেলে

1
প্রকৃতপক্ষে, দ্রষ্টব্য যে নির্দিষ্ট ফ্রেমওয়ার্কগুলিতে সরঞ্জাম রয়েছে (সিমফনি 2 এবং Li3 নাম বাদে দুটি) যা একটি কল্পিত ব্রাউজার ব্যবহার করে একটি আসল সাইট পরীক্ষা করতে দেয়। প্রশ্নের মধ্যে থাকা উপাদানগুলি অন্য জিনিসের জন্য পুনরায় ব্যবহারযোগ্য। সুতরাং, আপনি আসলে আপনার সাইটের প্রশাসক স্ক্রিনগুলি পরিচালনা করতে পারেন এবং যা যা করছেন তার প্রত্যাশিত ফলাফল রয়েছে কিনা তা যাচাই করতে পারেন।
ডেনিস ডি বার্নার্ডি

7

আপনার দৃ strongly ়ভাবে সেলেনিয়াম বিবেচনা করা উচিত ।

এটি আপনাকে ক্রিয়াকলাপ রেকর্ড করতে দেয় (যেমন কোনও ফর্মের মধ্যে ডেটা প্রবেশ করানো, একটি লিঙ্কে ক্লিক করা) এবং তারপরে আপনি দৃ perform়তাগুলি সম্পাদন করতে পারেন। এটি পিএইচপিউইনাইটের সাথে সংহত করে। আমি দুই মিনিটের ডেমো পরীক্ষা করে দেখার জন্য সুপারিশ করছি।


পরামর্শের জন্য ধন্যবাদ, আমি এটি আগে শুনেছিলাম। আপনি কি আসলে ওয়ার্ডপ্রেস প্রকল্পের জন্য ব্যবহার করেছেন? উৎসুক.
মাইকচিন্কেল

হ্যাঁ। আমি যে প্লাগিনটিতে কাজ করছি তা পরীক্ষার জন্য এটি ব্যবহার করেছি। পূর্ববর্তী জীবনে, আমরা এটি ক্লিনিকাল গবেষণার জন্য ইডিসি অ্যাপ্লিকেশনগুলি পরীক্ষার জন্য ব্যবহার করেছি।
ইথান সিফার্ট

1

সেলেনিয়াম সম্ভবত ব্যবহারযোগ্য তবে আমি মনে করি যে আধুনিক যুগে আপনি কোডসেপশনকে আরও ভাল এবং সহজে ব্যবহারযোগ্য বলে খুঁজে পাবেন । সাধারণ ভিজ্যুয়াল রিগ্রেশন পরীক্ষার জন্য এটির একটি এক্সটেনশনও রয়েছে যা স্ক্রিনশট নেবে এবং স্বয়ংক্রিয়ভাবে সেগুলি আপনার জন্য তুলনা করবে।

অবশ্যই, Codeception WebDriver পরীক্ষা আরও যান এবং সম্পাদন করতে পারবেন কার্মিক রিগ্রেশন পরীক্ষা। আপনি পূরণ করতে পারেন ও ফরম জমা, সাইটে বোতাম এবং লিঙ্ক ক্লিক, চালানো কোনো জাতীয়, ইত্যাদি আপনি আপনার পরীক্ষা ফায়ারফক্স অথবা Chrome এর মত একটি বাস্তব জীবনের ব্রাউজার ব্যবহার করতে পারেন, বা আপনার সাথে হেডলেস পরীক্ষামূলক সম্পাদন করতে পারবেন PhantomJS । এর অর্থ হ'ল আপনি যদি চান তবে ট্র্যাভিস সিআই-তে এটির বিল্ড প্রক্রিয়াটির অংশ হিসাবে আপনার প্লাগইনটির জন্য ওয়েবড্রাইভার পরীক্ষাও চালাতে পারেন।

আপনাকে শুরু করতে সহায়তা করতে এখানে বেশ কয়েকটি ওয়ার্ডপ্রেস-নির্দিষ্ট গ্রন্থাগার রয়েছে:


1
সেলেনিয়াম এবং কোডসেপ একচেটিয়া নয়। আপনি সেলেনিয়াম ড্রাইভিং করতে ডাব্লুপি-ব্রাউজার ব্যবহার করতে পারেন [যা ক্রোমের মতো প্রকৃত ব্রাউজারকে চালিত করে], ফ্যান্টম [যা জেএস সমর্থন সহ একটি নন-গুই ব্রাউজার], এমনকি পিএইচপি ব্রাউজার যা একটি বোবা কার্ল ব্রাউজার [খুব দ্রুত তবে কোনও জেএস নেই)। যেমন এপিআই পরীক্ষার]। ডাব্লুপি-ব্রাউজার এগুলির যে কোনও একটি ড্রাইভ করতে পারে।
জিম মাগুয়ের
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.