TS ISO/IEC 25051 Standardı Kapsamında Yazılım Kalitesi ve Test Yönergeleri

Benzer belgeler
Bilişim Teknolojileri Test ve Belgelendirme Hizmetleri. Mustafa YILMAZ

3.DERS YAZILIMDA KALİTENİN ANLAMI

TS EN ISO/IEC Kullanılabilir Arayüz Sertifikası Verilmesi Süreci

BMH-405 YAZILIM MÜHENDİSLİĞİ

SÜREÇ YÖNETİM PROSEDÜRÜ

Bilindiği üzere Bilgi Güvenliği Yönetim Sistemi, bilgi ve bilgi varlıklarının

ISO 27001:2013 BGYS BAŞDENETÇİ EĞİTİMİ. Kapsam - Terimler

Bilindiği üzere Bilgi Güvenliği Yönetim Sistemi, bilgi ve bilgi varlıklarının

Laboratuvar Akreditasyonu

YMT 505-Yazılım Proje Yönetimi Giriş- Temel Kavramlar

T. C. TÜRK STANDARDLARI ENSTİTÜSÜ

Web Tabanlı CMMI Süreç Yönetimi Uygulamalarının Süreç ve Yazılım Geliştirme Performansına Pozitif Etkileri

WEB KULLANILABİLİRLİĞİ

TS EN ISO 9001:2008 Kalite Yönetim Sistemi Kurum İçi Bilgilendirme Eğitimi ISO 9001 NEDİR?

BİLGİ GÜVENLİĞİ POLİTİKASI

Kalite Sistem Dokümantasyonu ve Örnek Uygulamalar

ISO/IEC 9126 STANDARDINDA ANADİLİN KULLANIMI NATIVE LANGUAGE USAGE IN ISO 9126 STANDARD

YMT 312-Yazılım Tasarım ve Mimarisi Yazılım Mühendisliği ne Giriş

BİLGİ GÜVENLİĞİ POLİTİKASI

ISO/IEC BİLGİ TEKNOLOJİSİ - HİZMET YÖNETİMİ BAŞ DENETÇİ EĞİTİMİ. Terimler Ve Tarifler.

PROGRAMLAMA TEMELLERİ

UDEM 2017 Eğitim Kataloğu

KALİTE KAVRAMI VE KALİTENİN BOYUTLARI

BGYS-PL-01 BİLGİ GÜVENLİĞİ POLİTİKASI

YAZILIM ÖLÇÜTLERİ GENEL BİLGİLER

Türk Akreditasyon Kurumu -TÜRKAK

SÜREÇ YÖNETİMİ PROSEDÜRÜ

TÜRK AKREDİTASYON KURUMU. Personel Akreditasyon Başkanlığı

Konfigürasyon Yönetimi

NESNEYE YÖNELİK ÇÖZÜMLEME SÜRECİ

ISO 14001:20014 ve ISO 14001:2015 Şartları Arasındaki Eşleştirme Eşleştirme Kılavuzu

:55:27 BÖLÜM 4 KALİTE VE AKREDİTASYON

KALİTE GÜVENCE SİSTEMLERİ

UE.18 Rev.Tar/No: /03 SAYFA 1 / 5

Yrd. Doç. Dr. Ayça Tarhan. Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü

Kullanım Durumu Diyagramları (Use-case Diyagramları)

MerSis. Bilgi Teknolojileri Bağımsız Denetim Hizmetleri

Plan. Kalite ve Kalite Güvence Sistemi. ISO ve Temel Kavramlar. ISO ve Kalite El Kitabı. ODTÜ Kalite Yönetim Sistemi

ANET Bilgi Güvenliği Yönetimi ve ISO Ertuğrul AKBAS [ANET YAZILIM]

Yaz.Müh.Ders Notları #4 1


Chapter 8 Yazılım Testi. Lecture 1. Chapter 8 Software testing

KAYISI ARAŞTIRMA İSTASYONU MÜDÜRLÜĞÜ EK 3.4 KALİTE YÖNETİM / İÇ KONTROL BİRİMİ

TOPLAM KALİTE YÖNETİMİ

YAZILIM MODELLEME VE TASARIM

