Kalite Güvencesini öğrenmeden önce anlayalım-
Kalite nedir?
Kaliteyi tanımlamak son derece zordur ve basitçe ifade edilir: "Kullanıma veya amaca uygun." Her şey, ürünün işlevselliği, tasarımı, güvenilirliği, dayanıklılığı ve fiyatı ile ilgili olarak müşterilerin ihtiyaç ve beklentilerini karşılamakla ilgilidir.
Güvence nedir?
Güvence, güven veren bir ürün veya hizmet hakkında olumlu bir beyandan başka bir şey değildir. İyi çalışacağı bir ürün veya hizmetin kesinliğidir. Ürünün beklenti veya ihtiyaçlara göre sorunsuz çalışacağının garantisini sağlar.
Yazılım Testinde Kalite Güvencesi
Yazılım Testinde Kalite Güvencesi, bir kuruluş tarafından müşterilere sağlanan yazılım ürünlerinin veya hizmetlerin kalitesini sağlamak için bir prosedür olarak tanımlanır. Kalite güvencesi, yazılım geliştirme sürecini iyileştirmeye ve yazılım ürünleri için tanımlanan kalite standartlarına göre verimli ve etkili hale getirmeye odaklanır. Kalite Güvencesi, popüler olarak QA Testi olarak bilinir.
Bu eğitimde öğreneceksiniz-
- Kalite Güvencesi nasıl yapılır: Tam Süreç
- Kalite Kontrol nedir?
- Kalite Kontrol ve Kalite Güvencesi arasındaki fark nedir?
- SQA ve Yazılım Testi arasındaki farklar
- Kalite Güvencesi için en iyi uygulamalar
- Kalite Güvence İşlevleri
- Kalite Güvence Sertifikaları
- CMMI seviyesi
- Test Olgunluk Modeli (TMM)
Kalite Güvencesi nasıl yapılır: Tam Süreç
Kalite Güvence metodolojisi, PDCA döngüsü veya Deming döngüsü adı verilen tanımlanmış bir döngüye sahiptir. Bu döngünün aşamaları şunlardır:
- Plan
- Yapmak
- Kontrol
- davranmak
Kuruluşta izlenen süreçlerin periyodik olarak değerlendirilmesini ve iyileştirilmesini sağlamak için yukarıdaki adımlar tekrarlanır. Yukarıdaki QA Süreci adımlarını ayrıntılı olarak inceleyelim -
- Plan - Organizasyon, süreçle ilgili hedefleri planlamalı ve oluşturmalı ve yüksek kaliteli bir son ürün sunmak için gerekli süreçleri belirlemelidir.
- Yap - Süreçlerin geliştirilmesi ve test edilmesi ve ayrıca süreçlerde değişikliklerin "yapılması"
- Kontrol - Süreçlerin izlenmesi, süreçlerin değiştirilmesi ve önceden belirlenmiş hedefleri karşılayıp karşılamadığını kontrol etme
- Harekete Geçin - Bir Kalite Güvence test uzmanı, süreçlerde iyileştirmeler elde etmek için gerekli eylemleri uygulamalıdır.
Bir kuruluş, ürünün doğru prosedürlerle tasarlanmasını ve uygulanmasını sağlamak için Kalite Güvencesini kullanmalıdır. Bu, nihai üründeki sorunları ve hataları azaltmaya yardımcı olur.
Kalite Kontrol nedir?
Kalite kontrol popüler olarak QC olarak kısaltılır. Bir ürün veya hizmette kaliteyi sağlamak için kullanılan Yazılım Mühendisliği sürecidir. Ürün yaratmak için kullanılan süreçlerle ilgilenmez; daha ziyade "son ürünlerin" kalitesini ve nihai sonucu inceler.
Kalite kontrolün temel amacı, ürünlerin müşterinin özelliklerini ve gereksinimlerini karşılayıp karşılamadığını kontrol etmektir. Bir sorun veya sorun tespit edilirse, müşteriye teslim edilmeden önce düzeltilmesi gerekir.
QC aynı zamanda insanları kendi kalite düzeyi becerilerine göre değerlendirir ve eğitim ve sertifikalar verir. Bu değerlendirme, hizmet tabanlı organizasyon için gereklidir ve müşterilere "kusursuz" hizmet sağlanmasına yardımcı olur.
Kalite Kontrol ve Kalite Güvencesi arasındaki fark nedir?
Bazen QC, QA ile karıştırılır. Kalite kontrol, ürünü veya hizmeti incelemek ve sonucu kontrol etmektir. Yazılım Mühendisliğinde Kalite Güvencesi, süreçleri incelemek ve son ürüne yol açan süreçlerde değişiklik yapmaktır.
QC ve QA faaliyetlerinin örnekleri aşağıdaki gibidir:
Kalite Kontrol Faaliyetleri | Kalite Güvence Faaliyetleri |
---|---|
İzlenecek yol | Kalite Denetimi |
Test yapmak | Tanımlama Süreci |
Muayene | Takım Tanımlaması ve seçimi |
Kontrol noktası incelemesi | Kalite Standartları ve Süreçleri Eğitimi |
Yukarıdaki faaliyetler, esasen yazılımla değil, herhangi bir ürün için Kalite Güvence ve Kontrol mekanizmaları ile ilgilidir . Yazılımla ilgili olarak
- QA, SQA (Yazılım Kalite Güvencesi) olur
- QC, Yazılım Testi olur .
SQA ve Yazılım Testi arasındaki farklar
Aşağıdaki tablo SQA ve Yazılım Testi arasındaki farkları açıklamaktadır:
SQA |
Yazılım testi |
---|---|
Yazılım Kalite Güvencesi, kaliteyi sağlayan mühendislik süreciyle ilgilidir. | Yazılım Testi, ürün yayınlanmadan önce bir ürünü sorunlara karşı test etmektir. |
Süreçlerin, prosedürlerin ve standartların uygulanmasıyla ilgili faaliyetleri içerir. Örnek - Tetkik Eğitimi | Ürün Örneğinin doğrulanması ile ilgili aktifleri içerir - İnceleme Testi |
Süreç odaklı | Ürün odaklı |
Önleyici teknik | Düzeltici teknik |
Proaktif önlem | Reaktif ölçü |
Kuruluş tarafından oluşturulacak tüm ürünlere uygulanan SQA kapsamı | Yazılım Testinin kapsamı, test edilen belirli bir ürün için geçerlidir. |
Kalite Güvencesi için en iyi uygulamalar:
- Sağlam bir Test Ortamı Oluşturun
- Serbest bırakma kriterlerini dikkatlice seçin
- Paradan tasarruf etmek için yüksek riskli alanlara otomatik testler uygulayın. Tüm süreci hızlandırmaya yardımcı olur.
- Her işlem için uygun şekilde zaman ayırın
- Yazılım kullanımına göre hata düzeltmelerine öncelik vermek önemlidir
- Özel güvenlik ve performans testi ekibi oluşturun
- Müşteri hesaplarını bir üretim ortamına benzer şekilde simüle edin
Kalite Güvence İşlevleri:
5 temel Kalite Güvence Fonksiyonu vardır:
- Teknoloji aktarımı: Bu işlev, bir ürün tasarım belgesinin yanı sıra deneme yanılma verileri ve değerlendirmesini de içerir. Belgeler dağıtılır, kontrol edilir ve onaylanır
- Doğrulama: Burada tüm sistem için doğrulama ana planı hazırlanır. Ürün ve süreci doğrulamak için test kriterlerinin onayı belirlenir. Bir doğrulama planının yürütülmesi için kaynak planlaması yapılır.
- Dokümantasyon: Bu fonksiyon, dokümanların dağıtımını ve arşivlenmesini kontrol eder. Bir belgedeki herhangi bir değişiklik, uygun değişiklik kontrol prosedürü benimsenerek yapılır. Her tür belgenin onayı.
- Ürünlerin Kalitesinin Güvence Altına Alınması
- Kalite iyileştirme planları
Kalite Güvence Sertifikaları:
Sektörde, Kuruluşların Standartların Kalite Süreçlerini takip etmesini sağlamak için çeşitli sertifikalar bulunmaktadır. Müşteriler, bir yazılım satıcısını seçerken bunu niteleyici kriterler olarak belirler.
ISO 9000
Bu standart ilk olarak 1987 yılında oluşturulmuştur ve Kalite Yönetim Sistemleri ile ilgilidir. Bu, kuruluşun müşterilerine ve diğer paydaşlarına kaliteyi sağlamasına yardımcı olur. ISO 9000 sertifikası almak isteyen bir kuruluş; işlevleri, ürünleri, hizmetleri ve süreçlerine göre denetlenir. Temel amaç, kuruluşun süreci beklendiği gibi takip edip etmediğini incelemek ve doğrulamak ve mevcut süreçlerin iyileştirmeye ihtiyaç duyup duymadığını kontrol etmektir.
Bu sertifika yardımcı olur -
- Kuruluşun karını artırın
- Yurtiçi ve Yurtdışı ticareti geliştirir
- İsrafı azaltır ve çalışanların üretkenliğini artırır
- Mükemmel müşteri memnuniyeti sağlamak
CMMI seviyesi
Entegre Yetenek Olgunluk Modeli (CMMI) yazılım süreç iyileştirme için özel olarak geliştirilmiş bir süreç iyileştirme yaklaşımıdır. Süreç olgunluk çerçevesine dayanır ve Yazılım Endüstrisindeki iş süreçlerinde genel bir yardım olarak kullanılır. Bu model oldukça kabul görmekte ve Yazılım Geliştirme Organizasyonlarında yaygın olarak kullanılmaktadır.
CMMI'nin 5 seviyesi vardır. Bir kuruluş, Kalite Güvence Mekanizmalarının olgunluğuna bağlı olarak CMMI seviye 1 ila 5 arasında sertifikalandırılmıştır.
- Seviye 1 - Başlangıç: Bu aşamada kalite ortamı istikrarsızdır. Basitçe, hiçbir süreç takip edilmedi veya belgelenmedi
- Seviye 2 - Tekrarlanabilir: Tekrarlanabilir bazı işlemler takip edilir. Bu seviye, süreçlerin proje seviyesinde takip edilmesini sağlar.
- Seviye 3 - Tanımlanmış: Süreçler dizisi organizasyonel seviyede tanımlanır ve belgelenir. Bu tanımlanmış süreçler bir dereceye kadar iyileştirmeye tabidir.
- Seviye 4 - Yönetilen: Bu seviye, süreç ölçümlerini kullanır ve takip edilen süreçleri etkin bir şekilde kontrol eder.
- Seviye 5 - Optimizasyon: Bu seviye, öğrenme ve yenilik yoluyla süreçlerin sürekli iyileştirilmesine odaklanır.
Test Olgunluk Modeli (TMM):
Bu model, bir Test Ortamındaki süreçlerin olgunluğunu değerlendirir. Bu modelin bile aşağıda tanımlanan 5 seviyesi vardır:
- Seviye 1 - Başlangıç : Test süreçleri için izlenen bir kalite standardı yoktur ve bu seviyede yalnızca geçici yöntemler kullanılır
- Seviye 2 - Tanım: Tanımlanmış süreç. Test stratejisinin hazırlanması, planları, test senaryoları yapılır.
- Seviye 3 - Entegrasyon: Test, yazılım geliştirme yaşam döngüsü (SDLC) boyunca gerçekleştirilir - bu, geliştirme faaliyetleri, Örn. V-Modeli ile entegrasyondan başka bir şey değildir.
- Seviye 4 - Yönetim ve Ölçme: Gereksinimlerin ve tasarımların gözden geçirilmesi bu seviyede gerçekleşir ve her test seviyesi için kriterler belirlenmiştir.
- Seviye 5 - Optimizasyon: Test süreçleri için birçok önleyici teknik kullanılır ve test standartlarını ve süreçlerini iyileştirmek için araç desteği (Otomasyon) kullanılır.
Sonuç:
Kalite Güvencesi, geliştirilen ürünün kullanıma uygun olup olmadığını kontrol etmektir. Bunun için Organizasyonun periyodik olarak iyileştirilmesi gereken takip edilmesi gereken süreçleri ve standartları olmalıdır. Esas olarak, yazılımın uygulanması sırasında veya sonrasında müşterilere sunduğumuz ürün / hizmet kalitesine odaklanır.