Yazılım Test Süreçleri

Konfigürasyon ve GUI Testi

Dr. Öğr. Üyesi Oğuz Emre Kural

2026

Konfigürasyon ve GUI Testi

  • Bir sistemin test edilmesi, hatasız ve kaliteli bir ürün sağlamak amacıyla yapılır.
  • Bir sistem, piyasaya sürülmeden önce çeşitli testlerden geçer.
  • Bu derste, konfigürasyon testi ve grafiksel kullanıcı arayüzü (GUI) testi üzerinde duracağız.
  • Bir sistemi test etmek, sistemin hem donanım hem de yazılım bileşenlerini içeren bir metodolojidir.
  • Sistem testi, kara kutu testinin kapsamına girer. Bu nedenle, sistem testinin yapılabilmesi için bir yazılım testçisinin yazılımın iç tasarımı ve kodu hakkında derinlemesine bilgi sahibi olması gerekmez.
  • Bu test, sistem içindeki hataları ve kod içerisindeki çeşitli bağlantılar (bileşenler) arasındaki hataları ortaya çıkarır.
  • Sistem testi kapsamında, test edilecek sistem kontrollü bir ortamda yapılandırılır.
  • Test ortamında gerçek yaşam senaryoları simüle edilir. Bu tür testler iki senaryoda tamamlanmış kabul edilir:
    • Gerçek sonuçlar ile beklenen sonuçlar eşleştiğinde,
    • Gerçek sonuçlar ile beklenen sonuçlar arasındaki farklar iyi bir şekilde açıklanıp müşteri girdisine dayanarak kabul edildiğinde.
  • Bu nedenle, sistem testi sistemin işlevselliğini keşfetme ve içindeki hataları belirleme süreci olarak kabul edilir.

Konfigürasyon Testi

  • Konfigürasyon testi, yazılımın desteklenen tüm yazılım, ağ ve işletim sistemi koşullarında test edilmesi sürecidir.
  • Konfigürasyon testi, bir yazılım testçisine verilen ilk test görevlerinden biridir.
  • Bir testçi olarak, yazılımın tüm olası donanım kombinasyonlarında sorunsuz çalıştığından emin olmanız gerekir.

Farklı Platform Gereksinimleri

  • Bir yazılım için işletim sistemi, donanımlar, veri tabanları gibi farklı konfigürasyon seçenekleri mevcut olabilir.
    • Win 11, macOS Sequoia, Android 15, iOS 18…
    • PostgreSQL, MongoDB v7, Redis, Supabase…
    • Chrome (Latest), Safari (iOS), Firefox Quantum, Edge Chromium…

Maliyet ve Fayda Analizi

Bilgi

Konfigürasyon testinin maliyeti oldukça düşüktür, ancak tekrar eden testler sayesinde sağladığı faydalar büyüktür. Bu nedenle, konfigürasyon testi her zaman maliyet etkin bir yöntem olarak kabul edilir.

Bilgi

Konfigürasyon testi, taşınabilirlik testi (portable testing) veya donanım uyumluluk testi (hardware compatibility testing) olarak da bilinir.

Konfigürasyon Testinin Önemi

  • Konfigürasyon testi hayati önem taşır çünkü insanlar uygulamalara erişmek için çok çeşitli cihazlar ve kurulumlar kullanır.
  • Konfigürasyon testi olmazsa ortaya çıkabilecek riskler:
    • Tutarsız kullanıcı deneyimi
    • Kaçırılan kitle segmentleri
    • İtibar kaybı
  • Konfigürasyon testi, ürününüzün genelinde tutarlı ve güvenilir bir deneyim sunmasını sağlar.

Konfigürasyon Testine Genel Bakış

  • Test edilmesi gereken farklı donanım konfigürasyon elemanları
    • Üreticiler
    • Bileşenler
    • Çevre Birimleri
    • Arayüzler
    • Bellekler
    • Aygıt Sürücüleri

