• 1 رای - 4 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سازماندهی issue tracker
#1
سلام
چگونه برای یک نرم افزار سیستم گزارش باگم رو دسته بندی کنم؟ مثل solved bug, not a bug و...
و چطور گزارشات رو سازماندهی کنم؟ شما چطور اینکارو می کنید؟

ممنون
  پاسخ
تشکر شده توسط :
#2
اول اینکه Bug Tracker، و نه Issue Tracker...
Issue Tracker مال مشتریان و Support/Troubleshoot هستش، اما Bug Tracker مال مشکلات و خطاهای محصول هستش

سوالت هم تقریباً کلی و پاسخش گسترده هستش
اما هر تیم یا شرکتی به روش خاص خودشون عمل می کنن، ولی یکسری اصول بین شون مشترکه... از ابتدا میگم تا برسیم به سوال شما:

1- اول اینکه برای هر محصول، برنامه نویسان، برنامه نویسان ارشد، طراحان، مدیر پروژه، بتا تسترها و مسئولین کنترل کیفیت، سرگروه بتا تسترها، R&D کار ها, آموزگاران و دیگر افراد غیر مرتبط با برنامه نویسی... رو تعیین می کنن (که این خودش یه علمیه و سیستم ها و چارتهای متفاوتی داره)
2- سپس ساختار تیم، روابط, workplace, مقررات، قرارداد ها بسترها و نرم افزارهای مورد استفاده و... رو برای همه تعیین می کنن.
3- و یقیه قضایا...
حالا قسمتی که مربوط به ما میشه:
4- در حالت معمول، به ازای هر محصول یک مخزن/repository و دو انشعاب برای هر محصول بنام Develop و Stable تعیین می کنن. (بکار بردن واژه های testing, development, myself و امثالش برای انشعاب غلطه)
5- همه برنامه نویسان از ویرایشگری استفاده می کنن که بتونه با یک Source control manager (یا همون version control system) ارتباط برقرار کنه و بعد به مخزن Develop محصول مورد نظر متصل و clone ش می کنن. مثل , Svn, CVS, Fossil, Visual Sourcesafe, Git...
6- ویرایشگرشون رو توسط یک connector (یا همون پلاگین) به یک سیستم مدیریت پروژه یکپارچه که حاوی code review، task manager، bug tracker و... باشه وصل می کنن. مثل BugZilla, Github, Gerrit, GitLab, Ms TFS, MantisBT...
نکته: Task manager با TODO manager متفاوته! Task manager برای کل تیم هستش، همگی بهش دسترسی دارن، اولویت بندی داره، انجامشون به گردن عده ای خاص هستش، زمان بندی داره و معمولاً دارای یک مخزن بنام task repository هستش. اما TODO manager فقط برای خود برنامه نویس/طراح هستش و هیچ کس بهش دسترسی نداره و چیزی شبیه لیست کارهای شخصی میمونه(خرید پیاز، زنگ به بابا، پرداخت قبض، تکمیل تابع فلان و...)
7- و یقیه قضایا...
حالا پاسخ شما:


نقل قول:چگونه برای یک نرم افزار سیستم گزارش باگم رو دسته بندی کنم؟ مثل solved bug, not a bug و...
و چطور گزارشات رو سازماندهی کنم؟ شما چطور اینکارو می کنید؟
1- اینکه سیستم Bug Tracker معمولاً توسط برنامه نویس ارشد یا سرگروه کنترل کیفیت و تست مدیریت میشه و نه کس دیگه

