top of page

Yazılım Test Mühendisi Nasıl Olunur?

Öncelikle mühendisliğin kelime anlamına baktığımızda üniversitede belirli alanlarda öğrenim görerek diploma alanlara verilen ünvan diyebiliriz. Yazılım, bilişim, matematik, fizik, bilgisayar vb. birçok bölüm üniversitelerde mevcut ancak test alanında 4 yıllık veya 2 yıllık bir bölüm henüz mevcut değil. Durum böyle olduğu için bu alanda çalışacak kişiler genelde az önce bahsettiğim bölümler ve türevlerinden seçiliyor. Bunun coğrafi veya kültürel taraflarını dışarıda bırakırsak bu bölüm için gerçekten bir mühendislik bölümü bitirmeniz gerekiyor mu? Bir kaç istisna dışında bu sorunun cevabı “evet”.


Çünkü mühendisliğin gerektirdiği disiplinli olma, hesaplama yapabilme, sayısal yetenekler, analitik düşünebilme gibi beceriler ile bu alanda fark yaratabilir ve etkili olabilirsiniz. Eğer bu yeteneklere sahip ama farklı bir bölüm mezunuysanız da cevap “evet” bu işi yapabilirsiniz. Yazının ilerleyen safhalarında detaylarından bahsedeceğiz ama bir parantez açmak istiyorum. Etkili ve hataları tespit edebilen bir yazılım test mühendisi olmak istiyorsanız gerçekten analitik düşünebilme ve yenilikçi düşünme becerileri çok önem arz ediyor.


Nasıl Test Mühendisi Olunur?

Yazılım Test Mühendisliği Nedir?

Yazılım test mühendisi yazılım ürünlerini manuel yani el yordamıyla veya çeşitli araçları kullanarak test eden, bu testler sırasında yazılımın beklenen davranış dışında tepki verdiğini tespit ettiğinde bunları ilgili ekiplere raporlayan, hataların çözümünden sonra gerekli kontrolleri sağlayan kişidir. Test mühendisleri müşteri ihtiyaçlarına en yakın ürünü ortaya koymak adına yapılan kalite faaliyetlerini planlayan, uygulayan ve izleyen kişidir.


Neden Yazılım Test Mühendisi Olmalısınız?

Teknoloji ile iç içe olmayı seviyorsanız 1-0 öndesiniz demektir. Test mühendisliği dışarıdan bakıldığında kolay sanılabilen ancak içine girdiğiniz zaman bolca teknik ve teknik olmayan detay barındıran komplike bir meslektir. Sadece analitik, teknik veya matematik bilmeniz dışında, iletişim, empati, zaman yönetimi, stres gibi konularda da kendinizi geliştirmiş olmanız gereklidir. Test mühendisleri çoğu zaman organizasyon içindeki bir çok ekiple etkileşim halindedir. Özellikle ürün sahipleri, müşteriler ve geliştirici ekiplerle sürekli bir senkron halinde çalışır. Burada ki iletişim akışını yönetmek çoğu zaman test mühendisinin bir görevi olabilir. Ayrıca bilgi teknolojilerine giriş kapısı gibi görünse de az önce dediğim gibi "Dışarıdan davulun sesi hoş gelir." Çoğu kişi bu yanılgı ile bu işe başlayıp sonrasında bu işten dönmüştür. Çünkü bu sektörde ilerleyebilmeniz ve bir kariyer inşa edebilmeniz için tüm diğer işler gibi kendinizi geliştirmeniz gereklidir.


Hangi Yetenekler ve Bilgiler Gereklidir?

