Kavramları tanıyalım serisi: Use Case

Kullanım senaryosu (Use case)

Kullanım senaryosu, sistemlerin fonksiyonel ihtiyaçlarını kapsamak için yazılım ve sistem mühendisliğinde kullanılan bir tekniktir. Aktörlerin sistemle etkileşimini tanımlayan senaryolardır. Kullanım senaryolarında son kullanıcının veya alan uzmanının teknik terimlerden arınmış dili tercih edilir. (wiki)

use case: sistemin davranışı


"user story" ile "use case" farkı

User story: kullanıcı hikayesi

Yazılımın tuğlaları use caselerden oluşur. user storylerden değil.. user storyler müşterinin istediği gereksinimlerdir. Müşterinin istediği gereksinimlerin (user story) yazılım tarafındaki karşılığı use caselerdir. Her bir tuğlayı üst üste koyarak yükselteceğin şey use caselerdir.

Bu bilgiler ışığında test yazarken use caselerden yararlanmalıyız.


İlk olarak şuradan gördüm videoyu. Test yazmakla ilgili videoyu izlerken bu konuya değinildi. Bende unutmayayım hemde sizlerde görün diye buraya not olarak ekledim. Kendiniz kavramı gidip derinlemesine araştırabilirsiniz. Ben farkındalık oluşması için buraya koydum.

Not: Bu yazıyı yazarken bende açıkçası ilk defa bu açıdan baktım bu olaya. Aşağıdaki videodaki anlatıcının (lemi) farkına varmasıyla benimde ilgimi çekti. Kendim araştırmaya girişmişken bloğumda not olarak dursun diye sıcağı sıcağına ekledim. Sizler gibi bende ilk kez bu açıdan ele alacağım bu kavramı.










 
Unlearn Unit Testing - Lemi Orhan Ergin

Üstteki sunumdan notlar:

* Entegrasyon testleri sadece entegrasyon noktalarına odaklanır.
* Unit testler davranışları test etmeli.
* Baştan sona tüm akışı fonksiyonaliteyi sunction testlerle test edebiliriz.
* Moq fremworkleri kullanmanıza gerek yok. Moq ortak kullanılan ve değişen bir data varsa o zaman orada kullanabilirsiniz, mantıklı olan..
* Zor yazılmış ve önemli bulduğumuz yerlere (örneğin değişmesini istemediğiniz bir algoritma)beton dökebiliriz.

A timeless goal of software engineering has been to separate code that changes frequently from code that is stable. ~ James Coplien / Lean Architecture

TR
Yazılım mühendisliğinin zamansız bir hedefi, sık sık değişen kodu kararlı olan koddan ayırmak olmuştur. ~ James Coplien / Lean Architecture




Kullanıcı Arayüzü Tasarımı ve Use Case'ler (Yazılım Mühendisliği 27. Video)



Yazılım Mühendisliği Ders 11 Use-Case Esaslı Gerekesinim Analizi Yöntemi





The Art of Unit Testing • Roy Osherove & Dave Farley • GOTO 2021

Yorumlar