25 Temmuz 2019 Perşembe

ISTQB Chapter 1 - Fundamentals of Testing (Test Faaliyetinin Amacı Anlatılıyor)

Giriş
International Software Testing Qualifications Board (ISTQB) Chapter 1 - Fundamentals of Testing ile ilgili notlarım şöyle.

Test mühendisi şu sertifikaları alabilir.
Foundation Level -> Advanced Level -> Expert Level
Bu sınavda hedefler K1,K2,K3,K4 olarak kodlanmış.
K1 hatırlanması gereken hedef
K2 anlanması gereken hedef
K3 uygulama gerektiren hedef
K4 incelenmesi gereken hedef

1.1 Hata Neden Oluşur
İnsan yanlış yapar (mistake) -> Kodda Hata/Kusur Olur (Defect,Fault,Bug) -> Bu kod çalışınca Arıza/Başarısızlık (Failure) olur ve biz Hata/Kusur'un farkına varırız.
Yani
mistake -> defect/fault/bug -> failure
Mistake = İnsan hatası
Bug = Hata
Defect = Hata
Fault = Kusur
Failure = Arıza, Başarısızlık

Test Nedir?
Test hataları (failure/defect) bulmak amacıyla gerçekleştirilen faaliyettir. Sistemin test edilmiş olması hatasız olduğunu (defect/bug free) veya doğru çalıştığını garanti etmez. Yani şu cümle yanlış.
The purpose of testing is to demonstrate absence of defects.
Test ekibinin amacı failure oluşturarak fault/defect/bug'ları bulmak.

1.3 Test Prensipleri
7 tane
1. Testing shows presence of defects
2. Exhaustive testing is impossible
3. Early testing.
Gereksinim hatalı ise, tasarım hatalıdır, kod hatalıdır, test hatalıdır, dokümantasyon hatalıdır. Erken teşhis hayat kurtarır :)
4. Defect clustering
5. Pesticide paradox
6. Testing is context dependent
7. Absence-of-errors fallacy
Testing Ensures a Bug-Free Product anlamına gelmez. Açıklaması şöyle
While QA testing can reveal bugs in the software, it cannot guarantee the absence of bugs. A software QA tester will implement rigorous testing procedures to catch as many system errors as is feasible.

However, it is simply not possible to ensure that a product is 100 percent free of bugs, even with an unlimited budget and zero time constraints. Many final software products will have some bugs, while still meeting the requirements of the project and being functional. The most skilled tester will not be able to guarantee that the software is defect-free. What he or she can do is reduce bugs to a minimum and determine that the software is functional and meets the requirements or usability.
Hatta en kritik yazılımlarda bile hata olabiliyor.

Örnek - Uzay Mekiği Yazılımı
Açıklaması şöyle.
Although the Space Shuttle flight software was of outstanding quality, it's completely incorrect to think that there was only one bug. There were many known bugs in the flight software (FSW).
1.5  Test Psikolojisi
Test işlemi yıkıcıdır (destructive). Açıklaması şöyle.
Start testing the application by intent of finding defects/errors. Don't think beforehand that there will not be any bugs in the application. If you test the application by intention of finding defects you will definitely succeed to find those subtle defects also.
İşte bence bu yüzden adanmış bir test ekibi lazım. Çünkü kodu yazanlar bazen kör olabiliyorlar. Açıklaması şöyle.
The person who wrote the code is often blind to its limitations because they are too familiar with it. Skilled testers know how to work to avoid allowing familiarity to blind them to problems.

Hiç yorum yok:

Yorum Gönder