پرش به مطلب اصلی

نقشه راه مهندس تست نرم افزار

سلام. خیلی خوش اومدین! بهتون تبریک میگم! چون وقتی این پست رو میخونید یعنی یا تصمیم گرفتین وارد حوزه تست نرم افزار بشید یا اینکه میخواین دانش خودتون رو در این زمینه گسترش بدین! در هر دو حالت جای درستی اومدین. قراره کلی چیز اینجا با هم یاد بگیریم.

تو این پست میخوام مهارت های لازم در پروژه های واقعی که برای تبدیل شدن به مهندس تست نرم افزار (منوآل) نیاز دارید رو بهتون توضیح بدم. وقتی بدونین چیا رو باید بلد باشید بقیه ش میشه سرچ و همت خودتون و تمرین و تکرار. تمام تلاشم رو هم دارم میکنم که خود اتومیشن کمپ هم بتونه رفرنس خوبی برای یادگیری باشه. در آینده پست مشابهی هم برای اتومیشن ایجاد می کنم.

مرحله بعدی خوندن این داکیومنت، داشتن یه برنامه هدفمند و تلاش جدی برای تحقق اون هست. برای رسیدن به نتیجه باید:

  • گپ ها رو آنالیز کنین یعنی ببینین چیا رو بلدین و چیا رو باید یاد بگیرین.
  • لیستی از ریسورس هایی که برای یادگیری هر موضوع و بولت پونیت لازم دارین تهیه کنین
  • یه اکشن پلن برای خودتون ایجاد کنین به همراه ددلاین برای هر موضوع. برای تکمیل هر قسمت هم یه سری تمرین پیدا یا برای خودتون تعریف کنین و اون بشه Expected result از هر قسمت!
  • باید این مسیر رو مثل یه پروژه ببینین. یه رودمپ اصلی که خرد شده به تسک های ریز و اسپرینت های دو هفته ای! یه برد Kanban ساده مثل Trello یا YouTrack به این کار اختصاص بدین با چهار تا ستون Backlog, Todo, In-Prgress, Done. با خودتون جلسات روزانه و سرمونی های مختلف Sprint برگزار کنین!

یه خورده راجع به من

من محمد منفرد هستم. از سال ۱۳۹۰ تو حوزه IT مشغول هستم و از سال ۱۳۹۴ وارد حوزه تست نرم افزار شدم. شروعش با تست منوآل بود و بعدش ادامه با اتومیشن به خاطر بک گراند برنامه نویسیم. با شرکت های بزرگی مثل اسنپ همکاری کردم. چند بار تیم و واحد تست تشکیل دادم. افراد زیادی رو استخدام کردم (یا برای شرکتی که خودم توش بودم یا به عنوان مشاور). تیم لید بودم. مربی و مشاور بودم و چند سالی هم هست مهاجرت کردم و در حال حاضر تو شرکت آمریکایی بزرگی با عنوان آرشیتکت و تیم لید اتومیشن مشغول به کار هستم. لینکداین من و monfared.io (رزومه من)

داستان اتومیشن کمپ

از بچگی دوست داشتم هرچی بلدم به بقیه یاد بدم. اصلا یادم نمیاد چیزی یاد گرفته باشم و حداقل یه بار برای کسی توضیحش نداده باشم! تو لینکدینم می نوشتم معمولا ولی کافی نبود. دیگه نتونستم طاقت بیارم و سال ۱۴۰۰ بود که شروع کردم به ایجاد آموزش های تست اتومیشن و تو یوتیوب منتشر کردم. اسم این رفیقمون شد AutomationCamp و بعدش بهش هویت بیشتری دادم و کانال تلگرام و آپارات و ... هم اضافه کردم.

خوب از اونجایی که همیشه تو لینکداین و کامیونیتی های مختلف داخلی و خارجی مشغول به نوشتن پست و مشارکت تو بحث ها هستم یا اینکه پاسخ سوال ها رو میدم احساس کردم احتیاج به جایی دارم که همه این نوشته ها رو متمرکز کنم. گزینه زیاد داشتم. از پلتفرم هایی مثل ویرگول تابلاگ های ساده. به این فکر کردم خوب حالا که میخوام این کارو بکنم چرا جایی نباشه که آموزش های اتومیشن کمپ هم توش جمع بشه؟ و امکان توسعه سایت هم داشته باشیم؟ این شد که رسیدم به سایت فعلی.

