এম্বেডড ডেভলপমেন্টের জন্য ইউনিট পরীক্ষা করার সময় সেরা অনুশীলন


45

এম্বেড থাকা সিস্টেমের জন্য লেখা ইউনিট টেস্টিং কোডের জন্য আমি কয়েকটি সেরা অনুশীলন কৌশল খুঁজছি। এম্বেড থাকা সিস্টেমে, আমি কোডটি বোঝাতে চাইছি যেমন ডিভাইস ড্রাইভার, আইএসআর হ্যান্ডলারগুলি, স্টাফ যা ধাতুর খুব কাছে রয়েছে।

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

হালনাগাদ

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

06 জুলাই ২০১6 আপডেট করুন

সেন্টিমোকা জুড়ে এসেছিল - মনে হয় আরও সক্রিয়ভাবে কাজ করা হয়েছে।


1
একই পরিস্থিতিতে, আমরা ক্যামকো
মওগ

উত্তর:


28

আমি যত তাড়াতাড়ি সম্ভব প্রথম ধাপে হার্ডওয়্যার নির্ভরতা থেকে দূরে থাকব এবং সমস্ত ধরণের পরীক্ষার কাঠামো সক্ষম করে সফ্টওয়্যার এমুলেশন / পরীক্ষার জোরে সিস্টেম তৈরি করব build প্রায়শই আমার বিকাশকারী পিসি প্রায় 95% বা তার বেশি সিস্টেমের পরীক্ষার জন্য ব্যবহৃত হত। অতিরিক্ত ওভারহেডের ব্যয় (বিমূর্তির অন্য স্তর) সহজেই সেই বিমূর্ততার ফলে তৈরি ক্লিনার কোডটি দিয়ে ফিরে পেল।

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

যতক্ষণ না, এটি হ'ল সম্পূর্ণ আইসিই সহ ইউনিট পরীক্ষার হার্ডওয়্যার জোতা তৈরির বাজেট আপনার রয়েছে। এটি সম্পূর্ণরূপে সূক্ষ্ম কারণ সাধারণত কার্যকরী পরীক্ষাগুলি ছোট হয়।


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

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

15

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

আপনার প্রশ্নের এই অংশটির সাথে আমি সম্পূর্ণরূপে একমত নই: "অটোমেশনটি দুর্দান্ত তবে অর্জন করা শক্ত এবং ব্যয়বহুল হবে।"

সিরিয়াল পোর্ট সিগন্যাল ইনজেক্টর হিসাবে টেরাটার্ম ব্যবহার করে এবং কিছু টেরাটার্ম ম্যাক্রোগুলি লিখতে (প্রায় 20 মিনিট সময় লাগে) সেখানে অটোমেটেড পরীক্ষার একটি বিশাল স্যুট রয়েছে যা এম্বেড থাকা সিস্টেমের যে কোনও অংশের বিরুদ্ধে চালানো যেতে পারে - ড্রাইভার লেয়ার, হে / এস, স্তর 4-5, ইত্যাদি টেরাটার্ম: http://en.sourceforge.jp/projects/ttssh2/

