Specflow یک چارچوب متن باز مبتنی بر BDD1 در محیط .NET است. با استفاده از این چارچوب امکان تعریف ویژگیها2 و مشخصات سیستم، با فرمت ساده و قابل درک Gherkin امکان پذیر است. Gherkin یک زبان خاص دامنه یا DSL3 است که به توصیف رفتار سیستم بدون توجه به پیاده سازی میپردازد. Gherkin قابلیتهای مورد نیاز یک سیستم را با استفاده از ویژگیها و سناریوهای مرتبط به ویژگیها، تعریف میکند.
ادغام Specflow در .Net امکان اشکالزدایی4 سناریوهای سیستمی تعریف شده را فراهم مینماید. خروجی کامپایل شده یک فایل Specflow، از نوع اسمبلی Nunit است. بنابراین هر نوع اجرا کننده تست که با Nunit سازگار باشد، امکان اجرای مشخصه سازیهای با مثال را دارد و نیاز به پیکربندی خاص دیگری نمیباشد.
برای نصب و استفاده از Specflow در محیط .NET مراحل زیر را انجام دهید:
۱- در بخش Tools-> Extensions and Updates-> online، عبارت Specflow را جستجو نمایید. همانند آنچه در تصویر ۱ میبینید، Specflow را دانلود نمایید.
۲- پس از این که دانلود با موفقیت انجام شد، یک پروژه جدید از نوع Unit Test ایجاد نمایید.
۳- اکنون برای استفاده از Specflow در پروژه دلخواه، باید آن را به Referenceهای پروژه اضافه نمایید. برای اضافه کردن Specflow از مدیریت پکیج Nuget استفاده نمایید. در کنسول مدیریت پکیج، دستور زیر را وارد نمایید:
PM> Install-Package SpecFlow
۴- پس از اجرای این دستور، Specflow به Referenceهای پروژه اضافه میشود. حال با اضافه کردن یک آیتم جدید به پروژه ، صفحهای مشابه با تصویر ۲ باز خواهد شد، که امکان اضافه کردن بخشهای Specflow در پروژه را برای ما فراهم میکند.
از این جا به بعد برای ادامه کار با Specflow، طبق مفاهیم BDD جلو میرویم. با استفاده از فرمت Gherkin ابتدا ویژگیهای سیستم تعریف میشوند. برای این کار همانند تصویر۲، یک Specflow Feature File به پروژه اضافه میشود. هر ویژگی شامل چندین سناریو است. سناریوها، شرایط موفق، ناموفق و مرزی ویژگیها را توصیف میکنند. توصیف سناریوها بر اساس قواعد BDD، به شکل سه تایی Given,when,then مدل میشوند. یعنی چه کسی، چه چیزی را به چه منظور میخواهد.این قاعده در تصویر ۳ نمایش داده شده است.
در BDD، ویژگیهای سیستم و به اصطلاحی دیگر شرح داستانهای کاربری5 در حضور مشتری، توسعه دهنده و تستر جمعآوری میگردند. به این ترتیب معیارهای پذیرش سیستم گرد آوری میشوند. سناریوهای جمع شده، معیارهای پذیرش سیستم از دیدگاه مشتری هستند. بنابراین در ادامه توسط Specflow هر یک از مراحل سناریو تبدیل به مراحل آزمون پذیرش سیستم میشود.
در قسمت بعدی آموزش، تعریف یک ویژگی در سیستم، تعریف سناریوها و تبدیل مراحل سناریو به مراحل آزمون پذیرش تشریح میگردد.
این آموزش به سفارش تیستن و به قلم سرکار خانم مهندس سیده مهسا میری آماده گردیده، و واحد آموزش تیستن نیز آنرا منتشر کرده است.
تمام قسمتهای آموزش Specflow، به صورت دستهبندی شده از اینجا در دسترس است.