برای آزمایش یک نرمافزار فارسی، چند نام ساده مثل «علی» و «مریم» کافی نیست. دادهٔ تست فارسی باید نام مرکب، تفاوت شکل حروف، فاصله، نیمفاصله و طولهای متفاوت را هم پوشش دهد. بانک اسامی آماده میتواند ورود دستی داده را کمتر کند، اما مجموعهٔ آزمون باید با رفتار مورد انتظار برنامهٔ شما ساخته شود. هدف فقط پُرکردن جدول نیست؛ میخواهیم خطاهای ذخیرهسازی، جستوجو و نمایش را پیش از کاربر پیدا کنیم.
چه خطاهایی با دادهٔ فارسی آشکار میشوند؟
ممکن است نام درست ذخیره شود، اما هنگام جستوجو پیدا نشود؛ یا در صفحهٔ پروفایل کامل باشد، ولی روی رسید قطع شود. گاهی هم «ی» فارسی و «ي» عربی در ورود و جستوجو یکسان رفتار نمیکنند. یک نتیجهٔ صحیح در فرم ثبتنام، صحت تمام مسیرهای بعدی را ثابت نمیکند.
| نوع داده | مثال آموزشی | مورد آزمون |
|---|---|---|
| نام ساده | سارا | ثبت، خواندن و نمایش پایه |
| نام مرکب | محمد رضا | حفظ فاصله و جستوجوی چندکلمهای |
| نیمفاصله | علیرضا | رفتار ورودی و جستوجو |
| شکل متفاوت حرف | علي / علی | قاعدهٔ یکسانسازی حروف |
| ورودی مرزی | نام بلند یا ورودی فقط شامل فاصله | محدودیت طول و پیام خطا |
این نمونهها هویت اشخاص واقعی نیستند و برای توضیح سناریو آمدهاند. در محیط تست، شناسه و ایمیل آزمایشی مستقل بسازید و به دادههای واقعی مشتریان متکی نشوید.
ذخیرهسازی یونیکد را از ابتدا بررسی کنید
در SQL Server، نوع nvarchar یکی از انتخابهای معمول برای متن یونیکد است. مستندات Microsoft دربارهٔ nchar و nvarchar جزئیات نوع داده را توضیح میدهد. آزمون زیر فقط یک نمونهٔ مستقل در SQL Server است و دستور واردکردن فایل محصول محسوب نمیشود:
DECLARE @Names TABLE (Id int, DisplayName nvarchar(100));
INSERT INTO @Names (Id, DisplayName)
VALUES (1, N'سارا'), (2, N'محمد رضا'), (3, N'علیرضا');
SELECT Id, DisplayName FROM @Names ORDER BY Id;
پس از اجرا، داده را از همان مسیر واقعی برنامه هم ثبت و دوباره بخوانید. تنظیمات پایگاه داده تنها بخش ماجرا نیست؛ خواندن فایل، ارسال درخواست، تبدیل متن و خروجی رابط هم باید درست کار کنند. در کد برنامه از پارامترهای کوئری استفاده کنید و ورودی کاربر را به متن SQL نچسبانید.
قاعدهٔ جستوجو را قبل از اصلاح داده تعیین کنید
ابتدا تصمیم بگیرید جستوجوی «علي» باید «علی» را هم پیدا کند یا نه. سپس همان انتظار را در آزمون بنویسید. تنظیمات مقایسهٔ متن در پایگاه داده و قواعد نرمافزار هر دو میتوانند اثر داشته باشند؛ نتیجه را در محیط خودتان اندازه بگیرید، نه با حدس دربارهٔ همهٔ موتورهای دیتابیس.
متن اصلی نمایش را با نسخهٔ آمادهشده برای جستوجو بیدلیل جایگزین نکنید. برای مثال، میتوان مقدار اصلی را حفظ کرد و کلید جستوجوی جداگانه ساخت. قواعدی مثل حذف فاصله یا نیمفاصله باید آگاهانه باشند؛ حذف همهٔ فاصلهها ممکن است دو ورودی متفاوت را یکسان کند.
بانک اسامی آماده چه کاری را آسان میکند؟
پایگاه دادهٔ اسامی فارسی در قالب SQL و Access MDB طبق مشخصات محصول شامل دو فایل با پسوندهای SQL و MDB است. این مجموعه برای ساخت دادهٔ اولیه و تمرین ورود داده قابل بررسی است. پیش از خرید، به قالب موردنیاز ابزار خود توجه کنید؛ پسوند SQL بهتنهایی تضمین نمیکند که دستورهای فایل بدون تغییر روی هر موتور پایگاه داده اجرا شوند.
اگر از SQL Server، MySQL یا ابزار دیگری استفاده میکنید، ساختار و دستورهای فایل را در یک پایگاه آزمایشی جدا بررسی کنید. برای فایل MDB نیز دسترسی به ابزار سازگار با آن فرمت لازم است. آرشیو نامها جای دادهٔ حجیمِ شبیه رفتار واقعی سامانه، اطلاعات تماس یا مشخصات جمعیتی معتبر را نمیگیرد.
سناریوی پیشنهادی آزمون از ابتدا تا انتها
- ده نمونهٔ ساده و مرزی انتخاب و نتیجهٔ مورد انتظار هرکدام را ثبت کنید.
- آنها را از فرم یا مسیر ورود واقعی برنامه ذخیره کنید.
- متن ذخیرهشده را با ورودی مقایسه کنید.
- جستوجوی کامل، بخشی و شکل متفاوت حروف را آزمایش کنید.
- نمایش را در فهرست، صفحهٔ جزئیات، خروجی و فایل قابل چاپ ببینید.
- هر خطای پیداشده را به یک آزمون تکرارپذیر تبدیل کنید.
برای آزمون کارایی، فقط تکثیر یک نام هزار بار کافی نیست. تنوع طول، تکرار، الگوی جستوجو و تعداد رکوردها باید با سناریوی برنامه هماهنگ باشد. دادهٔ کوچک این مقاله برای بررسی رفتار متن است، نه اثبات سرعت سامانه زیر بار.
اگر این کار بخشی از پروژهٔ درسی شماست، راهنمای پروژهٔ برنامهنویسی دانشجویی کمک میکند آزمونها و نتیجهها را در مستندات پروژه ثبت کنید.
پرسشهای متداول
آیا بانک اسامی، بانک اطلاعات اشخاص است؟
خیر. نامهای نمونه را نباید اطلاعات هویتی یا فهرست مشتری تلقی کرد. هدف این کاربرد، ساخت دادهٔ آموزشی و آزمایشی است.
آیا یکسانسازی ی و ک همیشه لازم است؟
به نیاز محصول و قاعدهٔ جستوجو بستگی دارد. تصمیم را مستند کنید و پیش از تغییر دادهٔ اصلی، اثر آن را در آزمون ببینید.
فایل SQL را مستقیم روی دیتابیس اصلی اجرا کنیم؟
ابتدا آن را در محیط آزمایشی بررسی کنید. ساختار جدولها، دستورها و سازگاری موتور باید پیش از هر ورود داده به محیط اصلی روشن باشد.