Tren Pengujian pada tahun 2020


Penulis artikel: Dmitry Shadrin



pengantar


Saya ingin membagikan alat pengujian terbaik saya yang setiap minggu membantu saya untuk bekerja secara efektif dan meningkatkan kinerja saya.

Saya melakukan pengujian outsourcing dan harus bekerja dengan berbagai jenis produk: aplikasi dan game seluler, web, proyek cryptocurrency serius untuk Desktop, dll. Pada artikel ini, saya ingin memilih alat yang paling nyaman dan bermakna yang membantu saya mengoptimalkan pekerjaan saya saat menguji aplikasi seluler.

Aplikasi seluler


Hal terpenting yang perlu ditekankan dalam pengujian aplikasi seluler adalah pengujian fungsional . Ketika Anda telah memutuskan untuk siapa produk Anda dibuat, untuk siapa konsumen akhir, barulah Anda dapat melakukan tes end-to-end yang kompeten untuk aplikasi Anda.

Kami selalu memulai pengujian dengan mematuhi persyaratan dan desain aplikasi. QA yang baik harus mengetahui persyaratan untuk produk yang diuji, dan yang unggul harus bersahabat dengan desain. Dan ini berarti tidak hanya bisa melihat ke dalam Figma, Invision atau Zeplin, tetapi juga untuk memahami bagaimana UI / UX dari aplikasinya bekerja.
Untuk mengkonsolidasikan semua pergerakan pengguna secara lebih akurat di seluruh layar aplikasi, peta pikiran biasanya dikompilasi. Yang paling nyaman bagi saya, saya dapat memilih xMind, Mindomo dan MindMeister.

Dengan munculnya dan pemutakhiran peta pikiran, menjadi lebih mudah untuk menguji aplikasi, dan yang paling nyaman adalah memperbarui dan mengisi kembali dokumentasi uji (misalnya, daftar periksa).

Daftar periksa yang baik didasarkan pada persyaratan proyek, dokumentasi untuk fitur dan tugas yang diberikan kepada tim dalam implementasi saat ini. Peta pikiran memungkinkan Anda untuk tidak melupakan dan mempertimbangkan semua nuansa, dengan demikian menjadikan landasan yang sangat baik untuk pengujian ujung-ke-ujung. Layanan yang akan membantu Anda menemukan daftar periksa yang sudah jadi dan memperbarui daftar Anda sendiri: https://checkvist.com/checklists/476089


Alat yang akan diperlukan untuk memverifikasi kasus-kasus di atas:

sniffer Charles atau Fiddler, sebagai alat analisis lalu lintas jaringan yang paling populer sejauh ini. Mereka memungkinkan Anda untuk memeriksa kasus-kasus untuk kerusakan jaringan dan Internet yang lemah, melihat permintaan keluar dan menerima jawaban. Mereka juga memungkinkan Anda untuk mensimulasikan beberapa situasi yang sulit untuk direproduksi pada kasus nyata.

Data dari sniffer akan berguna selama pengujian lebih lanjut dari API. Tetapi untuk bekerja dengan API, saya menyarankan Anda untuk menggunakan alat khusus: Swagger UI, Postman. Kedua alat menyelesaikan dua masalah: dokumentasi permintaan dan verifikasi interaktif mereka.

Perlu dipikirkan otomatisasi proses pengujian. Salah satu solusi paling umum untuk mengotomatiskan pengujian UI untuk aplikasi seluler adalahAppium . Ambang entri yang relatif mudah dan banyak dokumentasi, serta sejumlah besar spesialis QA yang akan selalu membantu menjawab pertanyaan.

Appium adalah alat lintas platform gratis, sumber terbuka, yang membantu mengotomatiskan aplikasi untuk Android dan iOS. Ini adalah salah satu alat yang paling banyak digunakan untuk membuat tes otomatis untuk ponsel cerdas dan tablet.

Keuntungan Appium yang tidak diragukan adalah kemudahan penggunaan, serta dukungan untuk banyak bahasa pemrograman: Java, Ruby, Python, C #, PHP.

Sebelum Anda mulai bekerja dengan Appium, Anda harus mengonfigurasi lingkungan dari komponen berikut:



Setelah perangkat lunak diinstal, Anda dapat mengurus aplikasi. Anda memerlukan .apk-file .ipa untuk iOS untuk aplikasi Android agar aplikasi ini diinstal pada perangkat yang dipilih saat menjalankan tes. Jika aplikasi tidak diinstal pada perangkat, maka kode tes akan menginstalnya, dan kemudian jalankan tes itu sendiri.

