ID · QA
Memotong Runtime E2E Mobile Tanpa Menambah Flakiness
Panduan praktis untuk mempercepat eksekusi E2E Android sambil menjaga stabilitas sesi dan kualitas debugging.
Published: May 11, 2026
Updated: September 25, 2026
1 min read

#Context / Problem
Waktu eksekusi E2E mobile sudah terlalu lama untuk ritme review pull request. Saat diparalelkan secara agresif, masalah baru muncul: session handoff gagal dan perangkat kadang tertinggal dalam state tidak bersih.
#Constraints
- Pool device terbatas dan dipakai bersama.
- Worker CI bersifat ephemeral.
- Log kegagalan harus tetap mudah dianalisis lintas tim.
#Investigation / Experiment
Langkah yang diuji bertahap:
- Sharding berdasarkan capability profile, bukan random split.
- Reinstall app hanya ketika hash build berubah.
- Test bootstrap rapuh dipindahkan ke jalur serial terpisah.
#Findings
- Runtime turun signifikan sambil menjaga kestabilan sesi.
- Noise flakiness berkurang setelah test bootstrap sensitif dipisahkan.
- Caching artifact memberi penghematan konsisten di CI.
#Trade-offs
- Perlu review periodik terhadap komposisi shard.
- Pipeline bertambah satu langkah serial.
#Final Takeaways
- Kecepatan dan stabilitas bisa dicapai bersamaan jika topologi test disiplin.
- Paralelisme harus mengikuti profil device, bukan hanya jumlah test.