জেনকিনস - কোন পরীক্ষাগুলি বারবার ব্যর্থ হয়েছে তা কীভাবে আবিষ্কার করবেন?


13

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

কেউ দয়া করে পরামর্শ দিতে পারেন যে আমি কীভাবে জানতে পারি যে পূর্ববর্তী এন রানগুলিতে কোন পরীক্ষা বারবার ব্যর্থ হয়েছিল?


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

সমস্ত পরীক্ষার প্রতিটি রানের জন্য আপনি একটি নতুন লাইন তৈরি করেন, তারপরে স্ক্রিপ্ট দ্বারা দেখার বা বিশ্লেষণ করা সহজ।
ডেভিড

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

@rohitthomas - আপনি বিল্ডগুলি ম্যানুয়ালি তুলনা করার পরামর্শ দিচ্ছেন? আমি তা এড়াতে চাই
এরান মোরাড

আপনি 'বারবার ব্যর্থ' কি বিবেচনা করবেন? আপনি কি বোঝাতে চেয়েছেন যে সমস্ত টেস্টকেস গত 5 টিতে ব্যর্থ হয়েছে উদাহরণস্বরূপ বা কেবলমাত্র প্রতিটি টেস্টকেস যা 5 টির মধ্যে 3 টিতে ব্যর্থ হয়েছিল?
মাইকেল কেমারজেল

উত্তর:


7

পাইপলাইনে বিল্ডের অবজেক্ট থেকে পরীক্ষা ব্যর্থ হওয়ার সংখ্যক সময় নিতে পারেন: আপনি একটি ছোট প্রতিবেদন তৈরি করতে এবং এটি আপনার বিল্ডের সাথে সংযুক্ত করতে পারেন:

@NonCPS
def getRepeatedlyFailingTests(int timesFailedAtLeast = 2) {
  currentBuild.rawBuild.getAction(hudson.tasks.junit.TestResultAction.class)
    .getFailedTests()
    // Keep only tests that failed at least twice
    .findAll { it.age >= timesFailedAtLeast }
    .collect { [ "${it.className}.${it.name}".trim(), it.age ] }
}

def saveRepeatedlyFailingTestsReport() {
  def header = [ "test", "times-failed" ]
  def records = getRepeatedlyFailingTests()
  def report = "repeatedly-failing-tests.csv"
  writeCSV file: report, records: [ header ] + records, format: CSVFormat.EXCEL
  archiveArtifacts report
}

saveRepeatedlyFailingTestsReportআপনি আপনার পরীক্ষার ফলাফল সংগ্রহ করার পরে কল করুন এবং আপনি আপনার সর্বশেষ বিল্ড আর্টিক্টস লিঙ্কে প্রতিবেদনটি দেখতে পাবেন।


1
এটা কোন ভাষা ? আপনি কি আরও বিশদ যুক্ত করতে পারেন? আমি আশা করি এটি সার্থক করার জন্য একটি অনুগ্রহ যুক্ত করব। ধন্যবাদ।
এরান মোরাড

1
@ বোরাটসাগদিয়েভ এটি জেরকিনস পাইপলাইনের মধ্যে ব্যবহৃত গ্রোভি ডিএসএল। আপনার যদি কেবল ভিজ্যুয়াল এইডের প্রয়োজন হয় তবে আমি সুরজের জবাব নিয়ে যাব, কারণ পাইপলাইন জ্ঞানের প্রয়োজন নেই। একটি সম্পূর্ণ পাইপলাইন তৈরি করতে আমার আপনার ফ্রি স্টাইলের কাজটি জানতে হবে, তবে এটি প্রশ্নের ক্ষেত্রের বাইরে।
তোয়ালে

2

পরীক্ষার প্রবণতা বিশ্লেষণ করতে আপনি জেনকিন্স থেকে টেস্ট ফলাফল বিশ্লেষক প্লাগইন ব্যবহার করতে পারেন।

পরীক্ষার ফলাফল বিশ্লেষক প্লাগইন

ইউটিউব থেকে ভিডিও টিউটোরিয়াল

ইনস্টলেশন :

  1. জেনকিন্স ড্যাশবোর্ডে জেনকিন্স পরিচালনা করুন এ ক্লিক করুন
  2. মেনু থেকে প্লাগইন পরিচালনা করুন নির্বাচন করুন
  3. ফিল্টার অনুসন্ধান বাক্সে উপলভ্য ট্যাব এবং ইনপুট বিশ্লেষকটিতে ক্লিক করুন
  4. পরীক্ষার ফলাফল বিশ্লেষকের বাম দিকে চেক বাক্সে ক্লিক করুন এবং পুনরায় চালু করার বোতাম ছাড়াই ইনস্টল ক্লিক করুন

ব্যবহার :

  1. প্রকল্পে যান এবং কনফিগার ক্লিক করুন
  2. পোস্ট-বিল্ড অ্যাকশন বিভাগে যান এবং পোস্ট-বিল্ড অ্যাকশন ড্রপডাউন থেকে জুনিত পরীক্ষা ফলাফল প্রকাশ করুন নির্বাচন করুন
  3. পরীক্ষার রিপোর্টে এক্সএমএলস ক্ষেত্রটি প্রকল্পের টেস্টএনজি / জুনিত এক্সএমএল এর পথ সরবরাহ করে। যেমন - **/target/test-results/*.xmlআমার ক্ষেত্রে
  4. কনফিগারেশন সংরক্ষণ করুন
  5. তারপরে একটি সফল নির্মাণের পরে আপনার প্রকল্পটি দেখুন এবং বাম পাশের মেনুতে টেস্ট ফলাফল বিশ্লেষকটিতে ক্লিক করুন

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

প্লাগইনটি ইনস্টল করুন এবং পছন্দসই প্রকল্পের পোস্ট-বিল্ড অ্যাকশনগুলিতে প্লাগইনটি কনফিগার করুন । তারপরে একটি সফল নির্মাণের পরে আপনি আপনার প্রকল্পের বাম দিকের মেনুতে টেস্ট ফলাফল বিশ্লেষকটিতে ক্লিক করে ফলাফলগুলি দেখতে পাবেন
সূর্যজ

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