PyUseCase adalah GUI pengujian perangkat lunak untuk PyGTK.
pengujian GUI dipertahankan dengan penggunaan Kasus Recorder
Merekam maksud daripada mekanik
Cara yang paling alami untuk membuat tes melalui antarmuka pengguna untuk hanya melakukan tindakan yang Anda ingin melakukan dan memiliki alat yang dapat merekam mereka dan kemudian mereproduksi mereka nanti. Ini adalah cara yang sederhana dan cepat untuk membuat tes GUI dan terdapat banyak alat yang melakukan hal ini.
Kebanyakan alat pasangan tes erat dengan GUI
Masalah dimulai ketika Anda memiliki beberapa tes dan perubahan GUI Anda. Rekaman dapat menjadi cara yang bagus untuk membuat tes tapi itu cara yang mengerikan untuk mempertahankan sejumlah besar dari mereka. Hal ini rawan kesalahan, frustrasi dan sangat memakan waktu setelah Anda memiliki beberapa tes. Generasi pertama dari alat mencatat posisi pixel dan pecah segera setelah Anda mengubah resolusi layar Anda. Hari ini alat kesepakatan dalam hal mekanika GUI: menemukan meja dengan nama tertentu dan klik pada kolom ketiga dari baris keempat. Mereka dapat bertahan hidup perubahan layar dan minor re-pengaturan GUI tapi tidak banyak lagi. Script mencatat yang padat dan tidak menyampaikan tujuan tes, dan merupakan buku tertutup bagi semua orang non-teknis (dan kadang-kadang untuk semua orang kecuali penulis alat).
Masalahnya adalah pada dasarnya salah satu dari kopling. Tes dan GUI yang erat satu sama lain dan tidak bisa nyaman bervariasi secara independen satu sama lain. Hal ini dilakukan baik oleh Robert C. Martin dalam blognya di sini dan kesimpulannya adalah bahwa pengujian GUI secara inheren rapuh dan Anda harus melakukan sesedikit itu karena Anda bisa lolos dengan.
Hal ini tampaknya agak mengalah sekalipun. Ada nilai besar untuk dapat menunjukkan tes Anda apa lakukan untuk pengguna dari sistem. Jika tes memotong user interface maka proses yang menuntut cukup banyak keterampilan teknis dan banyak kepercayaan dari bagian pengguna Anda. Lagi pula, pengembang perangkat lunak memecahkan masalah kopling sepanjang waktu. Jawabannya adalah, seperti biasa, untuk memperkenalkan tingkat lain tipuan.
Melanggar kopling dengan peta UI
Orang bisnis dan pengguna umumnya bekerja di kasus penggunaan. Ini adalah deskripsi tingkat tinggi dari urutan tindakan dalam bahasa yang mereka mengerti: yaitu bahwa domain. Oleh karena itu gagasan "Use Case Recorder" adalah alat yang dapat merekam dan memutar ulang urutan tersebut dan dengan demikian menangkap maksud dari pengguna. Ini kemudian akan memungkinkan peningkatan pemahaman, kurang ketergantungan pada bentuk yang tepat dari GUI dan mudah penyesuaian tes yang ada tanpa harus mengklik semua tombol lagi.
Mekanisme dasar adalah bahwa kita menjaga pemetaan antara tindakan yang saat ini dapat dilakukan dengan GUI dan pernyataan dalam bahasa domain ini. Perubahan GUI maka berarti bahwa pemetaan tunggal ini perlu diperbarui, tetapi tes dapat tetap tak tersentuh, terus untuk menggambarkan apa yang perlu dilakukan pada tingkat konseptual. Pemetaan ini mengambil bentuk file eksternal di PyUseCase 3.0 dan yang akan datang JUseCase 3.0, sedangkan dalam versi itu mengambil bentuk instrumentasi dalam kode aplikasi.
Memeriksa perilaku melalui log dan TextTest
Jadi kami perekam penggunaan-kasus dapat merekam dan memutar ulang usecases bagi kita. Tapi bagaimana kita bisa memeriksa bahwa apa yang kita lihat di layar adalah benar? Kebanyakan alat GUI melakukan ini dengan memungkinkan script tes mengandung "pernyataan", yang mencari beberapa widget dan periksa bahwa beberapa properti itu sama dengan nilai hardcoded. Hal ini menciptakan lebih banyak lagi ketergantungan pada layout GUI saat ini dan tidak dapat "direkam" dalam cara alami, namun harus diprogram dalam setelah fakta. Tidak ada "usecase" akan secara alami mengandung informasi ini: jika hal itu akan berubah menjadi script tes.
Diskusi ini tidak di situs TextTest untuk apa-apa. Jika kita hanya bisa mendapatkan aplikasi kita untuk menghasilkan log dari apa yang GUI terlihat seperti kita dapat memeriksa apa yang dilakukannya dengan memantau isi dari log menggunakan TextTest. PyUseCase 3.0 melakukan ini untuk Anda: itu menghasilkan jenis log ASCII-seni penampilan GUI saat ini dan memonitor perubahan untuk itu. Aplikasi ini dapat melengkapi dengan penebangan sendiri karena keinginan. Dengan perekam penggunaan-kasus lain aplikasi perlu membangun log sendiri untuk tujuan ini saat.
Sinkronisasi tes kode instrumentasi
Hampir semua upaya pengujian GUI terganggu oleh masalah dengan memastikan script menunggu cukup lama sebelum melanjutkan ketika sesuatu terjadi di latar belakang. Solusi berkisar dari cara misterius untuk menunggu beberapa widget untuk memiliki penampilan tertentu (namun lebih ketergantungan pada GUI-mekanik) atas laporan "tidur" bebas tersebar di seluruh. Yang gagal ketika sistem dimuat dan menyebabkan tes berjalan jauh lebih lambat daripada seharusnya mereka. Siapapun tanpa pengetahuan yang mendalam tentang kode sakit-dilengkapi untuk memecahkan masalah tersebut, namun demikian adalah bagian penting dari tes tertulis.
Perekam Gunakan-kasus memperkenalkan konsep "Aplikasi Event". Ini pada dasarnya adalah beberapa instrumentasi dalam kode yang menunjukkan ke perekam penggunaan-kasus bahwa sesuatu telah terjadi yang perlu menunggu, sehingga memungkinkan perekam untuk merekam dan memutar ulang menunggu serta klik. Ini dijelaskan secara lebih rinci di sini.
macro Recording serta tes
Tingkat tinggi, dengan mudah dimanipulasi "usecases" berguna untuk hal-hal lain selain pengujian. Mereka juga sangat berguna untuk pengguna dari sistem yang dapat membuat macro sendiri untuk urutan tindakan mereka sering tampil.
Ini dikenal sebagai "jalan pintas GUI" di sini. Sebuah perekam Gunakan-kasus biasanya akan memungkinkan aplikasi untuk meminta "toolbar" dari itu yang berisi kontrol untuk merekam dan memutar mereka yang dapat dimasukkan ke dalam aplikasi GUI yang diinginkan. Selain memungkinkan pengguna untuk membuat macro, mereka juga dapat digunakan untuk membuat abstraksi tingkat yang lebih tinggi untuk "bahasa test" yang dijelaskan di atas, membantu penguji dalam melakukan tindakan berulang untuk mencapai layar tertentu untuk pengujian. Ini dijelaskan secara lebih rinci di sini.
Informasi lebih lanjut dapat ditemukan di halaman rumah proyek
Apa yang baru dalam rilis ini:.
- dukungan yang sangat dasar untuk wxPython adalah tambahnya.
- Ada juga sejumlah perangkat tambahan dan perbaikan bug untuk PyGTK. Khususnya, gtk.Dialog.run sekarang didukung tanpa memerlukan perubahan kode sumber.
- Python 2.6 dan PyGTK 2.12 atau yang lebih baru sekarang diperlukan.
- Warisan antarmuka berbasis instrumentasi-telah dihapus.
Persyaratan :
- Python
- PyGTK
- TextTest
Komentar tidak ditemukan