Testedilebilir Gereksinimler (Testable Requirements)

Slides:



Advertisements
Benzer bir sunumlar
SL Techno Learner Training Series 1 © OLSP Team-SOTE 2011.
Advertisements

This project is produce with the financial assistance of EU
SGB.NET’İN TEKNİK ALTYAPISI
Sistem Analizi ve Planlama
e-Fatura İşlemleri e-Fatura İşlemleri İçin Gerekli Adımlar
TUVDBS VİDEO VERİTABANI YÖNETİM SİSTEMİ
İSİM UZAYLARI.
Biyometrik Yaşama Geçiş Murat Yüksel Genel Müdür Teknoloji
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-ShareAlike.
Proje Dosyanızda Yer Alacak Belgeler
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
Microsoft Gelişim Atölyesi Kampı 2 Şubat 2010 – Microsoft Türkiye İstanbul Ofisi Mesut MERT Teknoloji Danışmanı Microsoft Corporation.
İÇERİK İhtiyaç Amaç Yazılım Emniyeti Yaşam Döngüsü Süreçleri Sonuç
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Yazılım Test Süreci. Yazılım test süreci Test Hazırlık Adımında Neler Yapılmalıdır? Test edilecek yazılıma ait analiz ve teknik tasarım aşamaları ile.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Yazılım Sertifikasyonunda Karşılaşılan Zorluklar
Terminolojik Kayıt ve Veri Kategorileri Doç. Dr. Ender Ateşman.
Member of Consortium This project is co-financed by the European Union and the Republic of Turkey Rolf Bracke International Geothermal Center Jeotermal.
SAP Best Practices Hazır Sektörel & Sektörler Arası Know-How SAP Müşterileri ve SAP İş Ortakları için Kullanılabilirlik.
Yazılım Proje Yönetimi
 2006 Pearson Education, Inc. All rights reserved. Görsel C# ile Windows Programlama Güz 2009 (5. Hafta)
