پرووید
منو

آموزش استفاده کردن از SpecFlow برای نوشتن تست خودکار (Automated Test)

زبان: فارسی (دوبله شده)مترجم: پروویددوبلر: پروویدسطح: متوسطمدت زمان: 03:33:16تعداد ویدئوها: 62فایل های پروژه: ناموجود
قیمت:۳٬۶۹۹٬۰۰۰ تومان
این آموزش بخشی از پکیج کامل آموزش تست نرم افزار میانی است که می توانید از تمامی آموزش های آن دیدن کنید.

آموزش استفاده کردن از SpecFlow برای نوشتن تست خودکار (Automated Test) یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، آموزش استفاده کردن از فریمورک SpecFlow برای نوشتن تست خودکار (Automated Test) است که با نام اصلی Business Readable Automated Tests with SpecFlow 2.0 از شرکت Pluralsight منتشر شده است.

فریمورک SpecFlow چیست؟

فریمورک SpecFlow یک فریمورک برای نوشتن تست های نرم افزار و استفاده کردن از روش BDD می باشد. این فریمورک کمک می کند تا بتوانید با ایجاد فایل های feature متفاوت، نیازمندیهای نرم افزار را در قالب تست های قابل خوانده شدن، توسط افراد غیر برنامه نویس و یا به عبارتی افراد تجاری ایجاد کنید. سپس می توانید از زبان برنامه نویسی مورد نظر خود مثل سی شارپ و همچنین یک محیط توسعه مثل ویژوال استودیو برای نوشتن کدهای خودکارسازی و یا automation code ها استفاده نمایید. فریمورک SpecFlow کمک می کند تا تست های نوشته شده، هم توسط افراد فنی و هم توسط افراد تجاری قابل خواندن باشند و از این جهت فضای خالی بین این دو گروه از افراد پر می شود. به عبارت دیگر فریمورک SpecFlow باعث ایجاد یک درک مشترک از یک سیستم نرم افزاری برای افراد تجاری و غیرتجاری می گردد. فریمورک SpecFlow از زبان Gherkin برای ایجاد کردن این درک مشترک استفاده می‌کند.

زبان Gherkin کمک می‌کند تا بتوانیم سناریوهای تست نرم‌افزار را به سادگی نوشته و آنها را بخوانیم. با استفاده از این زبان و روش ارائه شده توسط آن که از سه قسمت Givenو When وThen استفاده می کند، هم افراد برنامه نویس و افراد غیر برنامه نویس می توانند تست های نوشته شده را به سادگی بخوانند. زبان Gherkin کلید واژه هایی دارد که با استفاده از آن ها می توانیم رفتاری تست ارائه شده را کنترل کنیم.

Writing Feature Headers - www.provid.ir - نمونه ای از بخش Understanding SpecFlow Fundamentals در آموزش استفاده کردن از SpecFlow برای نوشتن تست خودکار (Automated Test)
نمونه ای از بخش «Understanding SpecFlow Fundamentals» در آموزش استفاده کردن از SpecFlow برای نوشتن تست خودکار (Automated Test)

فریمورک SpecFlow و زبان Gherkin کمک می کند تا مفهوم مستندات زنده و یا living documentation ایجاد شود. به عبارت دیگر با استفاده از این فریمورک و این زبان، می توانید نیازمندیهای نرم‌افزار را در قالب تستهایی مستند کرده و ضمن خواندن آنها به سادگی از آنها اجرا بگیرید. استفاده کردن از این دو تکنولوژی در سیستم‌های CI و CD نیز به سادگی امکان‌پذیر می‌باشد.

تست خودکار مبتنی بر BDD با SpecFlow

در توسعه نرم افزار، درک مشترک از رفتار مورد انتظار سیستم میان برنامه نویسان، تسترها و افراد تجاری اهمیت زیادی دارد. روش BDD یا Behavior-Driven Development تلاش می کند نیازمندی ها را به شکل سناریوهایی توصیف کند که رفتار نرم افزار را از دید کاربر یا کسب و کار مشخص می کنند. SpecFlow با پشتیبانی از سناریوهای قابل خواندن، به تیم ها کمک می کند این نیازمندی ها را به تست های خودکار مرتبط کنند و فاصله میان توصیف رفتار و پیاده سازی نرم افزار را کاهش دهند.

در این رویکرد، سناریوهای تست معمولاً با استفاده از زبان Gherkin و ساختارهایی مانند Given، When و Then نوشته می شوند. این ساختار مشخص می کند چه شرایطی برقرار است، چه عملی انجام می شود و چه نتیجه ای انتظار می رود. چنین شیوه ای باعث می شود سناریوها برای افراد فنی و غیرفنی قابل فهم تر باشند. در این آموزش با مفاهیم اصلی SpecFlow و نحوه استفاده از آن برای تبدیل نیازمندی های قابل خواندن به تست های خودکار آشنا می شوید.

