0

Başarıya Giden Yol: User Story ve Acceptance Criteria Rehber

Share

Bugün sizlere, bir projenin temel taşlarından biri olan “User Story” ve “Acceptance Criteria” konularını ele alacağım. Bu kavramları anlamak, projenin başarıyla tamamlanması ve ürün kalitesinin artırılması için hayati öneme sahiptir. Hadi başlayalım!

User Story: Kullanıcı Hikayesi Nedir?

User Story (Kullanıcı Hikayesi), projenin kullanıcıları için değerli bir işlevi tanımlayan, kısa ve anlaşılır bir metindir. Aslında, bir kullanıcı hikayesi şu formatta yazılır: “As a [kullanıcı tipi], I want [ne yapmak istiyorum], so that [neden yapmak istiyorum].”

Örnek: “As a kullanıcı, I want oturum açabilmek için kullanıcı adı ve şifre girebilmeliyim, so that hesabıma güvenli bir şekilde erişebileyim.”

User story, genellikle bir kullanıcı rolü, bir eylem ve bir değer şeklinde yazılır. Örneğin, “Bir müşteri olarak, bir ürün satın alabilmek istiyorum.” şeklinde bir user story, bir müşterinin bir ürün satın alma özelliğine ihtiyaç duyduğunu ifade eder.

Acceptance Criteria: Kabul Kriterleri Nedir?

Acceptance Criteria (Kabul Kriterleri), bir User Story’nin tamamlandığını ve kabul edildiğini gösteren ölçütlerdir. Her bir User Story için Acceptance Criteria oluşturmak, geliştirilen işlevin ne kadar doğru ve eksiksiz olduğunu belirlememize yardımcı olur. Bu kriterler, genellikle User Story’nin detaylarını genişletir ve test ekibine yol gösterir.

Acceptance criteria’ler hazırlanırken aşağıdaki noktalara dikkat etmek önemlidir:

  • Acceptance criteria’ler, user story’nin amacını ve kapsamını açıkça tanımlamalıdır.
  • Acceptance criteria’ler, ölçülebilir ve doğrulanabilir olmalıdır.
  • Acceptance criteria’ler, spesifik ve ayrıntılı olmalıdır

Örnek:

  • Kullanıcı adı ve şifre doğru girildiğinde hesaba başarılı bir şekilde oturum açılmalıdır.
  • Yanlış kullanıcı adı veya şifre girildiğinde kullanıcıya hata mesajı gösterilmelidir.

Ya da yukarıda verilen “Bir müşteri olarak, bir ürün satın alabilmek istiyorum.” user story örneği için aşağıdaki acceptance criteria’ler kullanılabilir:

  • Ürün, müşterinin adını, soyadını, e-posta adresini ve ödeme bilgilerini sormalıdır.
  • Ürün, müşterinin girdiği bilgileri doğrulamalıdır.
  • Ürün, müşterinin ödemesini kabul etmelidir.
  • Ürün, müşteriye ürün satın alma işleminin başarıyla tamamlandığını bildirmelidir.

Kaç Adet Acceptance Criteria Olmalı?

Her User Story için kaç tane Acceptance Criteria olmalı sorusunun kesin bir cevabı yoktur. Ancak, işlevin karmaşıklığına bağlı olarak birkaçtan onlara kadar olabilir. Önemli olan, her bir Acceptance Criterion’ın işlevselliği doğru bir şekilde kapsaması ve test edilebilir olmasıdır.

Test Case Yazmak

Acceptance Criteria’den türetilen Test Case’ler yazılırken Test senaryoları, Acceptance Criteria’yi doğrulamalıdır. Her bir Test Case, belirli bir senaryoyu test etmelidir.Test Case’ler, kullanıcı perspektifinden yazılmalıdır. Testler, işlevin doğru çalışıp çalışmadığını değerlendirmelidir

Test Case Yazarken Dikkat Edilmesi Gerekenler:

1. Spesifiklik:

  • Test Case’ler spesifik olmalıdır. Her bir test, belirli bir işlevi veya senaryoyu kapsamalıdır.
  • Genel ifadelerden kaçınılmalı, test adımları ve beklenen sonuçlar açıkça belirtilmelidir.

2. Bağımsızlık:

  • Her test, diğer testlerden bağımsız olmalıdır. Bir testin sonucu, başka bir testin sonucunu etkilememelidir.
  • Test Case’lerin birbirine bağımlılığı, test sürecini karmaşık hale getirebilir.

3. Tekrarlanabilirlik:

  • Test Case’ler tekrarlanabilir olmalıdır. Aynı koşullar altında her defasında benzer sonuçlar alınabilmelidir.
  • Testin tekrarlanabilir olmaması, hataları bulma ve düzeltme sürecini zorlaştırabilir.

