Penguji manual tidak diperlukan atau sudah waktunya untuk otomatisasi



Tidak, tentu saja rem tangan dibutuhkan. Tetapi setiap tahun akan ada semakin sedikit kebutuhan untuk mereka. Tingkat gaji akan dengan cepat mencapai puncaknya, dan dari tugas-tugas yang monoton itu akan muntah. Jika Anda memiliki keinginan untuk tetap di QA dan tumbuh menjadi insinyur otomatisasi (pengembang?), Maka teks di bawah ini untuk Anda.

Siapa saya?


Mari kenali Anda dulu. Nama saya Alexander, dan saya telah bekerja dalam pengujian selama 15 tahun. Dia mulai dengan pengembangan, pergi ke pengujian, adalah rem tangan, sekarang alat otomatisasi. Saya menguji desktop, UI, aplikasi seluler, API, melakukan pengujian beban, dan banyak hal menarik terkait QA. Secara singkat saya akan memberi tahu Anda cara membangun karier dalam pengujian mandiri, apa yang akan saya pelajari dan dari mana harus memulai. Ya, saya kehilangan sesuatu, tetapi saran saya adalah refleksi dari pengalaman saya, dan bukan kebenaran tertinggi.

Apa itu penguji manual sebelumnya


Dulu lebih baik. Sekitar 15 tahun yang lalu, profesi itu baru saja menjadi. Perusahaan mulai memahami pentingnya pengujian, dan mereka mulai merekrut penguji. Yang utama (tidak selalu!), Singkatnya, persyaratan untuk tester adalah programmer ringan atau spesialis yang tidak masuk ke programer, ditambah pengetahuan tentang dasar-dasar pengujian. Mungkin kalimat sebelumnya akan membingungkan Anda, tetapi saya akan menjelaskannya nanti.

Penguji sendiri dibagi menjadi rem tangan dan otomatisasi. Produk dari HP tersedia untuk otomasi, Selenium, bahasa scripting diperkenalkan. Rem tangan diuji dengan tangan, mereka menulis dokumentasi uji.

Waktu berlalu, dan rem tangan bergabung menjadi satu cabang dengan otomatisasi. Selain itu, menurut saya, otomasi menjadi dominan. Dan sekarang saya akan memberi tahu Anda bagaimana Anda bisa menjadi AQE (insinyur kualitas otomatisasi).

Apa yang perlu Anda ketahui untuk memulai?


Teori pengujian. Ini perlu. Jenis pengujian, dokumentasi uji, ketahui dan dapat menerapkan teknik desain uji. Dan juga menjelajahi piramida pengujian. Mungkin tidak semua yang ada di dalamnya akan jelas, tetapi seiring waktu ia akan menampakkan dirinya dengan segala kemuliaan.

Pada prinsipnya, buku Savin "Testing Dot Kom" dan dua puluh jam di YouTube cocok untuk memulai.



Buku dibaca, YouTube ditinjau, ada pengalaman dalam pengujian manual. Sekarang mari kita coba bergerak menuju otomatisasi, itu lebih menarik di sana.

Mitos


"Pekerjaan QA, sebagai salah satu titik masuk yang relatif mudah ke TI,"
"Autotests akan segera mati. Sebagai aturan, ini adalah programer di bawah seperti "
" Kami adalah penguji, bukan pengembang, kami tidak perlu tahu / tidak seharusnya / tidak perlu "

Saya menemukan dua pernyataan pertama di Internet. Saya mendengar yang ketiga hidup. Jika Anda ingin mencapai tingkat tinggi dalam otomatisasi, maka jangan setuju dengan mitos ini. Ini akan sulit, panjang, tetapi menarik. Pengetahuan Anda harus di level programmer. Dan dalam banyak kasus, dan banyak lagi - Anda masih perlu tahu dan menerapkan teori pengujian.
Dari mana mitos tersebut berasal? Saya pikir dari titik di atas - Apa penguji manual dulu. Penguji adalah programmer cahaya (TIDAK).

Saya pikir saya bisa membuktikannya. Apakah Anda kenal penguji / manajer / pengembang? Tanyakan kepada mereka berapa banyak autotest (kuat) yang mereka temukan dalam setahun? Saya pikir beberapa, unit. Perusahaan kami memindai 20 kandidat dalam setahun dan merekrutnya. Tengah.

Anda dapat mencoba untuk mendapatkan wawancara di Signora AQE. Sudah ada "Kami adalah penguji, bukan pengembang, kami tidak perlu tahu ini" tidak akan berfungsi. Dan pengembang akan mewawancarai Anda setelah teori pengujian. Karena sistem otomasi yang kuat dan modern adalah pengembang penuh.

Memilih bahasa pemrograman


