Azure DevOps dan App Center alih-alih kebun pengujian: sederhanakan dan percepat pengembangan seluler dengan layanan cloud

Tes berkualitas tinggi memastikan kecepatan dan operasi aplikasi seluler yang stabil, tetapi berbagai perangkat, sistem operasi, dan versinya mengembang pertanian uji, meningkatkan biaya pengembangan dan membutuhkan banyak waktu dan upaya. Dalam artikel ini, kami akan menunjukkan kepada Anda cara mengurangi biaya pengujian menggunakan layanan cloud Visual Studio App Center, yang menggabungkan lebih dari empat ribu perangkat dengan sistem operasi yang berbeda, dan menyederhanakan distribusi menggunakan platform Azure DevOps.



Cara menguji aplikasi seluler dan bagaimana pengembang menyerupai petani


Salah satu masalah utama pengembangan ponsel adalah pasar yang ramai. Menurut penelitian oleh Adweek, Sensor Tower, dan Think dengan Google, 80% aplikasi tidak menjangkau pengguna karena kualitasnya yang buruk.



Keberhasilan sebagian besar aplikasi juara cepat berlalu. Selama sebulan, 25 teratas diperbarui dengan 74%. Ternyata tiga perempat pemimpin kehilangan posisi mereka dalam 30 hari! Salah satu alasan utama kekecewaan adalah masalah kecepatan: 68% pengguna meninggalkan aplikasi dan memilih yang lain jika tidak dimuat dalam waktu enam detik.

Tetapi aplikasi seharusnya tidak hanya memuat dengan cepat, tetapi juga bekerja dengan benar. Jadi meluncurkan pembaruan tanpa pengujian komprehensif pada semua jenis perangkat dan sistem operasi yang mungkin adalah risiko yang tidak dapat dibenarkan. Namun dalam praktiknya, ini tidak sesederhana itu: jumlah smartphone, tablet, sistem operasi dan versi mereka yang gila memaksa kita untuk membuat matriks pengujian yang besar.



Jika kami mempertimbangkan OS seluler, maka dengan iOS hal-hal lebih atau kurang tidak buruk. Misalnya, tahun lalu sebagian besar pengguna duduk diam di iOS 12. Baik dari sudut pandang pengujian, semua perangkat dirilis oleh satu produsen.



Android lebih rumit: ada banyak jenis sistem operasi dan versinya, di antaranya sulit untuk mengidentifikasi pemimpin utama. Dan setiap produsen (Samsung, Xiaomi, Sony, dll.) Memiliki peluncur, peretasan, perubahan dalam OS dan layanannya yang tidak standar. Karena itu, kebun pengujian seluler dapat berisi puluhan hingga ratusan perangkat. Misalnya, dalam foto - sebuah peternakan pengujian seluler dari salah satu pengembang game.



Kebun membutuhkan dukungan berkelanjutan. Perangkat harus selalu diperbarui, secara berkala kembali ke pengaturan default, dengan mempertimbangkan penyusutan akun, dan sebagainya. Perangkat di peternakan disusutkan dan menjadi usang, Anda harus terus memperbaruinya agar sesuai dengan perangkat yang digunakan audiens aplikasi Anda. Dan yang paling penting, sulit untuk menyediakan akses ke peternakan semacam itu kepada tim pengembang dan penguji yang tersebar di berbagai kota. 



Setelah melakukan tes "rumah", Anda perlu mengirim aplikasi untuk menguji pada perangkat nyata. Cara terbaik adalah memberikan akses awal ke versi beta kepada karyawan Anda atau orang-orang eksternal, misalnya, penggemar aplikasi dan penggemar produk baru. Pengguna mendapatkan versi paling awal, pengembang mendapatkan kesempatan untuk menguji semua yang mereka inginkan. Pada tahap ini, kita memerlukan analitik yang kompleks: fungsi apa yang digunakan pengguna, layar mana yang paling sering didapat, berapa banyak waktu yang dihabiskannya di sana.

App Center –– alternatif untuk peternakan




Microsoft sendiri menghadapi masalah pengujian aplikasi seluler: pada titik tertentu, jumlah aplikasi yang sedang dikembangkan di MS melebihi seratus. Untuk menyederhanakan tugas ini, perusahaan berbasis cloud dari Xamarin menciptakan layanan cloud App Center: berisi ribuan perangkat nyata tempat pengembang dapat menjalankan tes tanpa khawatir tentang pembelian dan pemeliharaan pertanian mereka sendiri.

App Center dapat dihubungkan ke GitHub, Bitbucket, GitLab, atau Azure DevOps. Visual Studio App Center mencakup semua kerangka kerja pengembangan populer, memungkinkan Anda untuk membuat dan menguji aplikasi untuk semua platform umum.

Seolah-olah perangkat itu ada dalam infrastruktur Anda, sehingga Anda dapat mengatur proses integrasi berkelanjutan (Continuous Integration): pengembang memasukkan kode ke dalam proyek, segera aplikasi secara otomatis membangun, menyebar ke perangkat uji, tes diluncurkan. 