Üreticiler

  • Bilgisayar üreticileri, ya kendi bilgisayarlarını tasarlarlar ya da bilgisayarı oluşturmak için belirli bileşenleri üçüncü taraf üreticilerden temin ederler.
  • Bazı kullanıcılar ise piyasada bulunan hazır bileşenleri bir araya getirerek kendi bilgisayarlarını oluştururlar.
  • Farklı üreticilerin donanımları arasında uyumluluk farkları olabileceği için, test senaryolarında bu çeşitlilik göz önünde bulundurulmalıdır.

Bileşenler

  • Bilgisayarlar, sistem kartları, bileşen kartları, ağ kartları, disk sürücüleri, grafik kartları, ses kartları, giriş/çıkış kartları gibi çeşitli bileşenlerden oluşur.
  • Ayrıca, ileri düzey kullanım için daha özelleşmiş donanım bileşenleri de bulunur.

Çevre Birimleri

  • Yazıcılar, tarayıcılar, fareler, klavyeler, monitörler, faks modemler, kameralar ve joystickler gibi harici donanım aygıtları, çevre birimleri olarak bilgisayara bağlanır.

Arayüzler

  • Arayüzler (Portlar ve Bağlantı Tipleri), çevre birimlerinin ve dahili bileşenlerin sisteme bağlandığı noktalardır (Örn: USB, HDMI, Bluetooth).

Bellekler

  • Günümüzde, farklı donanım seçenekleri ve bellek kapasitelerine sahip bileşenler ve çevre birimleri satın alınabilir.
  • Sistemlerin çalışma performansı bellek kapasitesine bağlı olarak değişiklik göstereceğinden, yazılımın farklı bellek sınırlarında (RAM limitlerinde) nasıl tepki verdiği test edilmelidir.

Aygıt Sürücüleri

  • Aygıt sürücüleri, donanım bileşenleri ile yazılım uygulamaları arasındaki iletişimi sağlayan yazılımlardır.

Konfigürasyon Hatalarını İzole Etme

  • Konfigürasyon testi gerçekleştirirken, konfigürasyon hatalarını izole etmek oldukça önemlidir.
  • Bir yazılım testçisinin, test sürecinde ortaya çıkabilecek yaygın hatalara karşı bilinçli olması gerekir.
  • Konfigürasyon hataları, farklı donanım yapılandırmalarına sahip farklı bilgisayarlarda benzer işlemler gerçekleştirilerek tespit edilir.
  • Konfigürasyon hatalarının tespit edilmesi yüksek maliyetli olabilir, bu nedenle bu hataların testin erken aşamalarında tespit edilmesine yönelik çaba sarf edilmelidir.

Görevin Kapsamını Belirleme

  • Konfigürasyon test süreçlerini kapsamlı bir şekilde yönetmek oldukça zorlu bir süreçtir.

  • Öncelikle, her bir test görevi için gerekli olan yazılım testçilerinin sayısı belirlenir.

  • Örneğin, Microsoft Windows işletim sisteminde bir oyun yazılımını test ettiğinizi düşünelim.

    • Örneğin, bir oyun yazılımını test ederken GPU performansı ve VRAM kullanımı kritiktir.
    • Bu nedenle, konfigürasyon testi; farklı ekran kartı mimarileri (NVIDIA RTX, AMD Radeon, Apple M-Serisi), yenileme hızları (60Hz, 120Hz, 144Hz) ve ağ gecikmesi (latency) dikkate alınarak gerçekleştirilir.

Yazılım Konfigürasyonunu Belirleme

  • Bir yazılım farklı donanımlarda, işletim sistemlerinde veya çevre birimleriyle çalıştırılabilir.
  • Hangi donanım ve yazılım bileşenlerinin test edileceğini belirlemek, test kapsamını doğru şekilde yönetmek için kritik öneme sahiptir.
  • Ancak, tüm olası konfigürasyonları test etmek pratik olarak imkansızdır.
  • İşte tam bu noktada eşdeğer bölümleme devreye girer.

Eşdeğer Bölümleme

  • Test sürecinde, yalnızca birbirinden farklı ve en önemli özellikler eşdeğer bölümleme (equivalence partitioning) yöntemi kullanılarak test edilir.

