Tinjauan singkat tentang opsi pengembangan karir Anda dalam kontrol kualitas dan jaminan kualitas.Di mana untuk memulai?
Jadi, anggaplah Anda sedang merencanakan karir di bidang TI dan pertama kali mendengar tentang QA. Sekarang Anda ingin mencari tahu apa itu.
QA adalah proses memastikan kualitas produk perangkat lunak di semua tahap pengembangan, tetapi dalam CIS, istilah ini sering diterapkan untuk pengujian perangkat lunak.
Apa yang dibutuhkan pemula untuk melangkah di jalur pejuang yang berkualitas? Sekarang mari kita cari tahu.
Bagi sebagian besar perusahaan dan proyek, itu sudah cukup:- Gagasan tentang proses pengembangan perangkat lunak (pendidikan teknis yang dekat dengan lingkungan TI akan menjadi nilai tambah, tetapi seperti yang ditunjukkan oleh pengalaman banyak rekan kerja, ini bukan prasyarat);
- Pengetahuan tentang prinsip-prinsip dasar produk perangkat lunak (aplikasi mobile atau mandiri, situs, tergantung pada profil perusahaan);
- Berkenalan dengan teori pengujian, pemahaman dasar tentang desain pengujian, jenis dokumentasi pengujian apa yang terjadi dan dari mana asalnya (ini sangat mudah untuk google jika Anda mau);
- Kemampuan untuk dengan cepat menangani sistem-TMS;
habr.com/en/post/461205 - Keinginan untuk mempelajari hal-hal baru, cepat memahami detail tentang bagaimana perangkat lunak bekerja sekarang dan bagaimana seharusnya bekerja.
Jika poin-poin di atas bisa dilakukan, maka kita bisa pergi.
OKE, kemana kita akan pergi?Selanjutnya, kita akan berbicara tentang arah untuk memompa dan hasil apa yang dapat dicapai dengan memulai jalur Anda di TI dengan jaminan kualitas.
Peran dalam QA
Anda dapat memilih arah tanpa mengubah ruang lingkup kegiatan dan berkembang sebagai spesialis yang lebih sempit. Atau menggabungkan beberapa peran. Anda perlu menguasai strategi dan jenis pengujian dalam berbagai metodologi pengembangan, belajar menggunakan alat manajemen pengujian (
TestLink ,
TestRail ,
Test IT , dll.) Dan sistem pelacakan bug (Jira, Redmine) - pengetahuan dan keterampilan ini merupakan dasar untuk semua insinyur QA . Pilihan paling populer untuk spesialisasi adalah pengujian otomatis dan memuat.
Pengujian manual
Ketika Anda perlu menghabiskan lebih banyak sumber daya untuk pengembangan autotests daripada pada produk itu sendiri - lebih mudah / lebih murah / lebih cepat untuk memeriksa fungsionalitas baru dengan tangan Anda.
Banyak orang berpikir bahwa pengujian manual adalah sesuatu yang sederhana dan semua orang dapat mengatasinya. Padahal, pengujian manual membutuhkan banyak keterampilan. Penguji manual menyelesaikan tugas-tugas yang orang lain tidak bisa atasi.
Untuk pengujian manual, Anda perlu:- Keterampilan analitis yang tinggi. Tidak hanya kesalahan akan diharapkan dari Anda, tetapi juga saran tentang cara melakukan yang lebih baik. Lagi pula, hanya secara manual Anda dapat memeriksa hal-hal seperti, misalnya, kegunaan;
- Kreativitas Dalam realitas modern pembangunan, persyaratan tidak selalu lengkap dan penguji dihadapkan dengan fakta bahwa mereka perlu memikirkan banyak pilihan untuk menggunakan sistem yang mereka uji;
- Pemeliharaan dokumentasi uji. Penguji yang baik selalu memiliki rencana tindakan dan kegiatan pengujian yang jelas berdasarkan persyaratan dan tenggat waktu;
- Pengetahuan dan pengalaman dengan sistem manajemen pengujian;
- Memiliki alat untuk bekerja dengan permintaan HTTP (Postman, curl);
- Pengetahuan tentang database, kemampuan untuk menulis pertanyaan SQL.
Dan masih banyak lagi yang tergantung pada industri dan bidang pengembangan yang sedang berlangsung. Ini dapat bekerja dengan program dan perangkat keras yang sangat terspesialisasi.
Otomasi Tes
Tes otomatis membantu melepaskan fitur baru lebih cepat, menguji lebih cepat, dan mengurangi tes manual.
Jadi, apa yang mungkin diperlukan untuk mulai mengotomatisasi tes?- Akan diperlukan untuk menulis kode, misalnya, dalam Java atau Python;
- Alat otomatisasi utama (Selenium, Katalon);
- Pengetahuan dasar tentang HTML, CSS, XPath;
- Kemampuan untuk bekerja dengan sistem kontrol versi dan repositori kode;
- Keterampilan API;
- Pengetahuan tentang sistem CI / CD (Jenkins, TeamCity, dll).
Jika Anda merasa sudah siap, maka Anda dapat mengambil skrip uji paling sederhana, yang diulang ribuan kali dan mencoba mengotomatiskannya - Anda pasti akan menyukainya
Uji beban
Arti dari pengujian tegangan adalah untuk mengukur kualitas sistem yang beroperasi di bawah beban tertentu. Melakukan pengujian kinerja, Anda dapat menentukan skalabilitas, toleransi kesalahan dan stabilitas produk perangkat lunak.
Pekerjaan spesialis dalam profil ini mencakup pengumpulan data tentang kinerja aplikasi, waktu respons, dan lokalisasi kesalahan di bawah beban yang melebihi skenario penggunaan sistem normal.
Keterampilan yang paling penting bagi mereka yang ingin melakukan stress testing:- Pengetahuan tentang arsitektur sistem yang diuji. Pencelupan dalam pengujian kinerja akan mengharuskan Anda untuk mempelajari bahasa dan kerangka kerja pengembangan yang digunakan untuk membuat produk;
- Kemampuan untuk mengembangkan dan menganalisis profil beban;
- Lagi pemrograman. Untuk memuat skrip pengujian, bahasa seperti Java, Python, JavaScript, C ++, C # dan kerangka kerja khusus, misalnya, Gatling;
- Pengetahuan tentang perangkat keras dan arsitektur jaringan. Seringkali, perangkat keras dapat menjadi penyebab penurunan kinerja aplikasi, Anda perlu menavigasi dalam konsep-konsep seperti memori, prosesor, bandwidth jaringan dan dapat menganalisis data tentang mereka.
Analis uji
Analis uji adalah orang yang tugasnya membuat artefak pengujian berdasarkan persyaratan. Dalam tim kecil, tugas-tugas ini diselesaikan oleh penguji biasa, sementara di tim besar, fungsi pengujian dan desain pengujian sering dibagi dengan jelas di antara orang-orang.
Rantai interaksi yang ideal akan terlihat seperti ini:- analis memprioritaskan pengujian dan menyusun peta logis proyek;
- analis uji, berdasarkan informasi ini, mulai mengembangkan tes;
- tes tester pada test case yang dijelaskan (ya, ini kalimat).

