İçeriğe atla

Kara kutu testi

Kara kutu testi yazılımı testinde bir uygulamanın işlevselliğini iç yapısını veya işleyişini kontrol etmeden inceleyen bir yöntemdir. Bu test yöntemi hemen hemen her seviye yazılım testinde (birim, entegrasyon, sistem ve kabul testi) uygulanabilir. Sadece üst seviye testlerde değil, birim Testlerinde de sıklıkla kullanılır. []

Test prosedürleri

Genel olarak uygulamanın kodu/iç yapısı ve programlama bilgisi gerekli değildir. Testçi yazılımın nasıl çalıştığının değil ne yapması gerektiğinin farkındadır. Örneğin testçi belirli bir girdinin belirli bir değişmez çıktısının olduğunun farkındadır, fakat yazılımın ilk etapta bu çıktıyı nasıl ürettiğinin farkında değildir.[1]

Test senaryoları

Test senaryoları yazılım özellikleri ve gereksinimleri etrafında inşa edilir, uygulamanın ne yapması gerektiği gibi. Test senaryoları genellikle şartnameler de dahil olmak üzere yazılımın harici tanımlamalardan, gereksinimlerden ve tasarım parametrelerinden türetilir. Testler genel olarak fonksiyonel testlerde kullanılsa da fonksiyonel olmayan testlerde de kullanılabilir. Testçi hem geçerli hem de geçersiz girdiler seçerek, sistemin doğru çıktı üretip üretmediğini, genellikle bir veritabanı yardımıyla ya da bir önceki sonucu kullanarak nesnenin iç yapısı hakkında herhangi bir bilgi sahibi olmadan belirler.

Test tasarım teknikleri

Tipik bir kara kutu test tasarım teknikleri aşağıdakileri kapsamaktadır:

  • Karar Tablosu Testi
  • İkili Test
  • Denklik Paylarına Ayırma
  • Sınır Değer Analizi
  • Sebep Sonuç Grafigi
  • Hata Tahminleme
  • Durum Geçişi Testi
  • Kullanım Senaryosu Testi

Kaynakça

  1. ^ Patton, Ron (2005). Software Testing (2. bas.). Indianapolis: Sams Publishing. ISBN 978-0672327988. 

İlgili Araştırma Makaleleri

Web grafik tasarımı, grafik tasarım alanı ile yakın ilişkili bir konu olmakla birlikte kendi içinde ayrı bir dal olarak da geniş bir alanı kapsayan bir kavramdır.

Veri yapısı, bilgisayar ortamında verilerin etkin olarak saklanması ve işlenmesi için kullanılan yapı.

Kullanım senaryosu, sistemlerin fonksiyonel ihtiyaçlarını kapsamak için yazılım ve sistem mühendisliğinde kullanılan bir tekniktir. Aktörlerin sistemle etkileşimini tanımlayan senaryolardır.

<span class="mw-page-title-main">İş süreçleri modelleme</span>

İş süreci yönetimi ve sistem mühendisliği'ndeki iş süreci modellemesi (İSM), bir kuruluşun süreçleri temsil etme etkinliğidir. Böylece mevcut iş süreçleri analiz edilebilir, iyileştirilebilir ve otomatikleştirilebilir. İSM genellikle modelleme disiplininde uzmanlık sağlayan iş analistlerince, modellenen süreçler hakkında özel bilgili konu uzmanlarınca veya daha yaygını her ikisinin de olduğu bir ekip tarafından tarafından yapılır. Alternatif şekilde süreç modeli, işlem madenciliği araçları kullanılarak doğrudan olay günlüklerinden türetilebilir.

<span class="mw-page-title-main">Hesaplamalı fizik</span>

Hesaplamalı fizik, fizik sorunlarını çözebilmek için sayısal algoritmaların üretilmesi ve gerçeklenmesini içerir. Genelde kuramsal fizikin bir alt dalı olarak değerlendirilir ancak bazen de kuramsal ve deneysel fizik arasında orta bir dal olarak da düşünülür.