Eşdeğer Bölümleme Örnek

  • E-Ticaret Sitesinde Eşdeğer Bölümleme
  • Kullanıcılar indirim kuponu girebilir, ancak yalnızca 100 TL ve üzeri alışverişlerde geçerli.
  • Test Senaryoları:
    • Geçerli Değerler: 100 TL ve üzeri (100 TL, 150 TL, 500 TL)
    • Geçersiz Değerler: 100 TL altı (50 TL, 99 TL)
    • Sınır Değerler: 99 TL ve 100 TL

Kod Örneği

Eşdeğer Bölümleme: Tarayıcı Uyumluluk Testi Örneği

Kategori Örnek Platform / Motor Test Kapsamı
Chromium Chrome 130+, Edge 125+ Ana Kullanıcı Deneyimi
WebKit Safari 18 (macOS/iOS) Mobil & Apple Ekosistemi
Gecko Firefox 128+ Standart Uyumluluk
Düşük Kaynak Android Go, Chrome (Legacy) Performans & Erişilebilirlik

Her Konfigürasyonda Çalışabilecek Test Senaryolarını Tasarlama

  • Konfigürasyon testi senaryolarının tasarımında genellikle kara kutu test (black box testing) metodolojisinden yararlanılır.
  • Böylece testçi uygulamanın iç kodunu bilmeden sadece özelliklerine odaklanarak test senaryolarını önceden yazabilir.

Donanım Konfigürasyonunu Belirleme

  • Ürünler ve üreticileri hakkında iyi bir anlayışa sahip olmak, testçilerin donanım konfigürasyonunu belirlemesini sağlar.
  • Donanım konfigürasyonuna bağlı olarak eşdeğer bölütlemeler oluşturulur ve uyulması gereken standartlar belirlenir.
  • Apple, microsoft gibi firmalar farklı donanımlar testleri için gereken standartları yayınlayabilmektedir.

CI/CD Hatlarıyla Konfigürasyon Testlerinin Otomatikleştirilmesi

  • CI/CD, manuel test süreçlerini ortadan kaldırarak konfigürasyon uyumluluğunu sürekli test etmeyi mümkün kılar.
  • Her kod değişikliğinde, yazılımın farklı sistemlerde nasıl çalıştığını doğrulamak için testler otomatik olarak tetiklenir.

Örnek

Bir e-ticaret uygulaması için, farklı tarayıcılarda (Chrome, Firefox, Edge, Safari) ve mobil cihazlarda (Android, iOS) testler CI/CD sürecine entegre edilebilir.

Test edilebilecek bazı değişkenler:

  • İşletim Sistemleri:
    • Windows 10 & 11
    • macOS Sonoma
    • Ubuntu 22.04 & Debian
  • Donanım Kombinasyonları:
    • Intel vs. AMD İşlemciler
    • Farklı RAM (8 GB vs. 16 GB)
  • Tarayıcılar:
    • Chrome, Firefox, Edge, Safari

Containerization (Docker) ve Sanallaştırma ile Test Ortamlarını Yönetme

  • Docker ve sanallaştırma, test ortamlarının tutarlı ve izole olmasını sağlar.
  • CI/CD süreçlerinde, her test çalıştırıldığında temiz bir ortam kurulmasını garanti eder.
  • Mobil uygulamalar için Android Emulator & iOS Simulator kullanılabilir.

Örnek

Docker konteynerleri içinde PostgreSQL, Redis gibi bağımlılıkları barındırarak entegrasyon testleri yapılabilir.

Docker

Otomatikleştirilmiş Testlerle Hata Tespitini Hızlandırma

  • Popüler CI/CD Araçları:
    • Jenkins – Açık kaynak CI/CD otomasyon aracı
    • GitHub Actions – GitHub projeleri için CI/CD desteği
    • GitLab CI – YAML tabanlı pipeline yapılandırması

Örnek Actions Conf

name: Multi-Config Compatibility Test

on: [push, pull_request]