যদি এম্বেড থাকা সিস্টেমে সিরিয়াল পোর্টটি উপলভ্য না থাকে তবে ইউএসবি / সিরিয়াল পোর্ট ডেটা ডিজিটাল সিগন্যালে রূপান্তর করতে একটি হার্ডওয়ার সরঞ্জাম ব্যবহার করুন (এছাড়াও সস্তা এবং অর্জন সহজ )। আপনি যখন এটি পড়েন, আমি উত্পাদনের জন্য এম্বেড করা সিস্টেম পরীক্ষা করতে একটি $ 30 মাইক্রোকন্ট্রোলার বোর্ড (ইউবিডাব্লু: http://www.schmalzhaus.com/UBW32/ ) ব্যবহার করছি, ইউএসবি / সিরিয়ালের মাধ্যমে প্রেরিত টেরাটার্ম ম্যাক্রোগুলির মাধ্যমে উদ্দীপনা ইনজেকশন দিয়ে মাইক্রোকন্ট্রোলার, যা সংশোধিত ফার্মওয়্যার চালাচ্ছে যা ডিজিটাল ইনপুটগুলি অনুশীলন করে এবং লক্ষ্য এম্বেডড সিস্টেমের ডিজিটাল আউটপুটগুলি পর্যবেক্ষণ করে। এর সাথে একত্রে, আমরা ডেটা ইনজেকশন এবং ডেটা বৈধতা স্বয়ংক্রিয় করতে পাইথন স্ক্রিপ্ট (পাইসরিয়াল এবং পেপেক্সেক্ট ব্যবহার করে) তৈরি করি। এটির কোনওটিই শক্ত এবং এর কোনওটিই ব্যয়বহুল। আমার অভিজ্ঞতায়, পরীক্ষাগুলি অনভিজ্ঞ হয়ে থাকে এবং এই সহজ সমাধানগুলি কল্পনা করতে না পারায় পরিচালকরা বড় টাকা খরচ করে (যেমন $ 30,000 ডলার পরীক্ষার সরঞ্জামাদি) - দুর্ভাগ্যক্রমে, সাধারণ উদ্দেশ্য বড়-লোহার সরঞ্জামগুলি প্রায়শই পরীক্ষার কেসগুলিকে অন্তর্ভুক্ত করে না যা টার্গেট সিস্টেমের সবচেয়ে খারাপ সময় / ইত্যাদি ধরা দেয়। সুতরাং সস্তা কস্ট পদ্ধতিতে কভারেজের পক্ষে পছন্দনীয়। এটা বিশ্বাস করি বা না.


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

2
শুধু আমাকে ল্যাভভিউতে শুরু করবেন না .. এটি সাধারণত ভয়াবহ জিনিস।
জোনাথন ক্লাইন আইইইইই

1
আমাদের পরীক্ষার প্রকৌশলীরা ল্যাবভিউকে পছন্দ করেন, আমি নিজেও এটি বেশ বুঝতে পারি না।
tehnyit

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

5

এটি একটি খুব কঠিন সমস্যা।

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

হ্যাঁ, অটোমেশন দুর্দান্ত হবে। হ্যাঁ, এটি অর্জন করা খুব কঠিন এবং ব্যয়বহুল। হ্যাঁ, কখনও কখনও আপনাকে এটি করতে হবে। খুব কমই, আমার অভিজ্ঞতায় বেশিরভাগ ক্ষেত্রে স্টিপার মোটর এবং হালকা বাল্ব ব্যবহার করা এবং এটি সমস্তভাবে ম্যানুয়ালিভাবে তৈরি করতে এটির দ্রুত এবং সস্তা।


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

@tehnyit - হ্যাঁ, এ কারণেই আমরা অটোমেশন সিস্টেমটি বিকাশের সিদ্ধান্ত নিয়েছিলাম। কখনও কখনও জিনিসগুলি ম্যানুয়ালি মোটেও করা যায় না, তবুও ইউনিট পরীক্ষাটি বিস্তৃত হওয়া এবং সময় সংক্রান্ত বিষয়গুলি কভার করতে হবে। আমি তখন অনেক পছন্দ হবে না, কিন্তু এই স্তরে অটোমেশন হয় কি খুব ব্যয়বহুল জিনিস।
littleadv

4

সম্পাদনা: আমার উত্তর ম্যাটঞ্জের কাছাকাছি, আমার মনে হয় ...


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

একটি একক বাহ্যিক ক্রিয়াকলাপ পরীক্ষা করা

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

এই পরীক্ষাগুলি:

  • যতটা সম্ভব সহজ হওয়া উচিত: কোনও অ্যালগরিদম যা নেই, কোনও শর্ত বা লুপ নেই
  • অর্ডার-নির্ভর এবং মেশিন-নির্ভর হতে পারে: সুতরাং আপনাকে কঠোর অর্ডার অনুসরণ করতে হবে এবং প্রতিটি হার্ডওয়্যারটিতে পুনরাবৃত্তি করতে হবে
  • আপনার প্রকল্পের কোর্সের উপর বেশিরভাগ স্থিতিশীল, তাই আপনার এগুলি প্রায়শই চালানোর প্রয়োজন হয় না
  • সুতরাং ম্যানুয়ালি এগুলি চালানো একটি বিকল্প; অতিরিক্ত জটিল না হলে অটোমেশন আরও ভাল better
  • নোট করুন যা পরীক্ষা করা হচ্ছে তা আপনার কোড নয় , এটি এমন একটি সরঞ্জাম যা আপনার কোডের প্রয়োজন ... তাই এটি পরীক্ষা করা আপনার পক্ষে alচ্ছিক হতে পারে, এটি অন্য কোনও দল দ্বারা করা হয়ে থাকতে পারে ...

বাহ্যিক ক্রিয়াকলাপকে একসাথে যুক্ত করে যুক্তি (কোড, অ্যালগরিদম) পরীক্ষা করে

আসল বাহ্যিক ক্রিয়াকলাপগুলি করার জন্য কোডের একটি স্তর রেখে, আপনি সহজেই উপহাস করতে পারেন এমন একটি ইন্টারফেস রেখে এগুলি লুকিয়ে রেখে, আপনার যুক্তি আর আসল শারীরিক ডিভাইসের উপর নির্ভর করে না ...

আপনি কেবল পরীক্ষা করতে পারেন, যে কোনও নিয়মিত প্রকল্প হিসাবে, আপনি আর পরীক্ষা-নিরীক্ষার কোনও এমবেড এম্বেড করা অবস্থায় নেই


3

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

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

এআরএম হোল্ডিংস দ্বারা বিক্রি করা উন্নয়ন ব্যবস্থা এটির জন্য সরবরাহ করে এবং কিউইএমইউতে হ্যাকিংয়ের চেয়ে কাজ করা সম্ভবত সহজ, তবে এটি খুব ব্যয়বহুল।

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

আপনি সি বা সি ++ তে একটি সাধারণ ইউনিট পরীক্ষার জোতা লিখতে পারেন, এটির সাথে ক্লাস বা সাব্রোটিনকে পরীক্ষার অধীনে লিঙ্ক করতে পারেন, তারপরে এটি সিমুলেটারে চালান।

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

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


3

নন-এম্বেড থাকা টিডিডির মতো, মক অবজেক্টগুলি অবশ্যই আপনার বন্ধু।

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

এছাড়াও, কেবলমাত্র প্রকল্পের দেরি না হওয়া পর্যন্ত আপনি অন-লাইনে পরীক্ষা করতে পারবেন না এর অর্থ এই নয় যে আপনার অন-লাইনের পরীক্ষার স্যুটও প্রস্তুত করা উচিত নয়।

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

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


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

1

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

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

আপনি চিপ বা সার্কিট সিম্যুয়েটরের জন্য এমুলেটরগুলি ব্যবহার করার চেষ্টাও করতে পারেন তবে এই ধরণের সরঞ্জামগুলি ব্যয়বহুল (বিশেষত সংমিশ্রণে) এবং জটিল।


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