تست خودکار Salesforce: بهترین روش ها برای تیم های QA مدرن

این سناریو را تصویر کنید: شما هفته ها را صرف شخصی سازی بستر Salesforce خود کرده اید. از قوانین تنظیم اتوماسیون خوب و ساختن اجزای صاعقه شخصی گرفته تا ادغام برنامه های مهم شخص ثالث و تنظیم مجوزها و پروفایل های کاربر-همه این کارها را انجام می دهید.
همه چیز یکپارچه به نظر می رسد تا زمانی که Salesforce یک به روزرسانی اصلی را منتشر کند. ناگهان ، گردش کار کلیدی می شکند. گزارش ها بارگیری متوقف می شوند. ادغام شکست می خورد.
بدترین قسمت این است که اگر این پلتفرم پایین بیاید ، تجارت شما مورد ضرب و شتم قرار می گیرد و شما در هنگام مقابله با اختلال در فرآیند و حتی شکایات مشتری ، تلاش می کنید تا کارها را برطرف کنید.
اما این ممکن است برای هر کسی اتفاق بیفتد – نه به این دلیل که در Salesforce مشکلی وجود دارد ، بلکه به این دلیل است که دائماً در حال تحول است و از ابزارها و تکنیک های مناسب خواست تا از آن استفاده کنند.
این که آیا شما یک توسعه دهنده ، QA Tester یا رهبر تجارت هستید ، می خواهید پلت فرم Salesforce شما به راحتی اجرا شود. و برای این کار ، شما به یک استراتژی اتوماسیون تست Salesforce قوی نیاز دارید ، که کاملاً ، مداوم و استراتژیک است و شما را قادر می سازد بدون توجه به ویژگی های جدید یا به روزرسانی های جدید ، ادامه دهید.
در این پست وبلاگ ، انواع مختلفی از آزمایش برنامه های Salesforce ، مؤثرترین راه های انجام آزمایش Salesforce و نحوه مقابله با چالش های مشترک را در این فرآیند بررسی خواهیم کرد. بیایید شیرجه بزنیم.
انواع کلیدی تست فروشنده
با Salesforce ، یک رویکرد “یک اندازه متناسب” وجود ندارد. روشهای مختلف آزمایش خطرات مختلفی را برطرف می کند. بیایید نگاهی به پنج نفر برتر بیندازیم.
1. آزمایش امنیتی
شما می خواهید مطمئن شوید که از داده های Salesforce محافظت می شود ، مجوزها به درستی پیکربندی می شوند و از دسترسی غیرمجاز جلوگیری می شود. مناطق کلیدی برای آزمایش عبارتند از:
- نقش ها و پروفایل های کاربر
- داده ها در حالت استراحت و در حال حمل و نقل رمزگذاری شده اند
- احراز هویت چند عاملی (MFA) ، محدودیت های IP و ساعت ها وارد سیستم شوید
به عنوان مثال ، اگر متوجه می شوید که نمایندگان فروش خردسال شما می توانند گزارش های سطح اجرایی حاوی پیش بینی های درآمد را مشاهده کنند ، می توانید به سرعت تنظیمات امنیتی در سطح میدان را تنظیم کرده و کنترل کنید که چه کسی می تواند چه داده هایی را ببیند.
2. آزمایش عملکردی
این تضمین می کند که هر ویژگی Salesforce ، سفارشی سازی و گردش کار مطابق از دیدگاه کاربر کار می کند. آزمایش عملکردی بر بررسی عناصر زیر متمرکز است:
- نقش و مجوزهای کاربر
- اشیاء سفارشی ، زمینه ها و انواع ضبط شده
- صفحات Visualforce و اجزای رعد و برق
- گزارش ها ، داشبورد و عملکرد جستجو
به عنوان مثال ، شما یک قانون اعتبار سنجی سفارشی برای جلوگیری از بسته شدن معاملات خود بدون اضافه کردن تصویب تخفیف دارید. پس از آزمایش ، متوجه می شوید که این قانون به طور تصادفی تمام معاملات را از بسته شدن ، حتی تصویب شده مسدود کرده است. آزمایش عملکردی می تواند قبل از تأثیرگذاری بر تیم فروش شما ، به جلب مسئله کمک کند.
3 آزمایش رگرسیون
هر زمان که Salesforce را اصلاح کنید ، خواه با اضافه کردن یک ویژگی جدید یا استفاده از بروزرسانی نسخه ، باید آزمایش رگرسیون را انجام دهید تا از وقفه های دیگری مانند کد Apex موجود و محرک ها ، طرح بندی صفحه و ادغام های شخص ثالث استفاده کنید.
شما می خواهید اطمینان حاصل کنید که تغییرات داخلی عواقب ناخواسته در سراسر سیستم ندارد. به عنوان مثال ، تیم بازاریابی شما قوانین اتوماسیون ایمیل را برای پرورش سرب به روز کرده است.
هنگامی که آنها به صورت زنده ساخته شدند ، در مورد اعلان های خدمات موجود چک هایی را انجام می دهید و متوجه می شوید که آنها از ارسال هشدارها دست کشیده اند. بدون آزمایش رگرسیون ، مسئله بدون توجه به آن پیش می رفت.
4. تست ادغام
دلیل این که Salesforce بازیکن اصلی در فضای CRM است به دلیل طیف گسترده ای از ادغام های ارائه شده در Salesforce AppExchange – ERP ها ، سیستم های پرداخت ، ابزارهای بازاریابی و غیره است.
اگرچه چنین ادغام هایی به شما امکان می دهد تا عملکرد جدیدی را در استقرار Salesforce وارد کنید ، اما از نظر آزمایش نیز مواردی را معرفی می کنند. با اجرای تست های ادغام ، می توانید جریان داده ها را به طور دقیق بین همه برنامه های خارجی تضمین کنید.
ادغام های مشترک که نیاز به آزمایش دارند:
- ERP: همگام سازی داده های مشتری و مالی
- اتوماسیون بازاریابی: فعالیت سرب را پیگیری کنید
- پردازش پرداخت: فاکتور و معاملات را مدیریت کنید
- پشتیبانی مشتری: موارد مشتری را با سوابق CRM پیوند دهید
بیایید بگوییم که شما Salesforce را با یک سیستم مدیریت موجودی ادغام کرده اید. پس از بروزرسانی ، Salesforce نمی تواند سطح سهام را همگام سازی کند و در نتیجه اطلاعات نادرست در دسترس بودن محصول در وب سایت شما ایجاد شود. آزمایش ادغام به شناسایی و رفع چنین مواردی کمک می کند.
5. تست عملکرد
Salesforce باید بتواند مجموعه داده های بزرگ ، چندین کاربران همزمان و بارهای اوج زمان را بدون کند شدن اداره کند. تست عملکرد تضمین می کند:
- اجزای رعد و برق به سرعت بارگیری می شوند
- API ها درخواست های با حجم بالا را بدون خطا انجام می دهند
- نمایش داده شد و استراتژی های SOQL زمان اجرای پرس و جو را کاهش می دهد
- عملیات داده های فله (واردات ، گزارش ها) بر عملکرد سیستم تأثیر نمی گذارد
به عنوان مثال ، اگر مرکز تماس شما با استفاده از Salesforce Service Cloud هنگام رسیدگی به 1000+ موارد پشتیبانی همزمان ، کاهش سرعت را تجربه می کند ، آزمایش عملکرد می تواند به بهینه سازی نمونه شما قبل از شروع کامل کمک کند.
تست اتوماسیون Salesforce با سایر سیستم عامل ها متفاوت است؟
Salesforce برنامه وب متوسط شما نیست. تقاضای آزمایش آن منحصر به فرد پیچیده است. این چیزی است که آن را متفاوت می کند:
1 به روزرسانی های مکرر
بر خلاف اکثر سیستم عامل ها ، Salesforce سه به روزرسانی اجباری در سال – بهار ، تابستان و زمستان – که بی سر و صدا:
- ویژگی های جدیدی را معرفی کنید که ممکن است در گردش کار سفارشی تداخل داشته باشد
- توابع موجود را کاهش دهید سیستم شما به آن بستگی دارد
- تنظیمات امنیتی را تغییر دهید که می تواند دسترسی کاربر را محدود کند
در حالی که به روزرسانی های Salesforce برای استفاده از گزینه های جدید بسیار عالی است ، اما احتمالاً به معنای مشکل برای آزمایشات است. به علاوه ، شما نمی توانید برنامه را به تأخیر بیندازید یا کنترل کنید. به همین دلیل شما باید سفارشی سازی ها را علیه آنها آزمایش کنید ، بنابراین مجبور نیستید با شکست های غیر منتظره مقابله کنید.
2. منطق سفارشی سازی عمیق و اتوماسیون
بیشتر سیستم عامل ها گردش کار اساسی را ارائه می دهند. Salesforce برای اتوماسیون لایه بندی شده خود متمایز است. به معنای تغییر کوچک در یک منطقه می تواند چندین فرآیند را تحت تأثیر قرار دهد. آزمایش در اینجا رفتار ویژگی نیست ؛ این در مورد پیدا کردن عوارض جانبی در هنگام تعامل چندین ابزار اتوماسیون با یکدیگر است.
به عنوان مثال ، Salesforce اجازه می دهد تا ترکیبی از ابزارهای اعلامی (مانند جریان و سازنده فرآیند) و منطق برنامه ای (مانند محرک های Apex).
3. اجزای پویا UI
بر خلاف UIS استاتیک ، UI (رعد و برق) مبتنی بر مؤلفه Salesforce از IDS Shadow Dom و Element Element استفاده می کند که اسکریپت های تست سنتی را می شکند.
به عنوان مثال ، تغییر در یک مؤلفه بر سایر مناطق نامربوط تأثیر می گذارد. عناصر صفحه در هر بار شناسه های پویا تولید می شوند و اسکریپت های تست مبتنی بر یاب را غیرقابل اطمینان می کنند.
ابزارهای تخصصی تست یا چارچوب ها اغلب برای آزمایش در Salesforce مورد نیاز هستند – چیزی که بسیاری از سیستم عامل های دیگر به آن احتیاج ندارند.
یک رویکرد گام به گام به اتوماسیون تست Salesforce
درک انواع مختلف آزمایش Salesforce تنها نیمی از نبرد است. سوال واقعی این است: چگونه شما تست ها را ساختار و اجرا می کنید تا آنها روشمند ، مقیاس پذیر و قابل تکرار باشند؟ بیایید مراحل اتوماسیون تست Salesforce را تعیین کنیم:
1. تعریف کنید که چه چیزی را خودکار کنید
سعی نکنید همه چیز را خودکار کنید. روی آنچه باعث صرفه جویی در وقت شما می شود و از شکست جلوگیری می کند ، تمرکز کنید. فرایندهای مهم و تجاری را که Salesforce از آن پشتیبانی می کند-به عنوان مثال ، صلاحیت سرب ، تولید نقل قول ، مدیریت فرصت و تشدید پرونده. به دنبال کارهای تکراری باشید که زمان QA را می گیرد. اولویت بندی آن ها:
- تحت تأثیر به روزرسانی ها یا سفارشی سازی ها
- مستعد خطای انسانی
- اغلب مورد استفاده قرار می گیرد
در مرحله بعد ، سناریوهای آزمون را به تست های ادغام ، عملکردی ، امنیتی ، عملکرد طبقه بندی کنید. دامنه آزمایش در هر نسخه یا تغییر سیستم را تعیین کنید.
2. یک محیط تست واقعی Salesforce را آماده کنید
اتوماسیون تست Salesforce فقط به اندازه محیطی که در آن کار می کند خوب است. بنابراین ، یک محیط جدا شده و کنترل شده برای اعتبار سنجی تغییرات بدون تأثیرگذاری بر کاربران زنده ایجاد کنید. تست ماسهبازی Salesforce را انجام دهید:
- به روزرسانی ها و تنظیمات جدید را تأیید کنید
- پایه کد و واحدها را بررسی کنید
- تأیید کنید که آیا زیر مجموعه های داده واقعی همانطور که باید رفتار می کنند
از یک جعبه ماسه ای استفاده کنید که تولید را از نزدیک نشان می دهد – نه فقط از نظر ابرداده بلکه اتوماسیون فعال و نقاط پایانی مربوط به ادغام. این خطر از دست دادن اشکالات خاص محیط ، به ویژه مواردی که به همگام سازی داده ها یا رفتار تحریک شده است ، به حداقل می رسد.
3. ساخت اسکریپت های تست ماژولار و قابل استفاده مجدد
پس از آماده شدن محیط شما ، اسکریپت های آزمون را بنویسید. بلوک های کوچکتر و قابل استفاده مجدد را انتخاب کنید که به اقدامات تجاری مانند:
“ایجاد سرب”> “اجرای جریان تأیید”> “ارسال فرصت”
مدل های شیء صفحه یا یک رویکرد مبتنی بر مؤلفه را برای جداسازی منطق UI از منطق تست دنبال کنید تا اسکریپت های شما انعطاف پذیر و قابل استفاده مجدد باشند. از نسخه های کنترل و اسکریپت های نام با استفاده از مورد یا جریان استفاده کنید (به عنوان مثال ، “فرصت ایجاد_ positiveTitiveflow.Test”).
4. مدیریت داده های آزمون را به طور کارآمد مدیریت کنید
داده های آزمون بخش عمده ای از اتوماسیون تست Salesforce است. اگر به طور نادرست مدیریت شود ، می تواند باعث سوابق تکراری ، ارزش های نامعتبر فیلد و خطاهای گردش کار شود.
بنابراین ، شما باید اطمینان حاصل کنید که داده های آزمون ضمن رعایت سیاست های امنیتی داده ، سناریوهای دنیای واقعی را منعکس می کنند. مهمتر از همه ، چرخه های تازه سازی داده ها را برای جلوگیری از تأثیرگذاری شرایط آزمون منسوخ ایجاد کنید.
به عنوان مثال ، برای ایجاد مجموعه داده های تست کنترل شده از Loader Data Salesforce و ژنراتور داده استفاده کنید. ماسک یا ناشناس کردن داده های حساس مشتری برای رعایت مقررات مربوط به حفظ حریم خصوصی داده ها ، مانند GDPR و HIPAA.
5. اجرای تست خودکار با CI/CD
تست خود را در خط لوله CI/CD خود ادغام کنید تا آزمایشات بعد از هر تغییر استقرار یا پیکربندی به طور خودکار انجام شود. شما می توانید برنامه های آزمون را برنامه ریزی کنید – به عنوان مثال ، شبانه یا هفتگی (مجموعه رگرسیون کامل) و قبل و بعد از انتشار فصلی Salesforce. ابزارهایی مانند اقدامات GitHub ، جنکینز و Azure DevOps در اینجا بسیار خوب کار می کنند.
6. تجزیه و تحلیل را به صورت منطقی تجزیه و تحلیل کنید
هنگامی که یک تست شکست خورد ، فقط آن را دوباره اجرا نکنید. بررسی کنید:
- کدام مرحله انجام نشد (به عنوان مثال ، خطای اعتبار سنجی ، تغییر UI)
- از کدام داده ها استفاده شد؟
- آیا این یک اسکریپت بود یا یک نقص واقعی؟
برای شناسایی اشکال واقعی از سیاهههای مربوط ، تصاویر و پیام های خطا استفاده کنید. آهنگ ها را در ابزاری مانند JIRA تأیید کرده و آنها را با شدت و ماژول تحت تأثیر قرار دهید. این به توسعه دهندگان شما کمک می کند تا مسائل را سریعتر برطرف کنند و تلاش های QA را متمرکز می کند.
7. فیلمنامه ها را پس از هر تغییر اساسی حفظ کنید
از دیدگاه فنی ، Iframes و عناصر پویا Salesforce برای آزمایش دشوار است. از آنجا که هر عنصر موجود در صفحه به یکباره بارگیری نمی شود ، ممکن است آزمایش ها در حالی که کاربران منتظر بارگیری صفحات هستند ، شکست بخورد. بسته به شیء خاص Salesforce ، هر رکورد ممکن است عناصر مختلفی داشته باشد.
به عنوان مثال ، برخی از حساب ها ممکن است منجر به ارتباط با آنها شوند در حالی که برخی ممکن است نباشند. بنابراین ، مجموعه تست خود را بعد از هر نسخه فصلی Salesforce و هر زمان که زمینه ها ، جریان ها یا ویژگی های جدید اضافه شود ، مرور کنید. تست های منسوخ شده ، اسکریپت های شکننده Refactor را حذف کرده و بر اساس نسخه های جدید ، ادعاهای خود را به روز کنید.
8. ابزار اتوماسیون مناسب را برای کار انتخاب کنید
یک راه حل تست مدرن و انتهایی را اجرا کنید که از طریق چالش های نگهداری آزمون Salesforce کاهش می یابد. این همان چیزی است که ما را به بخش بعدی می رساند.
ابزارهای استاندارد مانند سلنیوم اغلب با عناصر پویا Salesforce ، Shadow Dom و تغییر شناسه های مؤلفه مبارزه می کنند.
شما می خواهید نرم افزاری که می تواند مواردی مانند آزمایش مبتنی بر ضبط و آگاهی از ابرداده را انجام دهد. همچنین باید از نگهداری آسان پشتیبانی کند ، با خط لوله CI/CD خود ادغام شود و گزارش هایی را ارائه دهد که اشکال زدایی را آسان تر می کند.
بهترین شیوه های تست Salesforce برای غلبه بر چالش های رایج
1. شامل موارد آزمایش منفی نیست
برای بررسی اینکه چیزی کار می کند کافی نیست. همچنین باید تأیید کنید که اقدامات نامعتبر نیز به درستی مسدود شده است. موارد آزمایش منفی را برای مواردی مانند: کاربران بدون اجازه تلاش برای اقدامات محدود ، ارسال سوابق ناقص و داده های نقض قوانین تجاری بنویسید.
2. آزمایش با پروفایل های کاربر واقع بینانه
در Salesforce ، کاربران مختلف چیزهای مختلفی را می بینند – زمینه ها ، مجوزها ، چیدمان ها و حتی محرک های اتوماسیون. آزمایش همه چیز به عنوان مدیر سیستم به شما در شناسایی مشکلات دنیای واقعی کمک نمی کند. شما همیشه باید نقش واقعی کاربر را آزمایش کنید – نماینده فروش ، نماینده پشتیبانی یا مدیر.
3. پیگیری آنچه در مقابل برنامه نویسی است
جریان ها ، زمینه های فرمول و قوانین اعتبار سنجی می توانند منطق را به راحتی به عنوان کد apex بشکنند. اما آنها در کنترل منبع گنجانده نشده اند مگر اینکه ابرداده بازیابی شود. از خطوط لوله CI یا ابزارهای Diff ابرداده استفاده کنید که شامل اجزای اعلانی است. اطمینان حاصل کنید که پوشش آزمون شامل منطق ساخته شده توسط سرپرستان است ، نه فقط توسعه دهندگان.
4. اعتبار سنجی گزارش ها ، داشبورد و نماهای لیست
گزارش ها و داشبورد به عنوان تصویری رفتار می شوند اما برای تصمیم گیری مهم هستند. فیلترها ، دسترسی به ضبط و دید میدانی می تواند بر آنچه کاربران می بینند تأثیر بگذارد. بهترین راه حل شامل شامل مؤلفه های گزارش در برنامه آزمون خود و تأیید دوره ای آنها به ویژه پس از تغییر طرحواره یا انتشار سیستم است.
5. ورود به سیستم و طبقه بندی نقص بر اساس مؤلفه
در Salesforce ، یک مسئله واحد ممکن است ناشی از مجوز ، جریان یا مجوز غلط باشد. ورود به مسائل مبهم مانند “دکمه کار نمی کند” مفید نیست. شما باید اشکالات را بر اساس منبع آنها ، مانند پروفایل ، مجوز ، قانون اعتبار سنجی یا منطق APEX طبقه بندی کنید. این به توسعه دهندگان ، آزمایش کنندگان و سرپرست ها کمک می کند تا بهتر با نقص های بهتر همکاری کنند.
پایان
Salesforce قدرتمند است – اما این قدرت با پیچیدگی همراه است. چرخه های به روزرسانی سریع آن ، مؤلفه های پویا و سفارشی سازی های عمیق به معنای حتی کوچکترین تغییر می تواند باعث ایجاد اثر موج دار شود. به همین دلیل داشتن یک استراتژی اتوماسیون تست Salesforce قابل اعتماد اختیاری نیست – ضروری است.
با شناسایی فرآیندهای مهم تجاری ، تنظیم محیط های تست پایدار ، ایجاد اسکریپت های آزمایشی قابل استفاده مجدد و استفاده از ابزارهای مناسب ، می توانید از خرابی ها ، تقویت اعتماد به نفس رها شوید و اطمینان حاصل کنید که هر ویژگی جدید یا به روزرسانی دقیقاً همانطور که انتظار می رود کار می کند.
در پایان ، اتوماسیون تست فقط مربوط به صرفه جویی در وقت نیست – این مربوط به محافظت از تجربه کاربران ، مشتریان و رهبران تجارت شما است.
بنابراین آیا شما در حال آماده سازی برای انتشار فصلی بعدی Salesforce هستید یا گردش کار CRM خود را مقیاس می دهید ، اکنون زمان آن است که اتوماسیون را جلو و مرکز قرار دهید.
منبع: برای اطلاعات بیشتر ، خوانندگان ممکن است به TestGrid مراجعه کنند.