Manfaat Pusat Aplikasi




Lebih dari empat ribu perangkat di cloud. Ini adalah perangkat nyata. Setiap model disajikan dalam beberapa salinan. Selama pengujian, Anda dapat mengambil tangkapan layar, melihat aplikasi melalui mata pengguna. Ada informasi terperinci tentang setiap perangkat: siapa yang memproduksinya, sumber daya apa yang dimilikinya, berapa beban CPU, kecepatan eksekusi aplikasi.



Kehadiran SDK - kit pengembangan perangkat lunak , yang tertanam dalam aplikasi dan mengumpulkan data: seberapa berhasil instalasi dan peluncuran, berapa banyak kegagalan, crash. Dari perangkat tempat jatuh sesuatu, Anda dapat mengumpulkan kesedihan, menonton apa yang terjadi selama tes aplikasi. Ini sangat memudahkan pemecahan masalah aplikasi. 



Laporan pengujian terperinci.Jika tes tidak berfungsi dengan beberapa jenis kesalahan, maka tangkapan layar diambil dari layar perangkat tempat tes dilakukan, pada saat tes tersandung tentang sesuatu. Dan kami melihat apakah aplikasi berfungsi atau tidak dan di mana ia menemukan masalah sebagai hasil dari uji coba.



Pengumpulan log operasi perangkat , dump memori, jejak stack, laporan pengujian untuk mendiagnosis dan memperbaiki masalah. Anda dapat masuk ke perangkat, memompa log dan mempelajari berapa beban pada prosesor, berapa banyak memori yang ditempati. Hal-hal seperti itu akan membantu Anda dengan cepat memahami apa masalahnya, mengapa aplikasi macet atau tes gagal.



Analisis Penggunaan Aplikasi: seberapa cepat ia merespons, berapa banyak waktu yang diperlukan untuk beralih di antara layar, jalur mana yang dilalui pengguna dalam aplikasi dan sampai ke layar. Anda dapat mengetahui pada platform dan versi OS mana audiens Anda menggunakan aplikasi ini. Ini membantu untuk melihat audiens dan perangkat, untuk memahami fitur apa yang dapat ditarik dengan mudah oleh perangkat ini. Dan secara umum, dapatkah aplikasi bekerja dengan benar pada perangkat pengguna. Analitik semacam itu memungkinkan Anda memprioritaskan pengujian untuk berbagai platform dan mengurangi matriks pengujian.



Proses distribusi otomatis tunggal. Jika aplikasi ini ditulis untuk beberapa pasar, misalnya, untuk iOS dan Android, maka Anda harus melakukan banyak pekerjaan manual dalam proses penerbitan aplikasi. App Center memiliki kemampuan untuk mengotomatisasi distribusi, dan segera setelah aplikasi telah lulus semua tes, build yang dihasilkan dikirim ke store baik secara otomatis atau setelah disetujui oleh pengembang.



Pembaruan otomatis dikirim ke penguji beta dan grup pengguna internal setelah setiap komit. Tidak ada yang perlu dikirim secara manual, selain itu, proses ini memungkinkan Anda untuk menerima umpan balik cepat dari penguji.

Cara memulai dengan App Center


Daftarkan diri Anda dalam layanan ini dan dapatkan masa uji coba gratis. Mari kita lihat tampilannya di dunia nyata.



Antarmuka web App Center sederhana.



Proses membuat aplikasi baru juga tidak kalah sederhana: kami menentukan nama, platform, dan sistem operasi.



Kami menunjukkan di mana repositori terletak, setelah mana sinkronisasi otomatis dimulai.



Saat mengembangkan untuk iOS, MacBook biasanya diperlukan untuk membangun aplikasi. Tetapi Appcenter memungkinkan Anda untuk tidak memilikinya, ia menyebarkan mesin virtual khusus pada OSX dengan semua alat yang diperlukan. Anda dapat menambahkan perpustakaan jika Anda membutuhkan sesuatu yang tidak standar, selain sistem yang bersih.



Jendela dengan terminal terbuka. Dapat dilihat apa yang terjadi di dalam mesin virtual. Paket ditambahkan, diinstal menggunakan NuGet. Segera setelah mesin virtual siap, proses kompilasi dan perakitan dimulai. Omong-omong, jika ada masalah dengan build, maka log dapat dengan mudah diunduh dari antarmuka ini.

Bagaimana kompilasi dilakukan? Microsoft bernegosiasi dengan Apple dan memperoleh lisensi untuk instance MacOS virtual yang berjalan di dalam mesin virtual untuk membuat build. Jadi dari sudut pandang lisensi, semuanya bersih, Microsoft telah mengurus semuanya!



Build sudah siap, saatnya untuk menguji aplikasi. Buka set Perangkat dan pilih perangkat.



