پرش به محتوا

آزمایش و اصلاح مصنوعات رایانشی

آزمایش[1] و اصلاح[2] فرآیندی حساب‌شده و تکرارشونده برای بهبود یک مصنوع رایانشی است. این فرآیند شامل عیب‌یابی و اِشکال‌زدایی (شناسایی و رفع خطاها) و مقایسه‌ی نتایج واقعی با نتایج مورد نظر است. دانش‌آموزان همچنین به تغییر نیازها و انتظارات کاربران نهایی پاسخ می‌دهند و می‌توانند عملکرد، قابلیت اطمینان، قابلیت استفاده و دسترسی به مصنوعات رایانشی را بهبود ‌بخشند.

تا پایان پایه‌ی دوازدهم، دانش‌آموزان باید بتوانند:

1. مصنوعات رایانشی را با در نظر گرفتن همه‌ی سناریوها و با استفاده از موارد آزمایشی[3] به طور نظام‌مند (سیستماتیک) آزمایش کنند.

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

2. خطاها را با استفاده از یک فرآیند نظام‌مند شناسایی و رفع کنند.

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

3. یک مصنوع رایانشی را چندین بار ارزیابی و اصلاح کنند تا عملکرد، قابلیت اطمینان، قابلیت استفاده و دسترسی آن را افزایش دهند.

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

[1] Testing

[2] Refinement

[3] Test Cases