Skip to main content
search

10 Kaplan gücünde test uzmanı olma yolunda aşağıdaki 10 adım size çok yardımcı olacaktır. Özellikle son maddeyi dikkatlice okuyup biran önce bu alana yatırım yapmanızı öneririm:

  1. Test terminolojisine hakim olun
  2. Yazılım geliştirme yaşam döngüsüne ve farklı metodolojilere hakim olun
  3. Test süreçlerini öğrenin
  4. Test tekniklerini uygulayın
  5. Hangi test senaryolarını ne zaman otomatize edeceğinize doğru karar verin
  6. İş analizi terminolojisini ve iş analizi tekniklerini bilin
  7. Efor tahminlemesinin nasıl yapılacağını öğrenin
  8. Kullanıcılarınızı tanıyın ve nasıl iyi bir kullanıcı deneyimi yaratılacağını öğrenin
  9. Sunum yetkinliklerinizi geliştirin
  10. Yapay zekayı hemen bugün kullanmaya başlayın: AI-First

Test terminolojisine hakim olun, kurumunuzda kalite kültürü oluşturun

Sağlıklı bir test pratiğine sahip olabilmek için kurumdaki herkesin aynı dili konuşması gerekmektedir. Kara kutu test teknikleri, beyaz kutu test teknikleri, keşif testi, hata, arıza, denklik paylarına ayırma test tekniği dendiği zaman herkesin, sadece test uzmanlarının değil bu kavramlardan aynı şeyi anlaması gerekmektedir. Aksi takdirde bu durum birileri Çince konuşurken birilerinin Fransızca konuşmasına benzerki, takımlar ve çalışanlar birbirleriyle sağlıklı iletişim kurup test pratiğini kurumlarında işletemezler.

Bununla birlikte kalitenin bir kültür olduğu, her paydaşın, çalışanın kaliteden sorumlu olduğu bilinci kurum DNA’sına enjekte edilmelidir. Ancak bu sayede “Built in Quality” yaklaşımı hayata geçirilerek daha kaliteli ürün ve yazılımların üretilmesi sağlanabilir. Bu yaklaşım hataların yapıldıktan sonra bulunması yerine hataların en baştan önlenmesine olanak da sağlayacaktır. Aynı önleyici hekimlikte olduğu gibi kişiyi hastalandıktan sonra tedavi etmek yerine kişinin hastalanmasını önlemek esas amaç olmalıdır.

Kalite bir kültürdür.

Tüm bunların sağlanabilmesi içinde test terminolojisinin yanısıra ISTQB©’nin yıllardır tüm müfredatlarında dile getirdiği aşağıdaki yedi test prensibinin akılda tutulması ve hayata geçirilmesi önemlidir:

  • Testin amacı, yazılımda hataların olduğunu göstermektir; yazılımda hata kalmadığını ispatlamak değildir.
  • Yazılımı %100 test etmek imkansızdır.
  • Erken test, zaman ve para tasarrufu sağlar.
  • Hatalar yazılımın belli alanlarında yoğunlaşır.
  • Antibiyotik direnci
  • Yazılım testi, projenin bağlamına, koşullarına göre değişiklik gösterir.
  • Yeni hata bulamıyoruz başarılı bir yazılım elde ettik yanılgısı

Sıfır hatalı bir yazılım olmaz.

Yazılım geliştirme yaşam döngüsüne ve farklı metodolojilere hakim olun

Yazılım testi adı üstünde yazılım geliştirmeye bağlı bir disiplindir; yazılım geliştirmeden ayrı düşünülemez. Yazılımı bir gezegene benzetecek olursak yazılım testinin sürekli onun etrafında dolaşan uydusuna benzetebiliriz. Bu bağlamda farklı yazılım geliştirme metodolojilerini bilip bu metodolojilerde testin nasıl ele alındığına hakim olmanız gerekmektedir. Sektörde en çok kullanılan metodolojiler:

  • Şelale modeli
  • V-model
  • Spiral model
  • Scrum
  • Kanban
  • Extreme Programming (XP)
  • Hibrit modeller

