আমি কীভাবে একটি টেস্টিং এন্টিকালচারে পরীক্ষা শুরু করতে পারি? [বন্ধ]


20

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

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

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

এমন সংস্কৃতিতে সফটওয়্যার টেস্টিংয়ের ব্যক্তিগত অনুশীলন শুরু করা সম্ভব যা এর জন্য সরঞ্জামগুলি মূল্য দেয় না বা সরবরাহ করে না? অফিসিয়াল সরঞ্জাম এবং সংস্থার টেস্ট, ফ্রেমওয়ার্ক এবং অটোমেশনের কোনও স্থান না থাকলে আপনি পরীক্ষা করার জন্য সক্ষম করার জন্য আপনি কোন কৌশল এবং সরঞ্জামগুলি ব্যবহার করেন?


14
আপনি কেন আপনার সংস্থার ভিসিএসে পরীক্ষার কোড সংরক্ষণ করতে পারবেন না? আমি কল্পনা করেছিলাম যে srcপ্রোডাক্ট কোডের জন্য একটি ডিরেক্টরি রয়েছে এমন একটি প্রকল্পেও একটি ডিরেক্টরি যুক্ত করা সম্ভব testহবে - বা কোনও কারণে এটি স্পষ্টভাবে নিষিদ্ধ?
প্যাটার টারিক


@ পেটারট্রিক আপনি আমাদেরকে মূল্যায়ন করেন। আমাদের srcডিরেক্টরি নেই, আমাদের ওয়েব শিকড় আছে। আমার কোডটি কেন্দ্রীয় ভিসিএসে যাচাই করার জন্য আমি এটি ওয়েব রুটে পরীক্ষা করে দেখব।
কোজিরো

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

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

উত্তর:


22

আমি ব্যক্তিগত সাফল্য সহ এটি করেছি। সাফল্যের মূল কারণগুলি:

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

7

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

আমি ম্যাকিয়াভেলি দ্য প্রিন্স অধ্যায়টি পড়ার পরামর্শ দিচ্ছি যে কোনও কিছুর আগে পরিবর্তন কীভাবে প্রবর্তন করা যায়।


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

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

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

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

3

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

আপনি যদি গ্রিনফিল্ড স্টাফগুলি করছেন যা কেবলমাত্র বিদ্যমান জিনিসগুলির সাথে ইন্টারঅ্যাক্ট করতে পারে (খারাপ অঞ্চলগুলির চারপাশে একটি দুর্দান্ত মোড়ক তৈরি করুন) বা আপনি যদি এটি খুব অল্প পরিমাণে করতে পারেন যেখানে এটি সমস্যার কারণ নয় বা আপনার প্রয়োজন না হতে পারে তবে আপনার একটি সুযোগ থাকতে পারে if "আপনাকে বরাদ্দ না করা কাজগুলিতে কাজ করুন" যা আপনাকে ডগহাউসে রাখতে পারে।


1

আমি মনে করি না যতক্ষণ না আপনি স্বয়ংক্রিয় পরীক্ষার সমাধান করতে পারে এমন কোনও সমস্যা (এটি বর্তমানে স্বীকৃত হতে পারে না) এমন একটি ভাল যথেষ্ট মামলা তৈরি না করা পর্যন্ত আপনি খুব দূরে পাবেন।

যদি সংজ্ঞায়িত স্ক্রিপ্টগুলির বিরুদ্ধে ম্যানুয়াল পরীক্ষার সংস্কৃতি থাকে, তবে অসম্পূর্ণ বা ভুল ফলাফলের ঝুঁকির সাথে সেই স্ক্রিপ্টগুলি কার্যকর করার জন্য একটি ব্যয় করতে হবে। এর একটি ইতিহাস (ডকুমেন্টেড বা "যুদ্ধের গল্প" ফর্ম) থাকতে পারে। দীর্ঘমেয়াদী ব্যয় সাশ্রয় করার লক্ষ্যে সেই ম্যানুয়াল পরীক্ষাগুলির কয়েকটি স্বয়ংক্রিয় করার জন্য একটি পাইলট প্রকল্পের পরামর্শ দিন।

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


0

একটি ধারণা হ'ল আপনি একটি পরীক্ষা লেখার লক্ষ্য রেখেছেন যা প্রমাণ করে যে অন্য কেউ লিখেছেন যে কোডটি ত্রুটিযুক্ত। ধারণাটি বিক্রি করা উচিত।

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