Tidak terlalu penting. Secara global, bahasa pemrograman mirip satu sama lain dan selama karir Anda, Anda akan tahu beberapa. Jika Anda memahami dasar-dasarnya, transisi ke bahasa baru akan cepat.
Mulailah dengan mengeksplorasi konsep dasar: tipe data, kelas, array, loop, manipulasi string, fungsi, OOP. Setelah Anda pergi ke bahasa tertentu.

Pada tahun 2020, untuk pengembangan autotest, saya akan melihat bahasa-bahasa ini (saya ingat bahwa ini berdasarkan pengalaman saya, dan bukan instruksi untuk tindakan):

JavaScript bagus untuk menguji UI. Berkembang pesat dalam pengujian. Kerangka kerja JS secara aktif menggantikan Selenium

Java, bahasa yang paling populer untuk otomatisasi di Rusia. Jadi secara historis, banyak lowongan.

Pythonbahasa dengan entri tercepat. Bahasanya “sederhana”, mudah dibaca dan dipelajari.

Dan kita harus mengerti bahwa ini adalah waktu yang lama, kita harus sabar. Tergantung pada intensitas pelatihan dari 4 bulan hingga satu tahun.

Pola desain


Pola desain menggambarkan cara-cara khas untuk memecahkan masalah umum saat merancang program.

Inilah yang baru-baru ini saya dengar:

“Kami membutuhkan middle yang kuat yang akan menyapu dan memahami pengujian kami. Kami sudah sedikit mengerti mereka. ”

Ketika Anda memiliki situs web dengan 3-2 halaman, maka semuanya sederhana, cepat, indah. Tetapi, jika Anda memiliki proyek di mana tes ui / api / mobile / e2e dilakukan secara bersamaan, dan semua ini ditulis tanpa pola, maka dalam 90% kasus ini akan berubah menjadi sampah (maaf).

Mengetahui Halaman Obyek itu baik, tetapi ada banyak templat yang lebih berguna di dunia yang dapat membuat pengembangan lebih mudah. Semakin cepat Anda menyelesaikan masalah ini, semakin sedikit masalah di masa mendatang (ini adalah bagaimana menemukan bug pada tahap awal, maka akan lebih murah untuk memperbaikinya).

Berikut ini tautan untuk membaca .

Jika Anda masih tidak bisa menangani topik ini, mintalah bantuan pengembang Anda. Kami dengan demikian meningkatkan proyek dalam beberapa iterasi, setelah menyelesaikannya dengan pengembang.

Saya juga merekomendasikan membaca buku Head First. Pola desain. Freeman Eric, Robson Elizabeth.

OS mana yang harus dipilih?


Tidak penting. Sekarang ini masalah kebiasaan, gunakan apa yang nyaman bagi Anda. Jika saya punya pilihan seperti sekarang, maka saya akan memilih sistem seperti UNIX. Pengalaman dengannya dihargai di pasar tenaga kerja, dan ada sedikit masalah.

Kerangka pengujian


Kerangka kerja (ind, kerangka kerja - struktur, kerangka kerja) - seperangkat keputusan tentang arsitektur, struktur dan metode menggabungkan komponen sistem yang dapat diterapkan pada beberapa tugas serupa.

Sekarang kita semakin dekat dengan pengujian. Ada banyak kerangka kerja yang bagus untuk setiap bahasa. Untuk JS, ini Cypress, Nightwatch, Dalang, dan lainnya. Java memiliki Selenide, Python memiliki standar pytest. Pelajarilah mereka ketika saatnya tiba. Dokumentasi tentang mereka adalah laut.

Waktunya akan tiba dan Anda akan mengembangkan kerangka kerja Anda sendiri, tentu saja, sebelum itu, memiliki pemahaman yang baik tentang tema pola.

Git dan tinjau


Git (diucapkan "git") adalah sistem kontrol versi terdistribusi.
Kode Anda perlu disimpan di suatu tempat. Ada git untuk ini. Git adalah standar de facto.
Di sini proses pembelajaran dapat dibangun seperti ini:
Instal git
Daftar di github.com
Baca dokumentasi
Buka YouTube, temukan pelajaran dan kerjakanlah.

Untuk masuk, Anda perlu mempelajari sejumlah kecil perintah git:
mengkloning, menambah, mendorong, menarik, menyembunyikan, mengkomit, status, rebase, checkout. Dalam seminggu Anda akan belajar dan menguasainya. Praktek utama.

Kode tinjauan adalah alat yang ampuh untuk berbagi pengetahuan, menemukan bug dan kesalahan "bodoh", dan memeriksa kode Anda. Pada awalnya, mereka akan memeriksa lebih sering daripada Anda, tetapi seiring waktu, Anda akan mulai meninjau orang lain. Cobalah untuk menganggap ulasan itu membantu dan mengembangkan diri Anda. Setiap orang memiliki kesalahan dan kesalahan ketik.

