initial_commit
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user