# Bộ Mẫu Proposal Freelance Tester

> 3 mẫu thực chiến cho Web App, Mobile App, và thị trường Việt Nam

---

## Mục lục

- [Cách dùng bộ mẫu này](#cách-dùng-bộ-mẫu-này)
- [Mẫu 1 — Web App Testing (Upwork, EN)](#mẫu-1--web-app-testing-upwork-en)
- [Mẫu 2 — Mobile App Testing (Upwork, EN)](#mẫu-2--mobile-app-testing-upwork-en)
- [Mẫu 3 — Test App thị trường VN (Freelancer.vn, VI)](#mẫu-3--test-app-thị-trường-vn-freelancervn-vi)
- [Bảng tra nhanh — Customize từng phần](#bảng-tra-nhanh--customize-từng-phần)
- [Những lỗi thường gặp khi viết proposal](#những-lỗi-thường-gặp-khi-viết-proposal)

---

## Cách dùng bộ mẫu này

Mỗi mẫu được đánh dấu theo cú pháp sau:

- `[BRACKET_TAG]` → phần **bắt buộc thay thế**, không gửi nguyên
- `*(italic ghi chú)*` → giải thích mục đích của đoạn đó, **xóa trước khi gửi**
- Phần **Hướng dẫn customize** nằm ngay sau mỗi mẫu

Quy tắc vàng: **Đọc kỹ job description ít nhất 2 lần trước khi mở mẫu ra điền.**

---

## Mẫu 1 — Web App Testing (Upwork, EN)

> **Bối cảnh:** Job post yêu cầu tester cho web app (SaaS, e-commerce, dashboard...).
> **Nền tảng:** Upwork
> **Độ dài mục tiêu:** ~120 từ
> **Giọng văn:** Chuyên nghiệp, thẳng vào vấn đề, không sáo rỗng

---

### 📄 Nội dung proposal

---

Hi [CLIENT_FIRST_NAME],

*(Mở bằng tên — không bao giờ dùng "Hi there" hay "Dear Sir/Madam")*

Noticed you're building [ONE_LINE_SUMMARY_OF_THEIR_PRODUCT] and need someone to catch issues before users do. That's exactly the kind of work I do well.

*(Dòng này cho thấy bạn đọc JD thật sự, không copy-paste)*

For a project like this, I'd focus on [SPECIFIC_AREA_1 — e.g., "cross-browser compatibility across Chrome, Firefox, and Safari"], [SPECIFIC_AREA_2 — e.g., "form validation edge cases"], and [SPECIFIC_AREA_3 — e.g., "regression testing after each sprint"]. I document everything in [YOUR_PREFERRED_TOOL — e.g., "a structured Google Sheet with steps to reproduce, severity, and screenshots"].

*(Ba điểm cụ thể > một đoạn văn mơ hồ về "passionate about quality")*

Recent work: [PROJECT_TYPE — e.g., "Tested a B2B SaaS dashboard for a UK startup — found 23 bugs in the first cycle, 6 of them critical"]. Portfolio: [LINK_OR_"available on request"].

*(Số liệu cụ thể > "I have experience in testing". Nếu chưa có số liệu thật, dùng dạng mô tả như "caught a checkout flow bug that blocked 100% of mobile purchases")*

Quick question: Is there an existing test plan, or would you need me to build one from scratch?

*(Câu hỏi cuối chứng minh bạn biết process, không phải hỏi cho có)*

[YOUR_NAME]

---

### 🔧 Hướng dẫn customize Mẫu 1

#### Phần mở đầu — "Hi [CLIENT_FIRST_NAME]"

| Tình huống | Cách xử lý |
|---|---|
| JD có tên client rõ ràng | Dùng first name: "Hi Sarah," |
| Upwork ẩn tên, chỉ thấy username | Bỏ tên, dùng: "Hi — I came across your posting for a web app tester..." |
| Company name nổi bật hơn tên người | "Hi [Company Name] team," |

**Không dùng:** "Hi Dear", "Hello Sir/Madam", "Greetings"

---

#### Dòng nhận diện sản phẩm — "you're building [ONE_LINE_SUMMARY]"

Lấy thông tin từ JD, ghép lại bằng lời của bạn. Ví dụ:

- JD viết: *"We are a project management tool for construction teams"*
- Bạn viết: *"you're building a project management platform for construction teams"*

Mục đích: Client thấy bạn đọc JD thật, không blast proposal đại trà.

---

#### Ba điểm testing cụ thể — [SPECIFIC_AREA_1/2/3]

Chọn từ danh sách sau dựa vào loại app:

**Web app nói chung:**
- Cross-browser testing (Chrome, Firefox, Safari, Edge)
- Responsive design / mobile viewport testing
- Form validation & error handling
- API response testing (nếu có quyền truy cập)
- Performance cơ bản (load time, lazy loading)
- Security basics (SQL injection attempt, XSS trên input fields)

**E-commerce cụ thể:**
- Checkout flow end-to-end
- Payment gateway edge cases (failed payment, timeout)
- Inventory & stock count logic

**SaaS/Dashboard:**
- Role-based access control (RBAC) testing
- Data filtering & export accuracy
- Multi-tenant data isolation

> **Nguyên tắc:** Chọn đúng 3 điểm liên quan trực tiếp đến app của họ. Đừng liệt kê tất cả — sẽ trông như copy từ Wikipedia.

---

#### Tool documentation — [YOUR_PREFERRED_TOOL]

Điền tool bạn thật sự dùng thường xuyên:

- **Google Sheets** → phổ biến, client không cần cài gì thêm
- **Notion** → đẹp, phù hợp client thích visual
- **Jira / Linear** → dùng khi JD đã đề cập team dùng Agile
- **TestRail** → dùng khi JD đề cập "test management" hoặc enterprise

---

#### Social proof — [PROJECT_TYPE]

Điền theo template: `[Loại project] — [kết quả cụ thể]`

**Nếu có kinh nghiệm thật:**
> *"Tested an e-commerce checkout rebuild for an Australian retailer — caught a tax calculation bug that would've affected every international order."*

**Nếu đang build portfolio (honest approach):**
> *"Recently did a self-initiated audit on [tên app nổi tiếng, e.g., a popular task management app] as a portfolio exercise — documented 15 UX/functional issues. Happy to share the report."*

**Không nên:**
- Bịa số liệu
- Dùng dự án của người khác không xin phép
- Viết mơ hồ: "I have worked on many testing projects"

---

#### Câu hỏi cuối

Câu hỏi trong mẫu đã dùng được. Nếu muốn thay, chọn câu phù hợp với JD:

| Tình huống trong JD | Câu hỏi thay thế |
|---|---|
| JD không nói rõ timeline | "What's the expected timeline for the first testing cycle?" |
| JD đề cập nhiều môi trường | "Will testing cover staging only, or production as well?" |
| JD nhắc Agile/sprint | "Are you running fixed sprints, or more of a continuous flow right now?" |
| JD mô tả app phức tạp | "Is there any internal documentation or user manual I can review before starting?" |

---

---

## Mẫu 2 — Mobile App Testing (Upwork, EN)

> **Bối cảnh:** Job post yêu cầu tester cho iOS và/hoặc Android app.
> **Nền tảng:** Upwork
> **Độ dài mục tiêu:** ~130 từ
> **Giọng văn:** Chuyên nghiệp, thể hiện hiểu biết về mobile-specific issues

---

### 📄 Nội dung proposal

---

Hi [CLIENT_FIRST_NAME],

Your [APP_NAME_OR_TYPE — e.g., "fitness tracking app"] caught my attention — specifically the part about [SPECIFIC_DETAIL_FROM_JD — e.g., "needing consistent behavior across both iOS and Android before the launch"].

*(Mở bằng một chi tiết cụ thể từ JD — ngay lập tức tách bạn khỏi 90% proposal mơ hồ)*

Mobile testing has its own set of landmines: OS version fragmentation, inconsistent gesture handling, background process behavior, push notification edge cases. For your project, I'd prioritize [PRIORITY_1], [PRIORITY_2], and [PRIORITY_3 — map these to what the JD actually mentions].

*(Đoạn này cho thấy bạn hiểu mobile khác web — đừng bỏ phần liệt kê landmines dù bạn thay 3 priorities)*

I test on real devices, not just simulators. Current setup: [YOUR_DEVICES — e.g., "iPhone 13 (iOS 17), Samsung Galaxy A54 (Android 13), Pixel 6 (Android 14)"]. For broader coverage, I use [CLOUD_TOOL — e.g., "BrowserStack"] when needed.

*(Chi tiết device list > câu tuyên bố "I have real device experience". Client cần biết bạn cover được device range nào)*

Past work: [RELEVANT_EXAMPLE — e.g., "Tested a food delivery app pre-launch — identified 3 critical crashes on Android 12 related to location permissions that the dev team hadn't caught in emulator testing"].

*(Crash + nguyên nhân kỹ thuật cụ thể = credibility thật)*

One thing I'd like to clarify: [SPECIFIC_QUESTION_ABOUT_THEIR_APP — e.g., "Does the app use any hardware features like camera or Bluetooth that would need specific device testing?"]

[YOUR_NAME]

---

### 🔧 Hướng dẫn customize Mẫu 2

#### Phần mở đầu — chi tiết cụ thể từ JD

Đây là phần quan trọng nhất của mobile proposal. Scan JD tìm:

- Tên app (nếu có)
- Pain point họ đang gặp: *"users reporting crashes"*, *"low store rating"*, *"preparing for launch"*
- Platform: iOS only, Android only, hay cả hai
- Giai đoạn: pre-launch, post-launch regression, ongoing QA

Ví dụ mapping:

| JD viết | Bạn mở đầu bằng |
|---|---|
| "We have 2.8 stars on Google Play due to crashes" | "Saw that you're dealing with crash-related reviews on Android — that's a fixable problem with the right testing approach." |
| "Launching on App Store next month" | "Your iOS launch timeline caught my eye — one month is workable if we start the testing cycle this week." |
| "Need someone to test our React Native app" | "React Native testing is interesting because you're dealing with both the JS layer and native bridge behaviors simultaneously." |

---

#### Mobile-specific "landmines" — giữ nguyên hoặc chọn từ danh sách

Đoạn *"Mobile testing has its own set of landmines"* nên giữ nguyên phần giới thiệu, chỉ thay 3 priorities. Dưới đây là danh sách đầy đủ để chọn:

**OS & Device:**
- OS version fragmentation (Android đặc biệt nghiêm trọng)
- Screen size & resolution handling
- Notch / Dynamic Island / punch-hole camera UI impact
- Foldable device behavior (nếu relevant)

**Behavior & Performance:**
- App behavior when interrupted (call, notification, battery low)
- Background/foreground state transitions
- Memory usage & battery drain under sustained use
- Offline mode & poor connectivity handling

**Platform-specific:**
- iOS: App Store guidelines compliance, ATS (App Transport Security)
- Android: Back button behavior, permission model differences per OS version
- Push notification delivery & deep link handling
- In-app purchase flow (nếu có)

**UX/Interaction:**
- Gesture conflicts (swipe vs scroll, pinch vs back)
- Keyboard overlap on input fields
- Dark mode / Light mode consistency
- Accessibility (nếu JD đề cập)

---

#### Device list — [YOUR_DEVICES]

Liệt kê **device thật bạn đang có**, không bịa. Format chuẩn:

```
[Model] ([OS version])
```

Ví dụ thực tế:
- iPhone 14 Pro (iOS 17.2)
- iPhone SE 2022 (iOS 16.7) — *quan trọng vì màn hình nhỏ, nhiều user vẫn dùng*
- Samsung Galaxy S23 (Android 14)
- Xiaomi Redmi Note 11 (Android 12 + MIUI) — *test custom skin behavior*

> **Nếu device list còn mỏng:** Thêm câu *"For coverage beyond my physical devices, I use BrowserStack/Firebase Test Lab"* — trung thực và vẫn professional.

---

#### Cloud testing tool — [CLOUD_TOOL]

| Tool | Phù hợp khi |
|---|---|
| BrowserStack App Automate | Client có budget, cần wide device coverage |
| Firebase Test Lab | Client dùng Firebase ecosystem |
| AWS Device Farm | Enterprise client |
| Sauce Labs | Client đã đề cập CI/CD pipeline |
| Không đề cập tool | Client nhỏ, budget thấp, real device testing đủ |

---

#### Câu hỏi cuối — mobile-specific

Câu hỏi cuối của mobile proposal nên khai thác hardware hoặc platform complexity:

| App type | Câu hỏi gợi ý |
|---|---|
| App dùng camera | "Does the camera feature need to be tested on specific hardware generations, or is any recent device sufficient?" |
| App có payments | "Is the in-app purchase flow using native StoreKit/Google Play Billing, or a third-party SDK?" |
| App có real-time features | "How should I handle testing for low-bandwidth scenarios — is there a network throttling setup you prefer?" |
| App pre-launch | "Will I have access to a staging/test environment, or will testing be on the production build?" |
| App với auth | "Are there test accounts set up, or do I need to create them?" |

---

---

## Mẫu 3 — Test App thị trường VN (Freelancer.vn, VI)

> **Bối cảnh:** Job post trên Freelancer.vn hoặc các group Facebook/Telegram tuyển tester.
> **Nền tảng:** Freelancer.vn, TopDev, group Facebook
> **Độ dài mục tiêu:** ~100 từ
> **Giọng văn:** Thân thiện, chuyên nghiệp vừa phải, tiếng Việt tự nhiên — không dịch từ tiếng Anh

---

### 📄 Nội dung proposal

---

Chào [TÊN_CLIENT hoặc "anh/chị"],

*(Tiếng Việt cần xưng hô đúng — "anh" hay "chị" dựa vào profile. Nếu không rõ, dùng "anh/chị" hoặc tên công ty)*

Em thấy dự án [MÔ_TẢ_NGẮN_APP — ví dụ: "ứng dụng đặt xe nội địa"] đang cần tester giai đoạn [GIAI_ĐOẠN — ví dụ: "trước khi lên store"]. Em đã làm qua vài dự án tương tự — cụ thể nhất là [DỰ_ÁN_TƯƠNG_TỰ — ví dụ: "test app giao đồ ăn cho startup ở HCM, tìm được 18 lỗi trong sprint đầu"].

*(Đoạn đầu = nhận ra bối cảnh của họ + proof ngay lập tức)*

Với app này, em sẽ tập trung vào [ĐIỂM_1 — ví dụ: "luồng chính từ đăng ký đến thanh toán"], [ĐIỂM_2 — ví dụ: "hành vi khi mất mạng giữa chừng"], và [ĐIỂM_3 — ví dụ: "hiển thị trên các dòng Android phổ biến ở VN như Samsung, Oppo, Xiaomi"]. Bug report em viết bằng tiếng Việt, có bước reproduce rõ ràng và ảnh/video đính kèm.

*(Điểm 3 nếu là mobile — đề cập device VN phổ biến sẽ rất ấn điểm)*

Anh/chị có thể cho em biết app đang ở giai đoạn nào và timeline dự kiến không ạ?

[TÊN_BẠN]

---

### 🔧 Hướng dẫn customize Mẫu 3

#### Xưng hô — đặc thù thị trường Việt

Đây là điểm khác biệt lớn nhất so với proposal tiếng Anh. Xưng hô sai sẽ tạo cảm giác xa cách hoặc thiếu chuyên nghiệp.

| Tình huống | Xưng hô |
|---|---|
| Client là startup trẻ, hình ảnh casual | "Mình/bạn" hoặc "anh/em" |
| Client là công ty, không rõ người contact | "Anh/chị" + tên công ty |
| Client rõ ràng là nữ, senior hơn | "Chị [Tên]" |
| Client rõ ràng là nam, cùng lứa tuổi | "Anh [Tên]" |
| Group Facebook, không rõ ai | "Mình thấy bài đăng..." (bỏ xưng hô đầu) |

> **Tránh:** "Kính gửi", "Xin chào quý khách" — nghe như email ngân hàng, không phù hợp freelance context.

---

#### Mô tả app — [MÔ_TẢ_NGẮN_APP]

Dùng từ ngữ của người dùng Việt Nam, không dịch máy:

| JD viết | Bạn viết trong proposal |
|---|---|
| "ứng dụng quản lý nhân sự" | "app HR cho doanh nghiệp vừa và nhỏ" |
| "nền tảng thương mại điện tử" | "sàn bán hàng online" |
| "ứng dụng fintech thanh toán" | "app thanh toán / ví điện tử" |
| "hệ thống quản lý bán hàng" | "phần mềm POS / quản lý cửa hàng" |

---

#### Ba điểm testing — ngữ cảnh Việt Nam

Khi test app cho thị trường VN, có những điểm đặc thù cần nhấn:

**Device landscape Việt Nam (quan trọng!):**
- Samsung (Galaxy A-series phổ biến nhất)
- Oppo (rất nhiều ở VN, thường có ColorOS)
- Xiaomi/Redmi (MIUI quirks)
- Vivo, Realme (mid-range)
- iPhone (SE đến Pro, iOS mix)

> Đề cập test trên Samsung + Oppo + Xiaomi trong proposal sẽ cho thấy bạn hiểu thị trường.

**Payment flows đặc thù VN:**
- VNPay QR
- MoMo integration
- ZaloPay
- Chuyển khoản ngân hàng (Napas)
- COD flow (nếu e-commerce)

**Network conditions thực tế:**
- 3G/4G không ổn định (vùng ngoại ô, tầng hầm)
- Chuyển đổi WiFi ↔ 4G giữa chừng
- Mạng yếu trong giờ cao điểm

**Localization:**
- Tên tiếng Việt có dấu trong form fields
- Địa chỉ Việt Nam format (số nhà, ngõ/hẻm, quận/huyện)
- Ngày tháng format (dd/mm/yyyy vs mm/dd/yyyy)
- Số điện thoại 10 số format mới

---

#### Social proof — context Việt Nam

**Nếu đã có dự án VN:**
> *"Em đã test app đặt lịch spa cho một chuỗi ở HCM — phát hiện lỗi hiển thị sai giờ do múi giờ khi user đổi sang máy Android Trung Quốc."*

**Nếu chưa có dự án thương mại:**
> *"Em có làm test report cho [tên app nổi tiếng VN] như một bài portfolio — tìm được [X] vấn đề về UX và performance. Anh/chị xem thử được ạ?"*

**Nếu có kinh nghiệm nước ngoài, nói thêm:**
> *"Em hay làm với client nước ngoài trên Upwork, nhưng test app Việt Nam thì có lợi thế hơn vì hiểu hành vi người dùng và payment ecosystem ở đây."*

---

#### Câu hỏi cuối — tông phù hợp thị trường VN

Câu hỏi trong mẫu đã tốt. Dưới đây là các biến thể:

| Tình huống | Câu hỏi |
|---|---|
| JD không rõ scope | "App hiện tại đã có test case chưa hay em cần tự build từ đầu ạ?" |
| JD đề cập deadline gấp | "Timeline như vậy thì anh/chị cần kết quả đầu tiên trong bao lâu ạ?" |
| JD đề cập nhiều platform | "Anh/chị ưu tiên test iOS hay Android trước, hay song song ạ?" |
| JD mơ hồ về yêu cầu | "App đang target nhóm người dùng nào để em focus test case cho đúng ạ?" |

---

---

## Bảng tra nhanh — Customize từng phần

| Phần | Mẫu 1 (Web) | Mẫu 2 (Mobile) | Mẫu 3 (VN) | Thời gian cần |
|---|---|---|---|---|
| Mở đầu | Tên + nhận diện sản phẩm | Tên + chi tiết cụ thể từ JD | Xưng hô + giai đoạn dự án | 2 phút |
| Body chính | 3 testing areas cụ thể | Landmines + 3 priorities + device list | 3 điểm + context VN | 3 phút |
| Social proof | Số liệu + project type | Crash/bug cụ thể + device relevance | Dự án VN tương tự | 1 phút |
| Câu hỏi | Về test plan | Về hardware/environment | Về giai đoạn & timeline | 1 phút |
| **Tổng** | | | | **~7 phút/proposal** |

---

## Những lỗi thường gặp khi viết proposal

### ❌ Lỗi 1: Mở đầu bằng bản thân

```
❌ "I am an experienced QA tester with 5 years of experience in..."
✅ "Noticed you're building a booking platform and need someone to catch issues before users do."
```

*Client đọc hàng chục proposal. Họ cần biết bạn hiểu vấn đề của họ, không phải CV của bạn.*

---

### ❌ Lỗi 2: Liệt kê skills như CV

```
❌ "I am skilled in Selenium, Jira, TestRail, Postman, Cypress, SQL, API testing..."
✅ "For a checkout flow like yours, I'd use Postman to validate the payment API responses and Jira to track any blockers."
```

*Tools cần gắn với bài toán cụ thể của họ, không phải danh sách để gây ấn tượng.*

---

### ❌ Lỗi 3: Câu hỏi cuối quá chung hoặc quá nhiều

```
❌ "Can you tell me more about the project?"
❌ [Hỏi 5 câu liền] "What is the timeline? What is the budget? What tools do you use?..."
✅ Một câu hỏi thông minh, thể hiện bạn đã suy nghĩ về project
```

---

### ❌ Lỗi 4: Proposal quá dài

Upwork data cho thấy proposal dưới 150 từ có tỷ lệ được đọc cao hơn đáng kể. Nếu proposal của bạn vượt 200 từ, cắt bớt.

*Nguyên tắc: Đủ để họ muốn trả lời, không phải đủ để thay thế cuộc phỏng vấn.*

---

### ❌ Lỗi 5: Social proof mơ hồ

```
❌ "I have tested many applications and always deliver quality results."
✅ "Tested a fintech app pre-launch — caught a rounding error in the fee calculation that would have affected every transaction over $100."
```

*Một bug cụ thể với ngữ cảnh thực tế đáng tin hơn một đoạn tự khen chung chung.*

---

### ❌ Lỗi 6 (đặc thù Mẫu 3): Viết như dịch từ tiếng Anh

```
❌ "Tôi là một tester chuyên nghiệp với nhiều năm kinh nghiệm trong lĩnh vực kiểm thử phần mềm..."
✅ "Em đã làm qua vài dự án tương tự, gần nhất là test app cho startup ở HCM trước khi họ launch."
```

*Tiếng Việt tự nhiên trong proposal tạo cảm giác bạn là người thật, không phải bot.*

---

## Ghi chú cuối

Bộ mẫu này là **điểm khởi đầu**, không phải bản copy-paste. Proposal tốt nhất là proposal mà sau khi điền vào, bạn đọc lại và thấy nó nghe như **bạn đang nói chuyện trực tiếp với client đó**, không phải đang đọc từ template.

Nếu sau khi customize mà nó vẫn còn nghe chung chung — bạn cần đọc lại JD thêm một lần nữa.