প্রোগ্রামিং ফিক্সচার কি কি?


189

আমি এই শব্দটি বহুবার শুনেছি (প্রোগ্রামিংয়ের প্রসঙ্গে) তবে এর অর্থ কী তা নিয়ে কোনও ব্যাখ্যা পাইনি। কোন ভাল নিবন্ধ বা ব্যাখ্যা?

উত্তর:


193

আমি মনে করি আপনি পরীক্ষার ফিক্সচারগুলি উল্লেখ করছেন :

পরীক্ষার দৃxture়তার উদ্দেশ্য হ'ল পরীক্ষাটি পরিচালিত হয় যাতে একটি সুপরিচিত এবং স্থির পরিবেশ রয়েছে যাতে ফলাফল পুনরাবৃত্ত হয়। কিছু লোক এটিকে পরীক্ষার প্রসঙ্গ বলে।

ফিক্সচারের উদাহরণ:

  • একটি নির্দিষ্ট, তথ্যের পরিচিত সেট সহ একটি ডাটাবেস লোড হচ্ছে
  • একটি হার্ড ডিস্ক মুছে ফেলা এবং একটি পরিচিত পরিষ্কার অপারেটিং সিস্টেম ইনস্টলেশন ইনস্টল
  • নির্দিষ্ট একটি নির্দিষ্ট ফাইলের সেট অনুলিপি করা হচ্ছে
  • ইনপুট ডেটা প্রস্তুত করা এবং জাল বা মক অবজেক্টস সেট আপ / তৈরি

(উত্স: উইকিপিডিয়া, উপরের লিঙ্কটি দেখুন)

এখানে 'গুগল টেস্ট' কাঠামোর ডকুমেন্টেশন থেকে কিছু ব্যবহারিক উদাহরণ দেওয়া হয়েছে


13

আমি মনে করি পিএইচপি-ইউনিট পরীক্ষাগুলি এর খুব ভাল ব্যাখ্যা দিয়েছে:

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

এছাড়াও ইয়ে নথি ফিক্সচার টেস্টকে ভাল আকারে বর্ণনা করেছে:

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

এখানে ফিক্সচার পরীক্ষার সহজ উদাহরণ

<?php
use PHPUnit\Framework\TestCase;

class StackTest extends TestCase
{
    protected $stack;

    protected function setUp()
    {
        $this->stack = [];
    }

    protected function tearDown()
    {
        $this->stack = [];
    }

    public function testEmpty()
    {
        $this->assertTrue(empty($this->stack));
    }

    public function testPush()
    {
        array_push($this->stack, 'foo');
        $this->assertEquals('foo', $this->stack[count($this->stack)-1]);
        $this->assertFalse(empty($this->stack));
    }

    public function testPop()
    {
        array_push($this->stack, 'foo');
        $this->assertEquals('foo', array_pop($this->stack));
        $this->assertTrue(empty($this->stack));
    }
}
?>

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


6

শব্দ স্থিরতা প্রসঙ্গ, প্রোগ্রামিং ভাষা বা কাঠামোর ভিত্তিতে পরিবর্তিত হয়।

1. একটি পরিচিত রাষ্ট্র যার বিরুদ্ধে একটি পরীক্ষা চলছে

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

একটি পরীক্ষার স্থিরতা (এটি একটি পরীক্ষার প্রেক্ষাপট হিসাবেও পরিচিত) হ'ল একটি পরীক্ষা চালানোর জন্য প্রয়োজনীয় শর্তাদি বা রাষ্ট্রের সেট। বিকাশকারীদের পরীক্ষার আগে একটি ভাল ভাল অবস্থা স্থাপন করা উচিত এবং পরীক্ষার পরে মূল অবস্থায় ফিরে আসা উচিত। উইকিপিডিয়া (xUnit)

২. নমুনা তথ্য সহ একটি ফাইল

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

