تست نرم افزار ERP چیست؟

چرخه توسعه نرم افزار (SDLC) فرایندی است که در صنعت نرم افزار جهت طراحی، توسعه و تست نرم‌افزار‌های با کیفیت بالا استفاده می‌شود و برای آن، چندین مدل‌ و روش‌ وجود دارد که به عنوان رایج‌ترین آن‌ها می توان به Agile، DevOps، Waterfall، Spiral، Iterative، V-Model، Lean و Prototyping‌ اشاره کرد. در هر یک از این روش‌ها، کنترل کیفیت و تست نرم افزار را خواهیم داشت. در توسعه نرم افزار ERP نیز که بسیار از سازمان‌ها جهت مدیریت بهتر فرایند‌های کسب‌وکار و انجام موثر عملیات کسب‌وکار خود از آن استفاده می کنند، به‌دلیل پیچیدگی تنظیمات و اهمیت داده‌هایی که در یک نرم افزار ERP وارد، پردازش و نگهداری می‌شود، نیاز است که تست ERP‌ انجام شود.

 

 

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

اهمیت تست ERP

تعداد بسیاری از نرم‌افزار‌های ERP شامل نسخه‌های مختلفی از آن‌ها در بازار وجود دارد که هر یک از آن‌ها به شخصی‌سازی و تغییرات پیچیده‌ای بر اساس نیاز سازمان‌های مختلف نیاز دارند. به‌کارگیری و پیاده‌سازی یک نرم افزار ERP، سرمایه‌گذاری و تخصیص زمان و تلاش قابل توجهی را می‌طلبد. ماژول‌های یک ERP به‌صورت یکپارچه با هم در ارتباط و تعامل هستند، مثلا ایجاد یک سفارش فروش در ماژول فروش نیازمند دسترسی به ماژول محصول (مدیریت موجودی) دارد. حال، بروز خطا یا اشکال در یک ماژول و یا کل نرم افزار ERP، می‌تواند تاثیر مخربی بر انجام کار‌ در سازمان داشته و یا حتی کل فرایند را بلوکه کند که در نتیجه آن، تمام تلاش، هزینه و زمانی که برای ERP‌ گذاشته شده به هدر می‌رود.

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

فرایند تست  ERP

۱. آماده‌سازی تست

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

۲. اجرای تست

روش‌های تست نرم افزار می توانند به‌صورت دستی و یا خودکار انجام شوند. در شیوه دستی، کارشناس تست نرم افزار ، بدون استفاده از ابزار تست خودکار، تست‌کیس‌ها را اجرا کرده و گزارشات تست را تولید می‌کند.

مهم‌ترین روش‌های تستی که به شیوه دستی قابل انجام است عبارتند از Unit، Integration، System، Acceptance . در انجام روش‌های تست به شیوه خودکار، از ابزار‌های خودکار‌سازی تست نظیر Selenium، Appium، Katalon Studio، Cucumber، WorkSoft، IBM Rational Functional Tester، Telerik Test Studio، TestComplete، ApacheJMeter و غیره، جهت اجرای تست‌کیس‌ها استفاده می‌شود.

این ابزار‌ها می توانند در طول اجرای تست، داده‌ها را وارد سیستم کرده و نتایج مورد انتظار را با نتایج واقعی مقایسه کنند و در نهایت گزارشاتی از تست ایجاد کنند. Unit، Smoke، Integration و Regression از مهم‌ترین شیوه‌های تستی هستند که به شیوه خودکار انجام می‌شوند. بعد از اجرای دستی و یا خودکار تست‌ها، خطا‌ها و با‌گ‌ها ثبت شده و گزارشی از وضعیت تست، تهیه می‌شود.

۳. ارزیابی تست

در این مرحله از فرایند تست ERP، تحلیل خطا‌ها و باگ‌های کشف شده، ارزیابی تست‌پلن‌ها و تست‌کیس‌ها و مستندسازی فرایند تست انجام می‌شود.

انواع روش‌های تست  ERP

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