jobs:
  browser-test:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        # Farklı İşletim Sistemleri
        os: [ubuntu-latest, windows-latest, macos-latest]
        # Farklı Node.js Versiyonları (Konfigürasyon Değişkeni)
        node-version: [18.x, 20.x, 22.x]

    steps:
      - uses: actions/checkout@v4
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
      
      - name: Install and Run Tests
        run: |
          npm install
          npm test

Konfigürasyon Testinde İyi Uygulamalar

  • Anahtar konfigürasyonları belirleyin, ancak cihazlar, tarayıcılar ve işletim sistemleri genelinde geniş bir kapsam hedefleyin.
  • Konfigürasyonları öncelikleyin: En yaygın konfigürasyonlardan başlayarak ilerleyin, kademeli olarak daha az yaygın olanlara devam edin.

Konfigürasyon Testinde İyi Uygulamalar

  • Tekrarlayan görevleri otomatikleştirmek ve test sürecini hızlandırmak için otomasyon araçları kullanın.
    • BrowserStack, Global App Testing, Appium, Headspin
  • Sürekli uyumluluk sağlamak için yeni cihaz modelleri, işletim sistemi sürümleri ve tarayıcı güncellemeleri konusunda güncel kalın.

Özetle

  • Konfigürasyon testlerinin CI/CD’ye entegrasyonu, yazılımın farklı sistemlerde sorunsuz çalışmasını sağlar.
  • Docker ve sanallaştırma sayesinde test ortamları yönetilir, tutarlı sonuçlar elde edilir.
  • Jenkins, GitHub Actions, GitLab CI gibi araçlarla test süreçleri otomatikleştirilir ve hatalar erken tespit edilir.

Grafiksel Kullanıcı Arayüzü (GUI) Testi

  • Grafiksel Kullanıcı Arayüzü (GUI), bilgisayar veya elektronik bir cihazın kullanıcılarla etkileşim kurmasını sağlayan ön yüzüdür.
    • Bir yazılım ürünü, kullanıcılar tarafından kullanılmak üzere geliştirilir ve tasarlanır.
    • Ofis, ev veya okul gibi birçok ortamda farklı yazılımlar günlük olarak kullanılır.
    • Bu nedenle, yazılım ürünlerinin kullanılabilirliği test edilmelidir.
  • Bir yazılımın kullanılabilirliği (usability), işlevsellik ve kullanıcı ile etkili bir etkileşim sağlama yeteneği ile değerlendirilir.

    • Kullanılabilirlik, ergonomi ile benzer bir kavramdır.
    • Ergonomi, bir ürünün kullanımını kolaylaştıracak şekilde tasarlanmasını sağlayan bilim dalıdır.
  • Bir yazılım testçisi olarak, bir yazılımı ilk kez kullanan kişi olabilirsiniz.

  • Her yazılımın kullanılabilirliği farklıdır.

Ek bilgi

  • İlk bilgisayarlarda kullanıcı arayüzü olarak toggle switch’ler (anahtarlar) ve ampuller kullanılıyordu.
  • 1960’lar ve 1970’lerde delikli kartlar, teleks makineleri ve kağıt bantlar popüler kullanıcı arayüzleriydi.
  • Günümüzde GUI, modern teknolojilerde fiili standart (de facto) haline gelmiştir.

GUI Testi: Manuel mi, Otomatik mi?

  • GUI testleri manuel veya otomatik olarak yapılabilir.

  • Manuel GUI Testi:

    • Zaman alıcıdır ve otomasyon araçları kullanılmaz.
    • Ek araç gerektirmez.
  • Otomatik GUI Testi:

    • LoadRunner, WinRunner, QTP, Selenium, Cypress gibi test otomasyon araçları kullanılır.
    • Daha hızlı ve verimli test süreçleri sunar.