<span class="mw-page-title-main">Gömülü sistem</span> Belli bir fonksiyonu yapmaya yönelik bilgisayar sistemi

Gömülü sistem, bilgisayarın kendisini kontrol eden cihaz tarafından içerildiği özel amaçlı bir sistemdir. Genel maksatlı, örneğin kişisel bilgisayar gibi bir bilgisayardan farklı olarak, gömülü bir sistem kendisi için önceden özel olarak tanımlanmış görevleri yerine getirir. Sistem belirli bir amaca yönelik olduğu için tasarım mühendisleri ürünün boyutunu ve maliyetini azaltarak sistemi uygunlaştırabilirler. Gömülü sistemler genellikle büyük miktarlarda üretildiği için maliyetin düşürülmesinden elde edilecek kazanç, milyonlarca ürünün katları olarak elde edilebilir.

<span class="mw-page-title-main">Waterfall model</span>

Şelale yönteminde yazılım geliştirme süreci analiz, tasarım, kodlama, test, sürüm ve bakım gibi safhalardan oluşur. Geleneksel yazılım metotlarında bu safhalar şelale modelinde olduğu gibi doğrusal olarak işler. Her safha, başlangıç noktasında bir önceki safhanın ürettiklerini bulur. Kendi bünyesindeki değişikler doğrultusunda teslim aldıklarını bir sonraki safhanın kullanabileceği şekilde değiştirir.

<span class="mw-page-title-main">Yazılım yaşam döngüsü</span>

Yazılım yaşam döngüsü, bilgisayar yazılımlarının ilk geliştirme aşamalarından başlayarak; yayındaki mevcut sürümün hatalarının giderilmesi, iyileştirme odaklı yeni ara sürümlerin yayınlarak yazılımın güncellenmesi de dâhil olmak üzere nihai (kararlı) sürüme ulaşana dek geçen geliştirme ve olgunlaştırma aşamalarının tamamını ifade etmek için kullanılan terimdir.

<span class="mw-page-title-main">Yazılım testi</span>

Yazılım testi, test altında hizmetlerin veya ürünlerin kalitesi hakkında paydaşlara bilgi sağlamak için yürütülen bir araştırmadır. Yazılım testi aynı zamanda, yazılım uygulamalarının risklerini anlamak için yazılımı bağımsız ve nesnel olarak incelemektir. Test teknikleri yazılım böceklerini bulma niyetiyle uygulama veya bir programı çalıştırma süreçlerini kapsar.

V-Model, sistem geliştirme sürecinde karmaşıklığı basitleştirmek amacıyla tasarlanmış bir kavramsal modelden, ayrıntılı ve özenli yaşam döngüsü modellerine ve proje yönetimi araçlarına kadar uzanan bir dizi modele uygulanan bir terimdir. İngiltere ve dünya genelindeki test topluluklarında, V-Model'in yazılım geliştirme sürecinde test edilebilmesi için ISTQB kuruluş müfredatı içinde tanımlanması, açıklayıcı ve değişken bir tanım olarak kabul edilir. V-Model'e ilişkin alternatif makalelerde bu modelin tek bir kabul edilmiş tanımının olmadığı görülür. Bu nedenle, farklı varyasyonlara sahip birçok versiyonu bulunmaktadır.

<span class="mw-page-title-main">V-Model (Yazılım geliştirme)</span>

V-model şelale (waterfall) modelinin gelişmiş hali olarak düşünülebilecek bir yazılım geliştirme süreci sunar. Doğrusal bir yönde ilerlemek yerine, süreç adımları kodlama evresinden sonra yukarıya doğru eğim alır ve tipik V şeklini oluşturur. V-Model geliştirme yaşam çevriminin her bir evresi arasındaki ilişkileri gösterir. Yatay ve dikey açılar zaman veya projenin tamamlanabilirliğini ve soyut seviyeyi gösterir.