VIEW (BAKIŞ) OLUŞTURMA
RAYLI SİSTEMLER VE HAVA ARAÇLARI EMNİYET SERTİFİKASYONU BENZERLİKLERİ
Özellikle firmaların imajlarının, ünlerinin ve pazarlama çabalarının bu alandaki problemler yüzünden yıprandığını fark ettiklerinden beri, son yıllarda.
ÖĞRENCİ İŞ BAŞVURU FORMU (STUDENT JOB APPLICATION FORM) FORMU DOLDURURKEN DİKKAT EDİLECEK HUSUSLAR / POINTS FOR CONSIDERATION WHEN FILLING OUT THIS FORM.
Bilişim Sistemleri Mühendisliği nedir? Neden ihtiyaç vardır?
Bilkent Üniversitesi Kütüphane Müdürü 41. Kütüphane Haftası, Ankara
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Telif Hakkı  2008 Intel Firması. Tüm hakları saklıdır. Intel, Intel logosu (the Intel Logo), Intel Eğitim Girişimi (Intel Education Initiative) ve Intel.
Programs of the Intel Education Initiative are funded by the Intel Foundation and Intel Corporation. Copyright © 2007 Intel Corporation. All rights reserved.
SİSTEM ANALİZİ VE TASARIMI
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Kurumsal İçerik Yönetimi Kapsamında Bilgi Güvenliği
TESTLER. 2 Değerlendirme  Öğretim sürecindeki değerlendirme basamağı etkili öğretim için vazgeçilmezdir.  Değerlendirme; Konunun ne düzeyde anlaşıldığını.
Savunma Teknolojileri Mühendislik ve Ticaret A.Ş.
İşletim Sistemi.
NOUN CLAUSES (İSİM CÜMLECİKLERİ).
İç Sipariş AR&GE Planlaması SAP Best Practices. ©2011 SAP AG. All rights reserved.2 Amaç, Faydalar ve Anahtar Süreç Adımları Amaç  Bu proses, masrafları.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
COMPANY Veritabanı Örneği (Gereksinimler)
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Use this title slide only with an image SAP İNOVASYON FORUM Eski Köye Yeni Adet Barış Güneş – Kıvanç Oktaş.
Kritik Finansal Sistemlerde Yazılım Değişiklik ve Takip Yönetim Sistemi Mehmet Vacit BAYDARMAN BİLGİ TEKNOLOJİLERİ.
AÇIK KAYNAK KOD F.Merve SARIKAYA. Açık kaynak kod, ürünün kayna ğ ına rahatça erişebilme imkanı sunan bir uygulama geliştirme yöntemidir.
SERVING WATER TO A THIRSTY PERSON Bu Proje AB Tarafından Finanse edilmektedir. This Project is funded by European Union. Responsibility for the information.
Bilgisayar Programcılığına ve Algoritmaya Giriş
INFORMED CONSENT Assist.Prof.Dr. Mehmet KARATAS Dept. of History of Medicine & Ethics.
Akıllı İstemcileri Geliştirmek ve Dağıtmak
İÇERİK YÖNETİM SİSTEMİ Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu.
Yaparak yaşayarak öğrenme. Motivasyon ve yöneltme Learning to Learn Training Öğrenmede yetişkinleri ne güdüler? Developed with the support of the EU Leonardo.
Sistem Analizi ve Tasarımı
Partnership for the Future United Nations Development Programme Programme funded by the European Union UNDP-PFF Nasıl Web Sitesi Sahibi.
X3D İLE İNTERNET ÜZERİNDE ÜÇ BOYUT Y. Doç. Dr. Aybars UĞUR Bilg. Müh. Tahir Emre KALAYCI Bilg. Müh. Tahir Emre KALAYCI Ege Üniversitesi Bilgisayar Mühendisliği.
ISO 9001:2015 standardı – 8. Maddenin Tanıtımı
ISO 9001:2015 standardı – Maddelerinin Tanıtımı
SİSTEM ANALİZİ VE TASARIMI
SİSTEM ANALİZİ VE TASARIMI
Anadolu Üniversitesi Arkeoloji Bölümü
Son Para Politikası Deneyimimiz Üzerine Gözlemler: Temel Kavramlar ve Türkiye Uygulaması Murat Ucer 12 Ekim
BOZOK ÜNİVERSİTESİ Merkezi Kimlik Doğrulama Sistemi
Problem Çözme Yaklaşımları
AE= COS (Phi_e) *Cos (Lambda_e)
Kan Bankalarını Merkezileştirme Çalışmaları
Bilgisayar Bilimi Problem Çözme Süreci-2.
Yazılım Mühendisliği Temel Süreçler - Sistem Analizi
AE= COS (Phi_e) *Cos (Lambda_e)
NİŞANTAŞI ÜNİVERSİTESİ
People with an entrepreneurial mindset are always brave.
IOS’ta Mapbox ile Çevrimdışı ve Çok Katmanlı Harita Oluşturma ve Performans Kaybını Önleme Alperen ERASLAN Cem GÜNDÜZ Doruk PANCAROĞLU.
Sunum transkripti:

Testedilebilir Gereksinimler (Testable Requirements) Mehmet Mustafa GÜRSUL AB ‘12 – Uşak Üniversitesi 1-3 Şubat 2012

İçerik Sorun Tanım Yapılan Hatalar İyi Gereksimlerin Özellikleri Test Edilebilir Gereksinimlerin Özellikleri

Yazılım Kusurlarının (Defect) Dağılımı Araştırma - 1 Araştırma - 2 Kaynak : http://conferences.embarcadero.com/article/32152 Kaynak : http://www.isixsigma.com/industries/software-it/software-defect-prevention-nutshell/ Şekilde; projelerdeki kusurların (defect), proje safhalarına göre dağılımı gösterilmektedir. Dikkat edilecek durum, bulunan kusurların yarısından fazlasının gereksinim süreci ile ilgili olmasıdır. Gereksinimlerden kaynaklanan ve yaklaşık olarak da tüm kusurların yarısı kadar olan kusurlar; gereksinimlerin belirsiz (ambiguous), tam açık olmayan, doğru olmayan, kısaca zayıf bir biçimde ifade edilmesinden kaynaklanmaktadır.

Gereksinim Nedir? Eksikliği duyulan şey, ihtiyaç. (www.tdk.gov.tr) Belirli bir sistemin sahip olması gereken yetenekler ile yapması gerekenleri içeren ve kullanıcıların ihtiyaçlarını karşılayan yazılı olan belirtimlerdir.

Ne anlama geliyor? Yazılana kadar, verilen cevaplar gereksinim değildir. İstenilenler ihtiyaç değilse gereksinim değildir. Eğer hiçkimse istenilen özelliği detaylı bir biçimde açıklayamıyorsa gereksinim değildir.

