কিউএ স্টাফরা ক্যাচিং যুক্তি যা তারা দেখতে পাচ্ছেন না তা পরীক্ষা করতে পারে?


33

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

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

তবে কেউ কি এই পরিস্থিতির জন্য আরও ভাল কিছু অনুশীলনের পরামর্শ দিতে পারেন?




5
আমি সারাদিন পারফরম্যান্সে কাজ করি এবং "QA আপনার পরিবর্তন কীভাবে পরীক্ষা করতে পারে?" আমি ক্রমাগত জিজ্ঞাসা করা হয় একটি প্রশ্ন।
ব্র্যান্ডন

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

উত্তর:


37

একটি প্রশ্ন হ'ল ক্যাশে নিজেই সত্যিই এমন একটি প্রয়োজনীয়তা যা কিউএ দ্বারা পরীক্ষা করা উচিত। ক্যাচিং কর্মক্ষমতা উন্নত করে, যাতে তারা কিছু প্রয়োজনীয়তা পূরণ করে তা নিশ্চিত করতে পারফরম্যান্সের পার্থক্যটি পরীক্ষা করতে পারে।

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

আপনার পদ্ধতির ব্যবহার খুব সুন্দর। এর মধ্যে যদি কোনও স্বয়ংক্রিয় পরীক্ষায় আবৃত থাকে যা ফলাফলগুলি পরীক্ষা করে, তবে কারও উত্তর খোঁজার জন্য লগের মাধ্যমে খোঁজ করতে হবে না।


ক্যাশিংয়ের পরিবর্তে পরীক্ষার পারফরম্যান্সের জন্য +1। কোন ব্যবসায়িক মূল্য নিজস্বভাবে ক্যাশে হচ্ছে? (কোনটি নয়।) অবশ্যই আপনি কোনও কিছুর উপর লক্ষণীয় প্রভাবের দিকে কাজ করছেন - অন্যথায় কেন আপনি এটি প্রয়োগে সময় ব্যয় করবেন? যে প্রভাব জন্য পরীক্ষা।
আলেকজানবার্ড

74

আপনি একটি ক্যাশে প্রয়োগ করেছেন (আমি ধরে নিই) কারণ সিস্টেমটি যথেষ্ট পরিমাণে কার্যকর করছে না। এটি এমন কিছু যা ব্যবহারকারীর জন্য প্রাসঙ্গিক। এখানে QA যে জিনিসগুলি পরীক্ষা করতে পারে তা এখানে:

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

মনে রাখবেন, ব্যবহারকারীরা (এবং, এক্সটেনশন দ্বারা, কিউ) আপনি কীভাবে কোনও সমস্যার সমাধান করেছেন তা বিবেচনা করে না । তারা কেবল যত্ন করে যে সমস্যাটি সমাধান হয়েছে এবং নতুন সমস্যা তৈরি করে না। এটি সত্য যে আপনি ক্যাশে প্রয়োগ করেছেন, স্ট্রিং পার্সিং উন্নত করেছেন, একটি হার্ডওয়্যার আপগ্রেড করেছেন বা সার্ভারে যাদু পরী ধুলা ছিটিয়েছেন whether


1
আপনি যে সমস্যার সমাধান করবেন তা QA কী আগ্রহী সে সম্পর্কে খুব সরল দৃষ্টিভঙ্গি যা QA যত্নশীল করে না তা উল্লেখ করে তারা উল্লেখ করে যে- আপনি আসলে কার্যকারিতা উন্নত করেছেন, অতিরিক্ত প্রযুক্তিগত debtণ, ঝুঁকি, বা ত্রুটি ইত্যাদি প্রবর্তন করেছেন কিনা সে সম্পর্কে তারা যত্নশীল
এরিক

4
@ এরিক সফ্টওয়্যার বিকাশে, গ্রুপ হিসাবে "কিউএ" সাধারণত বিকাশকারী / ইঞ্জিনিয়ারদের বোঝায় না। প্রযুক্তিগত debtণ একটি বিকাশকারী / ইঞ্জিনিয়ার উদ্বেগ (এবং এটি একটি ব্যবস্থাপনা উদ্বেগ যেহেতু এটি টাইমলাইন, ব্যয় ইত্যাদি প্রভাবিত করতে পারে)। একই ঝুঁকি সত্য। কিউএর কাজটি নিশ্চিত করে দেওয়া যে সফ্টওয়্যারটি প্রয়োজনীয়তাগুলি পূরণ করে (এবং সম্ভবত ঘটনাক্রমে প্রয়োজনীয়তাগুলি অপ্রত্যাশিতভাবে প্রবাহিত করার ক্ষেত্রে সহায়তা করে) এটি অস্পষ্ট ছিল। যদি তারা বাস্তবায়নের বিষয়ে আদৌ যত্ন করে তবে এটি কেবল সিস্টেমটি ভেঙে দেওয়ার সৃজনশীল উপায়গুলি আবিষ্কার করার মাধ্যম হিসাবে হওয়া উচিত।
jpmc26

