آزمون پذیرش کارخانه واقعا باید چه را بیازماید
این آزمون ریسک را پیش از جابهجایی ماشین جابهجا میکند. بیشترشان به جای آن مسیر خوشفرجام را نمایش میدهند — فهرست خرابیهایی که باید اجباری کرد و چرا آزمونی که بار اول همه را قبول میشود هیچ نیازموده است.

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