Bu metodolojilere hakim olup özellikle bu modellerin içinde yer alan aşağıdaki teknik pratikleri bilmedinizde fayda bulunmaktadır:

  • Behavior Driven Development (BDD)
  • Acceptance Test Driven Development (ATDD)
  • Test Driven Development (TDD)
  • Refactoring
  • Continuous Integration
  • Continuous Testing
  • Pair programming
  • Pair testing

Test Driven Development (TDD)

Test süreçlerini öğrenin

Terminoloji ve kalite kültüründen sonra ele alınması gereken bir diğer konu ise test süreçleridir. İster çevik çerçeveler olsun, ister şelale, ister V-modeli olsun hangi yazılım geliştirme metodolojisini kullanırsanız kullanın test süreçlerine hakim olmanız ve bunları yazılım geliştirme süreçlerine entegre etmeniz gerekmektedir. ISTQB©’nin en son temel seviye test uzmanı versiyon 4.0 dokümanında önerdiği test süreçleri şu şekildedir:

  • Test planlama
  • Test gözetimi ve kontrolü
  • Test analizi
  • Test tasarımı
  • Test uyarlama
  • Test koşumu
  • Test tamamlama

İster çevik çerçeveler olsun, ister şelale, ister V-modeli olsun hangi yazılım geliştirme metodolojisini kullanırsanız kullanın test süreçlerine hakim olmanız gerekmektedir.

Test tekniklerini uygulayın

Yazılım testi öngörülemeyen birçok faktöre bağlı olduğu için planlaması ve efor tahminlemesi en zor olan disiplinlerden birisidir. TDD pratiğini benimsemediğiniz takdirde yazılım testinin kaynak ve zaman planlamasında sorun yaşama olasılığınız çok mümkündür. Bu konuda size en çok yardım edecek yaklaşımlardan bir tanesi ise test teknikleridir. Yazılım test teknikleri sayesinde testlerinizi daha hızlı ve daha etkili yapıp zaman ve efordan kazanabilirsiniz. Bunu hayata geçirebilmek için dinamik ve statik test tekniklerini bilmeniz ve uygulamanız gerekmektedir. En çok kullanılan test teknikleri:

Dinamik test tasarım teknikleri

Kara kutu test tasarım teknikleri

  • Denklik sınıflarına ayırma test tekniği
  • Sınır değer analizi test tekniği
  • Karar tablosu test tekniği
  • Durum-geçiş diyagramları
  • Kullanım senaryosu test tekniği
  • Kullanıcı hikayesi test tekniği

Beyaz kutu test tasarım teknikleri

  • Komut kapsamı test tekniği
  • Dal kapsamı test tekniği

Tecrübeye dayalı test tasarım teknikleri

  • Keşif test tekniği
  • Kontrol listesi test tekniği
  • Hataya dayalı test tekniği

Statik test tasarım teknikleri

Gözden geçirmeler

  • Resmi olmayan gözden geçirmeler
  • Üzerinden geçme
  • Teknik gözden geçirme
  • Teftiş
  • Denetim
  • Yönetim gözden geçirmesi

Daha hızlı, daha etkili test etmek için test tasarım tekniklerini kullanın.

Hangi test senaryolarını ne zaman otomatize edeceğinize doğru karar verin

Test otomasyonunun bir yazılım geliştirme projesi olduğunu unutmayın. Otomatize edeceğiniz test senaryolarına karar verirken bu eforun fizibilitesine ve yatırımın geri dönüşüne dikkat edin. Her şeyi otomatize etmek zorunda değilsiniz.

Kurumunuzda test otomasyonunu bir kez yapılacak ve sonrasında herhangi bir efor ve harcama yapılmayacak bir iş olarak gören kişiler olabilir. Onlara test otomasyonunun hayata geçirildikten sonra yönetim ve bakım gibi hiç de kolay olmayan eforlar gerektiren bir yazılım geliştirme yatırımı olduğunu anlatmanız gerekmektedir.

Hangi test senaryolarını otomatize edeceğinize karar verirken aşağıdaki iki kriteri dikkate alabilirsiniz:

  • Test senaryosunun olgunluğu: Olgunluğu düşük, sürekli değişen test senaryoları için yazdığınız test otomasyon kodlarını sık sık değiştirmeniz gerekecek ve test otomasyon maliyetiniz artacaktır. Olgunluğu yüksek, değişim sıklığı az olan süreç ve ekranlara ait test senaryoları ise test otomasyonuna daha uygun test senaryolarıdır.
  • Test senaryosunun koşturulma frekansı: Çok az koşturulan test senaryolarını otomatize etmek yerine manuel olarak koşmak daha az maliyetli olacaktır. Eğer bir test senaryosunun test koşum frekansı yüksekse o zaman o test senaryosu test otomasyonuna daha uygundur.

