LogoSkills

bug-report-template Reference

Defines the bug classification system, severity guide, and image analysis criteria.

Bug Report Reference Guide#

Defines the bug classification system, severity guide, and image analysis criteria.


1. Severity Classification#

Classification Criteria#

SeverityLabelIconDescriptionExamples
Critical severity:critical ๐Ÿ”ด App unusable, data loss App crash, ANR, data loss
High severity:high ๐ŸŸ  Core functionality blocked Login failure, payment error, main screen inaccessible
Medium severity:medium ๐ŸŸก Functionality partially working Button not working, partial UI broken, data not displayed
Low severity:low ๐ŸŸข Minor issues Typo, alignment error, color error

Severity Decision Flow#

Does the app crash or lose data?
โ”œโ”€โ”€ Yes โ†’ ๐Ÿ”ด Critical
โ””โ”€โ”€ No โ†’ Is core functionality (login, payment, main flow) blocked?
         โ”œโ”€โ”€ Yes โ†’ ๐ŸŸ  High
         โ””โ”€โ”€ No โ†’ Is the feature not working as intended?
                  โ”œโ”€โ”€ Yes โ†’ ๐ŸŸก Medium
                  โ””โ”€โ”€ No โ†’ ๐ŸŸข Low (visual/surface-level issue)

2. Bug Type Classification#

UI/UX Bugs ๐ŸŽจ#

Sub-typeDescriptionExamples
LayoutLayout brokenOverflow, overlap, alignment error
StyleStyle errorColor, font, margin error
AnimationAnimation issueJank, non-functional, clipped
ResponsiveResponsive issueBroken at different screen sizes

Functional Bugs โš™๏ธ#

Sub-typeDescriptionExamples
NavigationNavigation errorWrong screen transition, back button error
InputInput handling errorKeyboard input, touch not recognized
LogicLogic errorWrong calculation, condition branching error
StateState management errorState not updated, sync issue

Performance Bugs โšก#

Sub-typeDescriptionExamples
LoadingLoading delaySlow API response, large data
RenderingRendering performanceFrame drops, jank
MemoryMemory issueMemory leak, OOM
BatteryBattery drainExcessive background work

Crash/ANR ๐Ÿ’ฅ#

Sub-typeDescriptionExamples
CrashApp force closeNPE, unhandled exception
ANRNot respondingMain thread blocking
FreezeScreen frozenInfinite loop, deadlock

Data Bugs ๐Ÿ“Š#

Sub-typeDescriptionExamples
DisplayIncorrect displayData not shown, wrong value
SyncSync errorServer-client mismatch
PersistenceStorage errorLocal save failure, cache error
ValidationValidation errorInvalid input accepted

3. Impact Area Classification#

Area Labels#

AreaLabelDescription
UIarea:uiFrontend UI components
Backendarea:backendServer API, endpoints
Dataarea:dataData layer, cache
Autharea:authAuthentication/authorization
Paymentarea:paymentPayment related
Navigationarea:navigationRouting, navigation

4. Image Analysis Guide#

Analysis Points#

Items to check when analyzing screenshots:

## Image Analysis Checklist

### UI State
- [ ] Is an error dialog displayed?
- [ ] Is it an empty screen (Empty State)?
- [ ] Is the loading state stuck?
- [ ] Is the layout broken?
- [ ] Has an overflow occurred?

### Text Extraction
- [ ] Error message text
- [ ] Screen title/header
- [ ] Button text
- [ ] Input field content

### Context Identification
- [ ] What screen is this? (list, detail, form, etc.)
- [ ] What action preceded this?
- [ ] What data is involved?

Auto-classification Logic#

## Image-based Auto-classification

### Crash/ANR Detection
-  " App is not responding "   โ†’ ๐Ÿ’ฅ ANR
-  " Force close "   /  " crash "   โ†’ ๐Ÿ’ฅ Crash
- Black screen + error stack โ†’ ๐Ÿ’ฅ Crash

### UI Bug Detection
- Text truncated /  " ... "   โ†’ ๐ŸŽจ Layout
- Overlapping elements โ†’ ๐ŸŽจ Layout
- Yellow area (Flutter overflow) โ†’ ๐ŸŽจ Layout

### Functional Bug Detection
- Error toast/snackbar โ†’ โš™๏ธ Function
- Empty list + error icon โ†’ โš™๏ธ Data/Function
- Loading spinner persisting โ†’ โš™๏ธ Function / โšก Performance

5. Required Information Collection#

Reproduction Steps Writing Guide#

# Good example
Given the user is logged in
And on the home screen
When tapping the  " Profile "   tab
Then the app crashes

# Bad example
Crash when going to profile

Environment Information Checklist#

## Required Environment Information

| Item | Description | Example |
|------|-------------|---------|
| OS | Operating system version | iOS 17.2, Android 14 |
| Device | Device model | iPhone 15, Galaxy S24 |
| App Version | App version | 1.2.3 (build 456) |
| Account | Test account (optional) | test@example.com |
| Network | Network status (optional) | WiFi, LTE, Offline |

6. Auto-labeling Rules#

Default Labels#

Automatically applied to all bug issues:

  • bug

Conditional Labels#

ConditionLabel
Severity Criticalseverity:critical, priority:urgent
Severity Highseverity:high, priority:high
Crash relatedcrash, needs-investigation
UI relatedarea:ui
Reproduction uncertainneeds-reproduction

Auto Pipeline#

SeverityPipeline
CriticalIn Progress (immediate handling)
HighTriage (priority classification)
Medium/LowBacklog

7. Additional Information Formats#

Log Attachment Format#

## Logs

\`\`\`
2024-01-15 10:30:45.123 E/Flutter: Error in authentication flow
2024-01-15 10:30:45.124 E/Flutter: Stack trace:
#0      AuthBloc._onLogin (auth_bloc.dart:45)
#1      Bloc.on. < anonymous closure >   (bloc.dart:123)
\`\`\`

Stack Trace Attachment Format#

## Stack Trace

\`\`\`dart
Exception: Network error
  at ApiClient.fetch (api_client.dart:78)
  at UserRepository.getUser (user_repository.dart:34)
  at GetUserUseCase.call (get_user_usecase.dart:22)
\`\`\`