3
@ এরিক আমি কিছুই বিভ্রান্ত করছি। "QA তে" নেই সফ্টওয়্যার পরীক্ষকগণ পড়ুন। আপনি এই শব্দটি এত বিস্তৃতভাবে ব্যাখ্যা করছেন যে এতে সফটওয়্যারটির অংশটি বিকাশকারী পুরো সংস্থা এবং এমনকী ক্লায়েন্টকে অন্তর্ভুক্ত করা উচিত যদি এটির জন্য একটি সিস্টেম তৈরি করা কাস্টম থাকে, যেহেতু প্রত্যেকের মানের একটি হাত রয়েছে।
jpmc26

1
@ এরিক দয়া করে ভাষা এবং শব্দার্থবিজ্ঞান আপনার সাথে কীভাবে কাজ করে তা সম্পর্কে আমাকে তর্ক করবেন না। আমি আপনাকে এই স্ট্যাক এক্সচেঞ্জে 5 টি উদাহরণ খুঁজে বার করতে চ্যালেঞ্জ জানাই যেখানে 30 মিনিটেরও কম সময়ে এই শব্দটি ব্যবহৃত হয়। তদুপরি, এই সংজ্ঞা অনুসারে, পণ্যটির বাইরেও সমস্যাগুলির সমাধানের জন্য আলাদা আলাদা কিউএ গ্রুপ সবচেয়ে ভাল করতে পারে তা হ'ল নীতি এবং প্রক্রিয়া যখন ভাল পণ্য তৈরির উপরে উন্নীত হয়, আপনি সাধারণত খারাপ পণ্যগুলি দিয়ে শেষ করেন। এছাড়াও, আমি আপনাকে নিশ্চয়তা দিতে পারি যে আমি "কিউএ" লোকদের সাথে সর্বাধিক স্পষ্টভাবে কাজ করি তারা পরীক্ষক, এবং আমার বিকাশ প্রক্রিয়া সম্পর্কে খুব কমই বলেছে।
jpmc26

4
@ এরিক: আরও একচ্ছত্র দৃষ্টিভঙ্গি সম্পর্কে "কিউএ" সংজ্ঞায়িত করার জন্য কোনও সংস্থা বা লোকের গ্রুপকে থামানোর কিছুই নেই। যাইহোক, আমার অভিজ্ঞতায় (5 খুব আলাদা আলাদা কোম্পানির জুড়ে) নাম অনুসারে QA পর্যায় - এবং যারা এতে বিশেষজ্ঞ হন - সফ্টওয়্যার বিকাশে সাধারণত সিস্টেমের আচরণের ব্ল্যাক-বাক্স পরীক্ষায় মনোনিবেশ করা হয়। যদিও বৃহত্তর মানের সমস্যা সম্পর্কিত বিশেষজ্ঞ কোণগুলি কাভার করার জন্য আমাদের কাছে "গুণমান নিয়ন্ত্রণ", "কোয়ালাইট" এবং আরও অনেক বেশি উদ্ভাবিত নাম থাকতে পারে।
নিল স্লেটার

3

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

ক্যাশের সাথে একটি বিকল্প হ'ল একটি বিশেষ পৃষ্ঠা প্রকাশ করা যা ক্যাশে (বিষয়বস্তু, রাজ্য, ইত্যাদি) সম্পর্কে কিছু বিশদ দেয়। এটি বিকাশে এবং সম্ভাব্য উত্পাদনে ডিবাগিংয়ে সহায়তা করতে পারে। ক্যাশটির প্রত্যাশিত আচরণটি কী তা সম্পর্কে যদি তাদের বিবরণ দেওয়া হয় তবে QA এই ক্যাশেটির জন্য পরীক্ষার কেসগুলি তৈরি করতে এই পৃষ্ঠাটি ব্যবহার করতে পারে। পারফরম্যান্স কাউন্টার এবং / অথবা লগ ফাইলগুলি ক্যাশে আচরণের স্পষ্টভাবে ডকুমেন্ট করার জন্য ব্যবহার করা অন্য কম দৃশ্যমান তবে কার্যকর উপায়।