از جمله فاکتور‌های داخلی که در این زمینه تاثیرگذار هستند می‌توان به مدل استفاده شده در توسعه سیستم، دانش و تجربه کارشناسان تست و اهداف تست اشاره کرد. فاکتور‌های دیگری همچون ارزیابی ریسک، نیازمندی‌های مشتری، زمان و هزینه پروژه توسعه نیز می‌توانند نقش مهمی را در انتخاب روش‌های تست ERP ایفا کنند.

در ادامه، به معرفی روش‌های مختلف تست نرم افزار ERP‌ می‌پردازیم.

۱- تست عملکردی  (Functional)

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

 

 

۱.۱. تست واحد (Unit): تست واحد، اولین سطح از تست نرم افزار است که توسط توسعه‌دهنده و یا تستر‌های مستقل انجام شده و معمولا کد هایی نوشته می‌شود که در آن‌ها متد‌های هر واحد فراخوانی شده و پارامتر‌های مورد نیاز و همچنین مقادیری که بازگردانده می‌شوند اعتبارسنجی می‌شوند. هر واحد، کوچکترین بخش قابل تست از نرم افزار است که در برنامه‌نویسی شی‌گرا (Object-oriented) متدی است که می‌تواند متعلق به انواع مختلف یک کلاس باشد.

۲.۱. تست مولفه (Component): در این نوع تست، عملکرد و رفتار کوچکترین اجزای تشکیل‌دهنده نرم افزار که در این‌جا مولفه نامیده می‌شوند تست می‌شوند، ولی بر خلاف تست واحد که یک تست جعبه سفید بوده و توسط توسعه‌دهنده انجام می‌شد، تست مولفه توسط تیم مستقل تست و بعد از تست واحد انجام شده و یک تست جعبه سیاه است.

۳.۱. تست یکپارچگی (Integration): در این نوع تست،‌ واحد‌های مستقل که در بخش قبل شرح داده شدند، به عنوان یک گروه تست می‌شوند و هدف آن، نمایان ساختن خطاها و باگ‌هایی است که در تعامل واحد‌های یکپارچه شده و واسط‌ها (Interface) وجود دارد. این تست بعد از تست واحد و همانند آن توسط توسعه‌دهنده و یا تستر مستقل انجام می‌شود. نرم افزار ERP نیز متشکل از ماژول‌های مختلف است که به‌صورت یکپارچه عمل می‌کنند، اگرچه که ممکن است توسط توسعه‌دهنده‌های مختلف نوشته شده باشند. هدف از تست Integration، نمایان کردن خطاها و با‌گ‌هایی است که در تعامل بین این ماژول‌ها ممکن است وجود داشته باشد.

۴.۱. تست سیستم (System): در تست سیستم، جهت ارزیابی تطابق سیستم با نیازمندی‌های تعیین شده، کل نرم افزار تست می‌شود و معمولا توسط تستر‌های مستقل، بعد از تست یکپارچگی انجام می‌شود. در واقع عملکرد کل ماژول‌های نرم‌افزار‌ ERP در همکاری با یکدیگر به عنوان یک سیستم مورد ارزیابی قرار می‌گیرد.

۵.۱. تست پذیرش (Acceptance): هدف از این تست، ارزیابی میزان تطابق سیستم با نیازمندی‌های کسب‌وکار و آماده بودن نرم افزار جهت ارایه است. در این تست مشخص می‌شود که نرم افزار چقدر از سوی کاربر نهایی و مشتریان مورد پذیرش و یا قابل قبول است. قبل از انتشار تغییرات و بعد از تست سیستم، این تست انجام می‌شود. تست پذیرش داخلی که به تست Alpha نیز شناخته می‌شود، توسط افرادی از شرکت تهیه‌کننده ERP‌ تست می‌شود که در پروژه توسعه و تست حضور نداشته‌اند. از طرف دیگر در تست پذیرش خارجی، نرم افزار هم از سوی مشتریان فعلی شرکت و هم از سوی کاربران نهایی نرم افزار مورد ارزیابی قرار می‌گیرد که به تست Beta معروف است.