Baca

Apa lagi yang harus dipelajari?


CI / CD Integrasi Berkelanjutan / Penerapan Berkelanjutan.

Tujuan utama CI / CD adalah untuk meminimalkan kesalahan, mempercepat perakitan dan meningkatkan kualitas produk akhir:



Read

Docker adalah platform yang dirancang untuk mengembangkan, menyebarkan, dan menjalankan aplikasi dalam wadah.

Baca

HTTP adalah protokol untuk bertukar data pada jaringan. Mungkin Anda dapat menulis tes UI tanpa mengetahui HTTP, tetapi tidak ada API untuk diuji. Dan lokalisasi masalah akan lebih cepat dengan pengetahuan ini.

Baca

xpath adalah bahasa untuk meminta elemen elemen dokumen XML.

Tautan ke lembar contekan

SQL adalah bahasa komputer standar untuk mengelola basis data relasional dan memproses data. SQL digunakan untuk query, menyisipkan, memperbarui, dan memodifikasi data.

Baca

Daftar ini, tetapi saya akan berhenti di sini.

Di mana mendapatkan pengetahuan?



Forum Tematik YouTube
Buku
Kursus tentang pemrograman
Kursus tentang otomatisasi uji

Saya secara khusus membagi kursus tentang pemrograman dan kursus otomatisasi uji. Lebih baik mulai dengan yang pertama. Dalam kursus kedua Anda akan diajarkan otomatisasi dan menutup mata terhadap "kebenaran" pembangunan. Lebih baik meletakkan fondasi, dan kemudian pindah ke otomatisasi.

Apakah layak untuk menghemat biaya kuliah? Bisakah saya mengambil buku / membaca artikel / menonton YouTube, dan tidak memilih kursus berbayar? Tidak. Jika memungkinkan, tentu saja. Ada mentor dalam kursus, ini akan sangat mempercepat pembelajaran. Ada banyak tugas yang diciptakan untuk Anda yang harus memompa keterampilan. Satu-satunya hal adalah dengan bijaksana mendekati pilihan guru. Baca ulasan.

PS Saya membaca semuanya: buku, YouTube, artikel, kursus. Dan kursus adalah yang terbaik bagi saya, itu adalah lompatan dalam pengembangan. Mungkin Anda akan memiliki cara yang berbeda.

Referensi


forum autotest (hampir semuanya ada) js otomatis-testing.info
untuk menguji t.me/js_for_testing
QA - t.me/qa_automation alat otomatisasi
Serius t.me/serious_tester tester
Jika Anda belum melakukannya, tambahkan bookmark, ini harus ada ru. stackoverflow.com

Kenapa saya menulis ini


Baru-baru ini, saya berada di sebuah pertemuan di mana salah satu pembicara berbicara tentang pengalamannya dalam menggunakan otomatisasi uji. Dan perusahaannya sampai pada kesimpulan bahwa lebih mudah untuk menemukan pengembang dan membuat AQE dari mereka daripada sulit untuk mencari autotest yang tidak membawa manfaat yang diharapkan dari mereka dalam jarak jauh. Dan alasannya adalah bahwa autotests tidak memiliki pengetahuan yang cukup dalam pengembangan (pola, pengetahuan perpustakaan). Dalam beberapa hal, saya setuju dengan mereka. Saya yakin seseorang akan berpikir bahwa saya menggambarkan persyaratan untuk penguji super atau untuk pengembang dalam pengujian (Pengembang Perangkat Lunak Dalam Uji). Dengan perkembangan scrum, ketika hal seperti pengembang / analis / tester menghilang, kami menjadi insinyur dan anggota tim yang setara yang tujuannya adalah untuk merilis produk / membuat fitur untuk sprint.Dalam kondisi ini, persyaratan untuk autotest akan tumbuh dan spesialis berbentuk T akan dihargai di pasar (artikel di vc.ru ). Orang-orang seperti itu tidak hanya dapat dengan jelas melokalisasi masalah, tetapi juga memperbaikinya (misalnya, di depan). Dan ini adalah masa depan.

tamat


Seperti yang saya tulis sebelumnya, proses belajar tidak akan mudah. Untuk memasuki profesi, AQE perlu menghabiskan + - setahun. Banyak artikel telah ditulis tentang cara membangun pelatihan, tetapi saya akan mencatat dua poin:

  1. Ketahui cara bersantai dan beristirahat.
  2. Praktek. Pilih situs, proyek. Tulis tes pada mereka, uji API. Simpan kode Anda di github, hubungi teman, kolega untuk ditinjau.

Semoga berhasil

All Articles