Yazılım Test Mühendisi Nasıl Olunur?

  • Yazılım geliştirme süreçlerini öğrenmelisiniz.

  • Testin amacı, önemi ve türlerini kavramalısınız.

  • Test senaryosu ve test case yazımında ustalaşmalısınız.

  • Hata raporlama sürecini öğrenmelisiniz ve bu çoğu organizasyonda farklıdır.

  • Test döngüsünü baştan sona deneyimlemelisiniz.

  • Test yönetim araçları kullanımı deneyiminiz olmalı.

  • Farklı platformlarda testi deneyimlemelisiniz. (Web, Mobil, Masaüstü)

  • Otomasyon yapabilmek için temel düzeyde programlama öğrenmelisiniz.

  • Test otomasyon çerçevelerinde ve araçlarında deneyim kazanmalısınız.

  • Hem manuel hem otomasyon süreçlerinde uygulamak için DevOps & CI/CD

  • araçlarına hakim olmalısınız.

  • REST ve SOAP servis testi için gerekli becerileri edinmelisiniz. Araçları

  • öğrenmelisiniz.

  • SQL ile veri sorgulama yetkinliği kazanarak datalar üzerindeki hakimiyetinizi

  • arttırmalısınız.

  • ISTQB Foundation Level gibi uluslararası geçerli sertifikalara yönelerek bilginizi

  • ve becerilerini Global düzeyde tastiklemelisiniz.


Bitti mi? Tabiki hayır.


  • Açık ve net sözlü ve yazılı iletişim kurabilmelisiniz.

  • Empati kurabilmelisiniz.

  • Aktif dinleme becerileriniz iyi olmalıki müşteri ihtiyaçlarını iyi analiz edebilin.

  • Çoğu zaman işleri en son siz ele alacaksınız ve zaman yönetimi sizin en sıkı

  • dostunuz olacak.

  • Takım çalışmasına yatkınlık çok değerli çünkü sürekli başka ekiplerle çalışmanız

  • gerekecek.

  • Küçük detaylara dikkat edebilme yeteneğiniz bu meslekte sizi öne çıkaracak

  • yegane şey olacak.

  • Eleştiriye açık olmalı ve sık geri bildirim vermeye hazır olmalısınız.

  • Son olarak problem çözme ve sorgulama yeteneğiniz olması gerekmektedir.


Nasıl? Davulun sesi hala güzel geliyor mu? Eğer tüm bunlara cevap “evet” ise devam edebiliriz. Yazılım test mühendisi nasıl olunur? sorusuna cevabım; siz de iyi bir test mühendisi olabilirsiniz olacaktır.


Hangi Eğitim ve Sertifikaları Almalıyım?

En içten bir şekilde bir konuya açıklık getirmek istiyorum. Dönemimizde çok fazla ücretsiz eğitim ve kaynağa ulaşabilirsiniz. Bunun için araştırmacı, azimli, istekli ve disiplinli olmanız yeterli. Cebinizden çıkacak tek para sınavlara ödeyeceğiniz paralar olabilir. Ancak çalışma motivasyonunuz yeterli değil ve illa bir eğitim alarak bu süreci işletebiliyorsanız. İnternette ücretli bootcamplere başvuru yapabilirsiniz. Ücretsiz olarak BTK Akademi, Youtube, Blog sayfaları "melihcandemirtel.com", "International Software Testing Qualifications Board" sayfası, Linkedin de konu hakkında paylaşım yapan uzmanlar. Ücretli bir seçenek olarak bütçe dostu Udemy gibi platformlar ile kendinizi geliştirebilirsiniz.


Sertifikasyon açısından ilk almanız gereken ISTQB CTFL. Çünkü bu sertifikasyon temel seviye ve bunu almadan diğerlerine erişiminiz olmayacaktır. Bu sınavlara gene International Software Testing Qualifications Board sayfasında yer alan kaynak dokümanları ile hazırlanabilirsiniz. Ayrıca sınavları bu siteden satın alarak fiziki ve online katılım sağlayabilirsiniz. Dönemsel olarak fiziki sınavlar hep olmayabiliyor. Ben online girmenizi tavsiye ederim. Bunun için bir yazı ayrıca hazırlayacağım. Temel seviye sertifikanızı aldıktan sonra uzmanlaşmak istediğiniz alanlara yönelebilirsiniz. Benim tavsiyem Certified Tester Foundation Level Agile Tester ve Certified Tester Mobile Application Testing ile devam etmeniz olacaktır.