Yönetim Sistemleri Eğitimleri

DEMİRYOLU SEKTÖRÜNDE ÜRÜN BELGELENDİRME SÜREÇLERİ

BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER

Notice Belgelendirme Muayene ve Denetim Hiz. A.Ş Onaylanmış Kuruluş 2764

Yazılım Nedir? Yazılım Mühendisi. Yazılım Mühendisliği. ACM/IEEE Etik Kodu. Etik Kural için Önsöz BIL 304 YAZILIM MÜHENDİSLİĞİ

KALİTE EL KİTABI PERSONEL BELGELENDİRME

Web Sitelerinin Değerlendirilmesi

Mikro Bilgi Kayıt ve Dağıtım A.Ş Kalite Yönetim Temsilcisi. Şenay KURT

YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK GENEL BİLGİLER

ISO 9001:2015 GEÇİŞ KILAVUZU

III. PwC Çözüm Ortaklığı Platformu Şirketlerde İç Kontrol ve İç Denetim Fonksiyonu* 22 Aralık 2004

5. PROGRAMLA DİLLERİ. 5.1 Giriş

BDDK-Bilgi Sistemlerine İlişkin Düzenlemeler. Etkin ve verimli bir Banka dan beklenenler Bilgi Teknolojilerinden Beklenenler

ABANT İZZET BAYSAL ÜNİVERSİTESİ DOKÜMAN VERİ PROSEDÜRÜ

Doç. Dr. Serdar Öztora Aile Hekimliği Anabilim Dalı

BLM 426 YAZILIM MÜHENDİSLİĞİ BAHAR Yrd. Doç. Dr. Nesrin AYDIN ATASOY GENEL BİLGİLER

BMH-405 YAZILIM MÜHENDİSLİĞİ

ÇELİKEL A.Ş. Bilgi Güvenliği Politikası

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

AKDENİZ ÜNİVERSİTESİ KALİTE YÖNETİM SİSTEMİ

MESLEKİ EĞİTİM MALİ DESTEK PROGRAMI. Proje ve Projelere İlişkin Genel Kavramlar

TİTCK/ DESTEK VE LABORATUVAR HİZMETLERİ BAŞKAN YARDIMCILIĞI/ ANALİZ VE KONTROL LABORATUVAR DAİRESİ BAŞKANLIĞI ŞARTNAME HAZIRLAMA PROSEDÜRÜ PR24/KYB

TÜRK AKREDİTASYON KURUMU. Ürün Hizmet ve Muayene Akreditasyon Başkanlığı Muayene Kuruluşu Akreditasyonu

İŞ SÜREKLİLİĞİ YÖNETİM SİSTEMİ İÇİN KRİTİK BAŞARI FAKTÖRLERİ

Yaz.Müh.Ders Notları #6 1

TETKİK SÜRELERİ BELİRLEME TALİMATI

bt-pota Bilgi Teknolojileri Hizmetleri Belgelendirme Standartları Merve Saraç Nisan 2008

AHİ EVRAN ÜNİVERSİTESİ DOKÜMAN VERİ PROSEDÜRÜ

Doç. Dr. Ender ATEŞMAN

LOJİSTİKTE MÜŞTERİ HİZMETİ. 7.Kasım.2016

KKTC MERKEZ BANKASI. BİLGİ GÜVENLİĞİ POLİTİKASI GENELGESİ (Genelge No: 2015/02) Mart-2015 BANKACILIK DÜZENLEME VE GÖZETİM MÜDÜRLÜĞÜ

Erma Yazılım EBYS Sistemi. (Elektronik Belge Yönetim Sistemi) Dijital Arşivleme. Otomasyonu

ISO Nedir? denir. ISO 16001, Enerji yönetimi standardı, maliyetlerinizi ve sera gazı emisyonlarınızı indirgeme temelli, etkili bir enerji yöneti

YAZILIM MODELLEME VE TASARIM

T. C. TÜRK STANDARDLARI ENSTİTÜSÜ

SİSTEM MÜHENDİSLİĞİ TASARIMIN SENTEZLENMESİ II

ESİS Projesi. Kaynaklar Bakanlığı

