it
C# MAUI กับ Load Testing Strategy — วิธีพัฒนา

.NET MAUI Cross-platform Development

.NET MAUI เป็น Framework สร้าง Cross-platform Apps ด้วย C# จาก Codebase เดียว รันบน Android, iOS, macOS และ Windows ใช้ MVVM Pattern แยก UI ออกจาก Business Logic ทดสอบได้ง่าย
เนื้อหาเกี่ยวข้อง — ทำความเข้าใจ PHP Pest Testing DevSecOps Integration
Load Testing เป็นส่วนสำคัญก่อน Release App ทดสอบว่า Backend API รองรับผู้ใช้จำนวนมากได้ วัด Response Time, Throughput หา Bottleneck แก้ไขก่อน Go-live
เนื้อหาเกี่ยวข้อง — อ่านต่อ: Rpa คืออะไร — ทุกสิ่งที่ต้องรู้ในปี 2026

CI/CD Pipeline สำหรับ MAUI + Load Testing
# === GitHub Actions — MAUI Build + Load Test ===
# .github/workflows/maui-loadtest.yml
name: MAUI Build & Load Test
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build-android:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
- name: Install MAUI Workload
run: dotnet workload install maui-android
- name: Restore
run: dotnet restore
- name: Build Android
run: |
dotnet build -c Release -f net8.0-android \
/p:AndroidKeyStore=true
- name: Run Unit Tests
run: dotnet test tests/ --no-build -c Release
load-test:
runs-on: ubuntu-latest
needs: build-android
steps:
- uses: actions/checkout@v4
- name: Start API Server
run: |
docker compose -f docker-compose.test.yml up -d
sleep 10
- name: Install k6
run: |
sudo gpg -k
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg \
--keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D68
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | \
sudo tee /etc/apt/sources.list.d/k6.list
sudo apt-get update && sudo apt-get install k6
- name: Smoke Test
run: k6 run --vus 5 --duration 30s tests/load/smoke.js
- name: Load Test
run: k6 run tests/load/load-test.js
- name: Upload Results
uses: actions/upload-artifact@v4
with:
name: load-test-results
path: load-test-results.json
- name: Stop API Server
run: docker compose -f docker-compose.test.yml down
Best Practices
- MVVM Pattern: ใช้ MVVM แยก UI ออกจาก Logic ทดสอบ ViewModel ด้วย Unit Tests
- CommunityToolkit.Mvvm: ใช้ Source Generators ลด Boilerplate Code
- HttpClient Singleton: ใช้ HttpClient เป็น Singleton ผ่าน DI ไม่สร้างใหม่ทุกครั้ง
- Load Test Scenarios: ทำ Smoke, Load, Stress, Spike Tests ครบทุกแบบ
- Thresholds: ตั้ง Thresholds ให้ P95 < 500ms, Error Rate < 5%
- CI/CD Integration: รัน Load Test ใน CI/CD Pipeline ทุก Release
.NET MAUI คืออะไร
Framework จาก Microsoft สร้าง Cross-platform Apps ด้วย C# XAML รัน Android iOS macOS Windows จาก Codebase เดียว ต่อจาก Xamarin.Forms Performance ดีขึ้น Hot Reload .NET 8+
แนะนำเพิ่มเติม — ติดตาม XM Signal
เนื้อหาเกี่ยวข้อง — ดูเพิ่มเติมเรื่อง Kubernetes CRD Progressive Delivery





