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?
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?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
Program grafı veya akış grafı neyi göstermektedir?
Program grafı veya akış grafı neyi göstermektedir?
Signup and view all the answers
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?
Signup and view all the answers
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.
Signup and view all the answers
MCCABE ölçüsü neyi saptamada da kullanılabilir?
MCCABE ölçüsü neyi saptamada da kullanılabilir?
Signup and view all the answers
Ç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?
Signup and view all the answers
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?
Signup and view all the answers
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.
Signup and view all the answers
Yazılımları tümüyle test etmek mümkündür.
Yazılımları tümüyle test etmek mümkündür.
Signup and view all the answers
Kalite güvenirliği neye dayanmaktadır?
Kalite güvenirliği neye dayanmaktadır?
Signup and view all the answers
Başarı oranı nasıl hesaplanır?
Başarı oranı nasıl hesaplanır?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
Güvenirlik modelleri, istatistiki verilere dayanarak neyi saptamaktadır?
Güvenirlik modelleri, istatistiki verilere dayanarak neyi saptamaktadır?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
Doğruluk kontrolü hangi kontrolleri içerir?
Doğruluk kontrolü hangi kontrolleri içerir?
Signup and view all the answers
Tutarlılık, hangi yöntemler ile kontrol edilebilir?
Tutarlılık, hangi yöntemler ile kontrol edilebilir?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
Sınıf testi, birim testinden nasıl farklıdır?
Sınıf testi, birim testinden nasıl farklıdır?
Signup and view all the answers
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.
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
Kabul veya sistem testi aşamasında, hangi test kullanılmaktadır?
Kabul veya sistem testi aşamasında, hangi test kullanılmaktadır?
Signup and view all the answers
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?
Signup and view all the answers
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.
Signup and view all the answers
Bölümlemeli Sınıf Testinin amacı nedir?
Bölümlemeli Sınıf Testinin amacı nedir?
Signup and view all the answers
Girdi ve çıktılar nasıl kategorize edilir?
Girdi ve çıktılar nasıl kategorize edilir?
Signup and view all the answers
Miras alınan metodlar, asla yeniden test edilmemelidir.
Miras alınan metodlar, asla yeniden test edilmemelidir.
Signup and view all the answers
Çok biçimlilik (Polymorphism) Özelliğinin test üzerine etkisi nedir?
Çok biçimlilik (Polymorphism) Özelliğinin test üzerine etkisi nedir?
Signup and view all the answers
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.
Related Documents
Description
Bu quiz, yazılım kalite ölçümü ve değerlendirmeleri üzerine odaklanmaktadır. Yazılım mühendisleri ve yöneticilerin ölçme gereksinimlerini anlamalarına yardımcı olacak bilgileri içermektedir. Yazılım üretim süreçlerinin kontrol edilmesi için gerekli kriterleri keşfedin.