داده های تست نرم افزار چیست؟

چه یک توسعهدهنده فرانتاند باشید که اطلاعات را در یک صفحه وب نمایش میدهد یا یک توسعهدهنده بکاند که کارهای سنگین را با پایگاه داده انجام میدهد، تست نرمافزار خوب بدون دادههای آزمایشی خوب غیرممکن است. پس برای بهترین عملکرد داده های تست نرم افزار از ضروری ترین موارد است.
داده های تست نرم افزار چیست؟
تست نرمافزار معمولاً به دادههایی نیاز دارد،برای مثال باید نحوه نمایش اطلاعات در رابط کاربری یا دقت محاسبات پشتیبان را دوباره بررسی کرد. دریافت دادههای آزمایشی که تا حد امکان شبیه به دادههای تولید باشد، برای تقلید از سناریوهای دنیای واقعی مهم است، اما میتواند چالشهایی مانند نگرانیهای مربوط به حفظ حریم خصوصی برای توسعهدهندگان ایجاد کند. داده های آزمایشی نه تنها برای بررسی کد برای اشکالات استفاده می شود، بلکه برای سایر جنبه های مهم برنامه نیز مانند عملکرد، مقیاس بندی و تجربه کاربر استفاده می شود.
اما دقیقاً چه چیزی داده های تست نرم افزار “خوب” را مشخص می کند؟ توسعهدهندگان میگویند که در حالت ایدهآل، باید مانند دادههای تولیدی بدون به اشتراک گذاشتن مشکلات دادههای تولید، مانند حاوی اطلاعات حساس یا قابل شناسایی شخصی، رفتار کند. اکثر شرکتها به دو روش اصلی برای دریافت دادههای آزمایشی متکی هستند: یا با ایجاد دادههای جعلی از ابتدا، یا با گرفتن دادههای تولید و حذف تمام اطلاعات حساس.
اگرچه مزایا و معایبی برای هر رویکرد وجود دارد، اما توسعهدهندگان از کدام روش برای دریافت داده های آزمایشی تست نرم افزار استفاده کنند، به شرایط زیر نیز بستگی دارد.
اطلاعات قابل شناسایی شخصی حساس نرم افزار
از بسیاری جهات، استخراج داده های آزمایشی تست نرم افزار از داده های تولید می تواند یک رویکرد بصری و موثر باشد. از این گذشته، شرکتها از قبل به آن دسترسی دارند و هیچ چیز مانند دادههای تولید موجود برای تقلید از انواع برنامههای دادهای که در تولید دیده میشوند، وجود ندارد.
اما این رویکرد با چالش های مهمی همراه است. یکی از جدی ترین آنها خطر افشای اطلاعات خصوصی کاربر در معرض کارکنان داخلی و هکرها است.
مایکل روچلین، توسعهدهنده نرمافزار در استارتآپ Healthtech Chapter، میگوید: «استفاده از داده های تولید در تست نرم افزار، زمانی که درباره دادههایی صحبت میکنید که افراد را شناسایی میکنند و بنابراین حساس هستند، آخرین راه حل است. “این به ویژه در موقعیت های مراقبت های بهداشتی مهم است.”
زمانی که در مورد داده هایی صحبت می کنید که افراد را شناسایی می کند و بنابراین حساس هستند، [استفاده از داده های تولید] آخرین راه حل است.
فرایند چند مرحله ای پاکسازی داده های تولید در نرم افزار
حتی زمانی که هیچ نگرانی امنیتی وجود ندارد، تبدیل داده های تولید تست نرم افزار به داده های آزمایشی قابل استفاده آسان نیست. اولین گام، مکان یابی تمام داده های حساس در پایگاه های داده تولید است، مرحله ای که می تواند بسیار مشکل باشد و اغلب نادیده گرفته می شود. دانستن اطلاعات حساس شما در واقع به خودی خود یک مشکل است.
به طور معمول، شرکت ها ممکن است صدها یا حتی هزاران جدول پایگاه داده داشته باشند، بررسی همه آن داده ها و شناسایی اطلاعات حساس لزوماً یک کار بی اهمیت نیست. همچنین پیگیری روابط داده ها در یک پایگاه داده دشوار است. داده ها اغلب دارای پیوندهایی به داده های دیگر در جداول هستند. وقتی توسعهدهندگان شروع به ناشناسسازی اطلاعات حساس میکنند، باید تصمیم بگیرند که آیا این روابط باید حفظ شوند یا شکسته شوند. اگر نیاز به حفظ روابط باشد، میتواند داده های آزمایشی در تست نرم افزار را کمتر ناشناس کند.
همیشه این مبادله بین ثبات و ناشناس بودن وجود دارد. اگر توسعهدهندگان بخواهند این روابط داده را حفظ کنند، حفظ روابط دادهای باعث میشود که دادههای آزمایشی ناشناس نباشند.
بیشتر بخوانید:
بهترین نرمافزار کنترل دمای کامپیوتر
مزایایی برای تولید داده های جعلی در تست نرم افزار
اگرچه برخی از توسعه دهندگان در Intelligent Medical Objects با داده های غیر حساس کار می کنند، آنها همیشه استفاده از داده های تولید را برای آزمایش انتخاب نمی کنند.
اریک گراند، مهندس نرمافزار ارشد در Intelligent Medical Objects میگوید: «دادههای تولید میتواند بسیار بسیار خاص برای چیزهای خاص باشد و در مواقعی در مقایسه با دادههای جعلی بسیار گیجکننده باشد».
در حالی که داده های تولید در تست نرم افزار میتوانند به ویژه برای جلوگیری از تکرار خطاها هنگام دستکاری گزارشهای اشکال مفید باشند، گراندت بیشتر اوقات دادههای جعلی را ترجیح میدهد. آزمایش زمانی بسیار کارآمد است که بر روی بخشهای کوچکی از عملکرد در یک زمان انجام شود، چیزی که دادههای تولید با آن مشکل دارند زیرا میتوانند بسیار بزرگ شوند و دارای ویژگیهای بسیار متفاوتی باشند.
و گاهی اوقات توسعه دهندگان به سادگی به داده های تولید دسترسی ندارند زیرا برنامه هنوز در حال ساخت است. برای هر یک از این شرایط، توسعه دهندگان می توانند به جای آن داده های جعلی ایجاد کنند. برای برنامه های کاربردی در مقیاس کوچکتر یا برنامه هایی که از داده های زیادی استفاده نمی کنند می توان اسکریپت هایی برای تولید داده های جعلی یا حتی انجام آن با دست نوشت.
خوشبختانه، توسعه دهندگان می توانند از ابزارها و کتابخانه ها برای کمک به تولید داده های جعلی استفاده کنند. پایتون کتابخانههایی را فراهم میکند که به عنوان مثال میتوانند به ایجاد هزاران نام جعلی مشتری کمک کنند. API های شخص ثالث نیز معمولاً داده های آزمایشی را ارائه می دهند تا توسعه دهندگان بتوانند قبل از انتقال به آن API ها در محیط تولید، اتصالات را آزمایش کنند.
زمانی که دادهها توسط شرکتهای شخص ثالث برای آزمایش ادغامها ارائه میشود بسیار عالی است، زیرا میتواند کار زیادی برای توسعهدهندگان باشد که خودشان انجام دهند.
نوشتن تست های بیشتر برای ارتقای استراتژی داده ها
صرف نظر از نحوه تولید داده های آزمایشی تست نرم افزار در ابتدا، توسعه دهندگان باید برای به روز نگه داشتن آن داده ها با تغییر پایگاه کد و پایگاه داده تلاش کنند. هر بار که توسعه دهندگان برای تغییر ساختار جداول پایگاه داده تغییراتی در کد ایجاد می کنند، مانند اضافه کردن یا حذف ستون ها، داده های آزمایشی نیز باید به روز شوند.
در نتیجه، تصمیم گیری در مورد نحوه ترکیب داده های آزمایشی در فرآیندهای توسعه یک فرآیند مداوم است. ممکن است کار زیادی باشد، اما یک راه خوب برای فهمیدن اینکه آیا برنامهها برای پوشش دادن موارد بیشتر به دادههای اضافی نیاز دارند، نوشتن تستهای بیشتر است. فرآیند نوشتن تست ها به طور طبیعی هرگونه شکاف در داده ها را آشکار می کند زیرا موارد آزمایش اضافی به انواع مختلفی از داده ها نیاز دارند که بخش های مختلف برنامه را لمس می کنند.
توسعهدهندگان میتوانند بینشهایی را که از نوشتن پروندههای آزمایشی به دست میآورند با ملاحظات پیرامون دشواری ناشناسسازی دادههای تولید ترکیب کنند تا درباره نحوه تولید دادههای آزمایش تصمیم بگیرند. اگر دادههای تولیدی حاوی اطلاعات حساس زیادی باشد، بهویژه اطلاعاتی که روابط پیچیدهای در سرتاسر پایگاه داده دارند، تصمیمگیری درباره نحوه ناشناس کردن دادهها میتواند بسیار پیچیده باشد. ترکیب دادههای جعلی یک جایگزین عالی است، اما این روش نیز میتواند بسیار کارساز باشد، بهویژه اگر آن روابط دادههای پیچیده برای آزمایش مهم باشند و نیاز به تکرار داشته باشند.
در نهایت، تصمیمگیری در مورد دادههای آزمایشی بر اساس موارد استفاده برنامهنویس و توسعهدهندگان گرفته میشود. هم داده های مصنوعی و هم داده های تولید ناشناس می توانند کار کنند، اما هر روش باید در رابطه با شرایط خاص پروژه ارزیابی شود.
تالیف:
فروشگاه اینترنتی آ.اس.پ (اقتباس از مقالهای از Builtin)
در صورت استفاده از این مقاله، نام و آدرس فروشگاه اینترنتی آ.اس.پ را به عنوان منبع ذکر کنید.