۶.۱. تست دود (Smoke): این تست بعد از هر بیلد انجام می‌شود و هدف آن حصول اطمینان از پایداری بیلد است و با عنوان تست اعتبارسنجی بیلد (Build Verification) نیز شناخته می‌شود. این تست هم توسط توسعه‌دهنده و هم توسط تستر قابل انجام است و مشخص می‌کند که بعد از هر بیلد، عملیات اصلی نرم افزار بدون در نظر گرفتن جزییات و یا انجام تست عمیقی به درستی کار کرده و به اندازه کافی برای انجام تست‌های بعدی، پایدار است.

۷.۱. تست سلامت (Sanity): این نوع تست به منظور اطمینان از عملکرد صحیح بخش‌هایی که کد آن‌ها تغییر کرده و معمولا بعد از تست Smoke و توسط تستر‌ها انجام می‌شود. در در تست سلامت، بعد از هر بیلد، صحت عملکرد همان بخشی که توسعه داده شده و یا رفع باگ انجام شده است، سنجیده می‌شود.

۸.۱. تست رگرسیون (Regression): این تست تضمین می کند که با اضافه شدن کد‌های جدید، بهبود سیستم و رفع باگ‌ها، مشکلی در عملکرد فعلی سیستم به‌وجود نیاورده و سیستم همچنان مطابق مشخصه‌ها کار می‌کند. در این نوع تست، به منظور اطمینان از عملکرد نرم افزار قبل از کامیت شدن کد‌ها و تغییرات جدید، تست‌کیس‌ها مجددا اجرا می‌شوند. به عبارت ساده‌تر، تست رگرسیون به معنی تست مجدد بخش‌هایی از نرم افزار است که دست‌خوش تغییر نشده‌اند.

۹.۱. تست واسط (Interface): به منظور ارزیابی ارسال و دریافت صحیح داده‌ها در یک سیستم و بین اجزای آن، تست واسط انجام می‌شود و در آن صحت تعاملات بین ماژول‌های مختلف و کنترل خطا بررسی می‌شود. یک واسط می‌تواند API، وب سرویس و یا غیره باشد که اجزا و یا بخش‌های مختلف یک نرم افزار از طریق آن‌ها با هم در تعامل هستند. تست واسط شامل دو بخش اصلی واسط سرویس‌دهنده وب و سرویس‌دهنده برنامه‌کاربردی و واسط سرویس‌دهنده برنامه‌کاربردی و سرویس‌دهنده دیتابیس است و در سه فاز پیکربندی و استقرار، اعتبارسنجی و نگهداری انجام می‌شود.

۲- تست غیر عملکردی  (Non-functional)

 

 

به منظور حصول اطمینان از این‌که سیستم، تمام انتظارات کسب‌وکار را بر آورد می‌سازد، روش‌های تست غیر عملکردی انجام می‌شوند و در آن ها تمرکز بر جنبه‌هایی از سیستم است که در تست‌های عملکردی پوشش داده نمی‌شوند. در ادامه به معرفی روش‌های تست غیر عملکردی می‌پردازیم.