Yapılan Hatalar - 1 Yanlış ya da kesin olmayan terminoloji kullanımı. Kaçınılması gereken kelimeler: v.b (etc.) basit (simple) birkaç (several) hızlı (rapid) çeşitli (various) etkin (efficient) yanısıra (as well as) yeterli (sufficient) kolay (easy) güvenilir (reliable) gelişmiş (improved) en uygun (optimal) kullanıcı dostu (user-friendly) bunlarla sınırlı olmamak (not limited to) herhangi (any) tekniğin son durumuna göre (state of the art) Yukarıdaki gibi kişiden kişiye anlamı değişen yani subjektif kelimelerden kaçınmak gerekmektedir.

Yapılan Hatalar - 2 Tasarımı zorlamak. Örneğin: X Sistemi uçuş bilgilerini veri tabanında saklayacaktır ve saklanan bu bilgiler kullanıcıya gösterilecektir. Yerine; X Sistemi uçuş bilgilerini saklayacaktır ve saklanan bu bilgiler kullanıcıya gösterilecektir. Gereksinimler neye ihtiyaç olduğunu belirtmelidir, nasıl olması gerektiğini ifade etmemelidirler. Örnekte verilende denildği gibi uçuş bilgileri büyük ihtimal veritabanında saklanacaktır fakat burada veritabanı belirtilerek tasarım bu yönde kısıtlanmaktadır. Belki de XML şeklinde dosya sisteminde veriler saklanacaktır bu nedenle tasarımı kısıtlamamak gerekmektedir.

Yapılan Hatalar - 3 Sistemin kullanıcı için ne yapması gerektiğinden çok kullanıcının sistemi nasıl kullanacağı ile ilgili belirtimler. Örneğin: Kullanıcı, sistemi sadece sistemdeki uçuş paneli aktif olduğu durumda kullanabilecektir. Yerine; Sistem, sadece uçuş paneli aktif olduğu durumda çalışacaktır.

Yapılan Hatalar - 4 Gereksinimlere sorumlu atamada yapılan hatalar. Örneğin: Sistemde hatalı bir durumla karşılaşıldığında, sistem güvenli moda döndürülecektir. Yerine; Sistemde hatalı bir durumla karşılaşıldığında, sistemin kendisi güvenli moda dönecektir. ”...sistem güvenli moda döndürülecektir.” Edilgen bir yapıda kurulan bu cümlede kimin sistemi güvenli moda geçireceği ile ilgili bir bilgi barındırmamaktadır.

Yapılan Hatalar - 5 Gereksinimlerde aşırı belirtimlerde bulunmak. Örneğin: Tüm kaynak kodu müşteriye verilmeden önce, güvenlik mühendisi tarafından kontrol edilecektir. Yerine; Kaynak koddaki tüm güvenlik kritik bölümler, kaynak kod müşteriye verilmeden önce, güvenlik mühendisi tarafından kontrol edilecektir. Sistemde güvenlik kritik olmayan kod parçaları olacaktır ve bu kısımların güvenlik mühendisleri tarafından kontrolü fazladan kaynak kullanımına neden olacaktır.

Neler Gereksinimi İyi Yapar? 1- Doğruluk Gereksinimi yaratmak için kullanılan bilgiler gerçeği yansıtmalıdır. Doğruluk Gereksinim doğru olmak zorundadır. Gereksinimi yaratmak için kullanılan bilgiler gerçeği yansıtmalıdır. Genel olarak gereksinimin doğru olup olmadığını yazılım geliştirici bilemez, bunun yerine tecrübeli analistler ya da mühendisler gereksinimler dondurulmadan önce gerekesinimleri gözden geçirmelidirler.

Neler Gereksinimi İyi Yapar? 2 - Gereklilik Gereksinim çıkarıldığında sistemde değişiklik olmuyorsa, gereksinim gerekli değildir. Gereklilik Gereksinimler gerekli olmak zorundadır. Eğer gereksinim çıkarıldığında, istenen sistemde bir değişiklik olmuyorsa ve bu konuda kullanıcılar ile anlaşma sağlanıyorsa bu gereksinim gerekli değildir.