SERTİFİKALI KALİTE YÖNETİM SİSTEMLERİ VE KİŞİSEL GELİŞİM EĞİTİMİ

TÜRK STANDARDLARI ENSTİTÜSÜ

TEKNİK ÇÖZÜMLERİ HAZIRLAMA REHBERİ

Kalite Sistemleri ve Yönetimi. Yılmaz ÖZTÜRK

Tedarik Zinciri Yönetimi

Elektronik Belge Yönetimine Geçiş Sürecinde Kurumsal Sorumluluklar ve Yol Haritası. Tekirdağ 25 Haziran 2012

BİLGİ SİSTEMLERİNİN GELİŞTİRİLMESİ

EKLER. EK 12UY0106-4/A5-2: Yeterlilik Biriminin Ölçme ve Değerlendirmesinde Kullanılacak Kontrol Listesi

Laboratuvar Akreditasyonu

MIS 325T Servis Stratejisi ve Tasarımı Hafta 7:

ARAŞTIRMA VE GELİŞTİRME DAİRESİ BAŞKANLIĞI TARAFINDAN PİLOT SEÇİLEN BÖLGELERDE YÜRÜTÜLEN ÇALIŞMALAR

ÜRÜN BELGELENDİRME EĞİTİM HİZMETLERİMİZ

BİLGİ GÜVENLİĞİ POLİTİKASI

FTR 331 Ergonomi. Bilgiye Dayalı İş Yeri Düzenleme. emin ulaş erdem

3- PROJENIN BAŞLATıLMASı: PROJE KAPSAM YÖNETIMI

ISO 9001 Kalite Terimleri

KALİTE NEDİR? Kalite, kullanıma uygunluktur Kalite, ihtiyaçlara uygunluktur Kalite, bir ürünün ifade edilen veya beklenen

Toplam Kalite Yönetimi ve Kalite Maliyetleri

Transkript:

TS ISO/IEC 25051 Standardı Kapsamında Yazılım Kalitesi ve Test Yönergeleri İnan ÖZKAN Türk Standardları Enstitüsü, Ankara iozkan@tse.org.tr Özet: Teknolojiyi hayatımızın önemli bir parçası haline getirmiş bulunmaktayız. Alışverişlerimizi, fatura ödemelerimizi, sosyal ilişkilerimizi, resmi işlemlerimizi ve daha birçok faaliyetimizi yazılımlar aracılığı ile yapabilmekteyiz. Yazılımları kullanırken bazen hata alır, bazen tam olarak nereye tıklamamız gerektiğini dakikalarca araştırır bazen de keşke şu özelliği de olsa diye düşünürüz. Kullanıcıların yazılımlardan memnun olmasını sağlayabilmek, geliştiricinin istediği faydayı görmesini mümkün kılmak için üretilen yazılımlar kaliteli üretilmek zorundadır. Kalite için yazılımlarda test vazgeçilmez bir unsur olmaktadır. Bu yazıda hem yazılım kalite gereksinimleri ve değerlendirmesinden hem de test dokümantasyonunun nasıl tutulması gerektiğinden bahsedilmeye çalışılmaktadır. Anahtar Sözcükler: TS ISO/IEC 25051, Yazılım Kalitesi Gereksinimleri, Test Yönergeleri, Cots Kavramı TS ISO/IEC 25051, Yazılım Kalitesi Gereksinimleri, Test Yönergeleri, Cots Kavramı Summary: Technology has big importance in our lives. We all, make shopping, bill payment, socaility, govermantal works and more with softwares. While using softwares, sometimes we get errors, sometimes we confuse about clicking which button and sometimes want something more from softwares. To make users satisfy and to make developer get what he wants from software, Softwares must be developed in a quality way. For quality, Test is a need for softwares. In this text we will talk about software quality and test instructions. Key Words: TS ISO/IEC 25051, Software Quality Requirements, Test Instructions, Cots 1. Giriş Yazılım sektörü hızla gelişen ve büyüyen sektörlerden birisidir. Hayatımızın her alanında yazılımlar tarafından kuşatılmış durumdayız. Yazılımların bize sağladıkları kolaylıklar ve imkanlar, yazılım üreticilerinin en büyük silahı halini almış durumdadır. Kullanıcı taleplerine karşılık verebilmek için sürekli gelişen, büyüyen, yeni yaklaşımlar üreten ve kendini sürekli olarak güncelleyen yazılım sektörü, yaptığı her geliştirmeden sonra yeni bir sorun, yeni bir hata ve açıklık, yeni bir acaba ile karşı karşıya kalmaktadır. Kullanıcıların ve üreticilerin tatmin olabilmesi için, sağlık geliştirme için ve geliştirme sonucu hem kullanıcıların hem de üreticilerin yaşanan sorunlardan dolayı maddi olarak zarara uğramaması, iş planlarının ertelenmemesi için yazılan yazılımların bir sistematik içerisinde geliştiriliyor olmaları kaçınılmazdır. Yazılacak yazılımlar ile ilgili olarak kullanılacak sistematik içerisinde nelere bakmamız gerektiği yazılımda hangi yönlerin bulunduğuna dair bilgiyi bize şimdiye kadar en iyi kalite modelleri sunmuştur. Yazılımda kalitenin nasıl ele alındığına bakmadan önce kalitenin ne olduğunun cevabını araştırmamız gerekmektedir. Kalite, Amerikan Kalite Kontrol Derneği (ASQC) ne göre bir mal ya da hizmetin belirli bir gerekliliği karşılayabilme yeteneklerini ortaya koyan karakteristiklerin tümü, Avrupa Kalite Kontrol Organizasyonu (EOQC) ye göre bir malın ya da hizmetin tüketicinin isteklerine uygunluk derecesi, Japonya Sanayi Standartları Komitesi (JIS) a göre ürün ya da hizmeti ekonomik bir yoldan üreten ve tüketicinin isteklerine cevap veren bir üretim sistemi ve Uluslararası Standartlar Teşkilatı (ISO) na göre de bir ürün ya da hizmetin belirlenen veya olabilecek ihtiyaçları karşılama kabiliyetine dayanan özelliklerinin toplamı ifadeleri ile tanımlanmaktadır. Kısaca tanımlamak gerekirse kalite, kusursuzluk anlayışına sistemli bir yaklaşımdır denilebilir. Yazılımda kaliteyi anlayabilmek için öncelikle yaklaşım ardından kalite sistemlerinden örnekleri anlamamız gerekmektedir. 2. Yazılım Kalitesine 5 Açıdan Bakış 2. Kalite Nedir?