۱.۲. تست کارایی (Performance): در تست کارایی، میزان و سرعت پاسخ‌گویی و پایداری نرم افزار تحت شرایط مختلف بار کاری سنجیده می‌شود. در انواع تست کارایی که در ادامه به آن‌ها می‌پردازیم، معیار‌هایی همچون توان عملیاتی (Throughput)، حافظه، زمان پاسخ (Response Time)، پهنای باند و وقفه‌های سخت‌افزاری بر ثانیه (CPU Interrupts per second) در نظر گرفته می‌شود.

  • تست بارگذاری (Load): در تست بارگذاری، کارایی سیستم زیر یک بار مشخص و مورد انتظار سنجیده می‌شود و در آن تعیین می‌شود زمانی که چندین کاربر همزمان به سیستم دسترسی دارند رفتار نرم افزار به چه صورت خواهد بود. هدف این تست حصول اطمینان از این است که نرم افزار در شرایط بار محیط واقعی به‌درستی عمل کند و در آن مواردی هم چون حداکثر ظرفیت نرم افزار، صلاحیت داشتن زیرساخت فعلی برای اجرای نرم افزار، پایداری نرم افزار در اوج استفاده کاربر از سیستم و تعداد کاربرانی که همزمان می‌توانند از سیستم استفاده کنند مشخص می‌شود.
  • تست استرس (Stress): در تست استرس، میزان استقامت، دسترس‌پذیری و قابلیت‌های کنترل خطا در شرایط زیر بار سنگین بودن و سناریو‌های غیر قابل پیش‌بینی همچون مسائل همگام‌سازی، نشت حافظه، شرایط رقابتی (مربوط به بحث مدیریت فرایند‌ها و منابع) و غیره بررسی می‌شود. هدف از این تست، تحلیل گزارشات بعد از وقوع کرش است و رفتار نرم افزار بعد از وقوع خطا و میزان موفقیت در ریکاوری کردن را می‌سنجد. بزرگترین چالش در این تست، حفظ امنیت داده‌های حساس بعد از وقوع خطا یا شکست است. تکنیک‌های تست استرس عبارتند از Application، Distributed، Transactional، Exploratory و Systematic. اگر تست استرس به منظور پایداری سیستم با افزایش آرام تعداد کاربران انجام شود، تست پایداری نرم افزار (Endurance/Soak) نامیده می‌شود. در این تست مشخص می‌شود که تا چه مدت زمانی سیستم می‌تواند زیر بار زیاد همچنان کار کند و هدف آن شناسایی نشت حافظه (Memory Leak) است. نشت حافظه زمانی رخ می‌دهد که تخصیص و آزادسازی حافظه به درستی انجام نشود. زمانی که نرم افزار برای مدت کوتاهی مثلا یک ساعت زیر بار زیاد قرار می‌گیرد ممکن است به‌درستی عمل کند. ولی زمانی که این بار برای ۳ یا ۴ ساعت طول بکشد ممکن است یه دلیل بروز مشکلاتی در منابع و فضای ناکافی حافظه  منجر به کرش نرم افزار شود. از این‌رو، در تست پایداری، علاوه بر نظارت و بررسی به‌کارگیری حافظه توسط نرم افزار، مسائل مربوط به اتصال به پایگاه داده‌ها نیز شناسایی می‌شود؛ چرا که اگر اتصال به پایگاه داده‌ها با موفقیت بسته نشود ممکن است در این حالت نیز با کرش نرم افزار روبه‌رو شویم. در نهایت، عملکرد لایه‌هایی از سیستم که با هم در ارتباط هستند در دراز مدت نظارت می‌شود که ممکن است باعث بروز هنگی در ماژول‌های خاصی از نرم افزار شوند. اگر تست استرس با افزایش به‌یکباره بار و تعداد کاربران انجام شود، تست Spike‌ نامیده می‌شود.
  • تست Volume: در این نوع تست، نرم افزار با حجم وسیعی از داده‌ها مورد ارزیابی قرار می‌گیرد. در تست Volume که به تست Flood نیز شناخته می‌شود، در واقع کارایی، زمان پاسخ و رفتار سیستم با افزایش داده‌ها در پایگاه داده‌ها تحلیل می‌شود.
  • تست مقیاس‌پذیری (Scalability): در تست مقیاس‌پذیری، کارایی نرم افزار بر اساس تواناییش در افزایش و یا کاهش درخواست‌های کاربران و دیگر معیار‌های کارایی سنجیده می‌شود و می‌تواند در سطح نرم افزار، سخت‌افزار و یا پایگاه داده‌ها باشد. پارامتر‌هایی که در این تست در نظر گرفته می‌شوند ممکن است در هر نرم‌افزاری متفاوت باشد. این پارامتر‌ها می‌تواند شامل تعدا کاربران، میزان استفاده از CPU، میزان استفاده از شبکه و برای یک وب‌سرور می تواند تعداد درخواست‌های پردازش شده باشد. همچنین زمانی که نرم افزار در یک سیستم بزرگ‌تر استقرار داده می‌شود، این تست رفتار نرم افزار را در یک محیط بزرگ‌تر با بار اضافی نسبت به قبل می‌سنجد.
  • تست ظرفیت (Capacity): در تست ظرفیت تعیین می‌شود که نرم افزار چه تعداد کاربر و یا تراکنش را می‌تواند در واحد زمان همراه با برآورد موارد توافق سرویس‌دهی با مشتری (SLA) کنترل کند.
  • تست پایه یا مبنا (Baseline): یک مبنا یا Baseline یک سند رسمی است که به عنوان یک سند پایه برای کار‌های آتی عمل می‌کند. در تست Baseline که با عنوان تست Benchmark‌ هم شناخته می‌شود، معیار‌های کارایی نرم افزار ارزیابی می‌شود و در آن نیازمندی‌ها و مشخصه‌های ذکر شده در سند مبنا، مد نظر قرار می‌گیرد. 

 