تست نرم افزار چرا مهمه و این همه آگهی استخدامی داره؟

خوب فکر کنم اهمیت تست نرم افزار دیگه باید واضح باشه و قرار نیست دوباره داستان سقوط هواپیما یا سهام فلان شرکت رو به خاطر ایراد نرم افزاری توضیح بدیم. شاید بعدا بلاگ پست دیگه ای رو در این ارتباط نوشتم. الان اجازه بدین بریم سر اصل مطلب که به خاطرش این پست رو دارید میخونید یعنی مسیری که باید طی کنیم تا تو این حوزه حرفه ای بشیم!

نحوه ایجاد این مطلب

خوب من الان بیشتر از یک دهه هست که تو زمینه تست نرم افزار مشغول هستم. تو این سال ها با شرکت ها، پروژه ها و افراد متفاوتی کار کردم و نیازمندی های فعلی رو میدونم. تمام شرکت های بزرگ IT من جمله اونایی که خودم باهاشون همکاری داشتم یا همکارام و دوستام مشغول کار توشون هستن چیزایی به اسم Roadmap, Career Ladder, Qualification Matrix و... دارن که مشخص میکنه در هر سطحی چه انتظاری از اون شخص هست. چندین بار تو ایجاد این مدل داکیومنت مهم برای شرکت ها نقش داشتم و حالا همه اینا رو گذاشتم کنار تجربه ها و نظرات خودم و حاصلش شد این مطلب که فکر میکنم خیلی به درد بخوره!

کاربرد این مطلب

  • دنبال یه مسیر دقیق و مشخص برای کار به عنوان کارشناس QA و رسیدن به سطوح بالا در این حوزه هستید
  • قصد دارید از طریق پیدا کردن Job تو حوزه QA مهاجرت کنید
  • قراره نیروی QA استخدام کنید و میخواین بدونین هر سطحی چیا باید بدونه (اکیدا البته توصیه کنم که اگر قراره مصاحبه گر باشید لطفا (!) خودتون در سطح سنیور یا حداقل میدلول که جلوتر تعریف کردم باشید، در غیر اینصورت از کسی در این سطح از خارج از سازمان تون کمک بگیرید)

سطوح تخصص

خوب قبل از اینکه بریم سراغ مسیر یادگیری، باید به این نکته اشاره کنم که شرکت های بزرگ تمام کارمندها رو با هر نوع تخصصی به چند سطح تقسیم بندی می کنند. یعنی مهم نیست شما چه کاری داری انجام میدی، تو همون پوزیشن سطحت میتونه بره بالاتر و حتی درآمدت از مدیرهای (غیر C level) هم بالاتر بشه! بدون اینکه کار مدیریتی یا لیدری انجام بدی. بعضی هاشون مثل گوگل شماره گذاری میکنن مثلا SWE 2 یا SWE 1 و بعضی ها هم میرن سراغ همون تقسیم بندی اصلی که ما در ادامه انجام میدیم. البته اینم در رابطه با گوگل بگم که سطح ۵ ش معادل Senior میشه و بعد از اون هم Staff و Senior Staff و Principal داریم.

خوب طبق دسته بندی متداول بین شرکت های IT این سطوح رو داریم:

  • Intern - کارآموز
  • Junior - جونیور
  • Strong Junior
  • Mid-level - متوسط
  • Strong Mid-level
  • Senior - سنیور
  • Expert - متخصص
قابل توجه

من قبلا هم برای تست منوآل و اتومیشن یه رودمپ نوشتم که تو این پست لینکداین منتشر کردم و خوندن اون هم خالی از لطف نیست.