GUI Testi = Kullanılabilirlik Testi

  • GUI testleri genellikle Kullanılabilirlik Testi (Usability Testing) veya Kullanıcı Arayüzü Testi (User Interface Testing) olarak adlandırılır.

  • Amaç:

    • Ürünün kullanılabilirliğini ve erişilebilirliğini doğrulamak.
    • Piyasaya sürülmeden önce yazılımın test edilmesi.
    • Beta veya ön sürüm (pre-release) olarak kullanıcıların değerlendirmesine sunulması.
  • Kullanıcılar, yazılımı test eder ve performans hakkında geri bildirim verir.

GUI Test Aşamaları

GUI testi 4 ana aşamadan oluşur:

  • Düşük Seviye
  • Uygulama
  • Entegrasyon
  • Fonksiyonel olmayan

1. Düşük Seviye (Low-Level) Testler

  • Kontrol listesi testi
  • Navigasyon testi

2. Uygulama (Application) Testleri

  • Eşdeğer bölümleme
  • Sınır değer analizi
  • Karar tabloları
  • Durum geçiş testleri

3. Entegrasyon (Integration) Testleri

  • Masaüstü entegrasyonu
  • İletişim
  • Senkronizasyon

4. Fonksiyonel Olmayan (Non-Functional) Testler

  • Dayanıklılık testi (Soak Testing)
  • Uyumluluk testi
  • Platform/Çevre testleri

Modern GUI Test Standartları

  • Tutarlılık: Renk paleti, tipografi ve bileşenler (buttons, inputs) tüm sayfalarda tutarlı olmalıdır.
  • Duyarlılık (Responsiveness): Arayüzün farklı ekran boyutlarında (Mobil, Tablet, Masaüstü) bozulmadan çalışması.
  • Karanlık Mod (Dark Mode): Modern uygulamalarda karanlık/aydınlık mod geçişlerinde okunabilirlik test edilmelidir.
  • Hata Yönetimi: Hata mesajları sadece “Hata oluştu” değil, çözüm odaklı ve erişilebilir olmalıdır.
  • Otomatik Kayıt (Auto-save): Kullanıcıyı sürekli “Kaydet” butonuna basmaya zorlamayan, arka planda veri güvenliğini sağlayan yapılar test edilmelidir.
  • Erişilebilirlik (A11y): Ekran okuyucular için ARIA etiketleri ve klavye navigasyonu (Tab sırası) öncelikli olmalıdır.
  • Yükleme Durumları: Uzun süren işlemlerde “Skeleton Screen” veya progress bar kullanımı kontrol edilmelidir.

GUI Testleri İçin Dikkat Edilmesi Gereken 10 Kriter

  1. Kullanıcı dostu ve anlaşılır hata mesajları olup olmadığı test edilmeli.
  2. Gezinme testi, masaüstü ve mobil arasında tutarlı mı?
  3. Kullanıcı yardım içeriğini kolayca bulabiliyor mu?
  4. Renk kontrastı, yazı tipleri ve erişilebilirlik (WCAG uyumu) test edilmeli.
  5. Başlangıçtan bitişe kadar tüm gezinme senaryoları çalışıyor mu?

GUI Testleri İçin Dikkat Edilmesi Gereken 10 Kriter (Devam)

  1. Butonlar, metin kutuları, listeler gibi kontrol nesnelerinin işlevselliği.
  2. Kritik hatalar sistemin performansına zarar veriyor mu?
  3. Test süresi takip edilmeli. Otomasyon ile süreler optimize edilebilir mi?
  4. QA ekibi test senaryolarını anlayabiliyor mu? Dökümantasyon erişimi var mı?
  5. Test süreçlerinin düşük hata oranıyla tamamlanması.

Standartlar ve Yönergeler

  • Kaliteli bir yazılım ürünü elde etmek için standartlar ve yönergeler önemlidir.
  • Bu bölümde iyi bir kullanıcı arayüzünün 8 temel özelliğini değerlendireceğiz.

1. Standartlara ve Kılavuzlara Uygunluk

  • Her yazılım ürünü belirli standartlara ve yönergelere uymalıdır.
  • Örneğin: Windows platformunda çalışan bir yazılımın Windows UI standartlarına uygun olması beklenir.