۲.۲. تست قابلیت حمل (Portability): میزان سهولت انتقال نرم افزار از یک محیط به محیط دیگر و قابل استفاده بودن در محیط جدید، در تست قابلیت حمل سنجیده می‌شود. محیط می‌تواند شامل سیستم‌عامل، مرورگر و یا نسخه دیگری از مرورگر باشد.

  • تست انطباق پذیری (Adaptability): یکی از روش‌های تست قابلیت حمل است که در آن ظرفیت نرم افزار جهت کار در محیط‌های مختلف بدون نیاز به به‌کارگیری راه‌کارها و یا متود‌های مختلف سنجیده می‌شود. در تست وفق‌پذیری، معیارهایی همچون میزان وابستگی نرم‌افزاری و سخت‌افزاری، زبان استاندارد، وابستگی کپسوله‌سازی (به معنای مخفی‌سازی جزییات پیاده‌سازی) و دریافت، پردازش و ارایه اطلاعات در سیستم‌های مختلف در نظر گرفته می‌شود.
  • تست سازگاری (Compatibility): قابلیت عملکرد صحیح دو یا چند مولفه در یک محیط مشترک بدون ایجاد خلل در کار یکدیگر در تست سازگاری مشخص می‌شود و در سیستم‌های بسیار بزرگ که دارای زیر سیستم‌های مختلفی هستند بسیار کاربردی است. زیرسیستم‌ها معمولا استک و حافظه مشترکی را استفاده می‌کنند؛ از این‌رو رخداد یک استثنا (exception) در یک زیرسیستم می‌تواند به راحتی در دیگر زیرسیستم‌ها نیز رخ دهد و در نهایت منجر به کرش کردن کل نرم افزار شود.
  • تست قابلیت همکاری یا تعامل (Interoperability): تعامل دو یا چند مولفه بدون رخداد مشکلات ارتباطی بررسی می‌شود. در ارتباط با یک مولفه، تغییر، ارتقا نسخه، تعریف واسط جدید برای مولفه همگی مواردی هستند که در طول زمان اتفاق می‌افتند و نیاز است تست سازگاری در این موارد انجام شود.
  • تست بومی‌سازی (Localization): میزان قابلیت فهم نرم افزار در زبانی که کاربران و مشتریان از آن استفاده می‌کنند سنجیده می‌شود.
  • تست بین‌المللی بودن (Internationalization):  در این تست، فرایند اعتبارسنجی عملکرد نرم افزار شامل تنظیمات عملیات، تنظیمات زبان، ارز و غیره در مناطق جغرافیایی مختلف مورد ارزیابی قرار می‌گیرد.
  • تست قابلیت نصب (Installability): فرایند نصب نرم افزار و سهولت آن مورد ارزیابی قرار می‌گیرد.

 

