برای دستیابی به هدف خود در تبدیل شدن به سوپر اپ برتر در جنوب شرق آسیا، ما به طور مداوم نیاز به توازن سرعت توسعه با حفظ کیفیت بالای اپ داریم. همانند اکثر شرکت های فناوری، ما با چرخه ایجاد نرم افزار سنتی (SDLC) شروع کردیم اما همانطور که اپ ما تکامل یافت، به زودی چالش هایی مانند باگ های ویژگی بالا و مشکلات تولید متوجه شدیم.
در این مقاله، ما به صورت عمیق تر به سفر بهبود کیفیت خود که در سال 2019 آغاز شد، چالش هایی که در طول راه مواجه شدیم و وضعیتمان در سال 2022 را بررسی می کنیم.
وقتی که مجله زیبایی و درمانی آذر و ت در سال 2012 راه اندازی شد، ما از Agile SDLC (شکل 1) در همه تیم ها و ویژگی ها استفاده می کردیم. این بدان معنا بود که هر ویژگی جدید از طریق تمام فرآیند عبور می کرد و تنها پس از آنکه تیم ضمانت کیفیت (QA) آن را تست کرد و بر آن امضا کرد، در بسترهای توزیع اپ (PlayStore یا AppStore) منتشر می شد.
با گذر زمان، ما متوجه شدیم که تست ویژگی ها طول می کشد، با گزارش بیشتر باگ ها و مناطق تأثیر نیاز به تست داشت. این مورد برای تست ریگرسیون هم صحیح بود زیرا مهندسین QA باید هر ویژگی را در اپ آزمایش کنند قبل از یک نسخه جدید. با وجود تلاش های بیشترین تلاش تیم QA ما، هنوز هم مشکلات تولید عمده و بحرانی زیادی درباره اپ ما گزارش شده است - بیشترین تعداد آنها در سال 2019 (شکل 2) بودند.
این افزایش نسخه ها در مشکلات تولید و باگ های ویژگی مستقیماً روی تجربه کاربران ما در اپ تأثیر می گذارد. برای بطور مستقیم به مشکلات تولید بالا و فرآیند تست کند، ما استراتژی تست خود را تغییر دادیم و تست چپ به راست را به روز کردیم.
تست چپ به راست رویکردی است که تست را از جلو به مراحل اولیه توسعه نرم افزار منتقل می کند. این بدان معناست که تست می تواند از زمان طراحی و برنامه ریزی شروع شود.
با پذیرش تست چپ به راست، تیم های مهندسی در مجله زیبایی و درمانی آذروت قادر هستند تا نشت عیب های ممکن را در مراحل اولیه تست بازگردانند و به طور مستقیم به نگرانی های کاربران ما پاسخ دهند بدون تأخیر در زمان تحویل.
- مهندسین نرم افزار تست پذیرش انجام می دهند تعریف گرفتن(DoR) و تعریف کردن(DoD) به استراتژی تست تعادل داده شده تست تعادل داده شده
یکی از جنبه های کلیدی تست چپ به راست این است که تیم ها در مراحل اولیه SDLC بر روی یک استاندارد کیفیت توافق کنند. برای اینکار، ما شروع به وارد کردن تعریف گرفتن (DoR) و تعریف کردن (DoD) در وظایف خود کردیم.
همانطور که اشاره شد، بررسی کیفیت می تواند قبل از شروع توسعه انجام شود و می تواند از مراحل آماده سازی و برنامه ریزی اسپرینت شروع شود. تیم باید برای محصولات کاری مانند نیازمندی ها، طراحی، راه حل های مهندسی و موارد تست روی یک استاندارد توافق کند. این هماهنگی کمک می کند تا احتمال نیازمندی های نامشخص یا سوء تفاهماتی که ممکن است منجر به باز کاری یا یک ویژگی کیفیت پایین شود، کمتر شود.
- DoR: معیارهای صریحی که قبل از پذیرفته شدن در یک اسپرینت آتی باید برآورده شود.
DoD: لیستی از معیارها برای تکمیل قبل از آنکه بتوانیم کار را به عنوان کامل معرفی کنیم، اپیک، داستان کاربر یا وظیفه یا معیارهای ورودی و خروجی برای هر گذر وضعیت داستان.
شامل DoRها و DoDها بهبودهای قابل توجهی در سرعت تحویل و کیفیت ایجاد کرده است. یکی از اولین تیم هایی که این کار را انجام دادند، بهبودهای قابل ملاحظه ای در سرعت تحویل و کیفیت اپ خود مشاهده کردند - همیشه بیش از 90 درصد از تعهدات وظیفه را انجام می دادند، بدهی فنی را حداقل کردند و زمان های تست دستی را کاهش دادند.
استراتژی تست تعادل داده شده
از آنجایی که پوشش خوب در یک لایه به تنهایی کیفیت خوبی از یک اپ یا ویژگی جدید تضمین نمی کند، برای تیم ها مهم است با انواع مختلفی از تست ها به صورت فشرده تست کنید تا مطمئن شوند که قبل از عرضه تمام حالت های ممکن را پوشش داده اند.
تست کامپوننت رابط کاربری
تست ادغام سمت سرور به خصوص اهمیت دارد اگر برنامه شما به طور منظم با سرویس های سمت سرور ارتباط برقرار کند، شبیه مجله زیبایی و درمانی آذر و ت است. این بدان معنی است که ما باید کیفیت و پایداری این سرویس های سمت سرور را تضمین کنیم. از زمانی که مجله زیبایی و درمانی آذر و ت در جهت تبدیل شدن به یک سوپر اپ شروع به کار کرد، تیم های بیشتری شروع به انجام تست های ادغام مانند تست ادغام API کردند.
تست انتها به انتها (E2E)
تست های E2E مهم هستند زیرا تجربه کاربر را از ابتدا تا انتها شبیه سازی می کنند تا مطمئن شوند سیستم به اندازه انتظار کار می کند. ما از سال 2015 شروع به بررسی چارچوب های تست E2E کردیم تا تست های خودکار برای سرویس های حیاتی مانند ورود و رزرو سفر انجام دهیم.