چند تا نکته:

  • این لیستی از تمام مهارت های لازم هست. بعضی هاشون رو فرد باید حتما داشته باشه که مشخص هستن ولی بقیه ش تفاوتش رو از بقیه مشخص میکنه. برای همین اگر این لیست رو دارین میخونین و یه سری مهارت ها رو ندارید و حتی شاید گوشتون هم بهش نخورده نگران نشین. با خیال راحت بهتون بگم هیچ کسی نیست که تو همه اینا ماهر باشه ولی خوبه که گپ هامون رو تشخیص بدیم و روشون وقت بزاریم.
  • تو این پست ما از سطح کارآموز صرف نظر میکنیم و اینجوری درنظر میگیرم که فقط دانش تئوری مختصری از دانشگاه به همراه خودش داره.
  • سطح Expert هم فعلا راجع بهش صحبت نمیکنم چون خودش یه پست جداگونه میخواد و بعدا بهش می پردازم. البته سعی میکنم چیزایی که از این سطح برای Senior هم صدق میکنه پوشش بدم اینجا.
  • اون Strong ها هم یه چیزی بین سطح قبلی و بعدی هستن و اتفاقا رنج زیادی از افراد رو شامل میشن ولی برای اینکه شلوغ و پیچیده ش نکنیم، هر سطح و Strong ش رو اینجا با هم توضیح میدم. چه جوری میشه اونوقت؟ یعنی کسی که تمام موارد لازم تا اونجا رو بلد باشه میشه Strong. حالا اگر تو اصلیا مهارت داشته باشه و یه چیزایی رو تجربه نداشته باشه با توجه به سابقه و مهارت ش تو چیزای دیگه همچنان همون سطح ممکنه حساب بشه. همونطور که گفتم قرار نیست همه چیز رو همه بدونن ولی وزن مهارت های مختلف و تجربه فرد توی اونا سطحش رو مشخص میکنه و برای یه سازمانی ۶۰ درصد هر سلول این جدول هم شاید کافی باشه ولی جای دیگه ۹۰ درصدش رو بخواد.
  • رفتن به سطح بعد لزوما به معنای یادگیری چیزای جدید نیست. بلکه در ابتدا به معنی عمیق شدن دانش و تجربه ما تو همون مهارت های قبلی هست. تسلط کامل و تشخیص اشتباه های گذشته نشونه این پیشرفت هست. ولی مهارت های جدید ما رو متمایز میکنه.
  • همچنین واضحه که هر سطح باید مهارت های سطح قبلی رو داشته باشه.

جدول مهارت های لازم کارشناس تست نرم افزار در سطوح مختلف

