تصور کنید که مهمترین نرمافزار شرکت شما ناگهان از کار بیفتد - چه اتفاقی میافتد؟ ممکن است سفارشها از دست بروند، ممکن است مهلتها رعایت نشوند، اما مشتریان قطعاً شکایت خواهند کرد.
این سناریوی کابوسوار قابل اجتناب است: با اجرای یک فرآیند آزمایش مداوم و دقیق، که مشکلات را قبل از ایجاد هرج و مرج شناسایی میکند. اما اجرای چنین فرآیندی در سازمان شما آسانتر از آن است که گفته شود.
این سند هر آنچه را که هنگام شروع آزمایش در شرکت خود باید در نظر بگیرید و اینکه چگونه میتوانید در درازمدت از آزمایش بهرهمند شوید، به شما نشان خواهد داد.
آزمایش بهترین شیوهها برای تیمهای محصول
بخش اول این سند، فرآیند شروع پیادهسازی تست در گردش کار شما را پوشش میدهد.
فرهنگ تست را در تیم خود پیاده کنید
معرفی موفقیتآمیز تست در تیم شما مستلزم آن است که همه یک طرز فکر مشترک داشته باشند و کیفیت را نه به عنوان یک بار، بلکه به عنوان یک سرمایهگذاری ببینند. این فرآیندی است که مانند هر تغییر فرهنگی دیگر، نیاز به زمان و ثبات دارد.
یکی از چیزهایی که میتواند به شکلگیری این فرهنگ کمک کند، جلسات منظم برای بحث در مورد نقصها، تأثیر آنها، منشأ آنها و آنچه برای رفع آنها لازم است، است. این امر به ایجاد آگاهی در مورد اینکه چرا پیشگیری از چنین نقصهایی در وهله اول خوب است، کمک میکند.
داشتن یک فرد متعهد در تیم که بر تلاشها نظارت و آنها را هدایت کند، میتواند شانس موفقیت را به شدت افزایش دهد. کسی که دستورالعملهای تیمی - یا حتی در سطح سازمان - را تعریف میکند، بهترین شیوهها را جمعآوری کرده و آنها را به اشتراک میگذارد و از تلاشها در سطوح مختلف حمایت میکند.
یکی دیگر از ابزارهای مفید میتواند تغییر نقش پشتیبانی محصول شما باشد. دریافت بینشهای دست اول و بدون فیلتر از مشتریان و یادگیری در مورد مشکلات روزمرهای که آنها با محصول شما مواجه میشوند، میتواند تجربه ارزشمندی برای مدیران محصول، طراحان و توسعهدهندگان باشد.
هدف این است که همه اعضای تیم شما درک کنند که کیفیت یک ویژگی است، به اندازه هر قابلیت دیگری که برای محصول خود ایجاد میکنید. وقتی همه این طرز فکر را پذیرفتند، درک این که تستها نیز یک ویژگی هستند، یک پیشرفت طبیعی است. زیرا تستها هستند که کیفیت ارائه شده را تضمین میکنند.
فرآیند آزمایش گام به گام
زمانی که بین تیمهای مختلف درگیر در توسعه محصول هماهنگی وجود داشته باشد، میتوانید وجود و استفاده از تستها را رسمیتر کنید.
تستها را به بخشی از «تعریف انجامشده» تبدیل کنید
با اضافه کردن تستها به عنوان یک الزام برای ویژگی، شما اعلام میکنید که یک ویژگی تا زمانی که به درستی و به طور خودکار آزمایش نشود، آماده ارائه نیست.
آزمایشها را به طور منظم اجرا کنید
پس از پیادهسازی، تستهای خودکار میتوانند در هر مرحله از فرآیند توسعه، محافظ شما باشند. آنها نیازی به دخالت انسان ندارند و میتوانند در هر مرحله حیاتی از خط تولید شما اجرا شوند. به عنوان مثال:
- در هر کامیت.
- در هر درخواست pull.
- بعد از هر انتشار کامل یا تغییر محیط.
اگر در محیط تولید خود به سرویسهای شخص ثالث متکی هستید، حتی منطقی است که تستهای خود را در محیط تولید اجرا کنید تا مطمئن شوید APIهای شخص ثالث مطابق انتظار رفتار میکنند.
تعریف و جمعآوری معیارها
تعریف مجموعهای از معیارها برای سنجش اثربخشی تستهای شما و تأثیر گردشهای کاری تست بر کسبوکارتان مهم است. در اینجا چند نمونه از معیارهایی که میتوانید استفاده کنید، آورده شده است:
- تعداد انتشار در ماه : تعداد بیشتر انتشار در ماه میتواند نشاندهندهی یک فرآیند توسعهی چابکتر باشد. تست خودکار با اطمینان از ادامهی انتشارها، نقش کلیدی در اینجا ایفا میکند.
- گزارشهای باگ : روند کاهشی در گزارشهای باگ میتواند نشانهی مثبتی باشد که آزمایش (و فرآیندهای توسعه) شما مؤثر هستند.
- پوشش تست : اگرچه هرگز معیار دقیقی نیست، اما پوشش میتواند شاخص خوبی از میزان عمق آزمایش موارد استفاده حیاتی باشد.
توجه داشته باشید که این معیارها تحت تأثیر عوامل دیگری نیز قرار میگیرند که ممکن است آنها را منحرف کنند. برای مثال، ممکن است تعداد انتشارهای شما در فصل تعطیلات کاهش یابد، در حالی که گزارشهای باگ افزایش یابد. بنابراین فقط به تعداد کمی از آنها تکیه نکنید و مطمئن شوید که آنها را با سایر دادههای موجود در تیم خود تطبیق میدهید.
وقتی این مراحل را با موفقیت با تیم خود اجرا کنید، سلامت محصول شما قطعاً در درازمدت بهبود خواهد یافت. اما هنوز کارهای بیشتری میتوانید انجام دهید!
آزمایش بهترین شیوهها برای مدیران سیستم
تیمهای محصول نمیتوانند به تنهایی کار کنند. آنها به سختافزار، ابزارها و زیرساختهایی که توسط مدیران سیستم نگهداری میشوند، متکی هستند. اگرچه مدیران سیستم معمولاً مستقیماً در توسعه محصول مشارکت نمیکنند، اما همچنان میتوانند بر روند کار توسعه تأثیر مثبت بگذارند. به عنوان مثال، با مدیریت فعال نسخه مرورگر مورد استفاده گروههای کاربری خاص در شرکت.
بخش دوم مقاله، با استفاده از کانالهای انتشار کروم و سیاستهای سازمانی، نحوهی عملکرد این قابلیت را توضیح میدهد.
کانالهای انتشار کروم
چهار کانال انتشار وجود دارد: پایدار، بتا، توسعهدهندگان و قناری.
برای کسب اطلاعات بیشتر، به کانالهای انتشار Chrome مراجعه کنید.
استفاده از کانالها در یک سازمان نمونه
ساختار تیمهای محصول در بین سازمانها متفاوت است، زیرا هیچ رویکرد یکسانی برای توسعه نرمافزار وجود ندارد. به عنوان مثال، تیمی با نقشهای زیر را فرض میکنیم: مدیریت محصول، UX و UI، مهندسی، عملیات و پشتیبانی.
برای سازمانی مانند این، میتوانید تقسیمبندی کانال زیر را در نظر بگیرید:
- مدیریت محصول : مدیران محصول معمولاً میتوانند در کانال پایدار باشند تا از همان نسخهای که اکثر کاربران استفاده میکنند، استفاده کنند. گاهی اوقات اگر روی ویژگیای کار میکنند که به API نیاز دارد که هنوز راهاندازی نشده است، میتوانند از کانال بتا یا توسعه استفاده کنند.
- مهندسی و تجربه کاربری : بخشهایی از این تیمها میتوانند در کانال توسعه باشند تا به جدیدترین ویژگیها، مانند View Transitions ، حتی قبل از اینکه به نسخه پایدار برسند، دسترسی داشته باشند.
- عملیات : ممکن است در مرحله بتا باشد، تا پیشبینی شود که خرابی در مرحله بعدی کاربران را تحت تأثیر قرار دهد.
- پشتیبانی : میتواند در کانال پایدار باقی بماند تا مطمئن شود که آنها با همان مرورگری که اکثر مشتریان شما با آن در تعامل هستند، با محصول تعامل دارند.

