Uji Seperti Google: Amalan Terbaik dari Gergasi Industri (03.29.24)

Kami dapat belajar banyak dari gergasi industri dengan mengamati kaedah dan pendekatan mereka dalam aliran kerja.

Bagaimana mereka berjaya mengekalkan proses pengujian perisian dalam jutaan baris kod?

Bagaimana mereka mengatur aliran kerja dengan ribuan jurutera QA?

Bagaimana mereka menangani pengembangan projek?

Pengalaman syarikat seperti Google atau Spotify dapat membantu meningkatkan proses pengujian di syarikat kecil dan pasukan.

Mari kita lihat lebih dekat bagaimana raksasa menguji.

Google: pentingnya liputan kod

Namun, masih banyak jurutera berpendapat mengenai pentingnya ukuran kecekapan pengujian perisian sebagai liputan kod. Pakar dari Google menegaskan bahawa data liputan kod boleh menjadi maklumat berharga untuk menilai risiko dan kemacetan dalam aktiviti pengujian. Carlos Arguelles, Marko Ivanković, dan Adam Bender berkongsi amalan terbaik untuk liputan kod:

  • Liputan kod dapat membantu mengurangkan bug dan kegagalan. Pengalaman jurutera QA dari Google menunjukkan bahawa peningkatan liputan kod membawa kepada perubahan pendekatan dan sikap terhadap pengujian. Pasukan dengan liputan kod sebagai tujuan utama cenderung untuk membuat ujian produk mereka dengan lebih baik. Mereka menulis kod yang lebih cekap untuk ujian untuk mencapai tujuan pengujian dengan lebih mudah dan tidak memakan masa.
  • Gunakan ujian mutasi untuk memastikan liputan ujian yang tinggi. Liputan kod yang lengkap boleh membazir dan tidak menjamin liputan ujian berkualiti tinggi. Peratusan liputan kod yang tinggi tidak bermaksud semua fungsi diuji dengan betul. Ini bermaksud bahawa kod tersebut diuji secara keseluruhan. Untuk memastikan liputan ujian berkualiti tinggi, pakar Google mengesyorkan menggunakan ujian mutasi. Kaedah ini termasuk melaksanakan perubahan kod kecil dan memeriksa bagaimana set ujian mengenalinya.
  • Peratusan liputan kod bergantung pada banyak faktor. Kita tidak seharusnya menargetkan liputan kod tinggi, tetapi liputan rendah menyebabkan sejumlah besar kegagalan juga. Dan persoalannya, apakah liputan kod khusus untuk sistem tertentu? Untuk menjawab soalan ini, kita harus mempertimbangkan perkara-perkara seperti kekritisan, kerumitan, dan kekerapan menukar kod. Liputan kod adalah keputusan perniagaan, dan pemilik produk harus menentukannya.
  • Menganalisis apa yang harus dilindungi. Kami tidak dapat mendapat liputan kod 100%, jadi jurutera QA harus memperhatikan bahawa bahagian kod yang paling berharga dilindungi. Pasukan pemaju harus membincangkan dan tidak memikirkan berapa banyak baris kod yang dilindungi, tetapi apa sebenarnya yang diliputi.
Spotify: strategi yang boleh dipercayai

Spotify adalah syarikat yang berkembang pesat. Ia ditubuhkan pada tahun 2008 dengan 150 pekerja. Pada tahun 2019 jumlah pekerja meningkat menjadi 4 405 orang. Hari ini Spotify melayani kira-kira 300 juta pengguna di seluruh dunia, menjadikannya perkhidmatan penstriman yang paling popular di dunia.