<span class="mw-page-title-main">Regresyon testi</span>

Regresyon testi uygulama ortamındaki yapılan tüm değişiklikleri; uygulamaya yeni eklenen özellikler, daha önceki yaşanan hataların düzeltilmesinden sonra, mevcut problemlerin giderildiği ve yeni yapılan güncellemelerin, eklenen özelliklerin yeni bir hata üretip üretmediğini kontrol amaçlı olarak yapılan yazılım test türüdür.

Yazılım test etmede, test otomasyonu önceden tahmin edilmiş sonuçlarla gerçek sonuçların karşılaştırılması ve testlerin koşulmasını kontrol etmek için(test edilmiş yazılımdan farklı olan) belirli yazılımın kullanılmasıdır. Test otomasyonu tekrar eden fakat çoktan test etme süreçlerinde yer almış gerekli testlerin otomatikleştirebilir veya manuel olarak koşulmasının zor olacağı testleri de içerebilir. Test otomasyonları sürekli paket dağıtımı veya sürekli test etme için kritik öneme sahiptir.

<span class="mw-page-title-main">İşlev modeli</span>

Sistem ve yazılım mühendisliğindeki işlev modeli modellenen sistem veya konu alanının işlevlerinin yapısal temsilidir.

Bir sistem mimarisi veya çoklu sistemlerin mimarisi; sistemin yapısını, davranışını ve biçimselliğini tanımlayan kavramsal modeldir. Bir mimari tanımı; sistemin yapıları ve davranışları hakkında mantıksallığı destekleyecek şekilde organize edilen ilişkiselliğin standart bir açıklaması veya temsilidir.

<span class="mw-page-title-main">Gereksinim çözümleme</span>

Bilgisayar bilimlerinde, gereksinim analizi ya da gereksinim çözümleme; çeşitli sistemlerin gerekliliklerini ve olası çelişkili durumlarını göz önüne alarak, yazılımı analiz etmek, belgelemek, doğrulamak ve yönetmek için yeni veya değiştirilmiş bir ürün üzerinde projenin ihtiyaçlarını, sistem gereksinimlerini ve koşullarını belirleyen görevleri kapsamaktadır.

Sistem analisti veya İş teknolojisi analisti, analist ve bilgi teknolojisi (BT) uzmanıdır. Sistemlerin küçük değişiklikler yoluyla etkin hale getirilmesi veya yeniden planlanmasını sağlamak amacıyla analiz edilmesiyle ilgilenen kişidir ". Bir sistem analisti tipik olarak atanmış veya verilen bir sistemle sınırlıdır ve genellikle bir iş analisti ile birlikte çalışır. "Sistem analist; insanların, metotların ve bilgisayar teknolojisinin işleri en iyi şekilde yerine getirebilmeleri için, organizasyonun problem ve gereksinimleri üzerinde çalışır".Bir sistem analistin, deneyimi ve bilgisi dışındaki en önemli aracı, öncelikle sistemin bir üyesi olan insandır. Ardından gözlem gücü ve dokümanlar gelir.

Yazılım, hümanistik (insani), bilimsel teoriler, yönetim ve organizasyon gibi çeşitli alanlarda kullanılan, yukarıdan aşağıya ve aşağıdan yukarıyanın her ikisi de bilgi işleme ve bilgi sıralama stratejisidir. Pratikte, bir düşünce, öğretim veya liderlik biçimi olarak görülebilirler.

Michael Anthony Jackson, İngiliz bilgisayar bilimcisi ve Londra, İngiltere'de bağımsız bilgisayar danışmanıdır. Aynı zamanda Birleşik Krallık'taki Açık Üniversite'de misafir araştırma profesörüdür.

<span class="mw-page-title-main">Yazılım kategorileri</span>

Yazılım kategorileri, yazılım gruplarıdır. Yazılımın bu kategoriler açısından anlaşılmasını sağlamaktadırlar. Farklı sınıflandırma şemaları, yazılımların farklı yönlerini dikkate alır.