Ürün merkezli bakış açısındaki ana fikir, eğer bir ürün iyi içsel özellikler ile üretilmiş ise dışsal özelliklerinin de o kadar iyi olacağı yönündedir. İç ve dış özellikler arasında nedensel bir ilişki kurmaya çalışmaktadır. Kullanıcı merkezli bakış açısındaki kalite ölçütü ise ürünün kullanıcı gereksinimlerini ve beklentilerini karşılayabilme yeteneğidir. Ürünün kalitesi kullanıcıyı ne kadar tatmin ettiği ile alakalıdır. Üretim merkezli bakış açısı imalat sanayii kökenine dayanan bir bakıştır. Bu bakış açısındaki temel soru ürün üretimden önce belirlenen gereksinim listesini ne kadar karşılıyor? sorusudur. Ürünlerdeki tekdüzelik gereksinimlere olan uygunluğu ifade eder. Ürün kalitesi, üretim süreçlerini geliştirerek arttırılabilir. Değer merkezli bakış, iki varlık tanımlar. Birisi mükemmellik ve diğeri değer. Kalite, mükemmelliğin ölçüsü, değer ise ederinin ölçüsüdür. Hangi mükemmellik seviyesinde en iyi değeri elde edeceğini ele alan bir bakış açısıdır. Son olarak, anlatılması gereken bakış açısı ise deneyüstü bakış açısı olarak adlandırılmaktadır. Deneyle kazanılması imkansız, akılla ilgili olan kalite ölçütüdür. Ne kadar deneyim kazanılırsa o kadar kaliteli ürün ortaya çıkacağını söyler. İzlenebilir bir biçime sokulamaz ya da bir kalite sistemi oluşturmasından bahsedilemez. 3. Yazılım Kalite Sistemleri 3.1. McConnell ın Yazılım Kalite Sistemi McConnell ın yazılım kalite sisteminde yazılım kalite ölçütleri ikiye ayrılmaktadır. Bu bakış açısı ile hem yazılım firmaları açısından hem de kullanıcı açısından yazılımın kalitesinin arttırılması için çaba harcanması gerekmektedir. 3.1.1. Dış Kalite ölçütleri Yazılım kullanıcılarını ilgilendiren ölçütlerdir. Doğruluk(Correctness): Yazılımın hatalar içermemesi, gereksinimlerde belirtildiği şekilde çalışması. Etkinlik(Efficiency): Bellek ve işlemci gibi sistem kaynaklarının en az oranda kullanımı. Güvenilirlik(Reliability): Sistemin her koşulda istenildiği gibi çalışması, hatalar arasındaki ortalama zaman aralığının (MTBF) yüksek olması. Güvenlik(Security): İzinsiz ve yetkisiz işlemler mümkün olmamalı. Bütünlük(Integrity): Veriler ve işlemler arasındaki tutarlılığın korunması. Uyarlanabilirlik(Adaptability): Sistemin değişik uygulamalar veya ortamlarda kullanılabilmesi için mümkün olduğunca az değişiklik gerektirmesi. Hassaslık (Accuracy): Sistemin kendisinden beklenen işi mümkün olduğunca iyi yapabilmesi. Sağlamlık(Robustness): Aykırı girişlere veya güç çalışma ortamlarına karşılık sistemin çalışmayı sürdürebilmesi. Kullanılabilirlik(Usability): Yazılımın kolay kullanılabilir olması. 3.1.2. İç kalite ölçütleri Yazılımı geliştirenleri ilgilendiren ölçütler. Yeniden kullanılabilirlik(reusability): Sistemin parçalarının başka sistemlerde kullanılabilmesinin kolay olması. Bakım kolaylığı (Maintainability): Yazılıma yeni yetenekler eklemenin, yazılımdaki hataları gidermenin veya yazılımın başarımını attırmanın mümkün olduğunca kolay olması. Esneklik(Flexibility): Yazılımın orijinal olarak tasarlandığı uygulamanın dışında çalışabilmesi için gerekli olan değişikliklerin olduğunca az olması. Taşınabilirlik(Portability): Yazılımın farklı donanım ve işletim sistemleri gibi değişik çalışma ortamlarına kolaylıkla aktarılabilmesi. Okunabilirlik(Readability): Kodun kaynak kodunun incelenmesinin kolay olması. Anlaşılabilirlik(Understandablility): Yazılımın sistem, bileşen ve kod düzeylerinde anlaşılabilirliğinin mümkün olduğunca kolay olması. Okunabilirlik sadece kod düzeyinde anlaşılabilirliği sağlar.

