ব্ল্যাক বক্স বা হোয়াইট বক্স টেস্টিং - আপনি প্রথমে কোনটি করেন?


14

খুব ছোট একটি দলে যেখানে ব্ল্যাক বক্স এবং সাদা বাক্সের পরীক্ষা একই ব্যক্তি দ্বারা করা হয়, সেখানে পরীক্ষককে প্রথমে কোনটি করা উচিত?


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

উত্তর:


11

যাই হোক না কেন সবচেয়ে সঠিক হতে হবে।

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

ব্ল্যাক-বক্স টেস্টিং (অর্থাৎ ব্যবহারকারী / সিস্টেম ইন্টারফেসের মাধ্যমে পরীক্ষা করা) সাধারণত বেশিরভাগ পরীক্ষকরা যা করেন।

সমাপ্ত পণ্যটির জন্য কোনও ফাংশনটি কতটা সমালোচনামূলক তা নিয়ে সমস্ত পরীক্ষার অগ্রাধিকার দেওয়া দরকার। মিশনটি যদি এক্স করার কোনও সরঞ্জাম সরবরাহ করে এবং পণ্যটি এক্স না করে, তবে এটি একটি বড় সমস্যা।


1
ভাল বলেছেন, সেরা উত্তর আমি এ পর্যন্ত পড়েছি।
ক্রিস

5

কালো

বৈশিষ্ট্যগুলি যাচাই করতে ব্ল্যাক-বাক্সের পরীক্ষা। প্রয়োজনীয় জিনিসগুলি ভাঙলে হোয়াইট-বক্সের পরীক্ষা করা testing যদি সমস্ত ব্ল্যাক-বক্সের পরীক্ষা পাস হয় এবং কভারেজটি ভাল হয়, তবে সাদা-বাক্স পরীক্ষা অপ্রয়োজনীয়।


2
অবশ্যই, যদি না ব্ল্যাক বক্সের পরীক্ষাগুলি কার্যকারিতা বা কনফিগারেশনের মূল অংশটি পরীক্ষা করে মিস করে:}
অ্যালান

3
@ অ্যালান: একই যুক্তি হোয়াইট-বক্স টেস্টিংয়ের ক্ষেত্রে প্রযোজ্য, সুতরাং 'কভারেজ ভাল' ক্যাভ্যাট
স্টিভেন এ। লো

1
সম্মত - আমার ধারণা আমার বক্তব্যটি আপনার ভাল কভারেজের সংজ্ঞা নির্ভর করে।
অ্যালান

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

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

3

কালো বাক্স.

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


2
আমি নিশ্চিত না যে আপনি "ব্ল্যাক বক্স উপাদানগুলি" এবং "সাদা বাক্সের উপাদানগুলি" দ্বারা কী বোঝাচ্ছেন - আমার কাছে তারা কেবল "উপাদান" (এটি অন্তর্নিহিত কোড বা আর্কিটেকচারের সাথে বা অজানা পরীক্ষা করা যেতে পারে।
অ্যালান

আপনি যে "নির্ভরশীল" সম্পর্কটি এখানে প্রস্তাব করছেন তা আমি বুঝতে পারি না। সাদা কালো এবং কালো বাক্স উপাদান নয়, অ্যালান যেমন উল্লেখ করেছে তেমন কোনও উপাদান পরীক্ষার শৈলী। পার্থক্যটি প্রশ্নের মধ্যে উপাদানটি পরীক্ষা করার জন্য নেওয়া পদ্ধতির মধ্যে।
ক্রিস

2

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


2

আপনি যদি একটি ভাল পরীক্ষার চক্র রাখতে চান তবে আপনার পৃথক লোক উভয়কেই করা উচিত :

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

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

আপনার প্রশ্নের উত্তর দেওয়ার জন্য প্রথমে হোয়াইট-বক্সের পরীক্ষা করা উচিত। তবে আপনি যদি কার্যকর হতে চান তবে আপনার অন্য কোনও ব্যক্তির ব্ল্যাক বক্স টেস্টিং করা দরকার।


1

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

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


1

আমি প্রথমে ব্ল্যাক বক্স টেস্টিং বলব , কেবলমাত্র টিডিডির প্রবক্তা হিসাবে, কোডগুলি (বা বক্স) যেভাবেই থাকুক না কেন পরীক্ষাগুলি লেখা হয় :)

ডিবাগিং মানসিকতায় হোয়াইট বক্স টেস্টিং (যতদূর আমি বুঝতে পারি) আরও কার্যকর।


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

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

1

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

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


0

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

আমার লক্ষ্য হ'ল ভাল পরীক্ষা লেখার দিকে মনোনিবেশ করা, এবং কোন রঙটি প্রথমে লিখতে হবে তা নয়।


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

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

0

প্রথমে এটি সাদা বক্স টেস্টিং করুন

দ্বিতীয়টি ব্ল্যাক বক্স পরীক্ষার জন্য যান।

> ব্ল্যাক বক্স টেস্টিং

I. পরীক্ষককে অ্যাপ্লিকেশনটির কার্যকরী চেক করা উচিত, যেমন পাঠ্য বাক্স, রেডিও বোতাম, তালিকা বাক্স, কমান্ড বোতাম, ... ইত্যাদি ,,

২। পরীক্ষককে অ্যাপ্লিকেশনটির অ কার্যক্ষম, যেমন লোগো, চিত্র, বানান, ইত্যাদি পরীক্ষা করা উচিত ,,

তৃতীয়। পরীক্ষকটির প্রয়োগের পুরো প্রবাহ পরীক্ষা করা উচিত।

দ্রষ্টব্য: ইতিবাচক এবং নেতিবাচক শর্তগুলি পরীক্ষা করতে।

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