۳.۲. تست قابلیت استفاده (Usability): در این تست این اطمینان حاصل می‌شود که واسط‌های کاربری توسعه داده شده انتظارات مشتری را برآورد ساخته و نیازمندی‌ها را به راحتی و با کارایی بالا مرتفع سازد. سهولت در استفاده و یادگیری سیستم و همچنین بهبود تجربه کاربری، مهم‌ترین مواردی هستند که تست قابلیت استفاده روی آن‌ها متمرکز می‌شود.

۴.۲. تست قابلیت نگهداری (Maintainability): در این تست میزان سهولت نگهداری سیستم شامل تحلیل، تغییر و تست نرم افزار سنجیده می‌شود. همچنین مشخص می‌شود که به چه میزان تلاش برای اعمال تغییرات در هر یک از حالات نگهداری سیستم شامل اصلاحی (Corrective)، کامل (Perfective)، انتطباقی (Adaptive) و پیشگیرانه (Preventive) نیاز است. مواردی که در تست نگهداری نرم افزار بررسی می‌شود عبارتند از استاندارد‌های توسعه، پردازش داده، قابل استفاده مجدد، اعتبارسنجی بهینگی الگوریتم‌ها و غیره.

۵.۲. تست بازیابی/بازگشت (Recovery): در این تست بررسی می‌شود که در صورت رخداد یک حادثه یا اتفاق غیر قابل پیش‌بینی، به چه میزان سیستم قادر است دیتا‌های از دست رفته را بازگرداند و روال انجام عملیات به حالت قبل از وقوع حادثه بازگردد. در تست Failover زمانی که سیستم به هر دلیلی دچار مشکل می‌شود، در این تست میزان توانایی سیستم در زمینه تخصیص منابع اضافی و استفاده از سیستم‌های پشتیبان (back-up systems) جهت ادامه انجام عملیات سنجیده می‌شود.

۶.۲. تست امنیت (Security): در تست امنیت، نقاط ضعف نرم افزار و میزان آسیب‌پذیری آن و همچنین میزان در امان بودن داده‌ها و منابع از خطرات باالقوه مشخص می‌شود. در مقاله‌ای جداگانه به شرح امنیت سیستم‌های ERP پرداخته‌ایم. مهم‌ترین موارد تست امنیت نرم افزار عبارتند از:

  •  Vulnerability Scanning
  •  Security Scanning
  • تست Penetration
  • ارزیابی ریسک (Risk Assessment)
  • Security Auditing
  • Posture Assessment
  • Ethical Hacking

۷.۲. تست انطباق (Compliance): در این تست بررسی می‌شود که نرم افزار توسعه داده شده چقدر با استاندارد‌های از پیش تعریف شده منطبق است. اهداف این تست می‌تواند تطابق فرایند توسعه و نگهداری نرم افزار با متودولوژی تعیین شده، اطمینان از رعایت استاندارد‌ها، رویه‌ها و دستور‌العمل‌ها در ارایه هر فاز از توسعه و ارزیابی مستندسازی توسعه باشد.

۸.۲. تست بهره‌وری (Efficiency): در این روش، مقدار کد و منابع مورد مورد نیاز جهت اجرای بخش توسعه داده شده بررسی می‌شود. در تست بهره‌وری تمرکز بر در دسترس بودن منابع، ابزار، افراد، زمان، پیچیدگی، وضعیت و نیازمندی مشتری بوده و کار و فعالیت اختصاص داده شده چقدر برای توسعه بهینه بوده است.

۹.۲. تست قابلیت اطمینان (Reliability): در این تست بررسی می‌شود که آیا نرم افزار می‌تواند عملیات را برای یک دوره زمانی مشخص و در یک محیط خاص و بدون خطا انجام دهد. سه نوع تست بارگذاری، رگرسیون و مشخصه در راستای قابل اطمینان بودن نرم افزار انجام می‌شود. تست‌های بارگذاری و رگرسیون در بخش‌های قبل شرح داده شد. در تست خصیصه (Feature) این اطمینان حاصل می‌شود که هر یک از عملیات حداقل یکبار اجرا شده باشد، تعامل بین دو عملیات کاهش داده شده و نهایتا هر یک از عملیات به درستی انجام شده باشد.