3. একটি প্রক্রিয়া যা একটি প্রয়োজনীয় রাষ্ট্র সেট আপ করে। 

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


5

ঠিক সেই বিষয়ের সাথে, ইউনিতের একটি সুস্পষ্টভাবে ব্যাখ্যা করা ডক রয়েছে। এখানে লিংক!

নিবন্ধ সম্পর্কিত অংশ:

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

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

আপনার যখন একটি সাধারণ তত্পরতা থাকে, আপনি যা করেন তা এখানে:

ফিক্সেশনের প্রতিটি অংশের জন্য একটি ক্ষেত্র যুক্ত করুন @ org.junit.Neveate সাথে একটি পদ্ধতি এনটেট করুন e পূর্বে এবং সেই পদ্ধতিতে ভেরিয়েবলগুলি সূচনা করুন @ org.junit দিয়ে একটি পদ্ধতি এনটেট করুন আপনি সেটআপে বরাদ্দকৃত স্থায়ী সম্পদ প্রকাশ করার জন্য উদাহরণস্বরূপ, লেখার জন্য বেশ কয়েকটি পরীক্ষার কেস যা 12 সুইস ফ্রাঙ্কস, 14 সুইস ফ্রাঙ্কস এবং 28 মার্কিন ডলারের বিভিন্ন সংমিশ্রণের সাথে কাজ করতে চায়, তারা প্রথমে একটি স্থিতি তৈরি করে:

public class MoneyTest {
    private Money f12CHF;
    private Money f14CHF;
    private Money f28USD;

    @Before public void setUp() {
    f12CHF= new Money(12, "CHF");
    f14CHF= new Money(14, "CHF");
    f28USD= new Money(28, "USD");
    }
}

2

Xamarin.UITest এ নিম্নলিখিত হিসাবে ব্যাখ্যা করা হয়েছে:

সাধারণত, প্রতিটি Xamarin.UITest একটি পদ্ধতি হিসাবে লেখা হয় যা পরীক্ষা হিসাবে উল্লেখ করা হয়। যে ক্লাসে পরীক্ষা রয়েছে তা পরীক্ষার স্থিরতা হিসাবে পরিচিত। পরীক্ষার স্থিতিস্থানে হয় একটি একক পরীক্ষা বা পরীক্ষাগুলির যৌক্তিক গোষ্ঠীকরণ থাকে এবং পরীক্ষাটি সঞ্চালনের জন্য কোনও সেটআপ এবং পরীক্ষা শেষ হওয়ার পরে যে কোনও ক্লিনআপ করা দরকার তা দায়বদ্ধ। প্রতিটি পরীক্ষার ব্যবস্থা করা-আইন-সুনির্দিষ্ট প্যাটার্নটি অনুসরণ করা উচিত:

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

উপরের অংশের মূল নিবন্ধের জন্য লিঙ্ক

এবং Xamarin.UITest কোডের মধ্যে এটি নীচের মত দেখাচ্ছে:

using System;
using System.IO;
using System.Linq;
using NUnit.Framework;
using Xamarin.UITest;
using Xamarin.UITest.Queries;

namespace xamarin_stembureau_poc_tests
{
    [TestFixture(Platform.Android)]
    [TestFixture(Platform.iOS)]
    public class TestLaunchScreen
    {
        IApp app;
        Platform platform;

        public Tests(Platform platform)
        {
            this.platform = platform;
        }

        [SetUp]
        public void BeforeEachTest()
        {
            app = AppInitializer.StartApp(platform);
        }

        [Test]
        public void AppLaunches()
        {
            app.Screenshot("First screen.");
        }

        [Test]
        public void LaunchScreenAnimationWorks()
        {
            app.Screenshot("Launch screen animation works.");
        }
    }
}

আশা করি প্রোগ্রামিংয়ের ফিক্সচার সম্পর্কে আরও ভাল বোঝার সন্ধানে এমন কারও পক্ষে এটি সহায়ক হতে পারে।

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