YAZILIM TESTİ KARİYER REHBERİ
Bu
rehberde size yazılım testinin tüm ayrıntıları anlatılacaktır. Eğer yazılım testi
üzerine kariyer yapmayı planlıyorsanız, bu rehberi kesinlikle
okumalısınız.
YAZILIM TESTİ NEDİR?
Yazılım
testi, bir bilgisayar sistemi veya programının, belirlenmiş gereksinimleri
yerine getirip getirmediğine ve arzu edilen sonucun üretilip
üretilmediğine karar vermek için uygulanan doğrulama sürecidir. Sonuç
olarak, yazılım ürünü veya projesindeki hataları saptamaktır.
Yazılım
testi, sorunsuz/hatasız ve kaliteli bir ürün geliştirmek için vazgeçilmez bir süreçtir.
YAZILIM TEST UZMANI OLMAK İÇİN GEREKLİ BECERİLER
Aşağıda, iyi bir
Yazılım Test Uzmanı olabilmek için gerekli Teknik ve Teknik-Olmayan becerilerden bahsedeceğiz.
Teknik-Olmayan Beceriler
Yazılım test etmenin gerçekten size uygun bir iş olup olmadığını belirlemek
için aşağıdaki beceri setiyle kendi sahip olduğunuz becerileri
kıyaslayabilirsiniz.
- Analitik Beceri: Daha iyi bir anlayış kazanmak ve test sernaryolarını oluşturmak için karmaşık bir yazılım sistemini daha küçük birimlere ayırmaya yardımcı olur. İyi analitik becerilere sahip olduğunuzdan emin değilseniz, bu bağlantıdan (Link yakında aktif olacak.) kendinizi ölçebilirsiniz. Eğer en az BİR problemi çözerseniz, harika analitik becerilere sahipsiniz demektir.
- İletişim Becerileri: İyi bir Yazılım Test Uzmanı iyi derecede sözlü ve yazılı iletişim yeteneklerine sahip olmalıdır. Oluşturduğu test dökümanlarının (test senaryoları/planları, test stratejileri, hata raporları gibi) kolay okunabilir ve kolay algılanabilir olmalıdır. Geliştiricilerle birlikte iş yapılacağından dolayı, süreç bir takım tedbiri ve diplomasiyi gerektirir.
- Zaman Yönetimi & Organizasyon becerileri: Özellikle kodun sürümü sırasında, test işi zorlu olabilir. Yazılım Test Uzmanı iş yükünü verimli bir şekilde yönetmeli, yüksek üretkenliğe sahip olmalı, en optimize bir şekilde zaman yönetimi ve organizasyon becerilerini göstermelidir.
- Yaklaşım: Yaklaşımınızın, bozmaya yönelik test anlayışı ve detay yönelimli, öğrenmeye ve süreç iyileştirmeye hevesli olması gereklidir. Yazılım dünyasında teknolojiler çok büyük bir hızla geliyor ve iyi bir yazılım test uzmanı teknik becerilerini değişen teknolojilere uyumlu bir şekilde yükseltmelidir. Tutumunuz, belirli bir bağımsızlığı da yansıtmalıdır. Bu bağımsızlık, size ayrılan görevi sahiplenmenizi ve pek de doğrudan bir denetim/gözetim/yardım olmaksızın onu tamamlamanızı kapsar.
- Hırs/Tutku: Herhangi bir işte ya da meslekte üstün olabilmek için, önemli derecede hırs ve tutkuya ihtiyacınız vardır. İyi bir Yazılım Test Uzmanı kendi alanı için de bu tutkuya sahip olmalıdır. Fakat önce şu soruyu sormalıyız: Daha önce hiç yazılım testi yapmamış biri, nasıl bu iş için tutkusu olup olmadığını anlayabilir? Cevap basit: DENEyerek! Eğer denediğin zaman bu iş seni heyecanlandırmıyorsa, en kısa zamanda ilgini çekecek başka bir alana yönelmende fayda var demektir.
Teknik Beceriler
- Temel Veritabanı/SQL Bilgisi: Yazılım sistemleri arka planda büyük miktarda veriye sahiptir. Bu veri Backend’de Oracle/MySQL gibi farklı veritabanı türlerinde depolanır. Dolayısıyla, bu verilerin doğrulanması gereken durumlar olacaktır. Basit/karmaşık SQL sorguları, backend veritabanında uygun verinin depolanıp depolanmadığını kontrol etmek için kullanılabilir.
- Temel Linux Komutları Bilgisi: Web hizmetleri, Veritabanları, Uygulama Sunucuları gibi çoğu yazılım uygulamaları Linux makinelerinde uygulanır. Bu yüzden Linux komutlarıyla ilgili bilgi sahibi olmak önemlidir.
- Bir Test Yönetimi Aracının Bilgisi ve Pratik Deneyimi: Test Yönetimi yazılım testinin önemli bir parçasıdır. Doğru test yönetim teknikleri olmadan, yazılım test süreci başarısız olacaktır. Test yönetimi, adından da anlaşılacağı üzere test ile ilgili yapılan işleri yönetmektir. Örneğin, Testlink gibi bir araç, ekibiniz tarafından yazılan tüm test senaryolarını takip etmek için kullanılabilir. Piyasada Test Yönetimi için kullanılabilecek başka araçlar da mevcuttur. Bu nedenle, çoğu şirkette kullanıldığından dolayı, bu tür araçlar hakkında bilgi ve deneyim sahibi olmak önemlidir.
- Bir Hata Takip Aracının Bilgisi ve Pratik Deneyimi: Hata Takibi ve Hata yaşam döngüsü yazılım testinin önemli unsurlarındandır. Hataları düzgün bir şekilde yönetmek ve onları sistematik bir şekilde takip etmek son derece kritiktir. Yöneticiler, geliştiriciler ve test uzmanları dahil olmak üzere tüm ekip, hata hakkında bilgi sahibi olması gerektiğinden, hata takibi gereklidir. Hataları çözüme kavuşturmak için QC, Bugzilla, Jira gibi çeşitli araçlar kullanılır.
- Bir Otomasyon Aracının Bilgisi ve Pratik Deneyimi: Manuel test uzmanı olarak birkaç yıl çalıştıktan sonra kendinizi “Otomasyon Test Uzmanı” olarak görmek isterseniz, ki süreç o yöne doğru sizi götürecektir, o zaman otomasyon araçları hakkında ayrıntılı bilgi edinmeniz ve bir otomasyon aracı üzerine uzmanlaşmanız gerekir.
Performans testi araçları için de bir çok faaliyet
alanı vardır. Çünkü uygulamaların fonksiyonel olmayan bir test tipi olan performans
için de test edilmeye ihtiyacı vardır.
Yukarıda listelenen TÜM teknik becerilere ihtiyacınız
olmadığını lütfen unutmayın. Gerekli teknik beceriler İş Rolü’ne ve şirket
süreçlerine göre değişebilir.
Akademik Altyapı
Bir
yazılım test uzmanının akademik altyapısı bilgisayar bilimi üzerine veya
içerisinde bilgisayar bilimi eğitimi içeren bir mühendislik veya bilim dalı
olmalıdır.
Eğer bunlardan
birine sahip değilseniz, yazılım geliştirme/test yaşam döngüsü ve diğer test
yöntemlerini öğrenmenize yardımcı olan ISTQB ve CSTE gibi bir yazılım
sertifikasyonunu tamamlamanız faydanıza olacaktır.
Tipik İş Günü
Yazılım Test Uzmanı'nın tipik bir çalışma gününde, gereksinim dökümanlarını anlamak, test senaryolarını oluşturmak,
test senaryolarını çalıştırmak, raporlamak, hataları tekrar test etmek, gözden
geçirme toplantılarına ve diğer ekip faaliyetlerine katılmakla meşgul
olacaksınız.
Kariyer Yolu
CMMI seviyesi 5 olan bir şirkette bir yazılım test uzmanı olarak (QA Analisti) kariyer
ilerlemeniz aşağıdaki gibi görünecek, ancak şirketten şirkete farklılık gösterecektir.
QA Analisti (Yeni) => Sr QA Analisti (2-3 yıllık
deneyim) => QA Takım Koordinatörü (5-6 yıllık deneyim> => Test
Yöneticisi (8-11 yıllık deneyim) => Kıdemli Test Yöneticisi ( 14+ deneyim)
Bir Yazılım Test Uzmanı Olarak Alternatif Kariyer Yolları
Manuel
testte uzmanlaştıktan sonra, aşağıdaki uzmanlık alanlarını takip edebilirsiniz:
- Otomasyon Testi: Bir Otomasyon Test Uzmanı olarak, aksi takdirde çok zaman alan manuel test senaryolarının otomasyonundan sorumlu olursunuz.
- Performans Testi: Bir performans testi uzmanı olarak, uygulamanın tepki verme durumunu kontrol etmekten sorumlu olursunuz. Kullanılan araçlar: WEBLoad, Loadrunner vb.
- İş Analisti: Test uzmanlarının geliştiricilere göre en önemli avantajı, test uzmanlarının uçtan uca iş bilgisine sahip olmalarıdır. Test uzmanları için en belirgin kariyer yolu, İş Analisti olmaktır. Bir iş analisti olarak, şirketinizin iş modelini ve iş akışlarını analiz etmek ve değerlendirmekle, ayrıca bu modelleri ve iş akışlarını teknoloji ile bütünleştirmekten sorumlu olursunuz.
Yaygın Mitler
Geliştiricilere, yazılım test uzmanlarına göre çok daha saygılı davranıyorlar.
Popüler
inancın aksine, Yazılım Test Uzmanları (daha çok QA profesyonelleri olarak
bilinir.) tüm “gelecek vadeden” şirketlerde Yazılım Geliştiricileriyle eşit olarak
değerlendirilir ve eşit ücretlere sahiptir. Yazılım testi üzerine bir kariyer asla
“ikinci derece” olarak değerlendirilmemelidir.
Yazılım test etmek sıkıcıdır.
Yazılım test
etmek aslında sinirlerinizi test edebilir. Çünkü İş Gereksinimlerini anlamanız ve
buna göre test senaryo taslağının hazırlanması gerekir. Yazılım test etmek
sıkıcı değildir. Sıkıcı olan aynı şeyi tekrar tekrar yapmaktır. Anahtar ise yeni şeyler denemektir.
Tamam, ilgileniyorum, nereden başlamalıyım?
Yeni
başlayanlar için Yazılım Testi öğrenimi ile ilgili önerilen yaklaşım aşağıda
belirtilmiştir:
Öncelikle Yazılım
Testinin Temel İlkelerini öğrenmeye başlayabilirsiniz. Bir kere bittiğinde serbest işlere
(freelance jobs) başvuruda bulunabilirsiniz. Bu, pratik bilgi edinmenize yardımcı
olacak ve öğrendiğiniz test kavramlarını güçlendirecektir.
Sonra
Selenyum - Otomasyon aracı, daha sonra Jmeter - Performans Test aracı ve son
olarak TestLink - Test Yönetim Aracı'na geçersiniz. Öğrenirken, serbest işlere başvurmanızı
öneririz (Diğer avantajlardan ayrı olarak biraz para da kazanacaksınız). Teorik ile pratik birbirini besleyen unsurlardır.
Sertifika Sınavları
ISTQB
Temel seviyesi, Test alanında temel sertifikadır.
Zorunlu
değildir, ancak işe başlama şansınızı artıracaktır.
ISTQB'ye
sahip bir Yazılım Test Uzmanı, diğerlerine kıyasla daha fazla öneme sahip
olacaktır.
Büyük
şirketlere iş için başvuruda bulunduğunuzda, sunabileceğiniz bir çok beceriniz
olacaktır.
Çünkü serbest iş (freelance) deneyiminizi sunabileceksiniz ve bu da seçilme
şansınızı artıracaktır.
Ayrıca
tabi ki, seçtiğiniz bir test aracı için de sertifika arayabilirsiniz.
Yorumlar
Yorum Gönder