2. Sezgisel Olma ve Donanım Uyumluluğu

  • Sezgisel bir arayüz, kullanıcının eğitimi olmadan sistemi kullanabilmesini sağlar. Ancak modern dünyada sezgisellik sadece “butonun yeri” değil, sistemin donanımla ne kadar uyumlu çalıştığıyla da ilgilidir.
  • Vaka Çalışması: Cyberpunk 2077 Lansmanı (2020)
    • Oyun, üst düzey PC’lerde harika çalışırken, alt segment konsollarda (PS4/Xbox One) ciddi performans sorunları yaşadı.
    • Sezgisel ve kaliteli bir deneyim, yazılımın desteklediği beyan edilen “en düşük” konfigürasyonda da çalışmasını gerektirir.

Örnek: Cyberpunk Lansman

  • Kullanıcı arayüzü test edilirken:
    • Kullanıcı arayüzü temiz, düzenli ve gereksiz bilgilerle karmaşık hale getirilmemiş olmalıdır.
    • Kullanıcıyı gereksiz detaylarla boğmadan, basit ve net bir arayüz sunulmalıdır.
    • Kullanıcı arayüzü mantıklı bir şekilde düzenlenmiş olmalı ve kolayca gezinebilir olmalıdır.
    • Kullanıcı, geri alma, iptal etme veya ileriye gitme seçeneklerine sahip olmalıdır.
  • Kullanıcı arayüzü test edilirken (Devam):
    • Aşırı işlevsellik kontrol edilmelidir. Yazılım, çok fazla işlevi tek bir alanda toplamaya çalışmamalıdır.
    • Yardım sistemi gerçekten işe yarıyor mu? Kullanıcı, sorun yaşadığında etkili bir yardım alabiliyor mu? Test edilmelidir.

3. Tutarlılık

  • Yazılım kendi içinde ve diğer yazılımlarla arayüz olarak tutarlı olmalıdır.
  • Bir programdan diğerine geçerken arayüz farklılıkları kullanıcıları rahatsız edebilir.
  • Kullanılabilirlik testi sırasında tutarlılık için şu kriterler göz önünde bulundurulmalıdır:
  • Terminoloji ve Adlandırma: Yazılımın farklı sürümlerinde aynı terimler ve özellik adlandırmaları kullanılmalıdır.
  • Kullanıcı Kitlesi: Yazılımın hedeflenen tüm kullanıcı seviyeleri (acemi, uzman) için uygun olup olmadığı değerlendirilmelidir.

4. Esneklik

  • Esneklik, kullanıcının işlemleri farklı yollarla gerçekleştirebilmesini sağlar.
  • Kullanıcıya, aynı işlemi birden fazla şekilde yapma seçeneği sunulmalıdır.
  • Örneğin hesap makinesinde hem normal hemde bilimsel gösterim.
  • Durum Geçişi: Esnek yazılımlar aynı işlevin yerine getirilebilmesi için daha fazla seçenek sunar.

  • Durum Sonlandırma ve İşlem Atlama: Gelişmiş kullanıcı modlarına sahip yazılımlar, kullanıcının çok sayıda pencereyi atlayarak doğrudan hedefe ulaşmasına olanak tanır.

    • Örn: Sesli yanıt sistemlerinde menüleri dinlemeden işlem yapmayı sağlayan doğrudan tuşlama veya dahili numaralar buna örnektir.
  • Veri giriş/çıkışı: Veri girişi (input) ve çıktı (output) yöntemleri, sadece manuel veri girişiyle sınırlı kalmamalı, farklı kaynaklardan veri almayı (import) ve çeşitli formatlarda çıktı vermeyi (export) içermelidir.
    • Örn: Kullanıcılar sadece klavye ile yazmak yerine, dosya içe aktarma (import), sesle giriş, sürükleyip bırakma (drag & drop) veya API aracılığıyla veri alma gibi seçeneklere sahip olmalıdır.

