رفتن به محتوا

۸ دقیقه مطالعه

گوهٔ صفحه‌کلید در برابر شبیه‌ساز بارکد: تفاوت‌های اصلی

گوهٔ صفحه‌کلید و شبیه‌ساز بارکد اغلب در یک بحث کنار هم می‌آیند، و دقیقاً به همین دلیل تیم‌ها آن‌ها را قاطی می‌کنند. به هم مربوط‌اند، اما یک چیز نیستند. گوهٔ صفحه‌کلید توصیف می‌کند اسکنر داده را چگونه به نرم‌افزار شما می‌فرستد. شبیه‌ساز بارکد ابزاری است برای بازتولید آن رفتار بدون اسکنر فیزیکی.

گوهٔ صفحه‌کلید یعنی چه

اسکنر گوهٔ صفحه‌کلید مثل صفحه‌کلید رفتار می‌کند. وقتی بارکد را می‌خواند، نویسه‌ها را طوری به فیلد فعال می‌فرستد که انگار کسی خیلی سریع تایپشان کرده. این یکی از دلیل‌های محبوبیت اسکنرهای گوه‌ای است: بسیاری از برنامه‌ها می‌توانند ورودی اسکنر را بدون یکپارچه‌سازی سفارشی دستگاه بپذیرند.

از دید برنامه ساده به نظر می‌رسد. در عمل رفتار مهمی همراهش می‌آید:

  • ورودی سریع و پیاپی نویسه
  • وابستگی به فوکوس فعلی
  • کلیدهای پسوند اختیاری مثل Enter یا Tab
  • تفاوت زمان‌بندی نسبت به تایپ دستی

همین جزئیات دلیل آن است که آزمایش اسکنر بارکد اغلب اشکال‌هایی را نشان می‌دهد که آزمایش معمولی فرم نشان نمی‌دهد.

شبیه‌ساز بارکد چه می‌کند

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

ورودی گوهٔ صفحه‌کلید و شبیه‌سازی بارکد مسئله‌های مرتبط اما متفاوتی را در گردش آزمایش حل می‌کنند.
ورودی گوهٔ صفحه‌کلید و شبیه‌سازی بارکد مسئله‌های مرتبط اما متفاوتی را در گردش آزمایش حل می‌کنند.

این شبیه‌ساز را ابزار توسعه و QA می‌کند. تعریف گوهٔ صفحه‌کلید را جایگزین نمی‌کند. کمک می‌کند رفتار اسکنر بارکد را شبیه‌سازی کنید وقتی سخت‌افزار در دسترس نیست، نامناسب است، یا صرفاً از کاری که رویش هستید کندتر است.

مهم‌ترین تفاوت

تمیزترین راه فکر کردن به آن این است:

  • گوهٔ صفحه‌کلید یک حالت ورودی اسکنر است
  • شبیه‌ساز بارکد ابزار نرم‌افزاری است که آن حالت را تقلید می‌کند

وقتی این دو ایده را جدا کنید، بخش بزرگی از سردرگمی از بین می‌رود. دیگر نمی‌پرسید شبیه‌ساز «گوه است» یا نه، و می‌پرسید آیا رفتار گوه‌ای را که برنامه‌تان به آن وابسته است بازتولید می‌کند یا نه.

چرا این تفاوت در پروژه‌های نرم‌افزار مهم است

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

هیچ‌کدام خوب نیست. اولی توسعه را کند می‌کند. دومی حس اطمینان کاذب می‌دهد. فهم تمایز کمک می‌کند ابزار درست را برای لایهٔ درست آزمایش انتخاب کنید.

شبیه‌ساز چه وقت انتخاب بهتری است

اگر فرم می‌سازید، رسیدگی به فوکوس را اشکال‌زدایی می‌کنید، رفتار پسوند Enter را بررسی می‌کنید، یا روی ایستگاه کاری آزمایش سریع POS می‌کنید، شبیه‌ساز معمولاً انتخاب بهتری است. پیکربندی‌اش سریع‌تر است، تکرارش آسان‌تر، و برای توسعهٔ روزمره عملی‌تر.

