টিডিডি এবং ভাল পরীক্ষার ভাল কভারেজ সহ রচিত অ্যাপ্লিকেশনগুলির উদাহরণ? [বন্ধ]


17

এমন কোনও ওপেন সোর্স অ্যাপ্লিকেশন রয়েছে যা পরীক্ষিত চালিত বিকাশ ব্যবহার করে বিকাশ লাভ করে যা ইউনিট পরীক্ষার জন্য কতটা ভাল কাজ করা উচিত তার মডেল হিসাবে পরিবেশন করে?

আমি সি # এবং। নেট এ উদাহরণগুলি দেখতে পছন্দ করব। (নোট করুন যে আমি অ্যাপ্লিকেশনগুলি উল্লেখ করেছি, কেবল গ্রন্থাগারগুলি নয়))

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

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

যে কোডটি পরীক্ষা করা হচ্ছে তাতে অবজেক্টগুলির মধ্যে প্রচুর পরিমাণে সহযোগিতা জড়িত থাকে এবং কিছু সাধারণ প্রবাহ যুক্তি যা মেমরির মধ্যে ঘটে এবং যা সবকিছুকে পুরোপুরি ডিকোপল করতে না পারলে একটি সহজ, আরও বোঝার উপায়ে লেখা যেতে পারে test পরীক্ষার জন্য.

আমি ঠাট্টা নির্ভরতা এবং এরকম কৌশলগুলি বুঝতে পারি, তবে আমার অভিজ্ঞতায় উপহাসের ভারী ব্যবহার খুব ভঙ্গুর পরীক্ষার দিকে পরিচালিত করে। একগুচ্ছ পরীক্ষাগুলি লাল হয়ে যাওয়ার পরে যদি আমার প্রথম প্রবৃত্তিটি হয়, "দুর্দান্ত, এখন আমাকে সমস্ত বিদ্রূপগুলি ঠিক করতে হবে", তবে আমার পরীক্ষাগুলি সুরক্ষার জালের পরিবর্তে টানতে পরিণত হয়েছে।

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

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

জ্ঞানের কোনও পরামর্শ বা শব্দের প্রশংসা করা হবে।



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

@ জোশিয়ারল - আমি সম্মত হই .. আমি মনে করি না যে নীচে আমার উত্তরটি অন্য পোস্টের সাথে প্রাসঙ্গিক হতে পারে
হাঞ্জোলো

উত্তর:


14

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


4
পরীক্ষার কোডে তাদের অনুপাতের
পরিমাণটি যদি

6
@ রাইথাল: ব্যর্থতার মূল্য পরীক্ষামূলক কোডের দৈর্ঘ্য নয়, পরীক্ষার প্রচেষ্টা চালায়। পর্যাপ্ত মিশন-সমালোচনামূলক পদ্ধতির যথেষ্ট পরিমাণে ব্যবহার দেওয়া, পরীক্ষার পক্ষে এটি মূল্যবান হতে পারে। আমি সত্যই নিশ্চিত নই, এসকিউএলাইট যদি এটি বেশি না করে।
থিটন

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

10
SQLite হয় বহুল ব্যবহৃত গ্রহে SQL ডাটাবেস, এটা ইনস্টলেশন বেস মাত্রার মাইএসকিউএল, পোস্টগ্রি এসকিউএল সার্ভার, ওরাকল, DB2 চেয়ে বড় একজন অর্ডার মিলিত । এটি সম্ভবত সফ্টওয়্যার, পিরিয়ডের সর্বাধিক ব্যবহৃত এক টুকরা। এসকিউএলাইটে কোনও ত্রুটি থাকলে গ্রহের প্রতিটি একক স্মার্টফোন কাজ করা বন্ধ করে দেয়। আমি মনে করি যে সামান্য বিড়ম্বনা ন্যায়সঙ্গত।
জার্গ ডব্লু মিটাগ

@ জার্গডব্লিউমিতাগ ওয়াও, এসকিউএলাইট সম্পর্কে আমি কখনই জানতাম না। মজাদার। ধন্যবাদ। তবে 1000 গুণ বেশি পরীক্ষার কোড। এটা অবিশ্বাস্য.
মাইকে রডেন্ট

4

অর্চের্ড প্রকল্পটি আপনি যা খুঁজছেন তা হতে পারে .. এটি একটি। নেট / এমভিসি / টিডিডি অ্যাপ্লিকেশন যা মোটামুটি জটিল, তবে খুব খারাপ নয় এবং এটি কিছু ভাল অনুশীলন এবং নিদর্শন দেখায় ..

http://orchard.codeplex.com/wikipage?title=solution

এবং আমি আপডেট লিংক অনুমান:

http://docs.orchardproject.net/


এই সৌন্দর্য প্রতিশ্রুতিশীল - খনন করার জন্য অপেক্ষা can't :)।
জোশ আর্ল

0

প্রচুর তৃতীয় পক্ষ, ওপেন সোর্স লাইব্রেরি টিডিডিড হয়। হাইবারনেটিং রাইনোসের লাইব্রেরি, যেমন রাইনোমকস এবং এনএইচবারনেট, তাদের বিকাশকারীরা এক্স ইউনিটকে ইউনিট-টেস্টিং ফ্রেমওয়ার্ক হিসাবে ব্যবহার করে টিডিডিড করে।

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

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