5. Konforlu Kullanım

  • Kullanıcı, yazılımı kullanırken rahat hissetmelidir.
  • Amaca Uygunluk: Yazılımın tasarımı, amacıyla uyumlu olmalıdır.
    • Arayüz, hem görsel olarak hem de işlevsellik açısından beklentileri karşılamalıdır.
  • Hata Yönetimi: Kullanıcı, kritik bir işlem yapmadan önce uygun şekilde uyarılmalıdır.
    • Hata mesajları açık ve yönlendirici olmalıdır.
    • Yanlış işlemler geri alınabilir veya kaybolan veriler kurtarılabilir olmalıdır.
    • Örn: Uyarılar, Geri al butonu

6. Performans

  • Performans yalnızca işlem hızına bağlı değildir, aynı zamanda sistemin hata yönetimi ve kullanıcı deneyimini nasıl yönettiğiyle ilgilidir.
    • Yoğun işlem gerektiren bir yazılım (örneğin video düzenleme programı), hata mesajlarını gecikmeden göstermeli ve çökmeleri önleyerek sistemi stabil tutmalıdır.

7. Doğruluk

  • Doğruluk testi, kullanıcı arayüzünün beklenen işlevleri doğru bir şekilde yerine getirip getirmediğini kontrol etmektir.
    • Örn: Bir yazılım yoğun bir işlem yürütüyorsa ve geçici olarak kullanıcı girişini kabul edemiyorsa, bunu uygun bir görsel geri bildirimle göstermelidir.

8. Kullanışlılık

  • Kullanıcı, belirlenen görevleri arayüz üzerinden başarılı ve hızlı bir şekilde tamamlayabilmelidir.
  • Sisteme eklenen özellikler sadece orada bulunmak için değil, kullanıcıların gerçek bir ihtiyacını karşılamak için var olmalıdır.

Erişilebilirlik Testi

  • Erişilebilirlik testi, yazılım ürününün engelli bireyler tarafından erişilebilir olmasını sağlamak için kullanılan bir test tekniğidir.
    • Görme engelliler, fiziksel engelliler ve işitme engelliler gibi farklı engel gruplarının yazılımı kullanabilmesini garanti altına alır.
    • Erişilebilirlik testi, engelli bireyler için yapılan testler olarak da bilinir.

Erişilebilirlik Testi Kategorileri

  • Erişilebilirlik testi, erişim zorlukları ve sorun türlerine göre dört gruba ayrılır:
    • Görme Engelleri
    • Motor Becerileri
    • İşitme Engelleri
    • Bilişsel Yetenekler

Görme Engelleri

  • Tam görme kaybı (körlük), görme kısıtlılığı ve renk körlüğü gibi görme engelleri olan kullanıcılar için yazılımın erişilebilir olması sağlanmalıdır.
  • Bu tür engeli olan kullanıcılar, genellikle yardımcı teknoloji yazılımlarını kullanırlar.
  • Ekran okuyucu yazılımlar, ekran üzerindeki metni sesli olarak okuyarak veya Braille çıktı üreterek kullanıcıya rehberlik eder.

Örneğin: Job Access With Speech (JAWS)

Motor Beceriler

  • Klavye ve fare kullanımıyla ilgili yetenekleri kapsar.
  • Klavye veya fareyi kullanamayan, ince motor hareketleri yapamayan bireyler bu kategoriye girer.
  • Bu nedenle, yazılımın sadece fare ile değil, klavye kısayolları ile de tam olarak kullanılabilir olması gerekir.

İşitme Engelleri

  • Kısmi veya tam işitme kaybı olan bireyler için yazılım erişilebilir olmalıdır.
  • Sesli bildirimlerin metin bazlı alternatifleri (altyazılar veya yazılı bildirimler) sağlanmalıdır.

Bilişsel Yetenekler

  • Bilişsel yetenekler, bir bireyin muhakeme, karar verme ve algılama becerileri ile ilgilidir.
  • Okuma güçlüğü çeken, disleksi hastaları veya hafıza kaybı yaşayan kişiler bu gruba dahildir.
  • Yazılımın basit, anlaşılır bir dil kullanması ve gereksiz karmaşıklıklardan kaçınması gerekir.