اشکال زدایی در برنامه نویسی چیست؟
اشکال زدایی در برنامه نویسی چیست
پاسخ سوال شما را با جمع آوری اطلاعات تخصصی از مقالات خارجی و ترجمه فارسی به رایگان در اختیار شما عزیزان قرار داده ایم موفق و پیروز باشید .
اشکال زدایی
ارسال شده توسط: مارگارت روس
WhatIs.com
همیار : والری سیلورتورن ، متیو هوسر و تام دیویس
اشکال زدایی ، در برنامه نویسی و مهندسی رایانه ، یک فرایند چند مرحله ای است که شامل شناسایی یک مشکل ، جداسازی منبع مشکل و سپس یا اصلاح مشکل یا تعیین راهی برای کار در اطراف آن است. مرحله آخر اشکال زدایی آزمایش اصلاح یا راه حل و اطمینان از عملکرد آن است.
در توسعه نرم افزار ، فرآیند اشکال زدایی از زمانی شروع می شود که یک توسعه دهنده خطای کد را در یک برنامه رایانه ای پیدا کرده و قادر به تولید مجدد آن است. اشکال زدایی بخشی از فرایند آزمایش نرم افزار است و بخشی جدایی ناپذیر از کل چرخه عمر نرم افزار است.
مطالب در زیر ادامه دارد
این راهنمای رایگان را بارگیری کنید
راهنمای اتوماسیون تست 24 صفحه ای برای تیم های IT
ابتوسعه دهندگان نرم افزار به طور فزاینده ای به زارهای تست خودکار و گردش کار روی می آورند تا با سرعت بخشیدن به رژیم های آزمایشی ، ضمن اطمینان از سازگاری و کامل بودن بهتر فرآیند کیفیت ، ، اما موفقیت درک بالایی را می طلبد. اینجا فروشگاه یک مرحله ای اتوماسیون تست است. این راهنما مزایا و چالش ها ، نحوه ساختن یک استراتژی تست خودکار و نحوه مقایسه ابزارها را مرور می کند.
در توسعه سخت افزار ، فرآیند اشکال زدایی معمولاً به دنبال اجزای سخت افزاری است که به درستی نصب یا پیکربندی نشده اند. به عنوان مثال ، یک مهندس ممکن است یک تست اتصال JTAG را برای اشکال زدایی اتصالات در یک مدار مجتمع اجرا کند.
نحوه اشکال زدایی در نرم افزار چگونه کار می کند
به طور معمول ، فرآیند اشکال زدایی به محض نوشتن کد آغاز می شود و در مراحل پی در پی ادامه می یابد زیرا کد با سایر واحدهای برنامه نویسی ترکیب می شود و یک محصول نرم افزاری را تشکیل می دهد. در یک برنامه بزرگ که دارای هزاران هزار خط کد است ، می توان با استفاده از استراتژی هایی مانند تست واحد ، بررسی کد و برنامه نویسی جفت ، فرآیند اشکال زدایی را آسان کرد .
برای شناسایی اشکالات ، می توانید مفید باشید که به سیستم ورود به سیستم کد مراجعه کرده و از یک ابزار خطایاب مستقل یا حالت اشکال زدایی یک محیط توسعه یکپارچه ( IDE ) استفاده کنید. اگر توسعه دهنده با پیام های خطای استاندارد آشنا باشد ، در این مرحله می تواند مفید باشد. اگر توسعه دهندگان در هنگام نوشتن کد به اندازه کافی اظهارنظر نکنند ، تمیزترین کد نیز می تواند برای اشکال زدایی کسی یک چالش باشد.
در بعضی موارد ، ماژولی که مشکل را ارائه می دهد واضح است ، در حالی که خط کد به خودی خود مشخص نیست. در آن صورت ، تست های واحد – مانند JUnit و xUnit ، که به برنامه نویس اجازه می دهد عملکرد خاصی را با ورودی های خاص اجرا کند – می تواند در رفع اشکال مفید باشد.
روش استاندارد این است که “نقطه شکست” تنظیم کنید و برنامه را تا آن نقطه شکست اجرا کنید ، در این زمان اجرای برنامه متوقف می شود. م componentلفه اشکال زدایی IDE به طور معمول توانایی برنامه نویسی برای مشاهده حافظه و دیدن متغیرها ، اجرای برنامه به نقطه شکست بعدی ، اجرای فقط خط بعدی کد و در بعضی موارد ، تغییر مقدار متغیرها یا حتی تغییر را در اختیار برنامه نویس قرار می دهد. محتویات خط کد در شرف اجرا
اهمیت اشکال زدایی
اشکال زدایی قسمت مهمی در تعیین دلیل عملکرد نادرست یک سیستم عامل ، برنامه یا برنامه است. حتی اگر توسعه دهندگان از همان استاندارد کدگذاری استفاده کنند ، به احتمال زیاد یک برنامه نرم افزاری جدید همچنان دارای اشکال خواهد بود. در بسیاری از موارد ، روند اشکال زدایی یک برنامه نرم افزاری جدید می تواند بیش از زمان نوشتن برنامه طول بکشد. به طور قطع ، ابتدا اشکالات موجود در اجزای نرم افزار که بیشترین استفاده را دارند ، پیدا و برطرف می شوند.
اشکال زدایی در مقابل آزمایش
اشکال زدایی و آزمایش فرایندهای مکمل یکدیگر هستند. هدف از آزمایش شناسایی مواردی است که در هنگام بروز خطا در کد منبع یک برنامه اتفاق می افتد. هدف از رفع اشکال این است که خطا را پیدا کرده و رفع کنید.
فرآیند تست به توسعه دهنده کمک نمی کند تا بفهمد اشتباه کدگذاری چیست – این به سادگی نشان می دهد که خطای کدگذاری چه تاثیری روی برنامه دارد. پس از شناسایی خطا ، اشکال زدایی به توسعه دهنده کمک می کند تا علت خطا را تشخیص دهد تا بتوان آن را برطرف کرد.
مثال ها
برخی از نمونه های خطاهای رایج کدگذاری شامل موارد زیر است:
- خطای نوشتاری کد
- خطای زمان اجرا
- خطای معنایی
- خطای منطقی
- نادیده گرفتن کنوانسیون های تصویب شده در استاندارد کدگذاری
- فراخوانی عملکرد اشتباه
- استفاده از نام متغیر اشتباه در مکان نامناسب
- در صورت نیاز به مقداردهی اولیه ، نمی توان مقداردهی اولیه کرد
- رد کردن چک برای بازگشت خطا
راهبردهای رفع اشکال
تجزیه و تحلیل کد منبع ، که شامل امنیت ، خطاهای رایج کد و تجزیه و تحلیل پیچیدگی است ، می تواند در اشکال زدایی مفید باشد. یک تحلیلگر پیچیدگی می تواند ماژول هایی را پیدا کند که بسیار پیچیده باشند و درک و آزمایش آنها دشوار باشد. سایر استراتژی های رفع اشکال شامل موارد زیر است:
- تجزیه و تحلیل استاتیک – توسعه دهنده کد را بدون اجرای برنامه بررسی می کند.
- اشکال زدایی چاپ (ردیابی نیز نامیده می شود) – توسعه دهنده بیانیه های چاپ را به صورت زنده یا ضبط شده مشاهده می کند و جریان ها را نظارت می کند.
- اشکال زدایی از راه دور – اشکال ساز توسعه دهنده با سیستمی متفاوت از برنامه اشکال زدایی اجرا می شود.
- اشکال زدایی پس از مرگ – توسعه دهنده فقط در صورت تجربه استثناهای مهلک ، در اشکال زدایی از برنامه متوقف می شود.
ابزار اشکال زدایی
اشکال زدایی ابزاری نرم افزاری است که می تواند با شناسایی خطاهای کدگذاری در مراحل مختلف سیستم عامل یا توسعه برنامه ، به فرایند توسعه نرم افزار کمک کند.
برخی از اشکال زداها یک آزمایش آزمایشی را تجزیه و تحلیل می کنند تا ببینند کدامیک از خطوط کد اجرا نشده است. سایر ابزارهای اشکال زدایی شبیه سازهایی را ارائه می دهند که به برنامه نویس اجازه می دهد تا نحوه نمایش و رفتار یک برنامه را روی یک سیستم عامل خاص یا دستگاه محاسباتی مدل کند.
بسیاری از ابزارهای اشکال زدایی منبع باز و زبانهای اسکریپت در IDE اجرا نمی شوند ، بنابراین برای اشکال زدایی به روش دستی بیشتری نیاز دارند. به عنوان مثال ، اشکال زدایی USB به یک دستگاه Android اجازه می دهد تا با رایانه ای که Android SDK را اجرا می کند ارتباط برقرار کند .
در این شرایط ، توسعه دهنده ممکن است با انداختن مقادیر به یک log ، ایجاد یک دستورالعمل چاپی گسترده برای نظارت بر اجرای کد و یا اجرای دستورات انتظار با رمزگذاری سخت که می تواند یک نقطه شکست را با انتظار برای ورودی صفحه کلید در بازه های زمانی مشخص شبیه سازی کند ، یک برنامه را اشکال زدایی کند.
چالش های رفع اشکال
فرآیند اشکال زدایی ممکن است بسیار دشوار باشد و به همان اندازه که برای شروع کار نوشتن کد نیاز دارید – اگر نه بیشتر -. این روند می تواند به ویژه چالش برانگیز باشد:
- تأثیر منفی خطای کدگذاری روشن است ، اما علت آن مشخص نیست.
- تولید اثر منفی خطای کدگذاری دشوار است – به عنوان مثال وقتی محتوای وب حاوی منوهای کشویی است.
- وابستگی ها مشخص نیستند ، بنابراین رفع خطای کدگذاری در یک قسمت از برنامه به طور تصادفی خطاهای جدیدی را در قسمت های دیگر برنامه وارد می کند.
تاریخچه اشکال زدایی
استفاده از کلمه اشکال به عنوان مترادف خطا در مهندسی ریشه گرفته است. کاربرد این اصطلاح در محاسبات و الهام بخش استفاده از کلمه اشکال زدایی به عنوان مترادف عیب یابی به دریاسالار گریس هاپر ، پیشگام برنامه نویسی رایانه نسبت داده شده است ، که همچنین به شوخ طبعی خشکش معروف بود. هنگامی که یک اشکال واقعی (یک پروانه) در بین رله های برق گیر کرد و در اولین کامپیوتر نیروی دریایی ایالات متحده مشکلی ایجاد کرد ، Admiral Hopper و تیم او کامپیوتر را “اشکال زدایی” کردند و پروانه را نجات دادند. اکنون در موزه اسمیتسونیان اقامت دارد.
منبع : techtarget.com