নোট করুন যে এই পদ্ধতির শেষ থেকে শেষের পারফরম্যান্স পরীক্ষার বিকল্প নয় not ক্যাশে নিজেই সঠিকভাবে আচরণ করে তা নিশ্চিত করার জন্য এটি একটি প্রক্রিয়া। পারফরম্যান্স টেস্টিংটি নির্ধারণ করতে ব্যবহার করা উচিত যে ক্যাশে পারফরম্যান্সে অভিপ্রায়যুক্ত প্রভাব ফেলেছে কিনা।

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


3

টেস্ট পারফরম্যান্স, অ্যান্ডির উত্তরে নির্দেশিত হিসাবে।

আমি দেখতে পেয়েছি যে অনেক সংস্থায় ক্যাচিং (এবং পারফরম্যান্স) বাস্তবায়নের ক্ষেত্রে সবচেয়ে বড় বাধা আসলে এমন একটি পরিবেশ তৈরি করে যেখানে আপনি ভাল পারফরম্যান্স পরীক্ষা করতে পারেন এবং বিভিন্ন বাস্তব ওয়ার্ল্ড লোড এবং পারফরম্যান্স পরীক্ষার জন্য পরীক্ষা চালাতে পারেন।

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

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

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

স্পষ্ট করা

  • বেস লাইন পারফরম্যান্স টেস্টিং এক সময় অনুরোধ করার সময় পরীক্ষা করার জন্য।
  • লোড টেস্টিং পারফরম্যান্স টেস্টিংয়ের সমান, তবে সিস্টেম অন্যান্য অনুরোধগুলি থেকে লোডের নিচে থাকা অবস্থায় প্রতিক্রিয়া দেখায়।

আপনি নীচের লিঙ্কগুলি সহায়কও পেতে পারেন:


2

পরীক্ষকদের সার্ভারগুলি পুনরায় বুট করার জন্য এবং তাদের প্রবেশ করা ডেটা এখনও আছে কিনা তা পরীক্ষা করে দেখুন Remember আমি এমন একটি সিস্টেম দেখেছি যার অনেক লোককে কয়েক মাস পরীক্ষার ব্যবস্থা করা হয়েছিল, যখন এটি করা হয়েছিল তখন ব্যর্থ হয়!

পরীক্ষা hardest অংশ কিন্তু তথ্য আপডেট করা হয়, সেখানে যে কখনও ক্যাশে থেকে ফিরে কোন আউট-অফ-ডেট ফলাফল নেই।

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


1

প্রকৃতপক্ষে এটির একটি খুব সহজ উত্তর রয়েছে এবং এটি ক্যাশিংয়ের স্তরের সাথে সম্পর্কিত। ক্যাচিং সঠিক হওয়ার সময় আপনি যা পর্যবেক্ষণ করবেন তা হ'ল অনুরোধগুলির লক্ষ্যবস্তুতে অনুরোধগুলির অনুপস্থিতি। সুতরাং, এটি "প্রত্যাশিত ফলাফল" এর হ্যাকনেইড কিউএ বাক্যাংশে নেমে আসে।

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

ইত্যাদি ...


0

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


0

ক্যাচিং লজিক এমন একটি বিষয় যা বিকাশকারী দ্বারা ইউনিট পরীক্ষা করা উচিত কারণ QA প্রধানত ব্ল্যাক-বাক্স পরীক্ষা করে।

কিউএ কেবলমাত্র পারফরম্যান্সের দিকগুলি বা আপনি যেভাবে ঠিক করেন তা নির্ধারণ করবে, আপনি ক্যাচিং সক্ষম / অক্ষম করার জন্য একটি পদ্ধতি বা আপনার পারফরম্যান্সের উন্নতি করতে যে কোনও প্রক্রিয়া ব্যবহার করেছেন তা QA সরবরাহ করতে পারবেন এবং তারপরে তারা পারফরম্যান্সের পার্থক্য যাচাই করতে পারবেন। অবশ্যই কিউএ আপনার পারফরম্যান্স-উন্নতগুলির বিরুদ্ধে কেবল একটি পুরানো প্রকাশকে যাচাই করতে পারে।


-4

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


3
আপনি কী বলছেন বা আপনার উত্তর যা বলেছিল তা পূর্বের সাতটি উত্তরের নয় বলে আমি বুঝতে পেরেছি তা সম্পর্কে আমি নিশ্চিত নই।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.