Bu iki kriteri bütçe, zaman ve ekibin kodlama yetkinlikleriyle birleştirerek kurumunuz için bir test otomasyon yol planı çizmeniz gerekmektedir. Şunu da unutmamak lazımdır ki hataları bulacak olan otomatize ettiğiniz test senaryoları değil; bu test senaryolarını oluşturmak için kullanacağınız test tasarım teknikleridir. Öncelikle bu tekniklere hakim olmanız gerekmektedir.

Test otomasyon kararı için test senaryosunun olgunluğunu ve koşturulma frekansını dikkate alın.

İş analizi terminolojisini ve iş analizi tekniklerini bilin

Testin özünde bir referans noktasını baz alarak kontrol etmek vardır. Bizim için testlerde ele aldığımız referans noktası, yazılı olsun veya olmasın, gereksinimlerdir. Bu nedenle bir test uzmanının iş analizine ve gereksinimlere hakim olması gerekmektedir. Test uzmanı farklı gereksinim çeşitlerinin olduğunu bilmeli, bunları birbirleriyle ilişkilendirebilmelidir. Test uzmanları aşağıdaki iş analizi terminolojisine hakim olmalı ve bunların nasıl modellendiğini iş analizi tekniklerini kullanarak öğrenmelidir:

İş Analizi Terminolojisi

  • Proje hedefi
  • İş gereksinimi
  • Kullanıcı gereksinimi
  • Fonksiyonel gereksinim
  • Fonksiyonel olmayan gereksinim
  • Sistem gereksinimi
  • Varsayım
  • Kısıt

İş Analizi Modelleme Teknikleri

  • Kullanım senaryoları
  • Kullanım modelleri
  • Kullanıcı hikayeleri
  • Kabul kriterleri
  • Aktivite diyagramları
  • Akış diyagramları
  • Durum-geçiş diyagramları
  • Karar tablosu
  • Sınıf diyagramları
  • Sekans diyagramları
  • ER diyagramları
  • Veri sözlüğü

Test uzmanları iş analizi terminolojisine hakim olmalı ve bunların nasıl modellendiğini iş analizi tekniklerini kullanarak öğrenmelidir.

Efor tahminlemesinin nasıl yapılacağını öğrenin

Yazılım geliştirmede ister çevik yöntemler kullanılsın, ister klasik şelale modeli, ister 50 kişilik bir test ekibini yönetin, isterseniz sadece kendi başınıza test yapıyor olun, efor tahminleme tekniklerini öğrenerek eforu ve zamanı yönetmeniz gerekmektedir. En çok kullanılan efor tahminleme teknikler:

  • Planlama pokeri
  • Oranlara dayalı tahminleme
  • Dış değerleme
  • Üç noktalı tahminleme

İster çevik yöntemler kullanılsın, ister klasik şelale modeli, ister 50 kişilik bir test ekibini yönetin, isterseniz sadece kendi başınıza test yapıyor olun, efor tahminleme tekniklerini öğrenerek eforu ve zamanı yönetmeniz gerekmektedir.

Kullanıcılarınızı tanıyın ve nasıl iyi bir kullanıcı deneyimi yaratılacağını öğrenin

Dünyanın en kaliteli ürün veya yazılımını da üretseniz eğer kullanıcı ihtiyaçlarını iyi anlamadıysanız, ürettiğiniz ürünü kimse kullanmayacaktır. Bunun için hedef kullanıcılarınızı iyi tanıyarak, onların problemlerini çözecek veya onlara yeni fırsatlar sunacak ürün veya yazılımlar üretmeniz gerekmektedir.

