برای جواب به اینکه آیا محصول ما به درستی کار میکنه، آیا کاربر با محصول راحته و سوالهای دیگهای از این دست، فقط یه راه وجود داره؛ تست کردن.
تست محصول یکی از مهمترین و حیاتیترین قسمتهای چرخه محصول به حساب میاد. اونقدر مهم که این روزها توی تیمهای توسعه، تیم تست هم وجود داره.
تست کردن تو دنیای امروز توسعه نرم افزار اونقدر اهمیت پیدا کرده که روشی به اسم TDD) Test Driven Development) به وجود اومده و محبوب و پرطرفدار شده.
حالا TDD چیه؟
توی این روش، تست رو در مراحل اولیه پروسه توسعه محصول شروع میکنیم و قبل از کد زدن، سناریوی تست محصول رو مینویسیم.
از اونجایی که باید تا جای ممکن محصول رو مورد ارزیابی قرار بدیم تا از نتیجه نهایی که به دست کاربر نهایی میرسه مطمئن بشیم، توی این مقاله میخوایم دربارهی شیوههای کلی ارزیابی محصول و رایجترین شیوه ارزیابی که تست هست صحبت کنیم.
از ما بیشتر بخوانید: جلسات رترو؛ راهی برای بقای تیم
بهترین استراتژی و برنامه برای کنترل کیفیت محصول شامل دو شیوه تست functional و non-functional میشه. هرکدوم از این دو شیوه برای تیم تست اهمیت زیادی دارن. تیم تست از انجام این دو شیوه برای ارزیابی پروسههای مختلف با هدف کاملا مشخص استفاده میکنه.
تست functional نوعی از شیوههای تسته که فیچرهای محصول رو بر اساس نیازمندی و در ناحیهای مشخص مورد تست قرار میده. این تست دنبال نتیجه مشخص و قابل انتظاریه.
به زبان سادهتر، این تست رفتار و نحوه اجرای نرم افزار رو شرح میده.
در مقابل تست non-functional محدوده وسیعتری رو مورد بررسی قرار میده و جنبههایی از محصول مثل کارایی، میزان مطلوبیت و برآوردن نیازهای مورد انتظار از محصول رو تست میکنه.
شیوههای متنوعی برای تست functional وجود داره و بهترین شیوه و استراتژی برای انجام این تست ترکیبی از تست اتوماتیک و دستیه.
یکی از معروفترین شیوههای این تست، به تست جعبه سیاه Black-box testing شناخته میشه که در اون فرد تست کننده نیاز به تست سورس کد نداره.
تست جعبه سیاه نوعی از شیوه تسته که در اون نرم افزار به طور کلی و به شکل یه جعبه در نظر گرفته میشه. به این خاطر به این تست جعبه سیاه میگن که ما در این شیوه تست به کدها و ماژولهای داخل برنامه کاری نداریم. فقط محصول رو با توجه به معیارها و ویژگیهای تعریف شده مورد تست قرار میدیم.
تمام شیوههای تست functional یک نتیجه مشخص دارن که از محصول انتظار میره و تمام موارد تست یک جواب مشخص دارن که در یه گزارش به صورت گزینه های تایید/ رد جمع آوری میشه.
از ما بیشتر بخوانید: برنامهها و ابزارهایی که دورکاری را برایمان راحتتر کردند
تست non-functional به میزانی از تخصص و خلاقیت نیاز داره. چون در این شیوه انتظارات کاربر و مشتری برای کیفیت مطلوب تجربه محصول مورد تست قرار میگیره. یعنی در نهایت بعد از انجام این تست متوجه میشیم که کاربر چه تجربهای با محصول داره. بنابراین توی این تست نتیجه مشخص و ثابتی وجود نداره.
از معروفترین و شناخته شدهترین شیوههای تست non-functional میشه از تست کاربردپذیری Usability testing نام برد.
تست کاربردپذیری از معمولترین تکنیکها با محوریت کاربر نهایی محصوله و این اطلاعات رو در اختیار تیم تست قرار میده که کاربر نهایی چطور از محصول استفاده میکنه.
هدف از تست کاربردپذیری بررسی رفتار کاربر در مواجهه با محصوله. با این تست میتونیم قسمتهای سخت و مشکل کار با محصول رو پیدا کنیم و برای رفع پیچیدگیها اقدام کنیم. اینجا میتونیم بفهمیم که آیا طراحی محصول به درستی انجام شده؟ آیا کاربر میتونه نیازهای خودش رو به راحتی با استفاده از محصول برآورده کنه؟
نتیجه این تست برای تیم طراحی و توسعه خیلی مفید و با ارزشه. چرا که میتونن با درک رابطه کاربر واقعی با محصول در جهت ارتقا محصول حرکت کنن.