استفاده از سیاستهای سازمانی برای مدیریت کانالها
کروم به جای ارائه دستورالعملها و واگذاری تصمیمگیری در مورد اینکه از کدام کانال استفاده شود، ابزارهای سازمانی و مدیریتی را نیز ارائه میدهد تا به طور فعال مدیریت کنند که هر کاربر در نهایت از کدام کانال استفاده میکند. این مفید است زیرا بلافاصله سطح آزمایش را از چند فرد به مجموعهای قطعی از کاربران افزایش میدهد که به شناسایی هرچه سریعتر و به روشی قابل ردیابی کمک میکند.
اگر میخواهید از آن سطح کنترل استفاده کنید، پیکربندی پیشنهادی ما این است:
- کارمندان (کاربران برنامه) : برای به حداقل رساندن خطر اختلال، اکثر کارمندان باید در کانال پایدار باشند که توسط تیم آزمایش کروم به طور کامل آزمایش شده است. علاوه بر این، درصد کمی از کاربران (از ۵ تا ۱۰٪) میتوانند در کانال بتا باشند. این کانال یک پیشنمایش ۴ تا ۶ هفتهای از نسخه پایدار دریافت میکند و میتواند به مدیران کمک کند تا مشکلات احتمالی یک نسخه را کشف کنند و زمان بیشتری برای رسیدگی به مشکلات قبل از انتشار نسخه برای همه افراد دیگر فراهم کند.
- بخش فناوری اطلاعات : اعضای بخش فناوری اطلاعات، از جمله خود مدیران سیستم، میتوانند در کانال بتا یا توسعهدهندگان باشند تا پیشنمایش ۴ تا ۶ یا ۹ تا ۱۲ هفتهای از آنچه که به نسخه پایدار کروم میآید را دریافت کنند.

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