Sınanabilirlik(Testability): Sistemin istenen gereksinimleri karşılayıp karşılamadığının sınanabilmesinin bileşen ve tüm sistem çapında mümkün olduğunca kolay olması. 3.2. McCall s Yazılım Kalite Sistemi McCall yazılım kalite sistemini oluştururken ürünün farklı bakış açıları ile ele alınması gerektiğini belirtmiştir. ölçütleri: İşlevsel ölçütler Doğruluk, Güvenilirlik, Bütünlük, Kullanılabilirlik, Verimlilik Değiştirilme ölçütleri Bakım kolaylığı, Esneklik, Sınanabilirlik Taşınma ölçütleri Taşınabilirlik, Yeniden Kullanılabilirlik, Birlikte Çalışabilirlik Burada aşağıdaki şemayı incelememiz bizlere fikir verecektir: fonksiyonlar belirtilen ya da genel olarak olması gerektiğine inanılan fonksiyonlardır. Uygunluk: Belirlenmiş fonksiyonlar setini yazılımın sahip olması ve buna fonksiyonlar setine uygunluk becerisidir. Doğruluk: Yazılımın üzerinde uzlaşıya varılmış veya doğru etkiyi veya sonucu doğurması becerisidir. Birlikte Çalışabilirlik: Yazılımın belirlenmiş sistemlerle etkileşim içinde olabilme becerisidir. Güvenlik: Hatayla veya kasten programlara ve verilere yetkilendirilmemiş erişimi önleyebilme özelliğidir Uyum: Yazılımın uygulama ile ilişkili standartlara, anlaşmalara veya kanuni düzenlemelere ve dengi talimatlara uygun olması becerisidir Güvenilirlik - Bir yazılımın, belli bir zaman aralığında belli şartlar altında performans seviyesini koruyabilme kapasitesi ile ilişkili özellikler bütünüdür. Olgunluk: Yazılımdaki hatalar nedeniyle yazılımın çökme frekans sıklığının düşük olması becerisidir. Hata toleransı: Yazılım hatalarında veya tanımlanmış ara yüzün ihlal edilmesi durumlarında yazılımın belirlenmiş performans seviyesini sürdürebilme becerisidir. Kurtarılabilirlik: Sistemin göçmesi durumunda doğrudan etkilenen verinin geri yüklenebilme ve performans seviyesinin yeniden oluşturulabilme becerisidir. 3.3. ISO 9126 Yazılım Kalite Modeli Uluslararası Standardizasyon Örgütü olan ISO 9126 numaralı standardı ile yazılım kalite değerlendirmesine kendi bakış açısını yansıtmıştır. Daha çok ürün odaklı bir bakış açısıyla konuyu ele alan ISO aşağıdaki ürün karakteristiklerini ve alt karakteristikleri tanımlar: İşlevsellik Bir takım fonksiyonların varlığına ve bu fonksiyonların özelliklerine dayanır. Bu Kullanılabilirlik - Yazılım belli bir kullanıcı grubu tarafından kullanılabilmesi için harcanan çaba ile alakalı olan özellikler bütünüdür. Anlaşılabilirlik: Yazılımın mantıksal yapısının ve onun uygulanabilirliğinin kullanıcı tarafından tanınabilmesi için harcanması gereken kullanıcı çabası ile ilgili yazılım becerisidir. Öğrenilebilirlik: Yazılım uygulamalarının kullanıcı tarafından öğrenilebilmesi için harcanması gereken kullanıcı çabası ile ilgili yazılım becerisidir

