23 Temmuz 2013 Salı

"Kalite" nedir? Tarihçesi.

  • Deming, 1968
“Ability to satisfy requirements”
İhtiyaçları karşılama yeteneğidir.

  • Crosby, 1979
“Conformance to user requirements”
Kullanıcı gereksinimlerine uygunluktur.

  • Price, 1985
“Doing right it the first time”
İlk seferde doğrusunu yapmaktır.

  • Juran, 1988
“Fitness for intended use”
Amaçlanan kullanıma uygunluktur.

  • ISO 9001:2000
“the degree to which a set of inherent characteristics fulfills
requirements”
Nesnenin tabiatında var olan özelliklerin
gereksinimleri karşılama derecesidir.

17 Mayıs 2013 Cuma

Test Mühendislerinde Olması Gereken Özellikler


Kaşif ruhluluk;
Bir Test Mühendisi, bilmediği bir yazılımın içine girmekten korkmamalıdır. Yeni bir arayüz ve fonksiyonla tanışmak onu heyecanlandırmalıdır. Bu arayüz ve fonksiyonun sağladığı işlevin sonunda ne olacağını görmek onu düşündürmelidir.

Sorun gidericilik için Öncü olma;
Yazılım testlerinin amacı, istenmeyen bulguların tespiti ve onların doğru, sade ve açık bir şekilde Geliştirme ekibine iletilmesidir. Bir Test Mühendisi bu aşamalarda bulmaca çözer gibi çalışmalıdır.

Bıkmadan ve acımadan;
Bazen bir hata birden fazla kere tekrarlanamaz. O hatayı tekrar oluşturmak güç olabilir. Buna rağmen yılmadan, mümkün olan tüm yöntemleri deneyerek testine devam etmelidir. Bulguları önem derecelerine göre sıralayabilmeli, düşük önem düzeyindeki hataları dahi raporlamalıdır.

Mükemmeliyetçi olmak;
Mükemmelliğe ulaşmak için çabalamalıdırlar. Ama bilmelidirler ki bu mümkün değildir. Mükemmelliğe en yakın noktada olmalıdırlar.

Karar verici olmak;
Bazen bir durumun hata olup olmadığı net değildir. Bu gibi durumlarda Test Mühendisi kararlı olmalı ve bu durumun getirdikleri ve götürdüklerini listelemeli ve konuyla ilgili görüşünü sunmalıdır.

İnce ruhlu ve diplomatik olmak;
Test Mühendisleri her zaman kötü haber taşıyıcılarıdır. Bir programcıya bebeğinin çirkin olduğunu söylemek güçtür. Bunu yaparken çok nazik, düşünceli ve diplomatik davranmak zorundadır. Aksi halde ekipler arası savaş kaçınılmaz olur.

İkna edici olmalıdır;
Bulguların Geliştirme ekiplerine iletilirken ikna edici kriterler taşımaları önemli bir noktadır. Karmaşık olmayan bir anlatımla yazılmış ve eklentilerle desteklenmiş(image, video, hangi test verisinin kullanıldığı vb..) bir bulgu her zaman çözülmeye mahkum olacaktır…

İyi Testler
Erhan Tayar

30 Mart 2013 Cumartesi

Test kaynağı kitaplar

Software Testing and Continuous Quality Improvement William E. Lewis AUERBACH; 2 edition 01.Haz.04 73,21 560

Successful Test Management : An Integral Approach Iris Pinkster, Bob van de Burgt, Dennis Janssen, Erik van Veenendaal Springer; 1 edition May.06 50,96 373

Systematic Software Testing Rick D. Craig, Stefan P. Jaskiel Artech House Publishers May.02 75,00 536

A Practitioner's Guide to Software Test Design Lee Copeland Artech House Publishers Ara.03 65,00 300

Software Testing: A Craftsman's Approach Paul C. Jorgensen CRC; 2nd edition 26.Haz.02 99,95 359

Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional Rex Black Wiley 20.Şub.07 50,00 366

Foundations of Software Testing: ISTQB Certification Dorothy Graham, Erik van Veenendaal, Isabel Evans, Rex Black Int. Thomson Business Press; 1 edition 19.Ara.06 46,95 258