مهارتجونیورمیدلولسنیور
پیش زمینه- دوره کارآموزی QA را گذرانده باشد یا حداقل ۶ ماه تجربه کاری در این زمینه داشته باشد
- آشنایی با مفاهیم تست و تجربه اولیه در نوشتن داکیومنت های تست
- داشتن حدود ۲ سال تجربه کاری به عنوان QA
- توانایی در ارائه استیمیشن و انجام تسک های QA به صورت مستقل
- توانایی کار به عنوان تنها نیروی QA و راه اندازی اولیه و تعریف فلو برای پروژه های با لاجیک ساده
- توانایی رهبری تیم QA تا ۳ نفر
- توانایی شرکت در مصاحبه های QA به عنوان نفر دوم
- بیش از ۴ سال تجربه کاری در QA
- تجربه بالا در تست انواع پلتفرم ها (موبایل/وب/دسکتاپ)
- توانایی پیاده سازی فلوی QA از ابتدا و تطابق آن با تمامی فازهای SDLC
- توانایی رهبری تیم QA بیش از ۳ نفر / توانایی اجرای نقش QA Manager
- توانایی مصاحبه و استخدام نیروی QA
- توانایی برگزاری آموزش و وبینار در حوزه QA / توانایی ایفای نقش به عنوان منتور
انواع تست / سطوح تست / Testing Principals- داشتن دانش تئوری و تجربه نسبی در رابطه با انواع تست و بیان تفاوت بین آن ها مانند Regression Smoke, Sanity, Functional, Non-functional
- توضیح Testing Principals های اصلی با ذکر مثال
- درک و توضیح هرم تست
- دانش تئوری در رابطه با تکنیک های تست Blackbox
- تجربه عملی در رابطه تایپ های مهم تست مثل Regression و Functional
- تجربه عملی در رابطه با تکنیک های تست Black-box
- درک تفاوت بین انواع تست های پرفورمنس (Stress/Load/Spike,...)
- تشخیص اینکه کدام تایپ تست در کجای پروژه واقعی پیاده سازی و استفاده می شود
- توضیح اینکه هرم تست در پروژه و فرایند SDLC چطور پیاده سازی می شود
- ارائه مثال از تجربه واقعی در جایی که اصول هفتگانه تست پیاده سازی می شود
- داشتن دانش در رابطه با انواع تست های Non-functional مانند Compatibility, Localization, Scalability, Portability,...
- انتخاب تست های مناسب با نیازهای پروژه و تشخیص زمان مناسب برای انجام انواع تست ها
- توانایی پیاده سازی پروسه QA و STLC
آنالیز نیازمندی ها (Requirement Analysis)- توانایی درک کردن نیازمندی ها و اینکه اپلیکیشن و بیزینس چه کاری انجام می دهد
- توانایی آنالیز نیازمندی ها و تعریف سناریوی تست بر اساس آن ها
- توانایی پیدا کردن مشکلات Req
- توضیح RTM (Requirements Traceability Matrix) و کاربرد آن
- آشنایی با انواع فرمت های تعریف User Story و Acceptance Criteria به خصوص BDD
- درجه بندی نیازمندی ها با توجه به Business Logic
- تست نیازمندی ها برای خصوصیات Complete, Correct, Prioritized, Verifiable, Consistent
- پرسیدن سوال دقیق و مناسب برای شفاف سازی نیازمندی ها
- توانایی پیاده سازی RTM
- توانایی Map کردن صحیح تست، تسک، باگ و نیازمندی ها به یکدیگر
- توانایی تحلیل و کار با نیازمندی ها و بیزینس لاجیک های پیچیده
داکیومنت های تست (Test case, Checklist, Bug report, Test-plan, Test-strategy)- توانایی نوشتن تست کیس، چک لیست و باگ ریپورت به صورت استاندارد
- درک تفاوت بین Checklist و Test-case
- توانایی نوشتن تست کیس های حرفه ای با استفاده از تکنیک های متداول مانند Equvalence Partitioning, Boundary Values, Decision Table, State-Transition
- مهارت در Review تست کیس ها
- تجربه عملی با یکی از ابزارهای مدیریت تست مانند TestRail, XRAY,...
- توانایی تعریف Test-plan و Test-strategy و اجزای آن و امکان مشارکت در پیاده سازی و بروزرسانی آن ها
- تجربه و توانایی در ایجاد Test-plan و Test-startegy از ابتدا
Test Planning - درک و اجرای فعالیت های اصلی QA شامل آنالیز نیازمندی ها، پلن تست، طراحی تست کیس، اجرای تست بر اساس داکیومنت های تست، ریپورت خطاها و... تحت نظارت شخص حرفه ای تر
- توانایی پرسش سوال صحیح از شخص مناسب در زمان بروز مشکل برای درک علت خطا
- انجام فعالیت های اصلی QA بدون نیاز به کمک و نظارت افراد سطح بالاتر
- توانایی پلن تمام فعالیت های QA و نوشتن داکیومنت های Test-plan و Test-strategy
- درک اهمیت اتومیشن در پروژه فعلی و داشتن ایده اولیه از پلن اتومیشن
- آشنایی با ریسک های Test و تشخیص ریسک های موجود در پروژه فعلی
- توانایی تعریف پلن QA برای منوآل و اتومیشن به صورت همزمان
- تشخیص گپ های موجود در Test-plan، ارائه سولوشن و بحث و گفتگو با دیگر اعضای پروژه مانند PM در رابطه با آنها
- توانایی مدیریت Risk های تست و بهبود آن ها در طول زمان
ارائه Estimation برای تسک های QA- آشنایی با انواع تکنیک های Estimation مانند Poker, TShirt, 3Points
- ارائه استیمیشن با کمک نیروی سطح بالاتر
- ارائه استیمیشن به صورت مستقل- ارائه استیمیشن به صورت دقیق تر
- درک معایب و محاسن انواع تکنیک های استیمیشن
- انتخاب تکنیک استیمیشن مناسب با توجه به ساختار تیم و پروژه
اجایل، اسکرام، واترفال و بست پرکتیس ها- آشنایی با استیج های مختلف SDLC
- آشنایی با نقش های مختلف و مسئولیت آنها مانند PM, Scrum Master و غیره
- آشنایی با جلسات مختلف و اهداف آن ها مانند Daily, Sprint Planning, Retrospective و غیره
- مشارکت فعال در جلسات مختلف و ارائه بازخورد به خصوص در Retro
- درک گزارش ها و متریک های مختلف مانند تقویم Roadmap یا Velocity
- توانایی مدیریت تسک های Adhoc
- پیاده سازی STLC مناسب با فازهای مختلف SDLC
- تحلیل مراحل مختلف SDLC و ارائه پیشنهاد ممیزی جهت بهبود توسعه
- پیاده سازی Shift-Left
- توانایی ایفای نقش رهبر در پیاده سازی متدولوژی BDD
تست وب اپلیکیشن - درک تفاوت وب اپلیکیشن (PWA) و وب سایت
- آشنایی با Client-Server architecture
- آشنایی با Multi-browser testing
- داشتن تجربه در تست وب اپ های متفاوت
- درک Browser Compatibilty
- تحلیل باگ ها و تشخیص خطای Frontend از Backend
- توانایی کار با ابزارهای مختلف DevTools
- توانایی کار با Debug proxy tools ها مانند Fiddler و Charles
- توانایی خواندن لاگ های سرور
- آشنایی ابتدایی با تست Securityو Load وب اپلیکیشن
تست موبایل اپلیکیشن - درک تفاوت اپ Native و Hybrid
- داشتن تجربه نسبی در تست اپلیکیشن های اندروید و iOS
- در نظر گرفتن خصوصیات دیوایس موبایل هنگام تست مانند نتورک، کیبرد، سويیچ اپ، لاک صفحه و غیره
- توانایی کار کردن با امولاتورها
- توانایی کار کردن با دیوایس فارم ها و کلاد مانند Browserstack
- توانایی استفاده از امکانات devtools برای تست موبایل
- توانایی کار با ابزارهای دیباگ پروکسی مانند Charles Proxy و Fildder
- توانایی build نسخه اپ مورد نیاز تست از طریق CI (و TestFlight برای iOS)
- توانایی استفاده از اندروید استودیو برای نسخه دیباگ و کشف خطاهای مهم مانند فورس کلوز
- توانایی استفاده از ADB برای نصب، حذف و مانکی تست
- توانایی خواندن لاگ های ابزارهای آنالیتیکس و کرشلیتیکس مانند Firebase / توانایی تست Event های ست شده
- توانایی اعمال گزارش های مارکتینگ در تست های Acceptance و ارائه پیشنهاد در جهت بهبود کاربری
- توانایی ارزیابی اپلیکیشن از نظر Usability به همراه درنظر گرفتن استاندارهای تعریف شده iOS و Android برای این مورد
تست دسکتاپ اپلیکیشن - داشتن دانش تئوری لازم و تجربه نسبی برای تست اپ دسکتاپ
- توانایی کار با Virtual Machine و Environment
- توانایی کار با Command Prompt و آشنایی با دیگر شل ها مانند bash, Powershell, sh
- توانایی کار با امکانات تخصصی ویندوز مانند Windows Registry, System Logs, Host file و غیره.
- مهارت در کار با OS های دیگر / توانایی تست اپ های Linux و Mac
- مهارت در انتخاب سولوشن و ابزار مناسب برای پروژه
- درک تعامل بین OS با FileSystem, Logs, Network و غیره.
- توانایی تنظیم پارامترهای نتورک، فایروال و اکتیودایرکتوری (دانش ابتدایی سیستم ادمین)
CI/CD , VCS - دانش تئوری از CI و درک دلیل استفاده از آن
- توانایی اجرای build و پایپ لاین مشخص و بررسی نتایج
- توانایی اجرای build با پارامترها و ورژن های مختلف
- توانایی دیپلوی branch های مختلف بر روی محیط های متفاوت
- توانایی دیپلوی و تست در محیط های Cloud (AWS, Azure, GCP) / توانایی کانفیگ محیط های مایکروسرویسی مانند Kubernetes برای تست
- تونایی ستاپ ابتدایی محیط های سمت سرور (مانند IIS, Apache)
- توانایی ستاپ و استفاده از ابزارهای مانیتورینگ مانند Zabbix
دیتابیس - آشنایی با مفاهیم ابتدایی دیتابیس مانند تایپ ها (Relational, NoSQL,...)، Schema
- توانایی اجرای کوئری های مهم SQL برای خواندن و آپدیت دیتا
- توانایی نوشتن کوئری های پیچیده مانند join و group by
- توانایی بررسی دیتااستراکچرهای مختلف دیتابیس مانند foreign/primary key
- توانایی تعریف Setup و Teardown برای تست-کیس ها از طریق دستورات دیتابیس
- داشتن تجربه کار با دیتابیس های مختلف مانند MySQL, Mongo, PostgreSQL, Oracle, Redis,...
- توانایی Migrate اسنپ شات دیتابیس برای محیط تست
API Testing - دانش تئوری وآشنایی با HTTP, HTTPS, REST/SOAP, انواع ریکوئست ها, ریسپانس کدها
- توانایی استخراج ریکوئست و ریسپانس ها از طریق Devtools
- توانایی کار با Postman و ایجاد ریکوئست های مختلف در آن
- تجربه نسبی در کار با Postman برای تایپ های مختلف API
- توانایی کار با Swagger و API-documenter های دیگر غیر از Postman
- آشنایی با CharlesProxy و Fiddler و توانایی استخراج request های موبایل با کمک نیروی سنیور
- توانایی بالا و تجربه کافی در استفاده از CharlesProxy برای استخراج ریکوئست های موبایل و Devtools برای دسکتاپ
- توانایی همکاری در پروژه API Automation
استفاده از AI در تست- آشنایی با ابزارها و تکنولوژی های AI-driven برای تست مانند Mabl, Kobiton, Tetsim,...
- استفاده از AI برای درک مفاهیم تست، تحلیل نیازمندی ها و تبدیل آن ها به سناریو و تست کیس
- درنظر گرفتن امنیت اطلاعات در زمان استفاده از AI و عدم اشتراک اطلاعات تحت NDA
- بهبود داکیومنت های فعلی تست با استفاده از AI
- به کار بردن Prompt Engineering برای نوشتن Prompt های بهینه
- استفاده از AI در ایجاد دیتای تست
- مهارت بالا در Prompt Engineering
- استفاده از AI در پیدا کردن Risk های پروژه (با تعریف شرایط و سوال و جواب)
تست سیستم های AI-driven ---
Soft Skills (مهارت های نرم) Communication Skills:
- توانایی ارتباط موثر با دیگر اعضای تیم تست و پروژه شامل دولوپرها، Product Manager و مدیران برای انتقال نتایج تست ، تحلیل نیازمندی ها و گزارش bug
- توانایی اطلاع رسانی به موقع و انتقال دیدگاه و انتقاد دیدگاه بدون ایجاد اختلاف
Attention to Details:
- توجه بالا به جزئیات برای آنالیز و تست دقیق نیازمندی ها، شناسایی Edge Case ها و اجرای دقیق تست کیس ها
- داشتن دیدگاه خارج از باکس برای کشف سناریوهای دیده نشده
Problem-Solving: داشتن مهارت های پایه ای حل مسئله مانند 5Whys برای عیب یابی مشکلات، تحلیل باگ ها و ارائه راه حل های پیشنهادی
Adaptability:
- توانایی انطباق سریع با تغییرات در نیازمندی ها واولویت های بیزینسی و زمانی پروژه
- حفظ رویکرد Flexible بودن در تست به خصوص در زمان مواجهه با تست های Ad-hoc
Leadership Abilities:
- داشتن مهارت ابتدایی در هدایت تیم
- قبول مسئولیت ناشی از خطا در فعالیت های تست و مالکیت فرآیند
- منتورینگ اعضای جونیور
- هماهنگ کردن فعالیت های تست در داخل تیم
Critical Thinking: داشتن مهارت تفکر انتقادی برای تجزیه و تحلیل سیستم های پیچید، ارزیابی ریسک های تست و تشخیص زمینه های بالقوه برای بهبود فرآیند تست
Time Management: مدیریت زمان برای اولویت بندی بهینه تسک ها QA به صورت موثر، پایبندی به deadline ها و هندل کردن تسک های همزمان
Conflict Resolution: توانایی حل اختلافات و تعارضات در داخل تیم، رفع سوءتفاهم ها و ایجاد محیط کاری مثبت
Stakeholder Management: مدیریت روابط با ذینفعان، مدیران، مشتریان و کاربران نهایی پروژه برای جمع آوری بازخورد از آنها، رفع دغدغه و نگرانی های ایشان و اطمینان از پوشش دهی مناسب فعالیت های تست برای آورده سازی انتظارات آن ها (Acceptance testing)
Strategic Thinking: داشتن مهارت تفکر استراتژیک برای بهینه سازی Test plan و Test strategy و تشخیص/رفع گپ های فرآیند تست
Decision-Making Abilities: توانایی تصمیم گیری آگاهانه و قاطعانه در مورد اولویت بندی تست ها و تخصیص منابع
Mentoship and Coaching: داشتن مهارت در مربیگری QA های Junior و Mid-Level در زمینه فعالیت های تست پیچیده، پیشرفت شغلی و رشد حرفه ای

خوب امیدوارم که تونسته باشم در قالب این جدول اون چیزی که برای تست منوآل نرم افزار در هر سطحی لازمه رو مشخص کرده باشم. به زودی داکیومنت مشابه برای اتومیشن هم ایجاد میکنم. خوشحال میشم نکته نظرات شما هم بدونم.