نوشتن سناریوهای Gherkin برای تست نرم افزار

Gherkin زبانی ساختاریافته برای توصیف رفتار سیستم در قالب سناریوهای قابل خواندن است. به کمک عبارت هایی مانند Given، When و Then می توان شرایط اولیه، اقدام مورد آزمایش و نتیجه مورد انتظار را مشخص کرد. این ساختار کمک می کند سناریوهای تست به جای تمرکز بر جزئیات پیاده سازی، رفتار قابل مشاهده سیستم را توصیف کنند. در نتیجه، بررسی و گفت وگو درباره نیازمندی ها برای اعضای مختلف تیم ساده تر می شود و ابهام در تعریف رفتار مورد انتظار کاهش پیدا می کند.

در SpecFlow، سناریوهای نوشته شده با Gherkin از طریق Step Definition ها به کد اجرایی متصل می شوند. این ارتباط باعث می شود توصیف قابل خواندن یک سناریو به عملیات واقعی تست تبدیل شود. در این دوره با نوشتن تست های اولیه و نحوه کار با داده های موردنیاز Step ها آشنا می شوید. درک این فرایند به شما کمک می کند سناریوهایی طراحی کنید که هم برای بررسی نیازمندی ها مناسب باشند و هم بتوان آن ها را به صورت خودکار اجرا کرد.

افزایش قابلیت نگهداری تست های خودکار در SpecFlow

هنگامی که تعداد سناریوهای تست افزایش پیدا می کند، نگهداری کدهای مربوط به آن ها می تواند به چالش تبدیل شود. اگر برای هر سناریو منطق اجرایی جداگانه ای نوشته شود، تغییر یک رفتار مشترک ممکن است نیازمند اصلاح بخش های متعددی باشد. استفاده مجدد از Step ها و طراحی مناسب پارامترها به کاهش تکرار کمک می کند و امکان می دهد سناریوهای مختلف از منطق اجرایی مشترکی استفاده کنند. این موضوع در پروژه هایی که نیازمندی ها مرتب تغییر می کنند اهمیت بیشتری دارد.

Introducing Parameterized Step Definitions - www.provid.ir - نمونه ای از بخش Increasing Maintainability with Shared Steps, Parameters, and Data Tables در آموزش استفاده کردن از SpecFlow برای نوشتن تست خودکار (Automated Test)
نمونه ای از بخش «Increasing Maintainability with Shared Steps, Parameters, and Data Tables» در آموزش استفاده کردن از SpecFlow برای نوشتن تست خودکار (Automated Test)

Data Table ها نیز امکان انتقال مجموعه ای از داده ها به Step Definition ها را فراهم می کنند و به شما اجازه می دهند سناریوهای مبتنی بر ورودی های متعدد را به شکل منظم تری تعریف کنید. با سازماندهی مناسب داده ها و منطق تست، می توان تغییرات را ساده تر مدیریت کرد و از پراکندگی کد جلوگیری نمود. در این آموزش با روش هایی برای بهبود قابلیت نگهداری تست ها آشنا می شوید و یاد می گیرید چگونه ساختار سناریوها را برای استفاده مجدد و توسعه آینده آماده کنید.

کنترل اجرای تست ها در SpecFlow

در برخی سناریوهای تست، اجرای یک مرحله به تنهایی کافی نیست و ممکن است پیش از شروع تست یا پس از پایان آن به انجام عملیات دیگری نیاز باشد. برای مثال، آماده سازی شرایط اجرای سناریو یا پاک سازی وضعیت ایجادشده در طول تست می تواند بخشی از فرایند آزمایش باشد. SpecFlow امکاناتی برای کنترل مراحل اجرای تست و اضافه کردن منطق اجرایی مرتبط فراهم می کند تا بتوانید رفتارهای موردنیاز را در زمان مناسب اجرا کنید.

مدیریت صحیح اجرای تست ها به حفظ نظم و قابل پیش بینی بودن نتایج کمک می کند. اگر آماده سازی داده ها یا پاک سازی منابع به شکل نامناسب انجام شود، ممکن است سناریوها به وضعیت یکدیگر وابسته شوند و نتیجه تست ها تحت تأثیر ترتیب اجرا قرار گیرد. در این آموزش با کنترل اجرای تست و افزودن کدهای لازم در مراحل مختلف آشنا می شوید. این مهارت برای توسعه دهندگانی مفید است که می خواهند مجموعه تست های خودکار را در پروژه های واقعی بهتر سازماندهی و نگهداری کنند.

این آموزش SpecFlow برای چه کسانی مناسب است؟