Başlangıç için Öğrenilmesi Gereken Araçlar ve Teknolojiler

Her şeyin başı temeldir. "Temelsiz bilgi, ezberden öteye geçemez." Unutmayın "İyi bir gelecek, sağlam bir başlangıçla kurulur." Testin amacını, hedefini ve kavramlarını ve türlerini öğrenerek işe başlayın. Sonra bunları uygulamalı olarak deneyimlemeye başlayın. Bunun için bir çok alıştırma sitesi gene web sitemde yer almaktadır "Test Uygulama Alanı". Bilgi düzeyinizden emin olduktan ve pratik yaptıktan sonra CTFL sınavına girebilir ve bilgilerinizi belgelendirebilirsiniz. Bu sırada freelance işler alarak "UTest", "Turkcell Unibounty" vb. yerlerden deneyim kazanabilirsiniz. Sonraki adımda API ve Database üzerine kendinizi geliştirerek bu araçların kullanımı öğrenebilirsiniz. Bu sayede testin arka yüz tarafında nasıl bir işleyiş olduğunu deneyimlemiş olursunuz. Bu konular hakkında çeşitli eğitimleri gene ücretsiz bulabilirsiniz. Unutmayın, araştırmacı olun. Her şey parmaklarınızın altında. Test bir bütündür asla manuel veya otomasyon olarak ayıranlardan olmayın. Test uçtan uca bir süreçtir.


Yazılım testi, ürün yaşam döngüsünün tamamını kapsayan ve yalnızca araçlarla ya da elle sınırlanamayacak kadar kapsamlı bir disiplindir. Testi “manuel” ve “otomasyon” olarak keskin çizgilerle ayırmak, sürecin doğasına ve gerçek dünyadaki ihtiyaçlara ters düşecektir. Çünkü bu ayrım, yazılım kalitesine bütüncül değil, parçalı bir bakış açısı getirir. Testin temel amacı; bir ürünün işlevselliğini, güvenilirliğini, kullanılabilirliğini ve performansını doğrulamak, hataları erken aşamada tespit edip kaliteyi garanti altına almaktır. Bu hedef, yalnızca manuel ya da yalnızca otomasyon testle sağlanamaz. Her ikisinin dengeli ve entegre şekilde kullanımı gereklidir. Sadece birine odaklanmak sizi geri düşürecek veya sınırlandıracak bir unsurdur. Şahsi görüşüm manuel test deneyimi olmayan kişilerin iyi otomasyon mühendisleri olamayacakları yönündedir. Çünkü:


  • Sadece manuel test bilen kişi: Süreçleri otomatikleştirerek zaman kazandıracak fırsatları kaçırır.

  • Sadece otomasyon bilen kişi: Ürünün kullanıcıya nasıl hissettirdiğini, keşfedilmemiş hataları veya senaryolar arası bağlamı görmezden gelir.


Asıl amacımız yazılımdaki hataları bulmak ve hedefimiz müşteri ihtiyaçlarına en yakın ürünü teslim etmektir.


Anlayacağınız üzere son olarak da bir yazılım dili öğrenin ve test otomasyon dünyasına giriş yapın. Bu alanda seçim size kalmış. Çalışmak istediğiniz firmanın ihtiyaçlarını inceleyin. Eğer firma Selenium - Java kullanıyorsa bunu öğrenin. Eğer firma Playwright - Javascript kullanıyorsa bunu öğrenin. Bunun doğru olanı ya da yanlış olanı yok çoğu firma bunları bile kullanmadan piyasadaki AI destekli web tabanlı araçları kullanıyor. Seçim size ait. Merakınız ve öğrenme isteğiniz ne kadar fazla olursa o kadar ileri gideceksiniz.