2- اینکه هر Bug Tracker شامل یکسری دسته بندی یا همون برچسب برای تعیین وضعیت کنونی اون باگ هستش که به این شرحه:
New/Unconfirmed = یک باگ جدید توسط مشتری یا reporter ها گزارش شده -> پس توسط بتا تسترها شروع به تست میشه
Valid/Confirmed (باز) = باگی که توسط بتا تستر تست و تایید شده -> پس توسط سرگروه بتا تسترها به تیم برنامه نویس یا شخص مربوطه Assign/واگذار میشه (و برچسب ASSIGNED TO هم میگیره)
Open (باز) = باگی که تست شده، تایید شده و واگذار شده اما هنوز Fix نشده.
Open - Fixing (باز) = باگی که تست شده، تایید شده و واگذار شده و درحال Fix شدن هستش
Dismissed/Invalid (بسته) = باگی که تست شده اما غلط گزارش شده یا بدلایلی رد شده -> پس توسط سرگروه بتا تستر با همین برچسب بسته میشه.
Duplicated (بسته) = باگی که تست شده، تایید شده اما تکراری گزارش شده -> پس توسط بتا تسترها واگذار/Assign نمیشه و بسته میشه.
Fixed (باز) = باگی که تست شده، تایید شده، واگذار شده و به ادعای برنامه نویس Fix شده -> پس توسط برنامه نویس به تیم بتا تستر ارجاع داده میشه برای تست مجدد (اگر Fix شدش تایید بشه، توسط سرگروه بتا تستر Fixed - Verified میشه درغیر اینصورت توسط سرگروه بتا تسترها به تیم برنامه نویس یا شخص مربوطه مجدداً Assign/واگذار میشه (و برچسب RE-ASSIGNED TO هم میگیره))
Fixed - Verified (بسته) = باگی که تست شده، تایید شده، واگذار شده، Fix شده و توسط بتا تسترها تایید شده -> پس توسط سرگروه بتا تسترها بسته میشه.
WontFix (باز) = باگی که تست شده، تایید شده، واگذار شده اما به ادعای برنامه نویس سواد و عرضه Fix کردنش رو نداره! -> پس به توسط برنامه نویس ارشد واگذار/Assign میشه تا بعد از موافقت بسته بشه.
WontFix - Accepted (بسته) = باگی که تست شده، تایید شده، واگذار شده، Fix نمیشه و توسط برنامه نویس ارشد موافقت و بسته شده.
Need Ref / Need help / Req info / Waiting players / Vote needed (باز) = باگی که نیازمند کمک، مرجع، مدرک، بازیکنان، رای، اطلاعات بیشتر و... هستش که توسط بتا تستر یا برنامه نویس در حالت pending و معلق می مونه
نکته: بکار بردن واژه pending بعنوان دسته یا برچسب اصلی درست نیست و خیلی کلی هستش.

3- و آخر اینکه هر گزارش باگ حاوی یکسری اطلاعات پایه ای هم هستش مثل: عنوان، توضیحات(قدم به قدم)، نام محصول، نسخه محصول، کامپونتی از اون محصول، بستر سخت افزاری، سیستم عامل، درجه خطرناک بودن(minor, normal, major, critical, blocker, security)، تصاویر و فایلهای ضمیمه، تعداد رای ها، کلمات کلیدی، گیرنده/CC های دیگر و...

حالا توسط ویرایشگری که به Bug Tracker هه سیستم مدیریت پروژه وصله، باگهای جدید Confirm شده رو دریافت و Fix می کنی بعد توسط Version control system ای هم که به ویرایشگرت وصله، دونه دونه commit می کنی و سپس مراحل لازم رو برای تایید Fix طی می کنی.
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط : ayoubsys Null undefined Maysam.m
#3
issue tracker درستش هست و ماله مشتری نیست. اون قسمتی که مربوط به مشتری میشه ticket میشه که ممکنه منجر به issue بشه یا نه.
در تکمیل صحبتهای یوشا می تونی از gitlab یا redmine یا ابزارهای مشابهش استفاده کنی
  پاسخ
تشکر شده توسط : Null
#4
نقل قول:issue tracker درستش هست و ماله مشتری نیست. اون قسمتی که مربوط به مشتری میشه ticket میشه که ممکنه منجر به issue بشه یا نه.
خیر. issue tracker واژه گسترده ایه و خیلی چیزها زیر مجموعش میشه اما issue tracker سیستمیه که مال مشتری هستش و برای troubleshooting استفاده میشه و اون موقع اگر غیرقابل رفع باشه به دسته Bug ها تبدیل میشه و یک task (باگ باز) ایجاد میکنه:
- اغلب bug tracker ها متصل به یک Revision control system هستن، اما issue/ticket tracker ها نیستن
- دلیل bug، اشتباه هه توسعه دهنده هستش اما دلیل issue، نداشتن دانش کاربری، کاستی در مستندات یا باگ محصول هستش

جوابهایی در تایید حرفم:
http://stackoverflow.com/questions/941512/
نویسنده پاسخ #2 https://www.linkedin.com/in/azheglov

ویکی http://en.wikipedia.org/wiki/Bug_tracking_system
نقل قول:A bug tracking system is a software application that is designed to help quality assurance and programmers keep track of reported software bugs in their work. It may be regarded as a sort of issue tracking system.

ویکی https://en.wikipedia.org/wiki/Issue_tracking_system
نقل قول:An issue tracking system (also ITS, trouble ticket system, support ticket, request management or incident ticket system) is a computer software package that manages and maintains lists of issues, as needed by an organization. Issue tracking systems are commonly used in an organization's customer support call center to create, update, and resolve reported customer issues, or even issues reported by that organization's other employees.
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط : Null Maysam.m
#5
مفید و جا افتاده

[عکس: BzLifecycle.png]

https://bugs.eclipse.org/bugs/page.cgi?id=fields.html
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط : Null Maysam.m


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان