Minik Bir Yazılım Projesi Simülasyonu -6 — İlk Test Sonuçları

Kadir Çamoğlu
6 min readDec 12, 2022

--

Eğer yazının ilk bölümünü okumadıysanız mutlaka buraya tıklayarak okuyun.

***

Minik yazılım projesi simülasyonumuzda “Bil Bakalım Kaç” oyunumuzun test aşamasındayız. Test senaryolarımızı hazırladık. Oyun test ortamına yüklendi. Biz de test yapıyoruz.

***

Yazılımımız teste hazır. Test uzmanı olarak yapmanız gereken şey, test ortamına girerek senaryolara uygun şekilde testleri gerçekleştirmek.

Hadi şimdi birlikte testleri yapalım.

İlk olarak bir browser açıp adres çubuğuna https://scratch.mit.edu/projects/735918687 bağlantısını yazalım ve [ENTER] tuşuna basalım.

İlk olarak sayfayı yüklediğimizde yukarıdaki gibi bir görüntüyle karşılaşıyoruz. Dakka bir gol bir!

Belki siz de fark ettiniz. Hatırlarsanız analistin test uzmanı ve yazılımcıyla yaptığı toplantıda oyunun Scratch ortamına yüklenmesi aşamasında iki bilginin (yukarıdaki şekildeki 4 ve 5 no’lu metinler) lazım olduğu ortaya çıkmıştı. Daha sonra analist bu bilgileri edindi ve yazılımcıya verdi. Ancak biz bu bilgilere yönelik hiçbir test senaryosu yazmadık!

Neyse, zararın neresinden dönülürse kârdır. Hemen notumuzu alıyoruz. Bu iki metin için de senaryo yazacağız.

BULGU 1: Oyunun başlangıç ekranındaki “Talimatlar:” ile “Notlar ve Emeği Geçenler:” metinleri için test senaryosu yazılacak.

Ekrandaki 1 ve 2 no.lu yeşil bayrakların ikisinin de görevi aynı: oyunu başlatmak. Şimdi yeşil bayrağa basalım ve oyunu başlatalım. Böylece 1 no.lu test senaryomuzu sınamış olacağız.

TS-01 — Oyunda kukla olarak Scratch kedisi kullanıldığını doğrula.

TS-02- Yeşil bayrağa basıldığında oyunun başladığını, MSJ-1'in 3 saniyeliğine görüldüğünü ardından tahmin girilene kadar MSJ-2'nin görüntülendiğini ve tahmin giriş kutucuğunun ekranında altında aktif olduğunu doğrula.

Yeşil bayrağa bastık. Oyun başladı. Ekranda mesaj göründü. Kedimizi gördük. Mesajı tablodan kontrol ettik, doğru görünüyor. Üç saniye bekledik.

Üç saniye sonra mesajın değiştiğini mesajlar tablosundaki iki numaralı mesajın görüntülendiğini gördük. Olması gereken de buydu ama yazılımcı metni yazarken ilk harfi büyük yazmayı atlamış. Yani bir bulgumuz daha oldu.

BULGU 2: Oyun başladıktan sonra gösterilen mesaj metninde (MSJ-2) “lütfen …” küçük “l” ile yazılmış, büyük “L” ile yazılması gerekiyor.

Böylece 1 ve 2 no’lu test senaryomuzu tamamlamış olduk. Şimdi geçelim TS-03'ye.

TS-03- Oyun başladığında (yeşil bayrak tıklandığında) yazılımın 1–100 aralığında rastgele bir sayı tuttuğunu doğrula.

Şimdi sizden bu senaryoya biraz bakmanızı istiyorum. Bunu nasıl doğrulayabiliriz? Ya da bir hata varsa, bunu nasıl bulabiliriz? Oyunun yapısı gereği yazılım bir sayı tutuyor ve bunu göstermiyor. Göremediğimiz bir sayının 1–100 arasında ve de rastgele olduğunu nereden bilebiliriz?

Bir sonraki paragrafa geçmeden buna biraz kafa yorun.

***

Eğer çok zorlarsak, oyunu oynayıp, sayıyı bulduğumuzda kenara not alabiliriz. Oyunu defalarca oynayıp (10–100 kez) bu sayıların 1–100 aralığında olup olmadığını ve rastgele olup olmadığını sınayabiliriz. Ama bu gerçekten çok zaman alıcı ve yorucu bir iş olur.

Daha pratiği şu olur: Yazılımcıdan tuttuğu sayıyı geçici olarak ekranda göstermesini rica ederiz. Elbette yazılımcı oyunun teslimi sırasında bu değişkenin görüntülenmesini sona erdirmelidir. İşte size çözüm. Şimdi oyunu her saniye yeniden başlatıp birkaç dakika içinde yüzlerce kez tuttuğu sayıyı görme imkânınız var.

Elbette bunu yazılımın bu versiyonunda yapmamız mümkün değil. Bu isteğimizi yazılımcıya ileteceğiz. O yeni bir sürüm oluşturacak. Bunu test ortamına yükleyecek. Ancak ondan sonra bu dediğimizi yapabileceğiz. O yüzden test yapmak yerine bulgu yazarak devam edelim.

BULGU 3: Oyunda tutulan sayının 1–100 arasında rastgele bir sayı olduğunu bu haliyle test etmek efektif değil. Yazılımcı tutulan sayıyı test amaçlı olarak ekranda gösterebilir ya da başka bir çözüm geliştirebilir!

Sıra geldi senaryo 4'e.

TS-04- 1–100 dışında geçersiz bir değer girildiğinde yazılımın önce MSJ-3 hata mesajını 3 saniyeliğine gösterdiğini sonra da MSJ-2'yi ve tahmin giriş kutucuğunu (ekranın altında) gösterdiğini doğrula.

Bu testi yapabilmemiz için öncelikle bir dizi geçersiz değer bulmamız lazım. Geçerli olan değerler 1–100 arasındaki sayılarsa, bunun dışında kalan sayılar, boşluk, harfler, kelimeler, özel işaretler geçersiz değer anlamına gelir. Peki bunların hepsini mi test edeceğiz? Elbette hayır. Eğer öyle yaparsak sonsuza kadar test yapmamız gerekebilir. Böyle bir testi efektif bir şekilde yapmak için öncelikle geçersiz sayıları belirli kümelere ayıralım:

- 100'den büyük sayılar

- 0'dan küçük sayılar

- Boşluk

- Harfler

- Kelimeler

- Özel işaretler

Şimdi her bir kümeyi temsilen birkaç tane örnek değer alalım ve tahmin olarak giriş yaparak MSJ-3 hata mesajını görebiliyor muyuz ve 3 saniye sonra bizden yeni değer girmemiz isteniyor mu bakalım.

- 100'den büyük sayılar. (101, 234)

- 0'dan küçük sayılar (-1, -10)

- Boşluk (tek boşluk, direkt [ENTER], iki boşluk)

- Harfler (a, b, ç, ö)

- Kelimeler (Ali, veli)

- Özel işaretler (“@”, “?”, “=”, “.”)

Yukarıda 17 farklı girdi ve bunun üzerine aklınıza gelen birkaç daha geçersiz girişle hatalı giriş kontrolünü yaptınız. Hepsinde de önce MSJ-3 hata mesajını ve sonra da giriş alanıyla birlikte MSJ-2'yi gördünüz. Burada bir sorun yok.

Ancak şöyle bir şey fark ettiniz. Hata mesajı sonrasında yeniden girişe kadar olan bekleme zamanı, istendiği gibi 3 saniye olmasına rağmen, özellikle de böyle tekrarlı hatalı denemelerde insana biraz uzun gibi geliyor. Bu durum net bir hata değil. Hatta tam tersine gereksinim aynen karşılanmış. Ancak siz yine de test uzmanı olarak bunu not alın. Belki değerlendirilir ve öneri olarak ele alınarak yeni versiyonda güncellenir.

BULGU 4: Hatalı giriş sonrası 3 sn bekleme uzun bir süre olarak hissediliyor.

Bundan sonraki 3 test senaryosunu hakkıyla işletebilmek için de yazılımın tuttuğu sayıyı görmemiz gerekiyor. Aksi taktirde gerçekten bildik mi, girdiğimiz sayı tutulandan küçük mü yoksa büyük mü bilmemiz mümkün olmayacaktır.

TS-05- Kullanıcının yazılımın tuttuğundan küçük bir sayı girmesi durumunda yazılımın 3 saniyeliğine MSJ-5'i ve ardından MSJ-2'yi ve tahmin giriş kutucuğunu görüntülediğini doğrula. TS-06- Kullanıcının tutulandan büyük bir sayı girmesi durumunda 3 saniyeliğine MSJ-5'in ve ardından MSJ-2'nin ve tahmin giriş kutucuğunun görüntülediğini doğrula. TS-07- Kullanıcının tutulan sayıyı bilmesi durumunda yazılımın 3 saniyeliğine MSJ-4'ü gösterdiğini ve ardından oyunun sonlandığını doğrula. (Geri sayım durmalı, yeni sayı girişi olmamalı ve oyun başlatma/bitirme butonlarının görünümü oyunun çalışmadığını doğrulamalı.)

***

Bu durumda birinci test koşma sürecimiz tamamlanmış oldu. Bu noktadan sonra yazılımı sınamak için test uzmanının yapabileceği bir şey yok. Test uzmanımız bulgularını iş analisti ve yazılımcı ile paylaşacak ve sonraki aksiyonlar buna göre belirlenecek.

Şimdi bulguları toparlayıp ilgili toplantıyı yapalım.

- BULGU 1: Oyunun başlangıç ekranındaki “Talimatlar:” ile “Notlar ve Emeği Geçenler:” metinleri için test senaryosu yazılacak.

- BULGU 2: Oyun başladıktan sonra gösterilen mesaj metninde (MSJ-2) “lütfen …” küçük “l” ile yazılmış, büyük “L” ile yazılması gerekiyor.

- BULGU 3: Oyunda tutulan sayının 1–100 arasında rastgele bir sayı olduğunu bu haliyle test etmek efektif değil. Bu eksiklik küçük/büyük tahmin girişi ve tutulan sayının bilinmesi senaryolarının test edilmesini de engelliyor. Yazılımcı tutulan sayıyı test amaçlı olarak ekranda gösterebilir ya da başka bir çözüm geliştirebilir!

- BULGU 4: Hatalı giriş sonrası 3 sn bekleme uzun bir süre olarak hissediliyor.

Test Bulgularının Değerlendirilmesi ve Düzeltilmiş Yeni Versiyonun Teste Açılması

(Burada yine analist rolüne geri dönüyoruz.)

Bulguları test uzmanı ve yazılımcı ile değerlendirdiniz. Test uzmanı 1 no’lu bulgu için test senaryolarına iki madde daha eklemeye karar verdi. Yazılımcı bulgu 2 ile ilişkili düzeltme yapacağını ve bulgu 3 için de ekranda tutulan sayıyı göstereceğini söyledi. Bulgu 4 analist olarak sizin sorumluluğunuz. Bunu müşteriyle görüşüp bir sonuca bağlayabilirsiniz. Ancak müşteri ekranı ve uygulamayı henüz görmediği için karar veremeyecektir. Bu nedenle bu bulguyu müşteri ile yapılacak kabul testlerinde gündeme getirmeye karar veriyorsunuz.

Test uzmanı test senaryolarına iki tane yeni madde ekliyor:

TS-08 — Oyunun giriş ekranındaki talimatlar metnini doğrula. TS-09 — Oyunun giriş ekranındaki Notlar ve Emeği Geçenler metnini doğrula.

Yazılımcı da gerekli güncellemeleri yapıyor ve yazılımın yeni versiyonunu test için Scratch ortamına yükleyip bağlantıyı sizinle paylaşıyor.

https://scratch.mit.edu/projects/736065068

Originally published at https://www.linkedin.com.

--

--

Kadir Çamoğlu
Kadir Çamoğlu

Written by Kadir Çamoğlu

Kadir Çamoğlu (Ph.D., Computer Engineering) is a problem solver, consultant, teacher, author, practitioner, and architect of system and software solutions.

No responses yet