Neler Gereksinimi İyi Yapar? 3 - Odaklanma Bir gereksinim, birden fazla ihtiyacı karşılayacak şekilde yazılmamalıdır. Örneğin; “Sistemdeki hız göstergesi en düşük 0 km/s i ve en yüksek de 220 km/s i göstermelidir.” Demek yerine; “Sistemdeki hız göstergesi en düşük 0 km/s i göstermelidir.” “Sistemdeki hız göstergesi en yüksek 220 km/s i göstermelidir.” şeklinde iki gereksinim yazmak daha uygundur. Odaklanma Gereksinim sadece bir tek şeye odaklanmalıdır. Bir gereksinim, birden fazla ihtiyacı karşılayacak şekilde yazılmamalıdır. Bunun yerine gereksinim bölünerek birkaç gereksinim yazılmalıdır. “Sistemdeki hız göstergesi en düşük 0 km/s i ve en yüksek de 220 km/s i göstermelidir.” Demek yerine; “Sistemdeki hız göstergesi en düşük 0 km/s i göstermelidir.” “Sistemdeki hız göstergesi en yüksek 220 km/s i göstermelidir.” şeklinde iki gereksinim yazmak daha uygundur.

Neler Gereksinimi İyi Yapar? 4- Uygulanabilirlik İstenilen; bütçe, zaman, kaynaklar ile yapılabilir olmalıdır. Uygulanabilirlik Gereksinim uygulanabilir olmalıdır. Eğer istenilen; verilen bütçe, bitirilmesi gereken zaman, eldeki kaynaklar ve projede yer alan diğer kısıtlamalar ile yapılamayacak ise ya bu gereksinim bırakılmalıdır ya da proje zaten başarısızlıkla sonuçlanacağı kabul edilmiştir. Tasarımcılar ve yazılım geliştiriciler bu durumları belirlemek için analistlerle ortak çalışmalıdırlar.

Test Edilebilir Gereksinimin Özellikleri 1 - Deterministik Verilen başlangıç koşulu ve bir dizi girdi ile kullanıcının tam olarak beklenen çıktılara karar verebilmesidir.

Test Edilebilir Gereksinimin Özellikleri 2 – Tutarlı (Consistent) Birbiri ile uyumsuz gereksinimler olmamalıdır.

Test Edilebilir Gereksinimin Özellikleri 3 –Açık (Explicit) Herkes tarafından aynı şekilde anlaşılır olmalıdır.

Test Edilebilir Gereksinimin Özellikleri 4 – Tam (Complete) İhtiyaçlar tam ve eksiksiz bir biçimde belirtilmelidir.

Test Edilebilir Gereksinimin Özellikleri 5 – İzlenebilir (Traceable) Gereksinimin kaynağı dokümente edilmelidir. Tekil bir şekilde numaralandırılmalıdır. Tasarım, geliştirme ve test süreçlerinde gereksinimlere iki yönlü izlenebilirlik kurulabilmelidir.

Sorular?

Kaynaklar [1] Writing Testable and Code-Able Requirements, Murat Guvenc, Borland Software, Ağustos 15, 2004 [2] Writing Good Requirements, Jerry Karasz, Apogen Technologies, Inc. Eylül, 2005 [3] Writing Testable Requirements, Bill Rinko - Gay Karasz, QAI/QAAM 2011 Conference, Inc. Eylül, 2011 [4] İyi Gereksinim Yazma Teknikleri, Kasım Şen

© STM 2010 All Rights Reserved ANKARA TEKNOLOJİ GELİŞTİRME BÖLGESİ, BİLKENT CYBERPARK, E BLOK 5.CADDE NO: 6/A 06800, ANKARA, TURKIYE TEL : 0 312 266 35 50 FAKS : 0 312 266 35 51 www.stm.com.tr © STM 2010 All Rights Reserved Bu doküman ve içerdiği tüm bilgiler STM AŞ’nin fikri mülkiyetidir. Bu dokümanın dağıtımı veya sunumu ile bu haklar ortadan kalkmış olmaz. STM AŞ’nin yazılı izni olmadan bu dokümanın ve içerdiği bilgilerin üçüncü kişilere aktarımı, çoğaltımı ve dağıtımı yapılamaz. Bu doküman ve içeriği hazırlanma amacının dışında kullanılamaz. This document and all information contained herein is the sole property of STM AŞ. No intellectual property rights are granted by the delivery of this document or disclosure of its content. This document shall not be reproduced or disclosed to a third party without the express written consent of STM AŞ. This document and its content shall not be used for any other purpose other than for which it is supplied.