۱۰.۲. تست مهاجرت (Migration): در این تست، صحت فرایند انتقال از سیستم اصلی یا قدیمی‌تر به یک سیستم جدید با حفظ یکپارچگی داده‌ها و بدون از دست رفتن داده‌ها و هیچگونه اختلال و یا از کارافتادگی سیستم ارزیابی می‌شود و در آن تمامی جنبه‌های عملکردی و غیر عملکردی نرم افزار بعد از فرایند مهاجرت و یا انتقال به سیستم جدید بررسی می‌شود.

نکات تست موفق نرم افزار ERP

در تست یک نرم افزار ERP، به یک سطح دانش مشخصی از منطق کسب‌وکار و درکی از ارتباطات زیرسیستم‌ها و ماژول‌های مختلف نیاز است. مهم‌ترین نکات در حوزه تست نرم افزار ERP‌ عبارتند از:

  • تمرکز بر تست پذیرش نرم افزار (User Acceptance Testing): تست یک سیستم ERP‌ توسط کاربران واقعی در موفقیت آن بسیار حائز اهمیت است، چراکه آن‌ها مناسب‌ترین افراد برای پیدا کردن مشکلات نرم افزار و ارایه پیشنهادات جهت رشد و پیشرفت نرم افزار هستند.
  • اختصاص منابع، وقت و انرژی به فرایند تست تا جای ممکن: حیاتی بودن داده‌های یک نرم افزار ERP، پیچیدگی، تعدد ماژول‌ها و ارتباطات گسترده آن‌ها، تست نرم‌افزار‌های ERP‌ را بسیار با اهمیت ساخته است و نیاز است که برای انجام آن از تمام ظرفیت‌های زمانی، افراد، ابزار و امکانات بهره گرفته شود و تا جای ممکن تمامی بخش‌های نرم افزار در تست پوشش داده شود.
  • استقرار حرفه‌ای نرم افزار ERP: یک استقرار حرفه‌ای شامل برنامه‌ریزی پروژه، مدیر پروژه، شناسایی ریسک‌ها، برنامه‌ریزی پشتیبان‌گیری و دیگر موارد می‌شود. اگر استقرار یک نرم افزار ERP‌ حرفه‌ای انجام شود، کنترل کیفیت، تست واقعی آن و در نهایت توسعه بهتر نرم افزار میسر خواهد بود.
  • بهره‌گیری از ابزار خودکارسازی تست: این ابزار این امکان را فراهم می‌آوردند که عملکرد نرم افزار بعد از ارایه نسخه‌ی جدیدی از هر یک از ماژول‌ها با دقت بالا اعتبارسنجی شود.
  • پیروی از فرایند استاندارد تست: پیشبرد روال تست مطابق با آن‌چه که استانداردسازی شده، داشتن برنامه ریزی تست (Test Plan) و موارد تست دقیق (Test Case)، اولویت‌بندی روش‌ها و موارد تست، قرار دادن تست‌کیس‌ها در اختیار توسعه‌دهنده‌ها جهت تحلیل و توسعه با کیفیت‌تر، برای رسیدن به بهترین نتایج بسیار ضروری است.
  • تحلیل نتایج تست و گزارش باگ‌ها: از روی باگ‌هایی که اتفاق افتاده و همچنین تحلیل نتایج تست می‌توان در فرایند پیدا کردن مشکلات و خطاهای آتی و ارایه راه‌حل‌های رفع آن‌ها موثرتر عمل کرد.

 

منابع

www.tryqa.com

www.testbytes.net

www.globetesting.com

www.softwaretestinghelp.com

www.softwaretestingclass.com

www.softwaretestingmaterial.com

 

نویسنده: سینا گل‌محمدی – کارشناس تست و تحلیلگر سیستم ERP تیم‌یار