Sık Yapılan Hatalar ve Tavsiyeler

Test mühendisliği ne kadar tekrar eden işleri içinde barındırsa da yazılım geliştirme döngüsü içinde sürekli yenilenmesi gereken alanları içinde barındırır. Yapabileceğiniz en büyük hata sürekli aynı test senaryolarını sürekli gelişen bir uygulamaya uygulamak olacaktır. Hem yeni hataları tespit edemeyecek hem de mevcut durum haricinde bir şeyi test etmemiş olacaksınız. Test senaryolarını sürekli güncellemeli ve uygulamanın son sürümüne uygun bir halde tutmak çok önemlidir. Yapılan diğer bir hata test durumlarının bir çok onaylama (validasyon) barındırması veya çok fazla adıma sahip olmasıdır. Bir test durumu sade, kolay uygulanabilir, 10-12 ortalama adıma sahiptir ve tek bir beklenen sonuca sahiptir. Bir test durumu yazılırken hem hatalı bir girişi hem başarılı bir girişi test etmemelidir. Ezbere test yapılmaz. Teste başlamadan önce müşteri ihtiyaçları iyi analiz edilmiş olmalı. Test mühendisleri bu analiz dokümanlarını okuyarak uygun test senaryolarını hazırlamalı. Neyin test edilip neyin test edilmeyeceğini planlayarak yola çıkmalıdır. Ezbere, yani keşif testi dediğimiz testler genelde zaman kıtlığı olan işlerde ve yapılacak iş hakkında hiç bir doküman veya bilgi sahibi olmadığımız konularda başvurabileceğimiz bir testtir. Ayrıca Deneyim tabanlı testle ve diğer tekniklerle birleştirilerek kullanılır. Asla ilk tercih olarak başvurulmamalıdır. “Sen şöyle önden bir bak” sözü tamamen zaman kaybı ve içi boş bir yaklaşımdır. Yeterli şeffaflığı sağlayamamakta yapabileceğiniz en büyük hatalardan olacaktır. Yaptığınız işleri dokümante etmemek ve rapor olarak sunmamak yaptığınız işin


kalitesinin sorgulanmasına neden olabilir. Kendinizi, işinizi ve ekibinizin çıktılarını görünür kılın. Düzenli olarak tüm paydaşlara test raporlarını sunarak uygulamanın hangi aşamada olduğunu, ne gibi sorunlarla karşılaştığınızı, bunların ne kadar sürede çözüldüğü gibi verileri sunmak hem işinizi kalitesi arttıracak hem de olumsuz durumların oluşmasını önleyecektir. Sizin tespit edemediğiniz bir hatanın canlı ortamda çıkması, geliştiriciden çok sizin başınızı ağrıtacaktır. Bu bir ekip sorunu olması gerekirken günümüzde hala testçilerin baskı altında bırakıldığı yaklaşımlar ne yazık ki oldukça fazladır. Kayıt altına alınan her test, hata raporu, test raporu sizin kurtarıcınız olacaktır.


Yazılım test mühendisliği; detaylara hakimiyet, sabır, disiplin, teknik bilgi ve iletişim becerilerinin harmanlandığı özel bir meslek alanıdır. Bu yolculuğa çıkmak isteyenler için başlangıçta zorlayıcı gibi görünse de doğru kaynaklarla, sağlam bir motivasyonla ve sürekli öğrenme isteğiyle başarı kaçınılmazdır. Unutmayın, bir ürünün kalitesini en çok test mühendisi belirler; çünkü kalite, tesadüf değil, sürekli çabanın bir sonucudur. Eğer bu yazıda kendinizden bir şeyler bulduysanız ve bu alanda ilerlemek istiyorsanız, sizi bu yolculukta desteklemekten memnuniyet duyarım.


Test dünyasında görüşmek üzere!

Yorumlar


bottom of page