Ürün veya yazılım geliştirmede düşülen en büyük hata ekibin kendi fikrine aşık olması ve onu sorgulamamasıdır. Bunun üstesinden gelmenin tek yolu ürün geliştirme sürecinde kullanıcıları sürekli dinleyip ürününüzü sorgulamaktan geçmektedir.  Doğru kullanıcılara doğru soruları sorup ürününüzü sorgulayabilmek içinse aşağıdaki kullanıcı deneyimiyle ilgili konsept ve tekniklere hakim olmanız gerekmektedir.

  • Kullanıcı araştırmaları
  • Persona
  • Fonksiyonel gereksinimler
  • İçerik gereksinimleri
  • Zihin haritaları
  • Kullanım modelleri
  • İnteraktif tasarım
  • Bilgi mimarisi
  • Süreç akışı
  • Kart gruplama
  • Prototipleme
  • Arayüz/ekran tasarımı
  • Görsel tasarım
  • Düz tasarım
  • Gerçekçi tasarım

Bu konsept ve teknikler sadece sizin iyi bir kullanıcı deneyimi yaratmanıza yardımcı olmayacak aynı zamanda büyümekte olan bir kariyer alanı olan kullanılabilirlik testine aşina olmanızı ve hatta bu alanda kariyer yapmanıza da olanak sağlayacaktır.

Kullanılabilirlik testinin nasıl yapılacağını öğrenin.

Sunum yetkinliklerinizi geliştirin

Test uzmanlarının projelerde çok güzel işler yaptıktan sonra en çok zorlandıkları alan yaptıkları işleri diğer ekiplere aktarma ve anlatma kısmıdır. Genelde iş yoğunluğundan veya “zaten biz güzel işler yaptık gelip baksınlar” yaklaşımından dolayı bu konuya çok fazla değinilmez. Kaldı ki ne kadar işi iyi de yapsanız, yaptığınız işi karşı tarafa iyi aktarmanız gerekmektedir. Bu yazdığınız basit bir hata raporundan tutun da üst yönetime yapacağınız proje ilerleme veya risk haritası sunumuna kadar aynıdır. Bu yüzden test uzmanlarının aşağıdaki konulara dikkat etmesi ve bu konularda bol bol pratik yapması gerekmektedir:

  • İletişim yetkinlikleri
  • Sunum yetkinlikleri
  • Raporlama yetkinlikleri
  • Sorgulayıcı düşünme
  • Yaratıcı düşünme
  • Empati
  • Sanat

Sağ beyininize yatırım yapın.

Yapay zekayı hemen bugün kullanmaya başlayın: AI-First

Şu ana kadar anlattığım maddelerin tümünü etkileyecek en önemli maddeye geldik; yapay zeka. Bu aralar konferanslarda, sunumlarda, danışmanlık projelerinde en çok karşılaştığım soru:

“Hocam, teste nasıl başlarsak testlerimizi en etkili şekilde yaparız? Manuel testten mi, test otomasyonundan mı? Yoksa yapay zeka destekli testten mi başlayalım?”

Bu soruya cevabım çok net: “Hiç vakit kaybetmeden hemen, bugün yapay zeka destekli testten başlayın!”.

Neden mi? Nedeni çok basit yapay zeka destekli test hem manuel testlerinizi hem de test otomasyonunuzu ilk dakikadan itibaren hem hızlandıracak hem de üretkenliğini ve kapsamını artıracaktır. Yapay zekayı elektriğin bulunması gibi düşünmemizde fayda var. Nasıl ki elektrik şu anda televizyondan tutun da cep telefonu, araba, bilgisayar, saç kurutma makinesi gibi her şeyde hayatımızın her alanında, yapay zeka da her sektöre ve her alana girerek işlerimizi hem hızlandıracak hem de üretkenliğimizi artıracak yeni bir teknolojidir. Bu durum yazılım testi ve tabi ki hem manuel hem de test otomasyonu için geçerlidir. Biran önce testin temellerini öğrenip yapay zekayı teste nasıl entegre edeceğinizi sorgulamanız gerekmektedir.

Yapay zeka destekli test konusunda farkındalığı artırmak için Uluslararası TestIstanbul (https://testistanbul.org ) konferansının bu seneki sloganını “AI-Assisted Testing To Accelerate Manual Testing 10x And Test Automation 100x” olarak seçtik.

AI-Assisted Testing To Accelerate Manual Testing 10x and Test Automation 100x

“AI-First” yaklaşımını tüm testlerde hayata geçirmeniz dileğiyle, keyifli testler.

Koray YİTMEN

Close Menu