Cevap.
Erişim ve rol testinin manuel olarak gerçekleştirilmesi, farklı kullanıcı türlerinin uygulamanın işlevlerine ve verilerine doğru erişim düzeyine sahip olduğunu kontrol etmeyi sağlar.
Soru Tarihi
Kullanıcı sayısı ve kullanım senaryoları arttıkça, basit uygulamalar bile rol tabanlı modellere sahip oldu. Erişim hataları genellikle ciddi veri sızıntılarına veya iş operasyonlarının kısıtlanmasına yol açtı. Bu yüzden, rol testinin manuel olarak yapılması ihtiyacı doğmuştur.
Sorun
- Hassas verilere erişim kısıtlaması hatalarının gözden kaçması;
- Kullanıcılara yasaklı işlemleri gerçekleştirecek şekilde rol ayarlarının yanlış yapılması (örneğin, normal kullanıcılara yönetici işlevlerine erişim izni verilmesi);
- Kombinasyon rolleri veya standart dışı erişim senaryolarını kontrol etmede zorluklar.
Çözüm
- Mevcut tüm rolleri ve her rol için ilgili eylemleri belgelemek;
- Her rol için test setleri oluşturmak, koşullu rol kesişimlerini de dahil etmek;
- Sadece işlevlere değil, aynı zamanda verinin farklı parçalarına (CRUD) erişimi kontrol etmek;
- Hem doğrudan erişimi (UI üzerinden) hem de doğrudan bağlantılar veya API aracılığıyla erişim denemelerini doğrulamak.
Ana özellikler:
- Kapsamlı senaryo temsili: Her kullanıcı türünün tüm olası roller ve eylemlerle test edilmesi gerekmektedir;
- Sınır ve birleşik rol testleri: Hatalar genellikle farklı rollerin haklarının çakışması durumunda ortaya çıkar;
- Standart arayüzleri geçme kontrolleri: Kullanıcının resmi olarak erişim izni olmadığı sayfalara/eylemlere doğrudan erişimin test edilmesi.
Tuzak Sorular.
Sadece temel rolleri (örneğin, "Yönetici" ve "Kullanıcı") test etmek yeterli midir?
Hayır. Ara, nadiren kullanılan ve birleşik roller genellikle hatalara ev sahipliği yapar.
UI kısıtlamaları (gizli butonlar ve elemanlar) güvenlik için yeterli midir?
Hayır. UI kontrolü, doğrudan erişim girişimlerinden veya API üzerinden gelen taleplerden koruma sağlamaz, erişim hakları sunucu mantığı seviyesinde kısıtlanmalıdır.
Uygulamanın farklı kanallarındaki erişim haklarını (örneğin, hem web hem de mobil uygulama üzerinden) test etmek gerekli midir?
Kesinlikle. Uygulama farklılıkları genellikle farklı davranışlarla ve hak kısıtlamalarında hatalara yol açar.
Yaygın Hatalar ve Anti-Desenler
- Sadece standart rolleri kontrol etme
- Sadece dış arayüze odaklanma, sunucu kısıtlamalarını doğrulama olmadan
- Standart dışı ve kombinasyon rollerini göz ardı etme
Hayattan Bir Örnek
Olumsuz Vaka
Yalnızca UI test edildi ve sadece üç temel rol kontrol edildi. Sonuç olarak, standart dışı bir rol kombinasyonuna sahip kullanıcılar, doğrudan bağlantı ile yönetici işlevlerine erişim sağladı.
Artılar:
- Hızlı test
- Sürecin basitliği
Eksiler:
- Üretimde ortaya çıkan kritik bir güvenlik açığı
- Kullanıcıların güvenliği ve güvenilirliğinin ihlali
Olumlu Vaka
Test için farklı rol kombinasyonlarına sahip test kullanıcıları oluşturuldu, API ve doğrudan erişim denetimi gerçekleştirildi. Hatalar bulunup düzeltildi.
Artılar:
- Yüksek kalite ve güvenlik
- İç ve dış veri sızıntıları riskinin azalması
Eksiler:
- Birçok test hesabı oluşturma süresinin artması
- Dokümantasyon ve geliştirme ile koordinasyonda artış