Untuk setiap perangkat, Anda dapat melihat fitur model, spesifikasi, versi sistem operasi, jumlah perangkat yang tersedia secara bersamaan di cloud, dan parameter lainnya.



Setelah set perangkat pengujian Anda dibuat, pengujian akan dijalankan secara bergantian pada masing-masingnya. Secara default, dalam versi dasar, pengujian dilakukan dalam satu utas. Anda dapat memvariasikan matriks pengujian dengan menjalankan beberapa pengujian pada satu set besar perangkat, beberapa pada yang kecil.

Perkiraan waktu untuk menyelesaikan tes adalah satu menit per layar aplikasi. Jika Anda memiliki 30-40 layar, maka pengujian akan memakan waktu sekitar 30-40 menit untuk setiap perangkat. Untuk mempercepat, Anda dapat menguji di beberapa utas secara paralel di beberapa perangkat. Anda harus membayar ekstra untuk opsi ini.



Di sini Anda dapat mengonfigurasi distribusi otomatis setelah lulus tes: rilis akan secara otomatis diletakkan di toko aplikasi.



Jika Anda perlu menguji aplikasi pada sekelompok pengguna, maka sebelum dirilis ke pasar, buat grup yang sesuai dengan karyawan atau pengguna yang loyal terhadap aplikasi. Segera setelah kami melakukan distribusi, mereka semua akan menerima email dengan tautan unik untuk mengunduh versi baru. Setelah pengujian seperti itu, Anda dapat mengumpulkan telemetri dari "pengguna uji" dan melihat cara kerja aplikasi pada perangkat keras mereka.



Di sinilah Anda terhubung ke pasar.



Untuk mendiagnosis aplikasi, Anda harus menghubungkan SDK. Dan semua tempat kode di mana sesuatu mungkin jatuh, mengelilingi coba dan tangkap. Ketika aplikasi macet di perangkat pengguna, Anda dapat menerima dump kehancuran dan melakukan diagnosa.



Analytics menunjukkan bagaimana pengguna melakukan aplikasi: letakkan SDK yang sama dan lihat acara mana yang muncul di dalam aplikasi, di mana urutan pengunjung berpindah antar layar.



Opsi untuk mengumpulkan data, metrik, semua jenis informasi overhead. Seberapa cepat aplikasi terbuka, cara kerjanya. Semua ini dilakukan berdasarkan Azure Cosmos DB, di mana Anda dapat menonton analitik yang cukup canggih.



SDK memungkinkan pengguna untuk mengirim pemberitahuan push untuk menarik perhatian atau menginformasikan tentang versi baru aplikasi. Tidak hanya nyaman, tetapi juga bermanfaat: pesan seperti itu jauh lebih murah daripada SMS.



Di dalam aplikasi, pengguna dapat dibagi menurut berbagai kriteria: jenis perangkat, geografi, dll., Dan melakukan kegiatan pemasaran berdasarkan kelompok yang dihasilkan.

Komponen Core Azure DevOps


Fitur-fitur App Center - perangkat di cloud, build, tes, dan distribusi perangkat lunak - hanyalah bagian dari proses pengembangan yang melengkapi Azure DevOps. Platform ini di mana Anda dapat membuat dasbor dan papan tugas, menyimpan pengetahuan tentang proyek di wiki, menggunakan repositori untuk file dan artefak. Dan jika Anda harus bekerja dengan konveyor kompleks pembuatan perangkat lunak, maka di sini Anda dapat mengonfigurasi saluran pipa, tentukan di mana akan dibangun.



  • Papan - seperangkat alat untuk pekerjaan perencanaan, diskusi, pemantauan, dll. Papan kanban, dasbor, papan Scrum - semua ini mudah disesuaikan untuk spesifikasi proyek dan fitur tim.
  • Pipelines β€” . . Node.js, Python, Java, PHP, Ruby, C/C++, .NET, Android iOS, Kubernetes.
  • Repos β€” Git. Marketplace - REST API. .
  • Artifacts β€” - Maven, npm, NuGet Python . CI/CD.

App Center Azure DevOps


Dengan mendaftar di Appcenter.ms, Anda dapat menggunakan semua fitur App Center selama dua bulan secara gratis. Setelah masa percobaan, satu build akan dikenakan biaya $ 40 per bulan, tetapi Anda dapat menjalankannya dalam jumlah tak terbatas. Ini jelas lebih menguntungkan daripada memiliki kebun pengujian seluler Anda sendiri.

Azure DevOps adalah layanan yang sepenuhnya gratis jika Anda memiliki tim maksimal lima pengembang atau Anda sedang melakukan proyek OpenSource. Repositori, repositori kode, saluran pipa, papan - semua ini disediakan secara gratis. 

Jika Anda ingin tahu lebih banyak tentang ini atau mulai menggunakan platform sekarang, maka Anda akan tertarik dengan Dev Bootcamp - maraton online kami untuk pengembang. Selama acara akan diadakan25-29 , , , Open Source-, OpenSource . Microsoft, . , !

All Articles