- هر دو نسخهی پایدار و پایدار توسعهیافته، نسخههای یکسانی را برای چهار هفتهی اول ارائه میدهند و پس از آن، این دو از هم جدا میشوند.
- هیچ کانال بتای توسعهیافتهای وجود ندارد؛ در عوض، چرخه بتای استاندارد چهار هفتهای برای تثبیت هر دو نسخه پایدار و توسعهیافته استفاده میشود. شرکتهایی که تصمیم به استفاده از نسخه پایدار هشت هفتهای توسعهیافته میگیرند، باید به اجرای کانال بتا مانند امروز ادامه دهند تا بتوانند به طور پیشگیرانه مشکلاتی را که ممکن است بر محیطهایشان تأثیر بگذارد، شناسایی کنند.
اهمیت مداوم کانالهای توسعهدهندگان و بتا برای کاربران پایدار و توسعهیافته
در حالی که کانال پایدار به چرخه انتشار دو هفتهای شتاب میگیرد و سازمان شما در حال اتخاذ چرخه پایدار تمدید شده هشت هفتهای برای به دست آوردن زمان بیشتر برای آزمایش است، استفاده از کانالهای توسعه و بتا همچنان حیاتی است. هیچ کانال جداگانهای با عنوان «توسعه یا بتای تمدید شده» وجود ندارد؛ کانالهای توسعه و بتای استاندارد برای تثبیت هر دو نسخه پایدار و پایدار تمدید شده استفاده میشوند.
با ادامهی اجرای کانالهای توسعه و بتا، شرکتها توانایی شناسایی پیشگیرانهی مشکلاتی را که میتوانند بر محیطهایشان تأثیر بگذارند، حفظ میکنند. کانالهای توسعه و بتا یک پیشنمایش چهار هفتهای از نسخهی پایدار آینده ارائه میدهند. برای کاربران پایدارِ توسعهیافته، این پنجرهی پیشنمایش برای کشف و رفع مشکلات احتمالی، مدتها قبل از بهروزرسانی ویژگی هشت هفتهای، ضروری است.
کانالهای توسعه و بتا اساساً به عنوان سیستم هشدار اولیه اولیه برای هرگونه تغییری که در محیط پایدار هشت هفتهای شما ایجاد میشود، عمل میکنند و سازگاری برنامههای سازمانی شما را تضمین میکنند. مدیران سیستم میتوانند همچنان یک گروه کوچک و قطعی از کاربران (به عنوان مثال، ۵ تا ۱۰ درصد از کاربران برنامه) را به کانالهای توسعه و بتا اختصاص دهند تا این مزیت را به حداکثر برسانند.
نتیجهگیری
آزمایش بخش مهمی از شرکتهای توسعه نرمافزار برای اطمینان از کیفیت محصولاتشان و همچنین گامی مهم برای مدیران سیستم است تا به کارمندان یک سازمان دسترسی به نرمافزار با کیفیت بالا را بدهند و از ایجاد اختلال در فرآیندهای تجاری جلوگیری کنند.
برای موفقیت در پیادهسازی گردش کار تست در سازمان، مهم است که همه این طرز فکر مشترک را داشته باشند که کیفیت و در نتیجه تست یک ویژگی است.
در این سند، ما روشهای مختلفی را برای ادغام بهترین شیوههای تست در سازمان شما بررسی کردهایم، برای بررسی عمیقتر ابزارهای تست موجود، مقاله ما با عنوان «ابزارهایی از کروم برای تست خودکار و بدون اصطکاک» را بررسی کنید.
برای راهنمایی در مورد تست، از ابتدا تا انتها، دوره اخیر «یادگیری تست» و بهترین شیوههای اتوماسیون تست ما را در web.dev نیز بررسی کنید.