آشنایی با وظایف مهندسان تست در گوگل

آشنایی با وظایف مهندسان تست در گوگل

مهندسان تست یا TE (مخفف Test Engineer) یک گروه تخصصی در گوگل هستند که توسط تست‌های علمی و عملی به بهبود خدمات و محصولات گوگل می‌پردازند؛ درواقع، این گروه از مهندسان روی تست سریع و منتشر کردن محصولاتی کار می‌کنند که کاربران گوگل به آن‌ها وابسته هستند که از آن جمله‌ می‌توان به سرویس Gmail، Search و غیره اشاره کرد.

انجام سریع چنین کاری برای رقم زدن یک تجربهٔ کاربری عالی برای کاربر، مستلزم داشتن مهندسانی با تخصص‌ها و مهارت‌های گوناگون است؛ در این پروسه، برای کاربر هم نقشی در‌نظر گرفته شده است تا قبل از انتشار کامل، از کارکرد و کیفیت محصول اطمینان حاصل شود.

این مهندسان مانند چسبی هستند که برای یک لانچ مطمئن از محصول، از تمام افراد مربوط مانند مدیران تولید، تیم‌های دولوپ، طراحان تجربهٔ کاربری (UX)، متخصصین انتشار محصول، تست‌کننده‌های نسخۀ بتا و حتی کاربران استفاده می‌کنند و از آن‌ها تأییدیۀ کامل بگیرند.

آن‌ها هر روز هفته این سؤال را از خود می‌پرسند که چه‌طور می‌توانیم پروسۀ توسعۀ محصول را مؤثرتر کنیم تا کاربران را راضی‌تر شوند؟ TEها فراتر از وظیفه‌ٔشان گام برمی‌دارند تا محصولات اولیه و رایگان گوگل مانند Search ،Gmail و Docs را بهتر از نسخه‌های پولی عرضه شده به بازار بسازند. 

این گروه از مهندسین و دولوپرها این وظیفه را برعهده گرفتند تا بهترین روش‌های تست را در تمام تیم‌های داخل شرکت گسترش دهند؛ این پروسه همراه با برنامه‌هایی که بود شاید نام چند مورد از آن‌ها را شنیده باشید: Testing on the Toilet ،Certified Program و Google Test Automation Conference. تمام این تلاش‌های صورت‌گرفته، در جنبه‌های مختلفی از تست کردن محصول مانند کدها و تست کارایی انجام شده است و نتیجۀ خوبی از آن گرفته شده است (جهت آشنایی بیشتر با Testing on the Toilet، به مقالهٔ راه‌کارهای گوگل جهت تست نرم‌افزار در سرویس‌ بهداشتی! مراجعه نمایید).

این کارها باعث شد تا تست کردن در تمام قسمت‌های کمپانی گوگل به یک پروسۀ معمول تبدیل شود و نوشتن تست از طرف هر مهندس برای کدهای خود، تبدیل به یک استاندارد کاری شود؛ امروزه در گوگل این سنت را TEها برعهده گرفته‌اند و برای کیفیت هر محصول استانداردهایی را درنظر گرفته‌اند که حتماً باید به آن برسند.

به‌طورکلی، سمت TE در گوگل یک سمت خاص است؛ آن‌ها خودشان پروژه‌ها را تعریف و سازمان‌دهی می‌کنند و محصول نهایی را طوری کنترل می‌کنند تا رضایت کاربر کسب شود. برای آشنایی بیشتر با کار این مهندسان، چند مورد از چالش‌های روزانۀ آن‌ها را در ادامه آورده‌ایم:

- اتوماتیک‌سازی فرآیند وریفای دستی برای کاربرانی که برای انتشار محصول انتخاب شده‌اند تا دولوپرها بتوانند وقت بیشتری برای مشکلات احتمالی در موقع ریلیس محصول داشته باشند.

- طراحی و اجرای یک راه اتوماتیک برای ردیابی مصرف باتری اندروید برای دولوپرها تا هنگام ارائهٔ یک فیچر جدید، بدانند که باعث مصرف زیاد باتری می‌شود یا نه.

- کیفیت‌سنجی درصورت استفاده از یک دیتاست تولید‌شدۀ جدید در محصولی که دارای میلیاردها جزء است، به‌مراتب کیفیت بیشتری از وقتی دارد که دیتاست تماماً در پروسۀ تولید باشد.

- نوشتن یک‌سری تست معتبر، برای زمانی که محتوای ارائه شده به کاربر دارای اعتباری متناسب با نیازهای آن‌ها است.

- مطالعۀ یک پروپوزال مهندسی طراحی، برای اطلاع از فیچرهای جدید و ارائه پیشنهاداتی برای مکان و چگونگی انجام تست‌پذیری.

- تحقیق در مورد تأثیر Stack Traceها که توسط کاربر و به وسیلۀ سیستم گرفتن فیدبک شناخته‌ شده‌اند و جستجو در داخل کدها برای یافتن دلیل اصلی مشکلات بوجود آمده.

- سازماندهی تیم ویژه‌ای برای توصیه و آموزش به تیم‌های شرکت دربارۀ انجام بهترین کارها هنگام تست‌های دسترسی.    

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

منبع


هادی فاخریان