Dalam proses otomatisasi pengujian, cepat atau lambat muncul pertanyaan: pengujian pada perangkat nyata atau menggunakan emulator. Seperti yang ditunjukkan oleh praktik dan statistik kejam, emulator bukanlah obat mujarab. Situasi sangat umum ketika semuanya bekerja dengan baik pada emulator dan semua tes dilewati. Tetapi pada perangkat nyata, aplikasi diblokir oleh sistem keamanan, pengoperasian aplikasi lain atau firmware khusus (halo Android!).
Rekomendasi saya adalah menggabungkan dan menggunakan farm perangkat. Layanan seperti BrowserStack, AWS Device Farm, Xamarin Test Cloud. Anda terhubung ke perangkat nyata, Anda dapat mengintegrasikan autotest Anda ke layanan ini dan melihat hasilnya. Tetapi selalu bermanfaat untuk memiliki perangkat target di parkiran perangkat, serta perangkat dari bilah atas dan bawah (batas minimum yang diizinkan dan unggulan).

Alternatif yang baik untuk Appium adalah codecept.io
Jika Anda lebih suka JS sebagai bahasa untuk mengembangkan autotest, selamat datang di CodeceptJS. Dokumentasi terperinci, pengujian tidak memakan banyak ruang layar (Anda akan mengerti maksud saya) dan dukungan aktif dari semua sistem operasi seluler modern akan membuat Anda berpikir mendukung alat ini.

Setelah proyek Anda menumbuhkan sejumlah besar autotes, alangkah baiknya untuk mengotomatiskan peluncuran mereka setiap kali Anda membangun bangunan baru. Kustomisasi dan konfigurasi ini akan membantu Anda dalam sistem CI \ CD modern. Secara pribadi, saya lebih suka Jenkins atau Teamcity, tapi ini dia soal selera.

Alat lain untuk mengurangi dan mengoptimalkan pengujian regresi adalah matriks dependensi (ini juga merupakan matriks jejak). Singkatnya - ini adalah tabel di mana dependensi elemen-elemen sistem dari satu sama lain diletakkan. Untuk mengkompilasi matriks seperti itu, Anda perlu memahami kode aplikasi, dan itu juga akan membantu untuk berkonsultasi dengan arsitek proyek. Tetapi pada akhirnya, alat seperti itu akan secara signifikan (dalam ingatan saya - hingga 40%) mengurangi waktu pengujian regresi. Anda dapat membaca lebih lanjut tentang matriks.di sini .

Petunjuk


Berikut adalah seperangkat petunjuk berguna saya untuk menemukan jumlah kesalahan maksimum, mengingat spesifik aplikasi seluler.

  • Selalu periksa casing untuk melipat / membalikkan, bangun dari mode tidur, dan menyalakan / mematikannya. Untuk Android, ada pengaturan - Jangan menyimpan aktivitas ( DNKA ). Saat menguji dengan pengaturan ini, pastikan untuk menunjukkan singkatan ini dalam bug sehingga lebih mudah bagi pengembang untuk mereproduksi ini.
  • Notifikasi / notifikasi - ada yang lokal dan server (mis. Terkait dengan koneksi jaringan). Itu selalu layak untuk diingat mereka dan memeriksa operasi yang tepat. Mereka harus selalu mengarah ke layar target. Atau Anda harus meninggalkannya sampai pengembang menemukan cara navigasi yang benar.
  • Charles . .
  • , , . . , .
  • . iOS: ipa- . Android , , . .
  • , QA . .
  • . , . , . . . “ ” .
  • . , . 20% . , . , , “ QA”.
  • . .


Dalam catatan ini, saya ingin membahas alat-alat dasar dan petunjuk yang saya gunakan dalam pekerjaan sehari-hari. Anda dapat mempelajari lebih lanjut tentang semua alat modern dalam kursus kami tentang pengujian seluler pada platform pelatihan OTUS. Saya juga mengundang Anda untuk pelajaran gratis, dalam kerangka yang akan kami bahas secara lebih rinci praktik pengujian modern untuk aplikasi Android / iOS seluler, berbicara tentang set penguji yang diperlukan pada tahun 2020 dan mempertimbangkan topik mengotomatiskan pekerjaan dan pengujian kami.

All Articles