İşletişebilirlik: Operasyon ve operasyon kontrolü için gereken kullanıcı çabası ile ilgilenen yazılım becerisidir Verimlilik - Yazılımın belli şartlar altında, belli bir performans seviyede kullandığı kaynak miktarı ile alakalı özellikler bütünüdür. Zaman Davranışı: Üretilen iş oranı ve işlem zamanları fonksiyonunu yerine getirirken talebin yanıtlaması ile ilgili yazılım becerisidir. Kaynak Yararlanımı: Kaynak kullanımı ve kaynak kullanım süresinin fonksiyonları yerine getirirken kullanılan miktarı ile ilgilenen yazılım becerisidir Bakılabilirlik - Yazılım üzerinde değişiklikler yapabilmek için harcanan çaba ile alakalı özellikler bütünüdür. Analiz edilebilirlik: Tanı eksikliği ve çökme sebepleri veya düzenlenecek parçaların belirlenmesinde tanımlama için gereken çaba ile ilgilenen yazılım becerisidir [5, 6]. Değiştirilebilirlik: Hata giderme, uyarlama veya çevresel değişiklik için gereken çaba ile ilgilenen yazılım becerisidir [5, 6]. Durağanlık: Modifikasyon sonucunda yazılımın beklenmeyen etki doğurması riski ile ilgilenen yazılım becerisidir [4-6]. TS ISO/IEC 9126 da durağanlık kavramı, kararlılık olarak adlandırılmıştır [5]. Test edilebilirlik: Uyarlanan yazılımın onaylanması için gereken çaba ile ilgilenen yazılım becerisidir. Taşınabilirlik - Bir çevreden başka bir çevreye taşınabilme yeteneğini ilgilendiren özellikler bütünüdür. Adapte Edilebilirlik: Göz önüne alınan yazılım için belirlenen amacın sağlanabilmesinde değişiklik gerçekleştirmeden yazılımın belirli bir farklı çevrede adapte edilebilme becerisidir. Kurulum Kolaylığı: Tanımlanmış çevrede yazılımın kurulumu için gereken çaba ile ilgili yazılım becerisidir. Uygunluk: Taşınabilirlik ile ilgili anlaşmalar veya standartlara bağlı yazılım geliştirilmesi ile ilgili yazılım becerisidir. Yer değiştirilebilirlik: Yazılımın başka bir yazılım ortamında kullanılabilmesi için fırsat sağlama ve harcanması gereken çaba ile ilgili yazılım becerisidir. 4. Standart (TS ISO/IEC 25051) ISO nun yayınlamış olduğu ISO/IEC 25000 serisi : Yazılım Ürünü Kalite Gereksinimleri ve Değerlendirmesi (Software Product Quality Requirements and Evaluation - SQuaRE) serisinin bir üyesi olan ISO/IEC 25051 standardı serinin uzantı bölümü denilen bölümünde yer almaktadır. Çünkü standart genel olan Ticari kullanıma hazır ürünün kalite gereksinimleri ve değerlendirmesi üzerinde durmaktadır. Standart temel olarak 3 ana başlıktan oluşmaktadır. - COTS yazılım ürünleri için Kalite Gereksinimleri - COTS yazılım ürünlerinin testi için test gereksinimlerini, test örneklerini ve test raporlarını kapsayan test dokümantasyonu gereksinimleri - COTS yazılım ürünlerinin uygunluk değerlendirmesi için komutlar Standardın kapsamındaki veya hedefindeki yazılım ürünleri ise Ticari olarak rafta kullanıma hazır (COTS) yazılım ürünleridir. Bunların içerisine, bilgi yönetimi ve bilgi sistemi yazılımları, kaynak yönetimi yazılımları, kurumsal planlama yazılımları, web uygulamaları gibi birçok sınıftan yazılım girebilir. Standarttan faydalanacak olan hedef kitle ise yazılım üreticileri, tedarikçileri, belgelendirme kuruluşları, test laboratuvarları gibi yazılım ve yazılım kalitesi ile ilgilenen herkestir. 4.1. COTS Yazılım Ürünleri için Kalite Gereksinimleri Bu bölümde kalite gereksinimi olarak üreticiden iki farklı doküman oluşturması beklenmektedir. Bu dokümanlar: - Ürün Açıklaması - Kullanıcı Dokümantasyonu 4.1.1. Ürün Açıklaması Kalite Gereksinimleri Kullanıcıya yazılımın özelliklerini açıklayan dokümanlardır. Kullanıcılar kendi gereksinim listeleri ile dokümanda belirtilen ürün

