سود:
- امکان تبدیل الزامات و معیارهای پذیرش به موارد آزمون جامع با تکنیک هایی مانند کلاس های هم ارزی، تجزیه و تحلیل ارزش مرزی و جداول تصمیم، با پشتیبانی هوش مصنوعی.
- امکان تولید سناریوهای مثبت، منفی و حاشیه ای به صورت جداگانه و تکمیل موارد لبه از دست رفته هوش مصنوعی با اطلاعات محصول
- امکان ایجاد قابلیت ردیابی و از بین بردن شکاف های پوششی و نفخ غیر ضروری با پیوند دادن موارد آزمایشی به معیارهای پذیرش
کار آزمایشگر اغلب با این صفحه خالی شروع می شود: او یک الزام دارد ("کاربر باید بتواند رمز عبور خود را بازنشانی کند") و باید این جمله را به ده ها بررسی دقیق تبدیل کند که ثابت کند نرم افزار واقعاً درست کار می کند. این تغییر شکل طراحی تست نامیده می شود. دانستن تفاوت بین یک سناریوی آزمایشی - یک هدف سطح بالا که توصیف میکند چه چیزی باید آزمایش شود، مانند "گذرواژه نامعتبر باید رد شود" - و یک مورد آزمایشی - یک واحد اجرایی که جزئیات آن سناریو را با مراحل مشخص، ورودی و نتیجه مورد انتظار بیان میکند، کلیدی است. هوش مصنوعی (AI) دقیقاً به این لحظه صفحه خالی سرعت می بخشد: تبدیل یک نیاز به ده ها سناریو پیش نویس در چند ثانیه. اما به یاد داشته باشید - هوش مصنوعی موقعیت هایی را که می توانید به آن فکر کنید تکرار می کند. شما با دانش محصول خود انتخاب می کنید که کدام موقعیت ها واقعا مهم هستند.
در این بخش، گام به گام یاد خواهید گرفت که چگونه یک نیاز را با پشتیبانی هوش مصنوعی به یک مجموعه آزمایشی جامع اما بدون درهم و برهم تبدیل کنید.
گام به گام: از نیاز به مجموعه تست
مرحله 1 - الزامات را روشن کنید. قبل از ارائه نیاز خام به هوش مصنوعی، معیارهای پذیرش (شرایطی که یک کار باید رعایت کند تا «انجام شده» در نظر گرفته شود) را جمع آوری کنید. "رمز عبور باید قابل تنظیم مجدد باشد" کافی نیست. قوانینی مانند "لینک بازنشانی به مدت 30 دقیقه معتبر است"، "از همان رمز عبور نمی توان دوباره استفاده کرد" منبع آزمایش واقعی هستند.
مرحله 2 - تکنیک های تست را اجرا کنید. در مورد هوش مصنوعی فقط نگویید "یک اسکریپت بنویس". تکنیک های طراحی آزمون کلاسیک را با نام بخواهید:
- کلاس های هم ارزی (پارتیشن بندی معادل): تقسیم ورودی ها به گروه هایی که انتظار می رود رفتار مشابهی ایجاد کنند. به عنوان مثال، برای فیلد سنی، "محدوده معتبر"، "بسیار کوچک" و "بسیار بزرگ" کلاس هستند. آزمایش یک مثال از هر کلاس کافی است.
- تجزیه و تحلیل ارزش مرزی: آزمایش مقادیر آستانه بر اساس این واقعیت است که خطاها بیشتر در مرزها رخ می دهند. مثل اینکه 17، 18، 19 را جداگانه برای محدودیت سنی 18 سال تست کنید.
- جدول تصمیم: جدول بندی ترکیبی از شرایط چندگانه و نتیجه مورد انتظار هر ترکیب.
- انتقال وضعیت: آزمایش انتقال سیستم از حالت به حالت (به عنوان مثال، سفارش: ایجاد → پرداخت شده → ارسال شده) و انتقال نامعتبر.
مرحله 3 - حالت های مثبت، منفی و لبه را از هم جدا کنید. یک تست مثبت (نتیجه مورد انتظار با ورودی صحیح)، یک تست منفی (خطای مناسب با ورودی نامعتبر) و یک مورد لبه - موارد مرزی یا غیر معمول بخواهید. هوش مصنوعی به طور کلی بر موارد مثبت تأکید می کند. موارد منفی و لبه ناقص هستند مگر اینکه صریحاً آنها را درخواست کنید.
مرحله 4 - اولویت بندی و هرس کنید. هوش مصنوعی می تواند 60 سناریو ایجاد کند. همه آنها از ارزش یکسانی برخوردار نیستند. کسانی که ریسک بالایی دارند (پول، امنیت، از دست دادن داده ها) را در اولویت قرار دهید و آنهایی را که تکراری هستند ترکیب کنید.
نکته: یک درخواست جداگانه به هوش مصنوعی ارسال کنید و بگویید "5 مورد لبه غیرقابل تصور را از این نیاز ایجاد کنید". با ارزش ترین کمک هوش مصنوعی این است که اغلب موقعیت های خارق العاده ای را که نادیده گرفته اید به شما یادآوری می کند.
اعلان ضعیف / اعلان قوی
ضعیف: "نوشتن موارد آزمایشی برای بازنشانی رمز عبور."
قوی: "موردهای آزمایشی را برای ویژگی "بازنشانی رمز عبور" با معیارهای پذیرش زیر ایجاد کنید: پیوند معتبر برای 30 دقیقه، یکبار استفاده، 3 گذرواژه آخر قابل استفاده مجدد نیست، حساب به مدت 15 دقیقه پس از 5 تلاش نادرست قفل می شود. کلاس های هم ارزی و تجزیه و تحلیل ارزش مرزی را اعمال کنید. برای هر یک از موارد مثبت، منفی، و موارد لبه، داده های مثبت، منفی، داده های موردی مرتبط، شناسه های مورد انتظار مرتبط، در سرفصل های جداگانه جداگانه. معیارهای پذیرش را برجسته کنید.
اعلان قدرتمند؛ قوانین، تکنیک ها، فرمت خروجی و ترتیب اولویت را ارائه می دهد. بنابراین، هوش مصنوعی موارد آزمایشی قابل اجرا و قابل ردیابی را تولید می کند، نه موارد تزئینی.
فرمت خروجی مورد تست
فرمت ساختاریافته ای را بخواهید که بتواند مستقیماً به ابزار مدیریت تست تیم شما وارد شود (مانند TestRail، Zephyr، Xray). جدول زیر اجزای یک تست خوب را نشان می دهد:
منطقه
توضیحات
مثال
شناسه
شناسه منحصر به فرد
TC-PWD-014
عنوان
هدف مختصر
لینک منقضی شده رد خواهد شد
پیش نیاز
شرایط لازم قبل از آزمایش
پیوند بازنشانی 31 دقیقه پیش ایجاد شد
مراحل
اقدامات متوالی
1. روی لینک کلیک کنید. 2. رمز عبور جدید را وارد کنید
داده های تست
مقادیر بتن مورد استفاده
لینک قدیمی، رمز عبور جدید "Abc!2345"
نتیجه مورد انتظار
رفتاری که باید تایید شود
خطای "لینک منقضی شد"، رمز عبور تغییر نمی کند
معیارهای پذیرش
لینک ردیابی
AK-3: لینک به مدت 30 دقیقه معتبر است
اولویت
سطح ریسک
بالا
چهار قالب قابل کپی
1) تولید سناریوی مبتنی بر فنی:
نقش شما: طراح ارشد آزمون. ایجاد موارد آزمون برای ویژگی: [ویژگی و معیارهای پذیرش]. اعمال: کلاس های هم ارزی، تجزیه و تحلیل نقطه شکست، جدول تصمیم. خروجی را در 3 گروه ارائه دهید: مثبت / منفی / مورد لبه. هر مورد: ID، پیش شرط، مراحل، داده های آزمون، نتیجه مورد انتظار، معیارهای پذیرش مرتبط، اولویت (High/Me).
2) شکارچی لبه مورد:
10 مورد لبهای که معمولاً نادیده گرفته میشوند را برای ویژگی زیر فهرست کنید: [ویژگی]. در یک جمله بنویسید که چرا برای هر کدام ریسک دارد. به محورهایی مانند خالی/تهی، ورودی بیش از حد طولانی، همزمانی، مهلت زمانی، خطاهای قالب، Unicode/emoji، منفی/صفر، قطع شبکه فکر کنید.
3) تولید جدول تصمیم:
جدول تصمیم گیری برای قانون تجاری زیر ایجاد کنید: [قوانین]. ستون ها: ترکیبات شرط. ردیف: هر شرط و عمل مورد انتظار. ترکیبهای غیرقابل دستیابی یا متناقض را پرچمگذاری کنید. سپس برای هر ترکیب یک مورد آزمایشی پیشنهاد کنید.
4) کنترل ردیابی:
با توجه به فهرست زیر معیارهای پذیرش و موارد آزمون زیر: [معیارها] / [موارد]. به صورت جدولی نشان دهید که کدام معیارهای پذیرش با موارد آزمون NO (شکاف پوشش) و کدام موارد با هیچ معیاری (مورد اضافی) برآورده نشده است.
سه کیف کوچک
مورد 1 - مقدار حالات لبه. یک متخصص از یک تیم فینتک 18 اسکریپت برای ویژگی انتقال پول نوشته بود. او الگوی «شکارچی لبه» را برای هوش مصنوعی اعمال کرد. هوش مصنوعی وضعیت "انتقال تعادل یکسان از دو دستگاه به طور همزمان" (همزمان) را یادآوری کرد. وقتی این سناریو آزمایش شد، یک آسیبپذیری خرج دوگانه پیدا شد و قبل از پخش زنده بسته شد. یک موقعیت حاشیه ای از ضرر احتمالی شش رقمی جلوگیری کرد.
مورد 2 - کوتاه کردن برآمدگی. تیمی از هوش مصنوعی خواست تا یک اسکریپت برای فرم عضویت تولید کند و 74 مورد بررسی شد. اجرای الگوی ردیابی نشان داد که 74 مورد تنها 9 معیار پذیرش را برآورده میکنند و بسیاری از آنها همان کلاس معادل را مجدداً آزمایش کردهاند. این مجموعه از 74 به 23 مورد قابل توجه کاهش یافت. زمان اجرا 68 درصد کاهش یافت، پوشش کاهش پیدا نکرد.
مورد 3 - فرض اشتباه. هوش مصنوعی آزمایش تاریخهای نامعتبر مانند «31 فوریه» را برای یک فیلد تاریخ پیشنهاد کرد، اما نمیدانست که مؤلفه تقویمی که تیم استفاده میکرد قبلاً این مورد را مسدود کرده است. کارشناس 4 سناریو از 6 سناریو تاریخ تولید شده توسط هوش مصنوعی را به عنوان غیر ضروری در زمینه محصول حذف کرد. امکانات ایجاد شده توسط هوش مصنوعی؛ انتخاب اطلاعات محصول را انجام داد.
اشتباهات رایج
- درخواست اسکریپت بدون ارائه معیارهای پذیرش. بدون دانستن اینکه چه چیزی درست است، هوش مصنوعی سناریوهای سطحی را تولید می کند که اغلب خطر واقعی را از دست می دهند.
- فقط به آزمایشات مثبت رضایت داد. صراحتاً موارد منفی و لبه نمی خواهند. این جایی است که اشتباهات اغلب نهفته است.
- پذیرفتن آنچه تولید می شود همانگونه که هست. فراموش کردن این نکته که هوش مصنوعی از زمینه محصول اطلاعی ندارد و سناریوهای غیر ضروری یا غیرممکن را در مجموعه به جا می گذارد.
- دور زدن قابلیت ردیابی عدم ارتباط پرونده ها با معیارهای پذیرش؛ در نتیجه دیده نمی شود که کدام معیار مورد آزمایش قرار نگرفته است (شکاف پوشش).
- مغالطه کمیت خوشحال بودن چون «60 فیلمنامه منتشر شده است». ارزش در تعداد نیست، بلکه در محدوده ای است که ریسک را پوشش می دهد.
به طور خلاصه
طراحی تست در مورد ترجمه الزامات یک جمله ای به موارد ملموس و قابل اجرا است که صحت نرم افزار را اثبات می کند. هوش مصنوعی این تغییر را بسیار تسریع میکند: زمانی که معیارهای پذیرش، تکنیکهای تست کلاسیک (کلاسهای هم ارزی، نقطه شکست، جدول تصمیمگیری، انتقال حالت) و یک قالب خروجی واضح را ارائه میدهید، نقشههای جامعی را تولید میکند. اما هوش مصنوعی نسبت به موارد مثبت تعصب دارد، زمینه محصول را نمی شناسد و می تواند نفخ غیرضروری ایجاد کند. وظیفه شما این است که صریحاً موارد منفی و لبه را درخواست کنید، قابلیت ردیابی را ایجاد کنید، بر اساس خطر اولویت بندی کنید و هرس کنید.
وظیفه کاربردی
یک ویژگی از پروژه خود را انتخاب کنید و معیارهای پذیرش را یادداشت کنید. از هوش مصنوعی بخواهید موارد آزمایشی را با الگوی «تولید سناریو مبتنی بر تکنیک» ایجاد کند. سپس الگوهای “Edge Case Hunter” و “Traceability Check” را اعمال کنید. در نتیجه: (1) حداقل 3 مورد لبهای را اضافه کنید که هوش مصنوعی از آن عبور میکند، (2) مواردی را که به هیچ معیار پذیرش وصل نمیشوند، هرس کنید، (3) اگر معیارهای پذیرش آزمایش نشده باقی مانده است، موارد جدید بنویسید. مجموعه نهایی را در یک صفحه گسترده بریزید.
چک لیست
- [ ] قبل از درخواست فیلمنامه، معیارهای پذیرش را روشن کردم.
- [ ] من از YZ برای کلاس های هم ارزی و تجزیه و تحلیل ارزش مرزی با نام درخواست کردم.
- [ ] من حالت های مثبت، منفی و لبه را جداگانه ایجاد کردم.
- [ ] من هر مورد آزمایشی را به یک معیار پذیرش (قابلیت ردیابی) مرتبط کردم.
- [ ] شکاف دامنه و موارد غیر ضروری را با جدول بررسی کردم.
- [ ] من با خطر اولویت بندی کردم و مجموعه متورم را هرس کردم.