Jalur karier alternatif. Apakah ada kehidupan setelah QA?
Analis sistem
Sudahkah Anda bergumul dengan persyaratan yang tidak dijelaskan dengan baik sepanjang karier Anda? Anda memiliki kesempatan untuk memperbaikinya. Anda akan berkomunikasi dengan pengguna sistem, mengumpulkan dan menganalisis persyaratan, dan kemudian mencatatnya dalam dokumentasi. Interaksi yang erat dengan pengembang dan pengalaman insinyur jaminan kualitas akan membantu memastikan bahwa persyaratannya lengkap dan berhasil. Selain itu, partisipasi dalam implementasi, pelatihan pengguna dan pengumpulan umpan balik tentang efektivitas sistem dimungkinkan.
Analis bisnis
Keuntungan utama yang dimiliki penguji dibandingkan pengembang adalah mereka mendapatkan pengetahuan di bidang subjek, di bidang bisnis. Opsi yang sering dilakukan penguji untuk berpindah di jalur karier adalah beralih ke analitik bisnis. Sebagai analis bisnis, Anda akan berpartisipasi dalam pembentukan persyaratan produk untuk bisnis.
Manajer
Katakanlah lebih mudah bagi Anda untuk berkomunikasi dengan orang daripada dengan basis data - maka Anda dapat mencoba peran seorang manajer. Profesional Penjaminan Kualitas memiliki pemahaman mendalam tentang cara membuat perangkat lunak lebih baik. Jika Anda siap untuk membuat keputusan sulit dan memikul tanggung jawab penuh untuk itu, tidak akan ada masalah. Di sini juga ada cabang, misalnya: manajer proyek, manajer sumber daya, manajer pengujian, dll. Itu semua tergantung pada proses yang dibangun di perusahaan.
Pengembang
Seringkali penguji langsung menuju pengembangan, seperti berdampingan dengan programmer, jauh lebih mudah untuk belajar kerajinan mereka daripada menerima pendidikan khusus. Selain itu, mereka akan memberi tahu Anda, cepat dan membantu. Ini adalah cara yang baik untuk memulai karier, berkenalan dengan proses pengembangan dari dalam. Terutama jika Anda sudah tahu bahasa pemrograman dan terlibat dalam otomatisasi uji. Yang utama adalah keinginan.
Jika Anda melewatkan sesuatu, saya senang mendiskusikannya di komentar!