Podcast
Questions and Answers
Yazılım ölçümü yapılmadan, yazılımın kontrolü nasıl olur?
Yazılım ölçümü yapılmadan, yazılımın kontrolü nasıl olur?
Yazılım üretimi ölçülemez ise kontrol edilemez.
Yöneticiler, yazılımın ölçülmesini neden önemli bulurlar?
Yöneticiler, yazılımın ölçülmesini neden önemli bulurlar?
- Projeler için ölçülebilir hedefler belirlemek için. Örneğin, yazılım sisteminin ne kadar güvenilir olması gerektiği. (correct)
- Şirkette kullanılmaya başlanan yöntem veya yazılım geliştirme araçlarının etkinliğini ölçmek için. (correct)
- Tüm seçenekler doğru. (correct)
- Farklı bölüm çalışanlarının ücretlerini belirlemek için. (correct)
- Yazılım üretimi için maliyeti tahmin etmek için. (correct)
- Farklı projelerde geliştirilen yazılım ürünlerini karşılaştırmak için. (correct)
Yazılım mühendisleri, yazılımları neden ölçer?
Yazılım mühendisleri, yazılımları neden ölçer?
Yazılım mühendisleri, süreç ölçümleri ile sistemin kalitesini izlemeye, kesin ölçülebilir terimlerle kalite ve performans gereksinimlerini belirlemeye, sertifika için ürün ve süreç özelliklerini ölçmeye ve var olan ürünler ile uygulanan süreçlerden faydalanarak gelecekteki ürün geliştirmeler için tahmin yapabilmeye ihtiyaç duyarlar.
Halstead'ın kaynak programın kalite güvencesini kestirmek için kullandığı ölçütler nelerdir?
Halstead'ın kaynak programın kalite güvencesini kestirmek için kullandığı ölçütler nelerdir?
Halstead tarafından geliştirilen yazılım ölçümünde, hangi ölçütlerin kullanılmasını önermektedir?
Halstead tarafından geliştirilen yazılım ölçümünde, hangi ölçütlerin kullanılmasını önermektedir?
MCCABE, programın kontrol akışı biçiminde gösterimine dayalı olarak neyi belirlemektedir?
MCCABE, programın kontrol akışı biçiminde gösterimine dayalı olarak neyi belirlemektedir?
Program grafı veya akış grafı neyi göstermektedir?
Program grafı veya akış grafı neyi göstermektedir?
MCCABE, yazılım karmaşıklığını ölçerken neyi esas almaktadır?
MCCABE, yazılım karmaşıklığını ölçerken neyi esas almaktadır?
Program grafındaki kapalı bölgeler sayısının, modülün karmaşıklığını vermekle hiçbir ilgisi yoktur.
Program grafındaki kapalı bölgeler sayısının, modülün karmaşıklığını vermekle hiçbir ilgisi yoktur.
MCCABE ölçüsü neyi saptamada da kullanılabilir?
MCCABE ölçüsü neyi saptamada da kullanılabilir?
Çok sayıda programlama projesi üzerinden derlenen bilgilere göre, model büyüklüğünün hangi değerde olması gerektiği belirlenmiştir?
Çok sayıda programlama projesi üzerinden derlenen bilgilere göre, model büyüklüğünün hangi değerde olması gerektiği belirlenmiştir?
Döngü karmaşıklığının bu sayıyı aşması halinde ne olur?
Döngü karmaşıklığının bu sayıyı aşması halinde ne olur?
Tüm yazılımların aynı kalitede ve aynı bileşenlerle aynı sonucu vermesi beklenir.
Tüm yazılımların aynı kalitede ve aynı bileşenlerle aynı sonucu vermesi beklenir.
Yazılımları tümüyle test etmek mümkündür.
Yazılımları tümüyle test etmek mümkündür.
Kalite güvenirliği neye dayanmaktadır?
Kalite güvenirliği neye dayanmaktadır?
Başarı oranı nasıl hesaplanır?
Başarı oranı nasıl hesaplanır?
Yazılım güvenirliliğinin ve geçerliliğinin ölçülmesi için kaç tane model geliştirilmiştir?
Yazılım güvenirliliğinin ve geçerliliğinin ölçülmesi için kaç tane model geliştirilmiştir?
Yazılım güvenirliliğinin ve geçerliliğinin ölçülmesi için en yaygın olan dört model hangileridir?
Yazılım güvenirliliğinin ve geçerliliğinin ölçülmesi için en yaygın olan dört model hangileridir?
Güvenirlik modelleri, istatistiki verilere dayanarak neyi saptamaktadır?
Güvenirlik modelleri, istatistiki verilere dayanarak neyi saptamaktadır?
Güvenirlik modellerinin çalıştırılması sonucunda hangi değerler elde edilir?
Güvenirlik modellerinin çalıştırılması sonucunda hangi değerler elde edilir?
Bir yazılımın güvenirlik modeli değerlendirilirken hangi sorulara cevap aranmalıdır?
Bir yazılımın güvenirlik modeli değerlendirilirken hangi sorulara cevap aranmalıdır?
Bell laboratuarlarında yapılan çalışma ile yazılımın güvenirliğini sağlamak için en iyi yöntemlere odaklanılmış ve yazılımın gelişiminden müşteriye teslimine kadar kaç tane aktivite belirtilmiştir?
Bell laboratuarlarında yapılan çalışma ile yazılımın güvenirliğini sağlamak için en iyi yöntemlere odaklanılmış ve yazılımın gelişiminden müşteriye teslimine kadar kaç tane aktivite belirtilmiştir?
Yazılım güvenirliliğini sağlamak için belirtilen 25 aktivite hangi kategoriler altında toplanabilir?
Yazılım güvenirliliğini sağlamak için belirtilen 25 aktivite hangi kategoriler altında toplanabilir?
Nesneye yönelik yazılımlarda test stratejileri ve test teknikleri, diğer yazılımlardan neden farklıdır?
Nesneye yönelik yazılımlarda test stratejileri ve test teknikleri, diğer yazılımlardan neden farklıdır?
Nesneye yönelik analiz ve tasarım modellerinin test edilmesi için neden klasik yöntemler yerine formal teknik gözden geçirmeler kullanılır?
Nesneye yönelik analiz ve tasarım modellerinin test edilmesi için neden klasik yöntemler yerine formal teknik gözden geçirmeler kullanılır?
Nesneye yönelik analiz ve tasarım modellerinin test edilmesi sırasında hangi kontroller yapılır?
Nesneye yönelik analiz ve tasarım modellerinin test edilmesi sırasında hangi kontroller yapılır?
Doğruluk kontrolü hangi kontrolleri içerir?
Doğruluk kontrolü hangi kontrolleri içerir?
Tutarlılık, hangi yöntemler ile kontrol edilebilir?
Tutarlılık, hangi yöntemler ile kontrol edilebilir?
Nesneye yönelik yazılımlarda, birim kavramı ne olarak değişmektedir?
Nesneye yönelik yazılımlarda, birim kavramı ne olarak değişmektedir?
Nesneye yönelik yazılımlarda, birim test nasıl tanımlanmaktadır?
Nesneye yönelik yazılımlarda, birim test nasıl tanımlanmaktadır?
Sınıf testi, birim testinden nasıl farklıdır?
Sınıf testi, birim testinden nasıl farklıdır?
OO yazılımları, hiyerarşik kontrol yapılarına sahip olduğu için, bütünlük testinde yukarıdan aşağıya veya aşağıdan yukarıya test stratejileri uygulanabilir.
OO yazılımları, hiyerarşik kontrol yapılarına sahip olduğu için, bütünlük testinde yukarıdan aşağıya veya aşağıdan yukarıya test stratejileri uygulanabilir.
OO yazılımlarda hangi bütünlük testleri kullanılmaktadır?
OO yazılımlarda hangi bütünlük testleri kullanılmaktadır?
Kabul veya sistem test aşamasında, hangi ayrıntılar önemli değildir?
Kabul veya sistem test aşamasında, hangi ayrıntılar önemli değildir?
Kabul veya sistem testi aşamasında, diğer yazılımlar gibi ne sağlanmalıdır?
Kabul veya sistem testi aşamasında, diğer yazılımlar gibi ne sağlanmalıdır?
Kabul veya sistem testi aşamasında, hangi test kullanılmaktadır?
Kabul veya sistem testi aşamasında, hangi test kullanılmaktadır?
Test-case'ler, OO Analiz aşamasında oluşturulan hangi diyagramlardan faydalanılarak hazırlanabilir?
Test-case'ler, OO Analiz aşamasında oluşturulan hangi diyagramlardan faydalanılarak hazırlanabilir?
Bölümlemeli Sınıf Testi, test case sayısını artırarak yapılabilir.
Bölümlemeli Sınıf Testi, test case sayısını artırarak yapılabilir.
Bölümlemeli Sınıf Testinin amacı nedir?
Bölümlemeli Sınıf Testinin amacı nedir?
Girdi ve çıktılar nasıl kategorize edilir?
Girdi ve çıktılar nasıl kategorize edilir?
Miras alınan metodlar, asla yeniden test edilmemelidir.
Miras alınan metodlar, asla yeniden test edilmemelidir.
Çok biçimlilik (Polymorphism) Özelliğinin test üzerine etkisi nedir?
Çok biçimlilik (Polymorphism) Özelliğinin test üzerine etkisi nedir?
Flashcards
Yazılım ölçümünün önemi
Yazılım ölçümünün önemi
Yazılım üretimi ölçülemez ise kontrol edilemez. Bu ifade yazılım geliştirmede ölçümün önemini vurgular.
Yazılım ölçümü nedir?
Yazılım ölçümü nedir?
Yazılımın boyutunu, karmaşıklığını ve performansını ölçerek yazılım kalitesi hakkında bilgi sağlar.
Yöneticilerin yazılım ölçümüne bakışı
Yöneticilerin yazılım ölçümüne bakışı
Yöneticiler için maliyet tahmini, personel üretkenliği ve yazılım kalitesini ölçmek için önemlidir.
Yazılım mühendislerinin yazılım ölçümüne bakışı
Yazılım mühendislerinin yazılım ölçümüne bakışı
Signup and view all the flashcards
m (Halstead Ölçümü)
m (Halstead Ölçümü)
Signup and view all the flashcards
k (Halstead Ölçümü)
k (Halstead Ölçümü)
Signup and view all the flashcards
M (Halstead Ölçümü)
M (Halstead Ölçümü)
Signup and view all the flashcards
K (Halstead Ölçümü)
K (Halstead Ölçümü)
Signup and view all the flashcards
Program uzunluğu (U)
Program uzunluğu (U)
Signup and view all the flashcards
Program hacmi (H)
Program hacmi (H)
Signup and view all the flashcards
Program gücü (G)
Program gücü (G)
Signup and view all the flashcards
Akış Grafı (Program Grafı)
Akış Grafı (Program Grafı)
Signup and view all the flashcards
McCABE Ölçüsü
McCABE Ölçüsü
Signup and view all the flashcards
Döngü karmaşıklığı
Döngü karmaşıklığı
Signup and view all the flashcards
Yazılım Güvenirliği
Yazılım Güvenirliği
Signup and view all the flashcards
Başarı oranı formülü
Başarı oranı formülü
Signup and view all the flashcards
Yazılım Güvenilirlik Modelleri
Yazılım Güvenilirlik Modelleri
Signup and view all the flashcards
Yazılım Güvenilirlik Modeli Değerlendirme
Yazılım Güvenilirlik Modeli Değerlendirme
Signup and view all the flashcards
Yazılım Güvenirliğini Sağlama Adımları
Yazılım Güvenirliğini Sağlama Adımları
Signup and view all the flashcards
Olabilirlilik & Gereksinimler
Olabilirlilik & Gereksinimler
Signup and view all the flashcards
Tanımlamak & Uygulamak
Tanımlamak & Uygulamak
Signup and view all the flashcards
Sistem Testi
Sistem Testi
Signup and view all the flashcards
Teslim & Bakım
Teslim & Bakım
Signup and view all the flashcards
Nesneye Yönelik Test
Nesneye Yönelik Test
Signup and view all the flashcards
Nesneye Yönelik Analiz ve Tasarım Modellerinin Test Edilmesi
Nesneye Yönelik Analiz ve Tasarım Modellerinin Test Edilmesi
Signup and view all the flashcards
Nesneye Yönelik Yazılım Testi
Nesneye Yönelik Yazılım Testi
Signup and view all the flashcards
Nesneye Yönelik Yazılım Kabul Testi
Nesneye Yönelik Yazılım Kabul Testi
Signup and view all the flashcards
Bölümlemeli Sınıf Testi
Bölümlemeli Sınıf Testi
Signup and view all the flashcards
Miras (Inheritance) Özelliğinin Test Üzerine Etkisi
Miras (Inheritance) Özelliğinin Test Üzerine Etkisi
Signup and view all the flashcards
Çok Biçimlilik (Polymorphism) Özelliğinin Test Üzerine Etkisi
Çok Biçimlilik (Polymorphism) Özelliğinin Test Üzerine Etkisi
Signup and view all the flashcards
Study Notes
Kalite Ölçümü ve Değerlendirmeleri
- Yazılım incelemesi
- Yazılım ölçütlerinin test adımlarında kullanımı
- Kalite Güvenirliğinin kestirimi ve modelleri
Yazılım Ölçümü
- Yazılım üretimi ölçülemezse kontrol edilemez (Tom De Marco)
- Yöneticiler ve yazılım mühendisleri için farklı ölçme gereksinimleri vardır
- Yöneticiler:
- Yazılım üretiminin maliyetini belirlemek
- Farklı departman çalışanlarının verimliliğini ölçmek
- Farklı projelerdeki yazılım ürünlerini kıyaslamak
- Projeler için ölçülebilir hedefler belirlemek (örneğin yazılımın güvenilirliği)
- Yazılım geliştirme yöntemlerinin ve araçlarının etkinliğini ölçmek
Yazılım Mühendislerinin Ölçüm Gereksinimleri
- Süreç ölçümleriyle sistemin kalitesini izlemek (örneğin tasarım değişiklikleri, kod hataları)
- Kesin ölçülebilir terimlerle kalite ve performans gereksinimlerini belirlemek
- Sertifika için ürün ve süreç özelliklerini ölçmek (örneğin modüllerin 100 satırdan fazla olmaması)
- Var olan ürün ve süreçlerden faydalanarak gelecekteki ürün geliştirmeler için tahmin yapmak
Yazılım Ölçümü (Halstead)
- Kaynak programın kalite güvenilirliğini kestirmek üzere kullanılır
- m: Programdaki farklı işlem sayısı
- k: Programdaki farklı işlenen sayısı
- M: İşleç yinelenmelerinin toplamı
- K: İşlenen yinelenmelerinin toplamı
- Program uzunluğu (U): m log₂m + k log₂k
- Program Hacmi (H): (M + K) log₂(m + k)
- Program gücü (G): H / O
Yazılım Karmaşıklığı Ölçümü (McCabe)
- Kontrol akışına dayalı olarak programın karmaşıklığını belirlemek
- Program grafiğini (flow graph) kullanarak karmaşıklığı ölçmek
- Graf içerisindeki kapalı bölgeler ve dışarıda kalan bölgelerin sayısı ile modülün karmaşıklığını belirlemek (örneğin Şekil-3.1'deki V(G) = 5)
- McCabe ölçüsü, yüksek modül büyüklüğünü saptamada kullanılabilir, V(G) = 10 olması gerektiği belirlenmiştir.
- Döngü karmaşıklığının bu sayıyı aşması, modülün testini zorlaştırır.
Yazılım Güvenirliği
- Tüm yazılımların aynı kalitede, bileşenlerde ve sonuçlarda olması beklenmez
- Bir yazılımın tüm test edilmesi mümkün değildir
- 1000 satırlık bir ticari yazılımda en az 1 kod hatası bulunur
- Kalite güvenirliği; geçmiş bilgilere ve sınamaya dayanarak tahmin edilir
- Başarı oranı = Başarılı süre / Toplam işletim süresi formülü ile kestirilir
Yazılım Güvenirliği Modelleri
- 1980'lerde 100'e yakın model geliştirilmiştir
- Schneidewind, Jelinski/Moranda, Musa Basic (Musa/Okumoto Log. Poison Execution-time), Littlewood-Verrall en yaygın olanlardır
- Modeller, istatistiki verilere dayanarak yazılımın güvenirliğini ölçer
- Çalıştırılma sonuçları; toplam hata sayısı, güvenirlilik düzeyi, sistemdeki kalan hata sayısı gibi bilgiler elde edilir
Yazılım Güvenirlik Modeli Değerlendirme
- Bir yazılım birden fazla modele göre test edilmeli ve sonuçlar karşılaştırılmalıdır
- Modelin geçerliliği, kullanılabilirliği, ihtiyaca uygunluğu, anlaşılırlığı ve dış etkenlerden etkilenme durumu incelenmelidir
Yazılım Güvenirliği Sağlama Adımları
- Bell laboratuarlarında yapılan çalışma, yazılımın gelişiminden teslim sürecine kadar 25 farklı aktivite tanımlamıştır
- Olabilirlilik ve Gereksinimler: İşlevsel profilleri belirleme, hataları tanımlama, müşteri ihtiyaçlarını tanımlama, organizasyon yönetimi, bileşenler arası güvenilirliği tanımlama, işlevsel kaynaklara odaklanma, hatalı kodlamaları bulma, yazılım güvenilirliğini ölçme
- Sistem Testi: Testleri yönetme, gözlemleme, gerekli ek testleri belirleme, test edilen objelerin güvenilirliğini ölçme, yazılımı kullanıma sunma, yazılımın güvenirliğini kontrol etme, müşteri memnuniyetini izleme, ürüne rehberlik ve ilerleme kaydetme
Nesneye Yönelik Test
- Nesneye yönelik yazılımlarda test stratejileri ve teknikleri farklıdır
- Sistem gereksinimleri, sınıf modelleri, sistem tasarımı ve nesne tasarımındaki hatalar test edilmelidir
- Formal teknik incelemeler kullanılır
- Analiz ve tasarım modelleri, çalıştırılabilir olmasa da, test edilebilir
Nesneye Yönelik Analiz ve Tasarım Modelleri Testi
- Doğruluk ve tutarlılık için gözden geçirme yapılır
- Modellerin mantıksal, sözdizimsel ve gerçek dünyaya uyumluluk kontrolu yapılır
- Sınıf-Sorumluluk-İşbirliği (CRC) ve nesne ilişkisi modelleri kullanılarak test edilir
Nesneye Yönelik Yazılım Testi
- Birim kavramı sınıf veya nesne olarak değişmektedir
- Sınıflar, test-case tasarımları için uygun birimdir
- Birim ve sınıf testleri, algoritma ayrıntıları, veri akışı ve paketlenmiş işlemler (OO yazılımlar hiyerarşik kontrolden yoksundur) incelenir
Nesneye Yönelik Yazılım Kabul Testi
- Sınıf ilişkileri, diğer yazılımlar gibi önemli değildir
- Gereksinimlerin karşılanması, testler için kara kutu testleriyle ve kullanım senaryolarıyla doğrulanır
- Test-case ler, OO Analiz aşamasındaki "Nesne-Davranış" ve "Olay-Akış" diyagramları kullanılarak oluşturulur
Bölümlemeli Sınıf Testi
- Test case sayısını azaltmak için sınıflar kategorize edilir
- Miras alınan metodlar yeniden test edilmelidir
- Çok biçimlilik (polymorphism) durumları için ayrı bir test yapılmalıdır
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.