Kami dapat mengetahui pelajaran tentang bagaimana Spotify meningkatkan pengujian dan proses pembangunan.

  • Tetapkan matlamat produk untuk pasukan QA. Spotify mempunyai pasukan pelbagai fungsi. Setiap pasukan mempunyai matlamat dan satu set kemahiran tertentu untuk mencapai tujuan tersebut. Struktur pasukan bergantung pada matlamat. Oleh itu, beberapa pasukan hanya terdiri daripada pembangun dan ada yang mempunyai pembangun dan penguji. Oleh itu, penguji bekerjasama rapat dengan pasukan pembangunan dan memberi tumpuan kepada tujuan utama produk. Pendekatan seperti itu memungkinkan Spotify menskalakan proses pengembangan dengan efisien.
  • Pengujian automasi adalah alat, tetapi bukan ubat mujarab. Pengurus Ujian dan Pembangunan di Spotify Kristian Karl mendakwa bahawa penguji perisian tidak dapat diganti dengan automasi. Ujian memerlukan pengalaman dan pengetahuan manusia. Ujian automasi adalah alat yang kuat untuk mempercepat proses, tetapi manusia membuat keputusan dan menganalisis laporan automatik. Spotify menggunakan automasi sebagai salah satu alat skala. Ini membolehkan penguji meninggalkan rutin untuk algoritma dan fokus pada tujuan produk.
SpaceX: pengujian berterusan adalah suatu keharusan

SpaceX adalah syarikat inovatif yang terkenal dengan pengangkutan ruang komersial, sistem pelancaran yang dapat digunakan kembali, dan kecekapan tinggi.

Nicholas Chaillan, ketua pegawai perisian untuk Angkatan Udara, mengatakan bahawa sistem jabatan pengembangan SpaceX lima kali lebih cekap daripada syarikat yang mempunyai aliran kerja klasik. Bagaimana SpaceX mengatasi proses pengujian dengan prestasi sedemikian?

Pendekatan DevOps dan Agile membolehkan jurutera SpaceX QA memberikan ujian automasi besar-besaran. Melalui kitaran pengembangan, penguji memberikan ujian berterusan untuk mendapatkan maklum balas segera dan menghilangkan risiko yang ada. Dengan itu mereka bekerja secara proaktif, menguji sering dan awal.

Syarikat mengembangkan strategi bagaimana melaksanakan pengujian berterusan dalam proses pembangunan.

  • Utamakan nilai. Seperti Google, SpaceX mengesyorkan menggunakan metrik liputan kod untuk memahami perkara yang harus anda automatik dan yang tidak seharusnya. Ini membantu mengoptimumkan pengujian berterusan dan meningkatkan aktiviti yang sudah diambil.
  • Kuncinya adalah ujian akhir-ke-automatik automatik. Jadikan analisis impak sebagai sebahagian daripada penyatuan berterusan. Ini membolehkan syarikat menganalisis bagaimana menambahkan fungsi baru atau mengubah kod dapat mempengaruhi keseluruhan sistem atau beberapa bahagian sistemnya.
  • Pasukan harus mempunyai persekitaran ujian yang stabil dan mudah ditiru. Alat seperti Snapshot Mesin Maya dapat membantu menyelamatkan keadaan data, kembali ke ujian, atau menyambung semula kerja.
  • Gunakan Kecerdasan Buatan dan pembelajaran Mesin untuk menganalisis laporan ujian. AI alat berdasarkan mempercepat penyebaran dan mengoptimumkan proses pengujian.
  • Membina seni bina integrasi berterusan yang kuat. Kelebihan utama sistem CI adalah jangka masa pendek antara pembuatan dan ujian kod . Pengujian berterusan mesti dilibatkan dalam proses pengembangan dan melibatkan jenis pengujian yang diperlukan.
  • Ringkasnya

    Setiap syarikat mempunyai strategi, proses, dan pendekatan pengujiannya. Setiap pasukan memilih dan menyesuaikan proses pengujian berdasarkan tujuan utama dan kemampuan produk. Tugas utama mana-mana pakar adalah memikirkan pelanggan dan pengguna akhir, menyesuaikan diri dengan keperluan baru, dan menggunakan pengalaman yang terbaik di industri ini.


    Video YouTube.: Uji Seperti Google: Amalan Terbaik dari Gergasi Industri

    03, 2024