Yazılım Mimarisi içinde Yazılım Kalite Güvencesi konusu , Her yazılım geliştirme veya yazılım bakım projesi kalite güvence aktivitesi içerir. Programcı farkında olmasa da, tek kişilik yaızlım geliştirme projeleri bile kalite güvence aktiviteleri içerir. Her programcının, kodun nasıl yazılması ...
|
|||||||
| Kayıt ol | Yardım | Üye Listesi | Ajanda | Forumları Okundu Kabul Et |
|
|
#1 (permalink) |
![]() Üyelik tarihi: Oct 2007
Nerden: Wanted...
Mesajlar: 3,280
Tecrübe Puanı: 17371
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Her yazılım geliştirme veya yazılım bakım projesi kalite güvence aktivitesi içerir. Programcı farkında olmasa da, tek kişilik yaızlım geliştirme projeleri bile kalite güvence aktiviteleri içerir. Her programcının, kodun nasıl yazılması gerektiği hakkında bir düşüncesi vardır ve bu düşünce tarzı o pprogramcı için bir kodlama standardı olarak iş görür. 1. YAZILIM KALİTE GÜVENCESİ 1.1 Giriş Benzer olarak, herkesin bir belgenin nasıl yazılması gerektiği hakkında fikirleri vardır. Bu, kişiserl bir standarddır. Insanlar, sahip oldukalrı bu standardlara göre belgeleri gözden geçirirler. Aynı şekilde, programcılar da programlarının kendi standardlarına uygun olup olmadığını anlamak için gözden geçirirler. Bu çalışmalara KG (Kalite Güvence) incelemeleri denir. Bir projenin resmi KG progr**** her takım üyesinin yaptığı KG aktivitewlerini içerir. Fakat bu aktiviteleri kişi bazında değil de, proje azında KG planları olarak ele alır. KG planlarının uzunluğu, detaylılığı projeye ve projenin risklerine göre değişir. 1.2 KG Kavramları ve Tanımları Kalite Güvence, yazılım yordamlarının ve ürünlerinin �gereksinimlere, standardlara� uygunluğunu belirleyen planlı ve sistematik çalışmalardır. Yazılım Kalite Güvencesi, ; yazılım geliştirme süresince her adımda uygulanan bir şemsiye etkinliktir. Gereksinimlerin düzgün olarak saptandığını ve ürünlerin, servislerin belirli standardlarda olduğunu kanıtlayan planlı ve sistematik bir dizi aktivitelerdir. Süreç, Tasarım, geliştirme, genişletme, yazılım bakımı aktivitelerini kapsar. Ürün, yazılımı, ilgiyi veriyi, belgeleri ve tüm raporları kapsar. KG, yazılım geliştirme süreci yaşam döngüsü boyunca standardların ve yordamların uygulandığını ölçen süreci de kapsar. Standardlar, yazılım ürünlerinin karşılaştırıldığı kriterlerdir. Yordamlar, geliştirme ve kontrol süreçlerinin karşılaştırıldığı kriterlerdir. Gereksinimlere, standardlara, yordamlara uygunluk, izleme, test yapma, inceleme, değerlendirme ile ölçümlenir. Yazılım geliştirme yaşam döngüsündeki üç destekleyici aktivite yönetim, mühendislik, kalite güvencesidir. Yazılım Yönetimi , planlama, kontrol yazılım projesini yönlendirme aktivitelerini kapsar. Yazılım Mühendisliği , gereksinimlerin analizi, tasarım geliştirme, kodlama, veritabanlarını yaratma aktivitelerini kapsar. , yönetim ve mühendislik aktivitelerinin tüm gereksinimleri karşıladığını garanti eder. 1.3 Kalite Güvence Hedefleri Yazılım geliştirme, diğer tüm karmaşık geliştirme aktiviteleri gibi risklerle doludur. Bu riskler, teknik veya program ile ilgili olabilir. Bu da, yazılımın beklenildiği gibi olmasını engelleyebilir. KG�nin hedefi, bu riskleri azaltmaktır. Örneğin, kodlama standardları yazılan kod kalitesini belirli bir seviyede tutmak için gereklidir. Eğer herhangi bir standard yoksa, oluşan kodun, yeniden kullanılabilirlik ile ilgili gereksinimlere uygun olmaması riski vardır ve bu da kodun üstnde tekrar çalışma yapmayı gerektirir. KG süreci, riskleri azaltmak ve ürünün kalitesinin garantilenmesi için yapılması zorunlu bir süreçtir. Hiç bir KG sürecinin olmaması, kabul edilemez bir kodun oluşma riskini arttırır. 1.4 Kalite Güvence Takımı KG�nin, ayrı, bağımsız bir takım tarafından ele alınması gerekir. KG fonksiyonları en iyi, mühendislik ve yönetimden ayrı bir KG test ortamında yapılabilir. Yönetimsel olarak, KG üst müdürlere ve proje yöneticisine raporlar verir. Ayrı bir takım gerekmesinin nedeni, geliştirme sürecinde standardlara uyulduğunu garantileyen, yönetimin sağ kolu olmasındandır. Eğer KG ayrı olmazsa, gerçekçi bir sonuç elde edilemez. Ayrıca, testlerin tasarım veya kodlama detayları tarafından etkilenmediğini, geresinimlere göre yapıldığını garanti eder. Sadece KG aktiviteleri ile ilgilenen takım geliştirme takımına göre daha küçüktür ama sadece KG sorumluluğuna sahip bir takımın bulundurulmasının çok faydası vardır. ![]() Şekil 2 - Yazılım Kalite Güvence Takımının Yeri 1.5 Özet KG yazılım geliştirme ve bakımının olmazsa olmaz bir parçasıdır. Yazılım yönetimi ve mühendisliğini tamalayan üçüncü parçadır. Yazılım projesinin başarısını direkt olarak etkiler. 2. KALİTE GÜVENCE AKTİVİTELERİ 2.1 Planlama 2.1.1 Kalite Güvencesini Projeye Uygun Hale Getirmek Projenin karakteristikleri ve riskleri KG ihtiyaçlarını etkiler ve bu yüzden her KG planı projeye özgü olarak değiştirilmelidir. Ele alınması gereken karakteristikler projenin görevlerinin tehlikesi, zaman çizelgesi, bütçesi, büyüklüğü, karmaşıklığı ile ilgilidir. Normal olarak, proje ne kadar kritikse, KG o kadar önemli ve biçimsel olmalı diye düşünülür. Ayrıca bütçe ve zaman çizelgesi ilişkisi segisel değildir. Daha sıkı bir bütçe ve zaman çizelgesi, iyi planlanmış bir KG�nin önemini arttırır. Ama bu, kaynakları bol olan bir projede KG gevşek olacak demek değildir. Bu, kaynakları bol olmayan bir projenin riskli daha fazla olacağı için KG daha güçlü olmalıdır demektir. Gerekli olan KG seviyesini projenin büyüklüğü ve son ürün belirler. Büyük bir proje detaylı bir plan gerektirir. Bunlara ek olarak, büyük bir proje test ve doğrulama aşamalarında ekstra çaba gerektirir. Böyle bir proje için düşük kaliteyi önlemek için biçimsel bir KG planı kabul edilmelidir. Diğer yandan küçük bir projede, KG ço az çaba gerektirir. Hatta KG aktiviteleri programcıya bırakılabilir. 2.1.2 Kalite Güvence Planını Yaratmak KG planı yaratmaktaki amaç, belirli bir proje için gerekli olan tüm KG aktivitelerini belgelemek ve belirtmektir. Proje hakkındaki bilgiye ve varolan KG kaynaklarına dayanılarak, projeye uygun bir KG planı yapılır. Etkin bir plan, planlamayı ve izlemeyi gerektirir. KG planı yaratılırken şunları gözönünde tutmalıyız: 1 KG, proje yönetimi ve mühendisliği ile proje yaşam döngüsü boyunca içiçedir. 2 KG aktiviteleri düzgün olarak ayrılmalıdr. Örneğin, tasarım standardları, tasarım bitmeden hazırlanmalıdır. 3 Araç temini kullanılacak araçlar gerekli olmadan temin edilmelidir. (Özellikle test araçları ve veri kaynakları) 2.1.3 Test-Durumu Yaratma Test-durumu, bir girdi, eylem veya olay ve beklenen cevabı açıklayan bir belgedir. KG mühendisleri uygulamanın belirli bir özelliğini test etmek için bu senaryoları kullanırlar. Test-durumu yaratma süreci gereksinimlerin bulunmasına veya tasarıma yardımcı olabilir. Bu yuzden test-case�lerin geliştirmenin erken evresinde yapılması daha iyidir. Bir test-durumunda şunlar bulunur. 1 Detaylı kurulum talimatları 2 Detaylı test yordamları (tüm adımları ve eylemleri içerir) 3 Beklenen sonuçlar (kabul edilebilirlik kriterleri) 2.1.4 Standardları ve Yordamları Saptama Yazılım projesinin standardlarını ver yordamlarını saptama çok öenmli bir iştir çünkü bu aşamada yazılımın çerçevesi belirlenecektir. Yazılım ürünlerinin karşılaştırıldığı standardlar ve �gelişmenin ve kontrolün� karşılaştırıldığı yordamlar, yazılım geliştirmedeki metotların geliştirilmesini sağlar. KG�nin rolü, standardların ve yordamların yeterliliğini ve varlığını garanti etmektir. KG aktiviteleri olan izleme, ürün değerlendirme, dentleme belirsiz ytanımlara dayandığı için standardların ve yordamların kağıda dökülmesi, belgelenmesi şarttır. Belgeleme standardları , proje boyunca tutarlılığı sağlar. Ayrıca, paln ve ürün raporlarının içeriğini ve formunu belirler. Tasarım standardları , tasarım ürününün formunu ve içeriğini belirler. Yazılım gereksinimlerini yazılım tasarımına dönüştürecek olan kuralları ve metotları sağlar. Belgelenmiş yordamlar bir yordamı yürütürken uygulanacak adımları belirler. Örneğin; konfigürasyon yönetimi, test etme, biçimsel incelemeler. 2.1.5 Tamamlanma Ölçütlerini Saptama Yazılımın doğası gereği, yazılım geliştirmenin ve bakımın durumunu tam olarak söyeleyebilmek zordur. Bu yüzden, belirli bölümlerin tamamlanması ile ilgili kriterler belirlemek gerekir. Gerçekleştirim safhasında, en detaylı seviyenin bitirilmesi gerekir (progam elemanlarının tasarımı, elemanları kodlama, test etme) program elemanlarının sayısı fazla olunca, belirli bir tamamlanma ölçütü olmadan birimlerin bitirilip bitirlmediğini anlamak zordur. Tamamlanma ölçütü saptanması bir yönetim fonksiyonudur ama denetleme önemli bir KG aktivitesidir. Denetlemeler, raporlanan durumların gerçekliğini ölçer. 2.1.6 Standardlar ve Yordamları Denetlemek Denetleme, KG�nin önemli bir adımıdır. Denetleme, ürüne veya yordama detaylı olarak bakarak saptanan yordamlar ve standardlar ile karşılaştırır. Denetleme, yazılım ürünün kalitesini ve durmunu belirlemede kullanılır. KG denetlemesinin amacı, gerekli kontrol yordamlarının izlenildiğini, gerekli belgelemenin yapıldığını ve geliştiricinin raporunun doğruluğunu kontorl etmektir. KG denetleme raporu, geliştirmenin standardlara uygun olarak yapılmasını sağlar. 2.1.7 Ürünleri ve Yordamları İzleme, Kontrol Etme Proje değerlendirme ve süreç izleme, proje yönetim planında belitilen yazılım geliştirme ve kontrol yordamlarının projeye doğru şekilde uyulduğunu saptamak ve standardlara, süreçlere uyulduğunu denetlemektir. Ürünler standardlara uygunluk için kontrol edilir. Ürün değerlendirme ve yordam izlemedeki en önemli eylem denetleme yapmaktır. İdeal olarak, KG tarafından izlenen ilk ürünler projenin standardlarıdır. KG, anlaşılır ve erişilebilir standardlar olduğunu garanti eder ve ürünlerin bu standadrlara uyumluluğunu ölçer. Bu da yazlım ürünün gereksinimleri sağladığını gösterir. 2.1.8 Doğrulama ve Geçerlilik İzleme KG, doğrulama ve geçerlilik süreçlerini, izleme yaparak, ürün gözden geçirmelerine katılarak sağlar. Gözden geçirme, ürüne genel bir bakış olarak görülür ve ürünün gereksinimlerini karşılayıp karşılamadığını ölçer. Biçimsel gözden geçirmelerde, tamamlanan iş standardlarla karşılaştırılır. Gözden geçirmeler yazılım geliştirme sürecnin parçasıdır ve her bölümün sonunda, problemleri tanımlamak ve gereksinimlerin ne kadar karşılandığını belirlemek için yapılmalıdır. Sürecin sonunda, hazır/hazır değil şeklinde bir sonuca varılıp bu sonuca göre bir sonraki adıma geçilir/geçilmez. Bir sonraki adıma geçip geçmemek yönetimin işi olsa da KG kararda etkili olur. 2.2 KG Testleri Yazılım testleri ürünün tamamlandığını/tamamlanmadığını ve dağıtıma hazır olduğunu/olmadığını belirler. 2.2.1 KG Testelerinin Hedefleri
KG, test planları, ıest belirtimleri, test yordamları gibi test belgeleri hazırlar ve belgelerin standardlara uygunluğunu kontrol eder. KG aşağıdakileri doğrular:
Şunu unutmamak gerekir ki tüm testler, son ürünün müşteri beklentileri ve gereksinimleri ile karşılaştırılarak yapılacaktır. Bu yüzden gereksinimler, gerektiğinde değiştirilmelidir ve yazılımın tüm fonksiyonlarını göstermelidir. Beklenti dışı her fonksiyon hata olarak varsıyılacaktır. 2.3 Kalite Güvence Testleri 2.3.1 Birim Testi Birim test durumları programın doğruluğunu ölçmek için kullanılır. �Beyaz kutu testi� programın modüllerini ve süreçleri test eder. Bu testte programın fonksiyonelliği değil de kod yapısı incelenir. Bunu başarabilmek için, bir durum tekniği kullanılır: 1 Programdaki her ifade test süresince en az bir kez doğru veya yanlış değer almalıdır. 2 Test süresince her durum olası sonuçların hepsini göstermelidir 2.3.2 Yapılandırma Yönetimi Yapılandırma yönetimi takımı test ortamını hazırlar. 2.3.3 Versiyon Doğrulama Bir versiyon tamamlanma ölçütünü sağladığında ve test edilmeye hazır olduğunda, KG takımı bu versyionu test eder.
Tamamlanma testi, sistemin tüm parçalarının birbiriyle düzgün haberleştiğini ve veri akışının doğru yapıldığını test eder. Son tamamlanma testi, sistem bir bütün olarak çalışabildiğini gösterir. 2.3.5 Fonksiyonel Test Fonksiyonel test, sistemin her elemanının gereksinimleri karşılamakta olduğunu, sistem tasraım belirtimlerine, diğer fonskiyonel özelliklere uyumlu olduğunu gösterir. 2.3.6 Fonksiyonel Olmayan Test Fonksiyonel olmayan test, tüm belgelenmiş standardlara ve gereksinimlere uygunluğu gösterir. Örneğin, cevap zamanı, diğer sistemlerle uyumluluk. Eğer sistem donanımında sistemin belirli miktar eri tarfiğine izin verdiği belirtilmişse, bu durumlar da test edilmelidir. 2.3.7 Hata Düzeltme Doğrulama Eğer geliştirme esnasında hatalar bulunup düzeltildiyse, KG bu bölümlerdei düzeltmelere ayrıca test uygular. 2.3.8 Anlık Test Bu tip testler gerçek kullanıcı senaryolarını canladırmada kullanılır. KG mühendisleri, kullanıcın yapacağı davranışları yaparak sistemi test ederler. Örneğin sayfa tam yüklenmeden �ileri� tuşuna basmak gibi. 2.3.9 Gerileme Testi Gerileme testi, her yeni versiyon yayınlandıktan sonra, yeni versiyonun eski versiyonlar üzerinde kötü etki bırakıp bırakmadığını ölçmeye yarar. Gerileme testi, projede devamlı bir artmalı ilerleme olduğunu gösterir. 2.3.10 Hata Yönetimi KG test aşamsında, tüm hatalar hata yönetimi iş akışı ile takıma sunulur. Takım içinde düzenli toplantılar yapılır. 2.3.11 Kalite Gğvence Raporu Hazırlama Bu raporlar test sonuçlarını, bilinen hataları, önerilen çözümleri içerir. 3. YAZILIM KALİTE GÜVENCESİ VE CMM
4. YAZILIM KALİTE GÜVENCE�DE KURULUŞLAR & SERTİFİKALAR [Üye Olmayanlar Forumdaki Linkleri Göremezler.Ücretsiz Üye Olmak İçin Tıklayın] � Yazılım Mühendisliği Enstitüsü (Software Engineering Institute) web sitesi; SEI teknik programlar ile ilgili bilgiler, yayımlar, bibliyografyalar, çevirim-içi belgeler, SEI kursları, eğitim, diğer sitelere linkler. [Üye Olmayanlar Forumdaki Linkleri Göremezler.Ücretsiz Üye Olmak İçin Tıklayın] - IEEE web sitesi; Yazılım mühendisliği standardları, yazılım kalite güvence standardları [Üye Olmayanlar Forumdaki Linkleri Göremezler.Ücretsiz Üye Olmak İçin Tıklayın]� Amerika Kalite Topluluğu (American Society for Quality) web sitesi; kalite ile ilgili yazılar. Dünyanın bu konudaki en büyük organizasyonu. 100.000�den fazla üyesi vardır. [Üye Olmayanlar Forumdaki Linkleri Göremezler.Ücretsiz Üye Olmak İçin Tıklayın] ise yazılım ile ilgili kalite güvence bölümüdür. [Üye Olmayanlar Forumdaki Linkleri Göremezler.Ücretsiz Üye Olmak İçin Tıklayın] [Üye Olmayanlar Forumdaki Linkleri Göremezler.Ücretsiz Üye Olmak İçin Tıklayın] � Kalite Güvence Enstitüsü (Quality Assurance Institute) [Üye Olmayanlar Forumdaki Linkleri Göremezler.Ücretsiz Üye Olmak İçin Tıklayın]- ASQ Amerika Kalite Topluluğu (American Society for Quality) CSQE Sertifikalı Yazılım Kalite Mühendisi (Certified Software Quality Engineer) programı � Gereksinimler ile ilgili bilgiler var. [Üye Olmayanlar Forumdaki Linkleri Göremezler.Ücretsiz Üye Olmak İçin Tıklayın]- QAI Kalite Güvence Enstitüsü�nün (Quality Assurance Institute) CSQA Sertifikalı Yazılım Kalite Analisti (Certified Software Quality Analyst) programı ve CSTE Sertifikalı Yazılım Test Mühendisi (Certified Software Test Engineer) sertifikası. [Üye Olmayanlar Forumdaki Linkleri Göremezler.Ücretsiz Üye Olmak İçin Tıklayın]� İngiliz Bilgisayar Topluluğu (The British Computer Society) 3 seviyeli sertifika sistemi: - ISEB Kuruluş Sertifikası (Foundation Certificate), Pratisyen Sertifikası (Practitioner Certificate), ve Pratisyen Diploması (Practitioner Diploma). 5. Kaynaklar: Software QA and Testing Resource Center � FAQ Software QA and Testing Resource Center - Other Resources Software QA and Testing Resource Center � Tools StickyMinds_com Article info Quality Assurance Section for a Design Specification Establishing & Implementing Software QA, Arati Prabhkar, IonIdea Enterprise Solutions Pvt Ltd, Banglore Quality Assurance Concepts, QA Concepts and Implemetation Guidelines, August 2000, Nadeem Kayani
__________________
..beni sevin.. ![]() |
|
|
|
![]() |
| Etiketler |
| kalite, yazılım, yazılım kalitesi |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) |
|
| Seçenekler | |
| Stil | |
|
|
|
||||
| Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
| Yazılım Mühendisliği Nedir ? | tavuk_kavurma | Yazılım Mimarisi | 0 | 07-31-2008 16:43 |
| En İyi Slogan Seçildi. - Kalite hiçbirzaman tesadüf değildir... | MuratCabukS | Forum Hakkında Duyurular | 13 | 02-28-2008 20:32 |
| Kalite tescillendi | Ozi | Fenerbahçe | 0 | 02-22-2008 18:58 |
| Gerçek Kalite | Ozi | Futbol | 0 | 12-17-2007 14:07 |