initial_commit

This commit is contained in:
MelvynFaith
2026-11-02 14:58:43 +07:00
commit b06be6e0a7
20 changed files with 547 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
# Week 11: Pengujian White-Box Marketplace UMKM Lokal
Tugas Software Testing Week 11, Kelompok D. Berisi potongan sederhana dari logika Order dan Catalog pada proyek [Marketplace UMKM Lokal](https://github.com/MelvynFaith/umkm-marketplace), beserta test PyTest dan analisis coverage.
Isi tugas:
1. Control flow graph, V(G), dan jalur independen untuk `validate_checkout`
2. Test PyTest yang menutup semua jalur
3. State machine dan tabel transisi untuk class `Order`
4. Test class: transisi valid, transisi tidak valid, dan polimorfisme
5. Laporan `--cov-branch` beserta analisisnya
Penjelasan lengkap ada di [`docs/laporan.md`](docs/laporan.md) (versi Word: `docs/laporan.docx`).
## Struktur
```text
umkm/
checkout.py validate_checkout (modul prosedural, V(G) = 7)
order.py class Order (state machine, 6 state)
catalog.py Product, FoodProduct, ClothingProduct (pewarisan dan polimorfisme)
tests/
test_checkout_paths.py satu test per jalur independen (P1-P7)
test_order_state.py seluruh matriks transisi 6 x 6 dan guard pelaku
test_product_polymorphism.py pewarisan dan polimorfisme Product
docs/
laporan.md, laporan.docx laporan
*.png diagram dan screenshot bukti
```
## Menjalankan
Membutuhkan Python 3.10 atau lebih baru (diuji pada Python 3.14).
```bash
pip install -r requirements.txt
python -m pytest
```
Dengan laporan branch coverage:
```bash
python -m pytest --cov=umkm --cov-branch --cov-report=term-missing --cov-report=html:htmlcov
```
Laporan HTML dibuat di `htmlcov/index.html`.
## Hasil
67 test lulus. Statement coverage dan branch coverage 100% (28 dari 28 branch). Analisisnya ada di bagian 5 laporan.