özelliklerini karşılaştırarak ürünün kendileri için uygun olup olmadığına karar verebilmelidirler. Her bir başlık altında birden fazla gereksinim, dokümanda olması gereken bilgileri ve özellikler sıralanır. Genel başlık listesi aşağıdaki gibidir: - İçerik (Tanımlar, Kısaltmalar, Referanslar vb) - İşlevsellik açıklamaları - Güvenilirlik açıklamaları - Kullanılabilirlik açıklamaları - Verimlilik açıklamaları - Sürdürülebilirlik açıklamaları - Taşınabilirlik açıklamaları - Kullanım kalitesi açıklamaları 4.1.2. Kullanıcı Dokümantasyonu için Gereksinimler Kullanıcı ürünü satın aldıktan sonra nasıl kuracağından nasıl kullanacağına kadar ürün ile ilgili tüm bilgilerin detaylı bir şekilde anlatılmasını istemektedir. Genel başlık listesi aşağıdaki gibidir: - Tamlık - Doğruluk - Tutarlılık - Anlaşılabilirlik - Öğrenilebilirlik - Çalışabilirlik 4.1.3. Yazılım Kalite Gereksinimleri Yazılımın dokümantasyon kısmının gereksinimleri haricinde içsel özelliklerinden bahseden kısımdır. Bu kısımda yazılımın kendisine özel kalite gereksinimlerinden bahsedilir. Yazılımın sahip olması gereken özelliklerin neler olduğundan ve bu özellikleri nasıl karşılayacağını belirtir. Genel başlık listesi aşağıdaki gibidir: - İşlevsellik - Güvenilirlik - Kullanılabilirlik - Verimlilik - Sürdürülebilirlik - Taşınabilirlik - Kullanım Kalitesi 4.2. Test Dokümantasyonu için Gereksinimler Standart yazılımın sahip olması gereken özelliklerinin denetlenebilmesi için test yönergeleri bölümünü de içerisinde barındırır. Yazılım kalite gereksinimlerinin sağlanması ve sağlandığının gözlemlenebilmesi için ihtiyaç duyulan testlerin nasıl yapılacağı, test öncesinde, test sırasında ve test sonrasından üretilmesi gereken test dokümantasyonunun nasıl olması gerektiğini tanımlar. Test dokümantasyonu başlığı altında 3 ana test dokümanından bahsedilir: - Test Planı - Test Açıklaması - Test Sonuçları 4.2.1. Test Planı Gereksinimleri Test için oluşturulması gereken ilk dokümanlardır. Bu dokümanların hedefi yapılacak testi tekrar edilebilir şekilde tanımlayabilmektedir. Kendi içerisinde 4 alt başlığı bulunur. - Yaklaşım : Yapılacak test yaklaşımının ne olduğunun anlatılması istenmektedir. - Geçti / Kaldı Kriteri : Testler sonucunda alınan çıktıların değerlendirilmesinde kullanılacak olan kriterdir. - Test Ortamı : Testin icra edileceği çevredeki gereksinimlerin tanımlandığı alandır. - Zaman Planı : Testlerin kim tarafından ve ne zaman yapılacağını takvimleştirmek isteyen gereksinimdir. 4.2.2. Test Açıklaması Gereksinimleri Testlerin tanımlandığı bölümdür. 2 alt başlıktan oluşur: - Test Örnekleri Açıklaması : Bir test senaryosu içinde olması gereken bilgileri listeler. (testin amacı, tek ve benzersiz bir tanımlayıcı, girdi ve beklenen çıktılar, testin

yorumlanması için gereken kriter vb.) - Test Prosedürleri : Bir test senaryosunun adımlarının icra edilebilmesi için izlenecek yolu ve yöntemi anlatan alandır. 3- Erdemir U., Tekin U., Buzluca F., Nesneye Dayalı Yazılım Metrikleri ve Yazılım Kalitesi 4- Rüdiger Lincke, Validation of a Standart- and Metric-based Software Quality Model, Licentiate Thesis, Vaxjö University 4.2.3. Test Sonuçları Gereksinimleri Testler sonucunda oluşturulması gereken raporları ve gereksinimleri tanımlayan bölümdür. 2 alt başlıktan oluşur: - Yürütme Raporu : Test senaryolarının kim tarafından, hangi tarihte icra edildiğini ve bulguların yazılmasının zorunlu kılan alan - Anormallik Raporu : Test icrası esnasında bulunan anormalliklerin (uygunsuzlukları / hataların) rapor edilmesini sağlayan alandır. Test yapan tarafın üreticiye en önemli geri dönüşleri bu raporlar sayesinde yapılmaktadır. 5. Sonuç Yazılım ürünlerinin, satın alacak kişi için gereksinim listesi kontrolü yapabilmesi, daha kaliteli üretilebilmesi, ürünlerin hedefledikleri ortamlarda doğru şekilde yüklenmesi ve beklenen işlevleri yerine getirmesi, kullanıcının ihtiyaç duyduğu bilgiye kolayca ulaşabilmesi, yazılımın bağımsız değerlendirmesinin ve testinin yapılarak belgelendirilmesi ile satın alanlar için güvenin oluşması gibi birçok gözle görülebilecek faydası mevcuttur. 6. Kaynakça 1- TS ISO/IEC 25051 Yazılım Mühendisliği Yazılım Ürünü Kalite Gereksinimleri ve Değerlendirmesi ve Test Yönergeleri Standardı, Türk Standartları Enstitüsü, Nisan 2011 2- ISO/IEC 9126 Software Engineering Ürün Kalitesi, ISO, 1991