چگونه کدهای QR را در برنامه های خود آزمایش کنید

ساخت نرم افزار با کیفیت فقط با تست های کیفیت امکان پذیر است. چه اسکریپتهای آزمایشی را برای مهندسین QA بنویسید یا آزمایشهای خودکار بسازید، آزمایشها به شما کمک میکند تا اطمینان حاصل کنید که برنامههای شما همچنان به کار خود ادامه میدهند که در حال رشد و تکامل هستند.
با این حال، اگر برنامه شما تولید شود، استفاده از تست خودکار برای تأیید رفتار صحیح می تواند چالش برانگیز باشد مصنوعات بصریمانند کدهای QR. مسلماً، میتوانید تستهای واحد بنویسید تا مطمئن شوید کد شما برای تولید کدهای QR همان کاری را که باید انجام میدهد. با این حال، خطر این است که تست های شما خیلی محکم با کد برنامه شما همراه شود. هر زمان که برنامه را تغییر می دهید، باید آزمایشات خود را به روز کنید.
من قبلاً در مورد Tricentis Tosca نوشته ام اما اخیراً یکی از ویژگی های جدیدتر آن را کشف کرده ام. از جمله ابزارهای موجود در محصول می توان به تایید تصویری کدهای QR و بارکد اشاره کرد. به جای نوشتن کد برای رمزگشایی آنچه برنامه من به تازگی رمزگذاری کرده است، فقط می توانم Tosca را به برنامه خود نشان دهم و آنچه را که باید در کد QR وجود داشته باشد، کنار بگذارم و جزئیات پیاده سازی نحوه عملکرد آزمایش ها را کنار بگذارم. بله، آزمایش کد QR باید اینگونه عمل کند.
بیایید نگاهی به مثالی از نحوه عملکرد این آزمایش بیندازیم.
برنامه آزمایشی
قبل از اینکه بتوانیم تولید کد QR را آزمایش کنیم، باید اپلیکیشنی بسازیم که کدهای QR تولید کند. خوشبختانه، ما می توانیم از یک کتابخانه تولید کننده کد QR منبع باز استفاده کنیم. این مخزن شامل نمونه هایی برای پیاده سازی تولید کد QR در چندین زبان مختلف از جمله جاوا، پایتون، TypeScript، C و C++ است. تصمیم گرفتم با اجرای Rust بروم.
وقتی نمونه Rust را ساختم، خروجی خوبی در کنسول من داشت، بنابراین با آن پیش رفتم.
من همچنین مقداری کد به مثال اضافه کردم تا اولین کد QR را در یک فایل SVG بنویسم تا بعداً آزمایش شود. توجه داشته باشید که کد QR حاوی رشته “Hello, world!” است. این چیزی است که ما برای آن آزمایش خواهیم کرد.
تست کدهای QR با توسکا
اکنون که اپلیکیشنی برای کار داریم، بیایید نحوه آزمایش آن را با Tricentis Tosca بررسی کنیم.
به عنوان یادآوری، Tricentis Tosca تست بدون کد و مبتنی بر هوش مصنوعی برای برنامه های شما است. هم عامل های ابری و هم عوامل محلی را برای اجرای تست های برنامه ارائه می دهد. در نسخه اخیر، پشتیبانی جدیدی برای آزمایش کدهای QR معرفی کرد.
هنگامی که کد Rust من کد QR را تولید کرد، کد QR را در یک PDF قرار دادم (ساده ترین راه برای انجام این کار این است که آن را باز کنید و در PDF چاپ کنید)، و سپس آن فایل PDF را در مکانی قابل دسترسی برای Tosca قرار دادم.
من تصمیم گرفتم از سازنده تست جدید در Tosca Cloud برای ساخت این تست استفاده کنم زیرا فقط می خواستم آن را با یک تست ساده امتحان کنم. این کار به سادگی ورود به حساب Tosca Cloud من و شروع یک مجموعه آزمایشی جدید بود. از آنجایی که من قبلاً دستگاه را به Tosca Cloud متصل کرده بودم و VM جایی است که مجوز خود را برای استفاده از Tosca تنظیم کردهام، Tosca Cloud میتواند آزمایش را روی گره به عنوان یک عامل شخصی انجام دهد.
برای پیکربندی تست، من به سادگی ماژول را از کتابخانه ماژول توسکا برای “خواندن یک PDF QR/بارکد” کشیدم و آن را به سمت فایل PDF نشان دادم. برای فیلد مقدار، چیزی که باید در فایل باشد را وارد کردم. همین!
در اینجا چگونه در Tosca Cloud به نظر می رسد:
Tosca همچنین دارای اعتبارسنجی وب QR/بارکد است، اما استفاده از آن نیازمند انتشار یک برنامه با URL است که یک نماینده آزمایشی میتواند به آن دسترسی داشته باشد.
بعد از تنظیم همه چیز، روی آن کلیک کردم اجرا کنید دکمه Tosca Cloud یک برنامه را به صورت محلی راهاندازی میکند، در دستگاه آزمایشی من اجرا میشود و مورد آزمایشی را که ساختهام پیوند میدهد. این به من اجازه می دهد تا از بسیاری از تنظیمات لازم برای مجموعه آزمایشی قوی تر صرف نظر کنم.
تست اجرا می شود و مورد تست اجرا می شود. توسکا دسترسی به نتایج را فراهم می کند:
برای دیدن خروجی کامل آخرین مرحله، میتوانیم روی آن کلیک کنیم تا جزئیات بیشتری را ببینیم.
اکنون، بر اساس مقدار کدگذاری شده در کد QR، یک آزمون قبولی برای برنامه خود داریم. نیازی نیست خودمان رمزگشای کد QR بسازیم. توسکا رمزگشایی را برای ما انجام می دهد! به این ترتیب، می توانیم تأیید کنیم که برنامه ما مطابق انتظار عمل می کند.
بیایید این را با اصلاح آنچه که آزمایش در کد QR تولید شده جستجو میکند، تأیید کنیم.
ما آزمایش را برای جستجوی «سلام، توسکا!» بهروزرسانی کردهایم. به جای «سلام، دنیا!» در این مرحله، آزمون به روز شده ما باید شکست بخورد. ما تست را اجرا می کنیم و به نتیجه نگاه می کنیم.
همانطور که انتظار می رود، مورد آزمایش شکست می خورد. جزئیات در مرحله تأیید اطلاعات مفیدی به ما می دهد:
همانطور که می بینیم، کد QR شامل رشته ای نیست که تست به دنبال آن است. با این که برنامه در حال حاضر “Hello, World!” را رمزگذاری می کند، آزمون ما با شکست مواجه شد. بیایید کد خود را برای مطابقت با انتظارات آزمایشی خود اصلاح کنیم.
ما دوباره تست خود را انجام می دهیم.
آزمون قبول می شود و جزئیات مورد آزمایش دلیل آن را تأیید می کند.
اکنون، همانطور که کد برنامه یا الزامات آزمایشی خود را تغییر میدهیم، مطمئن هستیم که کدهای QR ما مطابق با مشخصات تولید میشوند.
تست QR برای پیروزی!
اگرچه این نمایش تا حدودی ساده است، اما راحتی داشتن یک ابزار تست برای رمزگشایی کد QR را نشان می دهد. علاوه بر این، تستهایی که من برای این ویژگی ساختهام کاملاً جدا از کتابخانهای است که برای پیادهسازی عملکرد رمزگذاری استفاده کردهام. این بدان معناست که در آینده، من میتوانم کتابخانه را بدون تغییر اصلاً تعویض کنم، و آزمایشهای من به من میگویند که آیا تغییر کتابخانه بدون درز بوده است یا خیر.
یک روز واقعا عالی داشته باشید!