@@ -76,3 +79,40 @@ Dengan menerapkan Red Green Refactor, berarti kita juga menerapkan konsep clean
Memudahkan maintenance. Kita dapat dengan mudah menemukan test code yang kita butuhkan karena test sudah teratur dalam kategori-kategori. Selain itu kita dapat memilih test yang ingin dijalankan. Bisa menjalankan semua test, bisa juga menjalankan test spesifik saja.
## Exercise 6
**Pembuatan Mutant**
Pada fungsi views.py berikut adalah code implementasi fitur komentar :
Setelah mengubah code tersebut beberapa kali, dapat dibuat satu mutant pada line 9 dengan mengubah menjadi :
`elif len(items) > 5:`
Dengan mengubah decision pada line tersebut, test tidak error karena pada test sebelumnya tidak menghandle kondisi dimana `len(items) = 5`. Maka dari itu butuh dibuat test baru yang dapat menghandle kondisi tersebut. Jadi pada test_views.py ditambahkan function test untuk `len(items) = 5`, setelah ditambahkan test tersebut, function tersebut menjadi error, maka mutant sudah berhasil di kill.
**Mutation Testing Tool : Django-mutpy**
Berikut adalah hasil dari mutation testing menggunakan django-mutpy. Tool ini dijalankan pada test_models dan test_views.
```
[0.13787 s] killed by test_passes_correct_list_to_template (lists.tests.test_views.ListViewTest)
[*] Mutation score [9.18592 s]: 100.0%
- all: 38
- killed: 38 (100.0%)
- survived: 0 (0.0%)
- incompetent: 0 (0.0%)
- timeout: 0 (0.0%)
Destroying test database for alias 'default'...
```
Dari hasil tersebut dapat kita lihat bahwa semua mutant sudah berhasil di kill oleh test yang ada.