4. Öncelik Sıralaması:

  • Test Case’leri öncelik sırasına göre yazmak, önemli işlevlerin önce test edilmesine olanak tanır.
  • Öncelik sırasına göre test yapmak, sınırlı test süresini en iyi şekilde değerlendirmenize yardımcı olur.

5. Kapsamlılık:

  • Test senaryoları, User Story ve Acceptance Criteria’leri tamamen kapsamalıdır.
  • Tüm işlevselliğin test edilmediği durumlar, potansiyel hataların kaçmasına neden olabilir.

6. Negatif Senaryolar:

  • Sadece olumlu durumları değil, olumsuz durumları da test etmek önemlidir.
  • Sistem hatalarına ve güvenlik açıklarına karşı savunmasız olmadığınızdan emin olun.

7. Giriş Verileri:

  • Test Case’lerde kullanılan giriş verileri dikkatlice seçilmelidir.
  • Farklı veri setleri ve sınırlı durumlar test edilmelidir.

8. Beklenen Sonuçlar:

  • Her bir adımın ardından beklenen sonuçlar açıkça belirtilmelidir.
  • İşlevin beklendiği gibi çalışıp çalışmadığı net bir şekilde değerlendirilmelidir.

9. Loglama ve Raporlama:

  • Test Case’ler sırasında ortaya çıkan herhangi bir hata veya istisna durumları özenle loglanmalıdır.
  • Hataların hızlı bir şekilde tespit edilebilmesi ve düzeltilmesi için detaylı raporlar oluşturulmalıdır.

10. Geri Dönüş:

  • Test Case’lerden elde edilen geri dönüşler dikkate alınmalı ve gerektiğinde test senaryoları güncellenmelidir.
  • Hataların sürekli olarak tekrarlanması önlenmeli, test süreci her aşamada iyileştirilmelidir.

Test Case’lerin yazılması, yazılım projelerinde kalite kontrolünün sağlanması açısından kritik bir adımdır. Bu dikkat noktalarını göz önünde bulundurarak, test sürecini daha etkili ve verimli bir hale getirebilirsiniz.

Acceptance Criteria ile Test Case Arasındaki Farklar Nelerdir?

Her iki kavram da bir yazılım özelliğinin veya fonksiyonunun doğruluğunu ve eksiksizliğini değerlendirmek için kullanılır.

  • Acceptance Criteria, bir User Story’nin tamamlanma şartlarını belirtirken, Test Case belirli bir senaryonun test edilmesi için adımları içerir.
  • Acceptance Criteria, genelde daha yüksek seviyede ve genel ifadeler içerir; Test Case ise spesifik adımları ve beklenen sonuçları içerir.


Ancak, iki kavram arasında bazı önemli farklar vardır.

  • Acceptance criteria, bir yazılım özelliğinin veya fonksiyonunun kabul edilmek için karşılaması gereken koşulları tanımlar. Test case ise, bir yazılım özelliğinin veya fonksiyonunun belirli bir davranışını test etmek için tasarlanmış bir dizi adımdır.
  • Acceptance criteria, genellikle bir user story ile ilişkilidir. Test case ise, bir acceptance criteria veya bir set of acceptance criteria’leri test etmek için kullanılabilir.
  • Acceptance criteria, genellikle genel bir düzeyde tanımlanır. Test case ise, daha spesifik ve ayrıntılı bir düzeyde tanımlanır.
  • Acceptance criteria, genellikle bir yazılım geliştirme ekibi tarafından oluşturulur. Test case ise, genellikle bir test ekibi tarafından oluşturulur.

Kaç Adet Test Case Yapılabilir?

Her bir user story için kaç adet acceptance criteria olması gerektiğine dair kesin bir kural yoktur. Acceptance criteria’lerin sayısı, user story’nin karmaşıklığına ve kapsamına bağlı olarak değişebilir. Genel olarak, bir user story için aşağıdaki sayıda acceptance criteria önerilir:

  • Basit user story’ler için: 1-3 acceptance criteria
  • Orta karmaşıklıktaki user story’ler için: 3-5 acceptance criteria
  • Karmaşık user story’ler için: 5+ acceptance criteria

Her bir User Story ve onun Acceptance Criteria’ları için bir veya birden fazla Test Case oluşturabilirsiniz. Önemli olan, her Test Case’in belirli bir senaryoyu kapsaması ve işlevin doğru çalışıp çalışmadığını doğrulamasıdır.

Bu rehberi takip ederek, User Story’leri anlamak, Acceptance Criteria oluşturmak ve Test Case’ler yazmak, projemizin başarılı bir şekilde tamamlanmasına katkı sağlayacaktır.

Yazıyla ilgili düşüncelerinizi ve sorularınızı yorumlarda paylaşmayı unutmayın.