این دوره با سطح متوسط برای توسعه دهندگانی مناسب است که می خواهند تست خودکار را با رویکرد BDD در پروژه های نرم افزاری به کار بگیرند. اگر نیاز دارید سناریوهای تست را به شکلی بنویسید که علاوه بر برنامه نویسان برای اعضای تجاری تیم نیز قابل فهم باشند، یادگیری SpecFlow و Gherkin می تواند به ایجاد زبان مشترک درباره رفتار سیستم کمک کند. آشنایی با مفاهیم پایه تست نرم افزار و برنامه نویسی نیز می تواند در درک ارتباط میان سناریوها و کدهای اجرایی مفید باشد.

این آموزش برای افرادی که با نگهداری مجموعه تست ها و تکرار کد در سناریوهای مختلف روبه رو هستند نیز کاربرد دارد. یادگیری Step Definition ها، استفاده از پارامترها و Data Table ها و کنترل مراحل اجرای تست به شما کمک می کند ساختار تست ها را بهتر طراحی کنید. با شناخت این مفاهیم می توانید سناریوهای قابل خواندن را به بخشی از فرایند توسعه نرم افزار تبدیل کنید و رفتارهای مورد انتظار برنامه را به شکل منظم تری آزمایش نمایید.

سرفصل مطالب آموزش ویدئویی استفاده کردن از SpecFlow برای نوشتن تست خودکار (Automated Test)

فصل اول: مقدمه این دوره آموزشی

  • مقدمه

فصل دوم: چرا از SpecFlow استفاده کنیم

  • مقدمه
  • بررسی سرفصل های این دوه آموزشی
  • چرا باید از Automated Test های Business Readable استفاده کنیم
  • انواع مختلفی از Automated Test ها
  • بررسی Workflow ها در SpecFlow
  • بررسی مفهوم مستندات زنده و یا Living Documentation
  • بررسی اجمالی SpecFlow
  • قابلیت های فنی SpecFlow
  • جمع بندی

فصل سوم: بررسی کردن مهمترین مباحث در SpecFlow

  • مقدمه
  • بررسی Format یک Feature File
  • نوشتن Feature Header ها
  • نوشتن سناریوها
  • اضافه کردن Comment و Tag ها
  • اضافه کردن کد های Step Definition
  • نصب کردن ابزار های مورد نیاز
  • شروع به کار در ویژوال استودیو
  • بررسی Binding Style ها در Step Definition ها
  • جمع بندی

فصل چهارم: نوشتن اولین تست ها SpecFlow

  • مقدمه
  • بررسی اپلیکیشن مورد نظر
  • نوشتن اولین سناریو
  • نوشتن Test Automation Code ها
  • اجرا کردن و Debug کردن Test Scenario ها
  • اضافه کردن سناریوهای بیشتر
  • بازبینی قابلیت نگهداری (Maintainability)
  • جمع بندی

فصل پنجم: افزایش قابلیت نگهداری (Maintainability) با Step های مشترک و پارامترها و Data Table ها

  • مقدمه
  • چهار روش برای بهبود قابلیت نگهداری
  • تعریف کردن Step Definition های پارامتری شده
  • ریفکتور کردن و استفاده از پارامترها در Step
  • معرفی Scenario Outline ها
  • ریفکتور کردن و استفاده از Scenario Outline ها
  • استفاده از Data Table ها در Scenario Step ها
  • معرفی Scenario Background ها
  • ایجاد Setup Code های مشترک با Scenario Background ها
  • جمع بندی

فصل ششم: کار با داده ها در Step Definition ها

  • مقدمه
  • بررسی Conversion ها در Stepها
  • اضافه کردن کد های بیشتر به کلاس PlayerCharacter
  • انجام Conversion درEnum ها بصورت خودکار
  • کار با داده های درون یک Table بصورت Strongly-typed
  • کار با داده های درون یک Table بصورت Dynamic
  • کار با داده های درون یک Table به همراه چندین ستون
  • ایجاد Conversion های سفارشی
  • اعمال خودکار Conversion های سفارشی
  • انتقال داده ها بین Step Definition های متعدد
  • استفاده از Context Injection
  • جمع بندی

فصل هفتم: کنترل اجرای تست ها و اجرای کد های بیشتر

  • مقدمه
  • استفاده از Tag ها برای اجرا کردن زیر مجموعه ای از تست ها
  • محدود کردن اجرای Step با استقاده از Scoped Binding ها
  • قوانین مربوط به Scoped Binding ها
  • استفاده از Scoped Binding ها برای Team Workflow
  • معرفی Hook ها
  • اجرای کد ها قبل و بعد از هر کدام از سناریو ها
  • اهمیت ترتیب در اجرا شدن Hook ها
  • استفاده از Scenario Background و [BeforeScenario]
  • نکات مهم درمورد اجرای موازی تست ها
  • آموزش عملی اجرای موازی تست ها
  • جمع بندی
دیدگاه کاربران

دیدگاه ها

برای ثبت دیدگاه ابتدا وارد حساب کاربری شوید.
هنوز دیدگاهی برای این محصول تایید نشده است.