در قسمت سوم آموزش قصد داریم تا آشنایی بیشتری با سناریوها پیدا کنیم. برای این منظور با امکان(Feature) ورود کاربری به عنوان بازدید کننده سایت، کار را آغاز میکنیم. در واقع امکان ورود کاربری به SpecFlow Feature File اضافه میشود. فرض کنید مشتری از ما میخواهد تا هر کاربر برای ورود به سایت, یک نام کاربری و رمز عبور ایجاد نماید که نام کاربری یک ایمیل معتبر باشد و رمز عبور نیز نباید کمتر از ۸ کاراکتر اختیار کند. بنابراین به عنوان یک تستر سناریوهای متفاوتی به ذهن میرسد. یکی از این سناریوها, ورود ناموفق کاربر با نام کاربری و رمز عبور کمتر از ۸ کاراکتر است. ویژگی و سناریوی نمونه در تصویر ۷ نمایش داده شده است.
همان طور که در تصویر ۷ مشاهده میکنید سناریو با برچسب @important نشان گذاری شده است. از این برچسب گذاری میتوان هنگام انتخاب سناریوها برای اجرای تست استفاده کرد. مثلا هنگامی که زمان کمی برای تحویل یک محصول وجود دارد، میتوان تنها سناریوهایی که دارای برچسب @important(مهم) هستند را برای اجرای تست انتخاب کرد.
سناریوی تصویر ۷، ثبت نام ناموفق کاربر را بازگو میکند. چنان چه کاربر در صفحه Home سایت باشد و برای ثبت نام اقدام نماید، اگر رمز عبور خود را کمتر از ۸ رقم وارد نماید، باید با پیغام حداقل تعداد کاراکترهای رمز عبور روبرو شود. همانطور که در این سناریو مشاهده میشود نام کاربری خاص ali.md@example.com و رمز عبور خاص secret مورد ارزیابی قرار میگیرند.
این امکان در SpecFlow وجود دارد تا دادههای دلخواه به شکل چندتایی و در جدول مورد ارزیابی قرار گیرند. نمونه یک سناریو با دادههای تنظیم شده در جدول, در تصویر ۸ نمایش داده شده است. در این سناریو بر اساس دادههای ورودی متفاوت, پیغام مناسب به کاربر نمایش داده میشود. به عنوان نمونه در سطر اول داده، کاربر اطلاعات درست را به همراه رمز عبور مطابق با پارامترهای امنیتی وارد میکند, بنابراین پیغام خوش آمدگویی را میبیند. در سطر دوم کاربر پارامترهای امنیت رمز عبور را رعایت نمیکند و به همین دلیل با پیغام رعایت اصول امنیتی مواجه میشود. در سطر سوم کاربر نام کاربری نامعتبری را وارد میکند و بنابراین با پیغام صحیح نبودن نام کاربری مواجه میشود.
همچنین این امکان در SpecFlow مهیا شده است تا چنانچه شرایط یکسانی در چندین سناریو از یک Feature وجود داشته باشد، از کارهای تکراری پرهیز گردد. برای این منظور از امکان Background استفاده میشود. در تصویر ۹ این امکان نمایش داده شده است.
پیش از اجرای سناریوهای تصویر ۹، مراحل تعریف شده در Background اجرا میشوند. بنابراین برای هر دو سناریو شرایط پیش فرضِ یکسان، ابتدا اجرا شده و در ادامه مابقیِ گامهای سناریو که تبدیل به گامهای آزمون میشوند، اجرا میگردند.
در این آموزش نحوه بیان سناریوها به شکلهای مختلف ارائه شد. تصمیم در رابطه با چگونگی نوشتن سناریوها و چگونگی دستهبندی آنها در هر پروژه و بر اساس دانش موجود میان توسعهدهنده و تستر متفاوت خواهد بود. در آموزش بعدی در ارتباط با مقید سازیها صحبت خواهیم کرد.
این آموزش به سفارش تیستن و به قلم سرکار خانم مهندس سیده مهسا میری آماده گردیده، و واحد آموزش تیستن نیز آنرا منتشر کرده است.
تمام قسمتهای آموزش Specflow، به صورت دستهبندی شده از اینجا در دسترس است.