Yazılım testi, ürünlerin canlıya alınmadan önce “Hataları (Bug)” tespit etmek ve kalitesini artırmak için yapılan en kritik süreçtir. Testler, Birim, Entegrasyon (modüller arası uyumsuzlukları arar) ve Sistem testleri gibi seviyelere veya Alfa/Beta gibi yapılış zamanlarına göre sınıflandırılır. Geliştirme aşamasında “Kutu Yaklaşımları” büyük önem taşır; örneğin kodun en ince ayrıntılarına kadar (detaylı) inen testlere Beyaz Kutu (White-Box), kod yapısı bilinmeden sadece girdilere ve çıktılara bakılan testlere ise Kara Kutu testleri denir. Modern çevik (Agile) ortamlarda ise, geliştiricinin kodu yazmadan önce testi (senaryoyu) yazdığı “Test Güdümlü Geliştirme (TDD)” yaklaşımı popülerdir. Tüm bu testleri hızlandırmak için kurulan Test Otomasyon sistemlerinin ise, yazılım değiştikçe kendisinin de değişmesi gerektiği için “hiç güncellenmeyen kararlı bir sürüme” sahip olması beklenemez.
Kalite Metrikleri, Organizasyon ve Gözden Geçirme
Yazılım dünyasında standartları belirleyen en büyük kurumlardan biri olan ISTQB, Türkiye’deki kolu olan TTB (Turkish Testing Board) aracılığıyla sınavlar yapar ve sektörü bilgilendirir (ancak ticari yazılım üretmez). Organizasyon şemasında Test Yöneticisi strateji ve bütçe yaparken, Test Uzmanı sahada test verilerini (data) hazırlar ve testleri koşturur. Bir ürünün “kullanım bağlamı”na (Örn: Havlu-Banyo eşleşmesi gibi) uygunluğunu ölçen SUMI (Kullanılabilirlik Ölçüm Envanteri) Verimlilik, Etki, Hakimiyet gibi alt başlıklara bakar. Tasarım aşamasında Nesne Yönelimli Yazılımların kalitesi, “Sınıfın Tetiklediği Metot Sayısı” olarak bilinen RFC veya “Kalıtım Ağacı Derinliği” gibi spesifik CK metrikleriyle ölçülür (LOC/Kod Satır Sayısı ise geleneksel bir metriktir). Ayrıca ürün kodlanmadan önce, Yazar, Yönetici ve Kaydedici gibi rollerin yer aldığı resmi “Gözden Geçirme (Formal Review)” toplantıları yapılarak mimari hatalar önceden önlenebilir; bu toplantılarda senaryolara, rollere veya bakış açılarına dayalı teknikler kullanılır.
25 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 1
Aşağıdakilerden hangisi ISTQB’nin yapmakta olduğu özelleşmiş testlerde kontrol edilen bir metriktir?
CDoğru cevap
Açıklama
ISTQB Sertifikasyon programında temel seviyenin dışında “Uzmanlık (Specialist)” seviyesi testler bulunmaktadır. Bu özelleşmiş test alanlarından biri de “Performans Testi Uzmanlığı (Performance Testing)”dır. Performans testlerinde sistemin tepki süresi, kaynak kullanımı ve işlem hacmi gibi performans karakteristikleri/metrikleri kontrol edilir.
Soru 2
Bir yazılım test otomasyonunun kararlı bir sürüme sahip olmasının gerekli olmama nedeni aşağıdakilerden hangisidir?
EDoğru cevap
Açıklama
Yazılımlar yaşayan sistemlerdir; zaman içinde müşteri gereksinimleri, arayüzler ve iş kuralları sürekli değişir ve güncellenir. Test otomasyon kodlarının (script’lerinin) da bu değişimlere ayak uydurarak sürekli güncellenmesi gerekir. Bu nedenle test otomasyonunun sabit ve hiç değişmeyen “kararlı (stabil) bir nihai sürüme” sahip olması beklenmez, yazılımla birlikte evrimleşir.
Soru 3
Modüller arasındaki uyumsuzluktan kaynaklanan riskler aşağıdaki isimlerin hangisi ile ifade edilmektedir?
ADoğru cevap
Açıklama
Yazılım mühendisliğinde farklı modüllerin veya bileşenlerin bir araya getirildiğinde (birleştirildiğinde) aralarındaki veri alışverişi ve uyumsuzluklardan kaynaklanan hata risklerine “Entegrasyon (Bütünleştirme) Riskleri” adı verilir. Bu riskleri azaltmak için Entegrasyon Testleri (Integration Testing) uygulanır.
Soru 4
Aşağıdakilerden hangisi bir kurumdaki test araçlarının değerlendirilmesi, uyarlanması, dağıtımı ve desteğinin devam etmesi için başarı faktörleri arasında yer almaz?
DDoğru cevap
Açıklama
Kuruma yeni bir test aracı (tool) kazandırılmasının başarı faktörleri arasında; süreçleri araca uyarlamak, kullanıcılara eğitim/destek vermek, fayda analizi yapmak ve geri bildirim toplamak yer alır. Ancak “Her testi birçok kez gerçekleştirmek”, bir test aracının kurumsal entegrasyonu ve yönetim başarısıyla doğrudan ilgili stratejik bir faktör değildir; sadece teknik bir test çalıştırma eylemidir.
Soru 5
Aşağıdakilerden hangisi bir yazılım testinin sınıflandırma şekillerinden biri değildir?
ADoğru cevap
Açıklama
Yazılım testleri genellikle Test Seviyelerine (Birim, Entegrasyon, Sistem vb.), Test Amaçlarına/Tiplerine (Fonksiyonel, Fonksiyonel olmayan) ve Yapılış Zamanlarına (Alfa, Beta) göre sınıflandırılır. “Uygulandığı modül” genel bir test sınıflandırma metodolojisi (başlığı) değil, sadece testin hedef aldığı (kapsadığı) spesifik bir birimdir.
Soru 6
Kalite maliyetleri genel olarak “tespit etme maliyetleri” ve “önleme maliyetleri” olarak gruplandırılabilir.
Burada tespit edilen veya önlenen en önemli eleman aşağıdakilerden hangisidir?
EDoğru cevap
Açıklama
Kalite Maliyetleri (Cost of Quality) teorisinde, iyi kalitenin maliyeti (önleme ve tespit/değerlendirme) ile kötü kalitenin maliyeti (iç ve dış başarısızlık) olmak üzere temel gruplar vardır. Test ve kalite süreçlerinde asıl önlenmeye çalışılan (gözden geçirmelerle) veya tespit edilmeye çalışılan (test koşumlarıyla) temel unsur “Hata (Defect/Bug)”dır.
Soru 7
Aşağıdakilerden hangisi kalite kavramı ile ilgili doğru bilinen yanlışlardan biri değildir?
BDoğru cevap
Açıklama
Kalite uzmanı Philip Crosby’nin kalite hakkındaki “5 Yanlış Varsayımı (Doğru bilinen yanlışlar)” şunlardır: 1-Kalite iyilik, lüks demektir. 2-Kalite soyuttur ve ölçülemez (A). 3-Kalitenin bir ekonomisi vardır, pahalıdır (C). 4-Kalite problemlerini çalışanlar yaratır (D). 5-Kalite sadece kalite departmanından çıkar (E). “Kalitenin tanımlanması mümkün değildir” şeklindeki B şıkkı bu spesifik klasik liste (Crosby’nin listesi) içinde ayrı bir madde olarak doğrudan geçmez (A maddesinin bir türevidir).
Soru 8
Aşağıdakilerden hangisi doğrudan yazılım testinde kullanılan veriler ile ilgili bir testtir?
DDoğru cevap
Açıklama
Dönüşüm Testi (Conversion Testing veya Veri Göçü Testi), mevcut bir sistemden yeni bir sisteme geçiş yapıldığında, eski verilerin (data) yeni sisteme doğru, eksiksiz ve formata uygun bir şekilde aktarılıp aktarılmadığını (dönüştürülüp dönüştürülmediğini) kontrol eden veri odaklı bir test türüdür.
Soru 9
Klasik bir gözden geçirme sürecinde aşağıdaki rollerin hangisi yer almamaktadır?
BDoğru cevap
Açıklama
ISTQB standartlarına göre resmi bir Gözden Geçirme (Formal Review) sürecindeki temel roller şunlardır: Yönetici (Manager), Moderatör (Facilitator), Yazar (Author), Gözden Geçiriciler (Reviewers) ve Kaydedici/Yazman (Scribe). “Analist” (Analyst) diye standartlaştırılmış spesifik bir inceleme süreci rolü yoktur.
Soru 10
Aşağıdakilerden hangisi TTB’nin faaliyetleri arasında yer almamaktadır?
BDoğru cevap
Açıklama
TTB (Turkish Testing Board – Yazılım Test ve Kalite Derneği), Türkiye’deki yazılım testi standartlarını belirlemek, ISTQB müfredatlarını Türkçeye çevirmek ve sertifika sınavları (CTFL vb.) düzenlemekle görevli bağımsız bir kurumdur. Kendisi bir yazılım evi olmadığı için “Yapılan yazılımların çeşitlendirilmesi” gibi bir ticari yazılım üretim/geliştirme hedefi yoktur.
Soru 11
Aşağıdaki “bir ürün ve o ürünün kullanım bağlamı” eşleştirmelerinden hangisi uygun bir eşleştirme değildir?
DDoğru cevap
Açıklama
Kullanım bağlamı (Context of Use), bir ürünün hangi ortamda ve şartlarda tasarlandığı ve kullanıldığıyla ilgilidir. ATM sokakta (banka önünde), havlu banyoda, bistüri ameliyathanede, yazılım ise bilgisayarda kullanılır. Ancak kitaplar genellikle okul, kütüphane, çalışma odası gibi yerlerde kullanılır; spesifik olarak bir yemek tarifi kitabı hariç “Mutfak” genel bir kitap kullanım bağlamı için uygun/standart bir eşleştirme değildir.
Soru 12
“Bir sınıf içerisinde yer alan kalıtımdan gelen metot sayısı ile metot sayısının toplamıdır.”
Yukarıdaki şekilde tanımlanan metrik aşağıdaki kısaltmaların hangisi ile ifade edilmektedir?
DDoğru cevap
Açıklama
Nesneye yönelik tasarım metriklerinden olan RFC (Response for a Class – Sınıfın Yanıt Seti/Tetiklediği Metot Sayısı), bir sınıftaki nesnenin alabileceği mesajlara karşılık olarak çalıştırılabilecek tüm metotların kümesidir. Bu da basitçe, o sınıfın kendi içinde tanımladığı yerel metotlar ile kalıtım yoluyla dışarıdan kullanabileceği/çağırabileceği metotların toplamı olarak tanımlanır.
Soru 13
Yazılım Kullanılabilirlik Ölçüm Envanteri’nde aşağıdaki başlıkların hangisi ele alınmaz?
BDoğru cevap
Açıklama
Yazılım Kullanılabilirlik Ölçüm Envanteri (SUMI – Software Usability Measurement Inventory), kullanıcı memnuniyetini 5 alt ölçekte değerlendirir: Verimlilik (Efficiency), Etki (Affect), Yardımcılık (Helpfulness), Hakimiyet/Kontrol (Control) ve Öğrenilebilirlik (Learnability). “Analitiklik” bu envanterde ölçülen boyutlardan biri değildir.
Soru 14
Aşağıdakilerden hangisi bir birim testi çeşidi değildir?
CDoğru cevap
Açıklama
Birim testleri (Unit Testing), kodun en küçük fonksiyonlarını izole olarak test eder (Sınır koşulları, bağımsız yollar vb. teknikler kullanılır). Ancak “Big-Bang (Büyük Patlama)” testi, tüm modüllerin aynı anda bir araya getirilip sistemin tek seferde entegre edildiği bir “Entegrasyon Testi (Integration Testing)” yaklaşımıdır; birim testi çeşidi değildir.
Soru 15
Geliştirilecek yazılımla ilgili, kodlardan önce test senaryolarının yazıldığı yaklaşıma verilen ad aşağıdakilerden hangisidir?
EDoğru cevap
Açıklama
Çevik (Agile) yazılım geliştirme metodolojilerinde sıkça kullanılan, yazılımcının henüz asıl üretim kodunu yazmadan önce başarısız olacak birimleri/test senaryolarını yazdığı, ardından bu testi geçecek kadar kod yazdığı yaklaşıma “Test Güdümlü Geliştirme” (Test-Driven Development – TDD) adı verilir.
Soru 16
Kutu yaklaşımları ile ilgili aşağıdakilerden hangisi yanlıştır?
ADoğru cevap
Açıklama
Beyaz kutu (White-box / Glass-box) testleri, yazılımın kaynak koduna, iç mimarisine, döngülerine ve veri yapılarına (statement, branch coverage vb.) girilerek yapılan “en detaylı” testlerdir. Bu nedenle A şıkkındaki “detaysız testlerdir” ifadesi beyaz kutu testlerinin doğasına tamamen zıttır ve yanlıştır. (Not: B şıkkı da teknik olarak problemli olsa da A şıkkı tanımın tam tersidir).
Soru 17
“…. dayalı gözden geçirme bir gözden geçirme türüdür.”
Yukarıdaki cümledeki boşluğa aşağıdakilerden hangisi getirilemez?
CDoğru cevap
Açıklama
ISTQB müfredatında Gözden Geçirme Teknikleri (Review Techniques) şunlardır: Doğaçlama (Ad-hoc), Kontrol listesine dayalı (Checklist-based), Senaryolara ve provalara dayalı (Scenarios and dry runs), Role dayalı (Role-based) ve Bakış açısına dayalı (Perspective-based). Gözden geçirmenin kendisi zaten bir tekniktir, bu yüzden “Tekniğe dayalı” diye ayrı bir alt tür isimlendirmesi kullanılmaz.
Soru 18
Aşağıdakilerden hangisi bir mimarî ve/veya tasarım hatası değildir?
CDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
Mimari/tasarım hataları tasarım aşamasında ortaya çıkar: komutların yanlış sırada kullanılması, eksik inceleme, zayıf iş süreci tasarımı, belirtilmemiş veri sınıfları gibi. Yazılımın müşterinin bilgisayarında çalışmaması ise ortam/uyumluluk sorunudur, tasarım hatası değildir.
Soru 19
Aşağıdakilerden hangisi Nesneye Yönelik Kod Metrikleri arasında yer almaz?
ADoğru cevap
Açıklama
Nesne Yönelimli Tasarım (Chidamber & Kemerer / CK) metrikleri; Sınıfın Ağırlıklı Metot Sayısı (WMC), Alt Sınıf Sayısı (NOC), Kalıtım Ağacı Derinliği (DIT) ve Sınıfın Tetiklediği Metot Sayısı (RFC) gibi spesifik ölçümlerden oluşur. “Kod Satır Sayısı (LOC – Lines of Code)” ise nesne yönelimli olmayan, geleneksel ve yapısal yazılımlarda da kullanılan en eski (klasik) genel boyut metriğidir.
Soru 20
Aşağıdaki şıklarda verilen görevlerin hangisi test uzmanının görevidir?
EDoğru cevap
Açıklama
ISTQB standartlarına göre yazılım test süreçlerindeki roller genel olarak “Test Yöneticisi (Test Manager)” ve “Test Uzmanı (Tester)” olarak ikiye ayrılır. Test stratejisini belirlemek, metrik oluşturmak, bütçe hazırlamak ve kariyer gelişimi sağlamak Test Yöneticisinin (Liderin) görevidir. Test senaryolarını yazmak, koşturmak ve “Test verilerini (test data) hazırlayıp elde etmek” ise sahada operasyon yapan Test Uzmanının temel görevidir.
Soru 21
Bir yazılımda kodun bir bölümünde değişiklik veya düzeltme yapıldıktan sonra, bu değişikliğin yazılımın daha önce çalışan (ve test edilmiş) diğer bölümlerini bozup bozmadığını kontrol etmek amacıyla yapılan test türü aşağıdakilerden hangisidir?
BDoğru cevap
Açıklama
Regresyon (Gerileme) testi, yazılıma yeni bir özellik eklendiğinde veya bir hata (bug) düzeltildiğinde, bu yeni kodun sistemin mevcut ve sorunsuz çalışan eski özelliklerini “istemeden de olsa bozup bozmadığını (geriletip geriletmediğini)” doğrulamak için yapılan çok kritik bir testtir. Test otomasyonları en çok bu test türü için kullanılır.
Soru 22
Yazılım test prensiplerinden olan ve “Sistemde bulunan hataların yüzde 80’inin, kod modüllerinin sadece yüzde 20’lik belirli bir kısmında yoğunlaştığını” ifade eden kural aşağıdakilerden hangisidir?
DDoğru cevap
Açıklama
ISTQB test prensiplerine göre “Hatalar belirli yerlerde kümelenir (Defect Clustering)”. Bu durum ekonomideki meşhur 80/20 Pareto İlkesine dayanır. Yazılımın karmaşık olan veya kötü yazılan küçük bir bölümü, çıkan tüm hataların (bugların) büyük çoğunluğunu oluşturur. Test uzmanları bu yüzden risk odaklı olarak bu “sorunlu” yüzde 20’ye odaklanmalıdır.
Soru 23
Bir yazılım test sürecinde, “Test Ortamı”nın (Test Environment) üretim (canlı) ortamıyla aynı konfigürasyona ve verilere sahip olmamasından dolayı karşılaşılabilecek en büyük risk aşağıdakilerden hangisidir?
CDoğru cevap
Açıklama
Test ortamı, ürünün canlıya (Production) çıkacağı ortamın fiziksel, ağ ve veri tabanı olarak birebir aynısı (veya klonu) olmalıdır. Aksi takdirde, yazılım test ortamında (farklı işletim sistemi veya RAM kapasitesinde) sorunsuz çalışsa bile, müşteri ortamında çöker. Bu tip hatalara “Benim bilgisayarımda çalışıyordu (Works on my machine)” sorunu denir.
Soru 24
Kara kutu (Black-box) test tasarım tekniklerinden biri olan ve test edilecek değerlerin sınır noktalarındaki (maksimum, minimum veya sınırın hemen altı/üstü) davranışları kontrol ederek en fazla hatayı bulmayı amaçlayan teknik aşağıdakilerden hangisidir?
ADoğru cevap
Açıklama
Yazılım hataları çoğunlukla girdilerin limit (sınır) noktalarında ortaya çıkar (Örneğin, şifre en az 8, en fazla 15 karakter olmalı şartında; 7, 8, 15 ve 16 değerlerinin test edilmesi). Hata bulma ihtimali en yüksek yerler bu geçiş noktaları olduğu için uygulanan bu test tekniğine “Sınır Değer Analizi” denir.
Soru 25
Yazılım projesinde, kodların müşteri tarafındaki “Son Kullanıcılar” tarafından, canlıya alınmadan hemen önce gerçek iş senaryoları ve kendi verileriyle test edildiği aşama aşağıdakilerden hangisidir?
DDoğru cevap
Açıklama
Yazılım Geliştirme Yaşam Döngüsü (SDLC) içinde, test seviyeleri V-Model’e göre sırasıyla: Birim -> Entegrasyon -> Sistem -> Kabul Testleri şeklinde ilerler. En son aşamada yer alan “Kullanıcı Kabul Testi (UAT)”, yazılım firması (testerlar) tarafından değil, yazılımı satın alan “Müşteri / Son Kullanıcı” tarafından yapılarak ürünün işe yarayıp yaramadığına (onayına) karar verilen aşamadır.