به همین دلیل ابزارهایی مثل Barcode Scanner Emulator مفیدند. می‌گذارند رفتار اسکنر بارکد را در توسعهٔ عادی شبیه‌سازی کنید، به‌جای آنکه هر بازتولید اشکال به مسئلهٔ زمان‌بندی سخت‌افزار تبدیل شود.

اسکنر واقعی گوهٔ صفحه‌کلید چه وقت هنوز برنده است

اسکنر واقعی را وقتی به کار ببرید که باید خود مسیر دستگاه را اعتبارسنجی کنید:

  • حس ماشه و تجربهٔ اپراتور
  • پیکربندی و جفت‌سازی اسکنر
  • مشکل کابل یا هاب USB
  • محدودیت پایانه
  • ویژگی‌های محیط فروشگاه یا انبار

شبیه‌ساز بارکد نمی‌تواند بگوید مدل خاصی از اسکنر پس از خواب قطع می‌شود یا نه، یا پایانهٔ POS قفل‌شده تغییر حالت دستگاه را مسدود می‌کند یا نه. این نقص شبیه‌ساز نیست. فقط یعنی دو ابزار به پرسش‌های متفاوت جواب می‌دهند.

مقایسهٔ سریع به زبان ساده

اگر می‌خواهید جواب دهید «وقتی بارکد اسکن می‌شود این صفحه درست رفتار می‌کند؟»، با شبیه‌ساز شروع کنید.

اگر می‌خواهید جواب دهید «همین اسکنر و همین محیط در شرایط تولید درست رفتار می‌کنند؟»، اسکنر گوهٔ واقعی را به کار ببرید.

این جداسازی ساده معمولاً کافی است تا آزمایش اسکنر بارکد و آزمایش POS خیلی پیش‌بینی‌پذیرتر شود.

بده‌بستانی که بیشتر تیم‌ها باید بکنند

برای بیشتر تیم‌ها تقسیم درست سرراست است:

  1. شبیه‌ساز بارکد را برای توسعهٔ روزانه و تکرارهای QA به کار ببرید
  2. اسکنر سخت‌افزاری را برای اعتبارسنجی انتشار و بررسی‌های خاص محیط به کار ببرید
  3. همان فیکسچرهای بارکد را در هر دو محیط نگه دارید

این سرعت می‌دهد بدون وانمود کردن به اینکه سخت‌افزار دیگر مهم نیست. نشست‌های سخت‌افزار را هم ارزشمندتر می‌کند، چون روی مسئله‌هایی تمرکز می‌کنند که فقط سخت‌افزار آشکارشان می‌کند.

یک نمونهٔ عملی

فرض کنید فیلد جست‌وجوی محصول POS وقتی دستی تایپ می‌کنید کار می‌کند، اما وقتی مقدارهای اسکن‌شده سریع و با Enter می‌رسند شکست می‌خورد. این مورد کلاسیک شبیه‌ساز است، چون می‌توانید زمان‌بندی و رفتار پسوند را بارها بیازمایید.

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

جمع‌بندی

گوهٔ صفحه‌کلید و شبیه‌ساز بارکد ایده‌های رقیب نیستند. یکی توصیف می‌کند بسیاری از اسکنرها چگونه رفتار می‌کنند. دیگری راهی عملی می‌دهد تا آن رفتار را برای آزمایش بازتولید کنید. وقتی این نقش‌ها را جدا کنید، راهبرد آزمایش اسکنر بارکد خیلی آسان‌تر استدلال می‌شود و خیلی آسان‌تر نگهداری می‌شود.

گام مفید بعدی

اگر می‌خواهید این گردش‌ها را در عمل امتحان کنید، از ابزار Barcode Scanner Emulator شروع کنید و سپس برای الگوهای آزمایشی بیشتر به بقیهٔ وبلاگ برگردید.

مقاله‌های مرتبط