Software Testing Foundations: A Study Guide for the Certified Tester Exam, 2nd Edition Andreas Spillner, Tilo Linz, Hans Schaefer Rocky Nook; 2 edition 01.Oca.07 29,67 288

Happy About Global Software Test Automation: A Discussion of Software Testing for Executives Q. Nguyen Hung, Michael Hackett, K. Whitlock Brent Happy About 01.Ağu.06 15,56 164

J2EE Performance Testing Peter Zadrozny, Philip Aston, Ted Osborne Springer; 1 edition 05.Ara.05 34,99 400

Testing Computer Software Cem Kaner, Jack Falk, and Hung Q. Nguyen 2nd edition 12.Nis.99 48,00
  
Lessons Learned in Software Testing (Paperback)


Software Testing and Continuous Quality Improvement
Successful Test Management : An Integral Approach
Systematic Software Testing
A Practitioner's Guide to Software Test Design
Software Testing: A Craftsman's Approach
Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional
Foundations of Software Testing: ISTQB Certification
Software Testing Foundations: A Study Guide for the Certified Tester Exam, 2nd Edition
Happy About Global Software Test Automation: A Discussion of Software Testing for Executives
J2EE Performance Testing
Testing Computer Software

16 Ocak 2013 Çarşamba

Yazılım Test Faaliyetleri Hakkında Genel Bilgi

Test, bir sistemi manuel veya otomatik yollarla deneyerek veya değerlendirerek, belirlenmiş gereksinimleri karşıladığının doğrulanması veya beklenen ile gözlenen sonuçlar arasındaki farkların belirlenmesi sürecidir.

Yazılım testi ise bir yazılımın sonsuz sayıdaki çalışma alanından, sınırlı sayıda ve uygun şekilde seçilmiş testler ile beklenen davranışlarını karşılamaya yönelik, dinamik olarak yapılan doğrulama faaliyetlerini kapsamaktadır.

Bu kapsamda dikkat edilmesi gereken hususlar şunlardır:
* Dinamik olarak: Yazılım mutlaka çalıştırılarak test edilmelidir.
* Sınırlı sayıda: Yazılımın neredeyse sonsuz sayıda olabilecek çalışma alanlarının tümünün testi imkânsız olacağından; kritiklik düzeylerine göre sıralanıp, yeterli görülen sayıda, en kritikleri test edilmelidir.
* Uygun şekilde seçilmiş: Test edilecek davranışın doğasına uygun ve muhtemel riskleri göz önünde bulunduran testlerin gerçekleştirilmesidir.
* Beklenen davranışlar: Test edilecek yazılımın, kullanıcı beklentilerine, gereksinimlerine ve akla uygun, mantıklı beklentilere cevap verebildiğinin test edilmesidir.

Gereksinimlere dayalı olarak uygunluk, tamlık, birlikte çalışma, hatalı girdi ve senaryo testlerini kapsayan testler işlevsel testlerdir. Performans ve güvenilirlik testlerini kapsayan testler ise işlevsel olmayan testlerdir. Karşılaşılacak kullanıcı davranışına, veri hacmine uygun, gerçekçi bir şekilde performans testleri şekillendirilmelidir. Güvenilirlik testleri ise olgunluk, hata-toleransı, toparlanma ile ilgili testleri kapsamalıdır.

Test faaliyetlerinin, yazılım geliştirme sürecinin daha başlangıç safhalarından itibaren vazgeçilmez bir parçası olduğu açıktır. Bu noktada yazılımların da bu faaliyetlere destek verir nitelikte olmasının önemi ortaya çıkmaktadır. ISO/IEC 9126 standardı [10] yazılım kalite kriterlerini tanımlarken Onarılabilirlik (Maintainability) ana başlığı altında “Test Edilebilirlik” kriterini önemli bir kalite kriteri olarak sunmaktadır. Bu kriterin sağlanması için, yazılım gerekleri tanımlanırken bu niteliği sağlayacak kalite gereklerinin belirlenmesi, geliştirme aşamasında da bu gereklerin sağlanması için çalışmaların yürütülmesi gerekmektedir.

Yazılımın tasarımı yapılırken, test planının da belirlenmiş olması, tasarımın test planına uygun özellikleri taşımasının sağlanması gerekmektedir. Bu sayede ileriki aşamalarda test edilebilirliğin sağlanması için ilk adım atılmış olacaktır.