Tujuan Selenium adalah untuk membuat tes integrasi berbasis UI .
Tes integrasi memverifikasi bahwa semua komponen sistem Anda bekerja dengan benar ketika digunakan bersama. Tes integrasi bukan merupakan strategi pengujian yang memadai dan melengkapi strategi pengujian lainnya yang memiliki fokus berbeda, misalnya pengujian unit dan pengujian penerimaan .
Tes yang digerakkan oleh UI pada dasarnya rapuh, meskipun Selenium dan Watir adalah langkah maju dari masa awal alat rekam dan pemutaran . Ada beberapa cara untuk mengatasi masalah ini - inilah kompilasi saran dari beberapa pakar kelas dunia:
Jangan mencoba mendapatkan semua cakupan tes Anda dari jenis tes ini . Robert C. Martin berpendapat bahwa cakupan kode Anda dengan tes integrasi harus sekitar 20% . Sangat tidak praktis untuk menguji semua jalur eksekusi ketika input beberapa lapisan aplikasi pergi.
Dapatkan sebagian besar cakupan tes dari tes unit dan penerimaan . Cari tautan ke artikel Gojko Adzic di jawaban FinnNk . Adzic berulang kali berdebat tentang pengujian logika bisnis melalui tes penerimaan dan memintas UI.
Tetapi sejumlah tes berbasis UI masih perlu ditulis . Di sinilah Anda memerlukan saran praktis selain "jangan menguji logika bisnis Anda melalui UI." Saya akan merekomendasikan blog Patrick Wilson-Welsh sebagai titik awal.