47
1/49 YMT 412-Yazılım Kalite Ve Güvencesi Yazılım Testine Giriş Fırat Üniversitesi Yazılım Mühendisliği Bölümü

Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

  • Upload
    others

  • View
    23

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

1/49

YMT 412-Yazılım Kalite Ve GüvencesiYazılım Testine Giriş

F ı r a t Ü n i v e r s i t e s i Ya z ı l ı m M ü h e n d i s l i ğ i B ö l ü m ü

Page 2: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

İçindekiler

2/49

Yazılım Testi…………………………………………..…………………….................................................................3

Türkiye Yazılım Kalite Raporu…………………………………………..……………………………….………………….8

Testin Amaçları………………………………………………………………………………..…………..………………….13

Doğrulama Ve Geçerleme …………………………………….………………………………………………….……15

Yazılım Hataları………………………………………………………………..……………………………………..………23

Testi Kim Yapar?…………………………………………………………………………..……………………………….……32

Yazılım Geliştirme Metodolojilerinde Test ..........……………..……………………………………………..………35

1

2

3

4

5

6

7

Page 3: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

1. Yazılım TestiYazılım testi, yazılımın daha önce tanımlanmış teknik ve işlevselgereksinimleri karşılayıp karşılamadığının ve yazılımın beklendiği gibiçalışıp çalışmadığının kontrolüdür. Yazılım test süreci de temel olarak eldeedilen ürünün beklenen kalitede olduğunu belirlemek, değilse istenilenkaliteye ulaştırılmasını sağlamayı amaçlayan bir süreçtir.

3/49

Page 4: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

1. Yazılım TestiBilgisayar sistemleri hatalar barındırır. Bu hatalar insan (geliştirici, analistvb.) ve donanım kaynaklı olabilir ve hatalar maddi ve/veya prestijkayıplarına neden olabilir. Yazılım test sürecinin proje döngüsünekatılmasıyla bu kayıplar en aza indirebilir. Burada unutulmaması gerekenşey mükemmel yazılım olmadığı ve bir yazılımın asla %100 testedilemeyeceğidir.

4/49

Page 5: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

1. Yazılım TestiBir yazılımı %100 oranında test etmeye çalışmak hem maddi gerekçelerlehem de pratik olarak mümkün olmadığından, yazılımın beklendiği gibiçalıştığını gösterebilecek sınırlı sayıda ancak özenle seçilmiş bir testkümesinin belirlenmesi ve bu test kümesi üzerinden test yapılması dahamantıklıdır.

Yazılım testi başka bir ifadeyle bir yazılımın doğrulanması vegeçerlenmesi süreci olarak da tanımlanabilir.

5/49

Page 6: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

1.1. Yazılım Testinin GelişimiYazılım testi ilk ortaya çıktığı sıralarda yalnızca hata ayıklama amacıylayapılmaktaydı. Sonra testler yazılımın doğru çalıştığını göstermek amacıylayapılmaya başlandı. Daha sonraları testlerin yapıcı olmaktan çok, yıkıcı birşekilde yapılmasının daha iyi sonuçlar verdiği görüldü.

1980’li yıllardan sonra daha kurallı geliştirme teknikleri kullanılmayabaşlandığından tüm geliştirme sürecini içeren aşamalı testler kullanıldı.Günümüzde de bu yöntem yanında hataları önlemeye yönelik testleryapılmalıdır.

6/49

Page 7: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

1.1. Yazılım Testinin Gelişimi

7/49

Page 8: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

2. Türkiye Yazılım Kalite RaporuVeriler Türkiye Yazılım Kalite Raporu 2011-2012’ den alınmıştır. 20sorudan ve 4 başlıktan oluşan anketi 250 yazılım geliştirme firmalarınınilgili IT direktör, Kalite Müdür, İş analisti, Proje Yöneticisi gibi kişilerincevaplanması istenmiştir. Cevaplar rapor halinde sunulmuştur.

8/49

Page 9: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

International Software Testing Qualifications Board (ISTQB)Dünya çapında yazılım test sertifikası veren birkaç farklı kuruluşun içindeISTQB (International Software Testing Qualification Board) en yaygın ve liderkonumdadır.

ISTQB (International Software Testing Qualifications Board) yazılımtestine belirli standartlar koyup ortak bir dil oluşturan ve belirli sınavlardüzenleyerek sertifika veren gönüllü oluşturulmuş bir kurumdur. Türkiye’dede bu sınavın bilinirliği ve sertifikanın geçerliliği gün geçtikçe artmaktadır.

ISTQB de ilk olarak Foundation Level (temel seviye) sertifikası alınmasıgerekmektedir. Daha sonrasında Test Analist , Test Yönetimi ve Teknik testanalsti olarak 3 kola ayrılmaktadır.

Yazılım Test ve Kalite Derneği Türkiye’de ISTQB Sertifikasyon sınavlarınıgerçekleştirmektedir. Dünya’da 100 ülkede 380.000’den fazla uzman ISTQBsertifikalarına sahiptir.

9/49

Page 10: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

ISTQB SertifikasyonlarıISTQB Foundation Level Sertifikasyon Sınavları

ISTQB Advanced Level Sertifikasyon Sınavları ise;

ISTQB Advanced Level Test Analyst

ISTQB Advanced Level Test Manager

ISTQB Advanced Level Technical Test Analyst

10/49

/49

Page 11: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

Turkish Testing BoardTTB 2006 yılında yazılım test ve kalite alanında dünyanın en saygıngönüllü organizasyonu olan ISTQB’a (International Software TestingQualifications Board – (www.istqb.org) bağlı olarak kurulmuştur. Butarihten itibaren , Türkiye’deki bilişim profesyonellerinin yazılım testialanında ISTQB standartlarında eğitilmesi ve sertifikalanması amacıylaçalışmalarına başlamıştır.

Türkiye Bilişim Sektörünün uluslararası pazarlarda rekabet edebilmesiiçin sektörün yazılım testi ve kalitesi konusunda bilgilendirilmesi

ISTQB sınavlarının yapılarak sınavı kazanan adayların sertifikasyonu

Yazılım testi konusunda uluslararası kabul görmüş içeriğinTürkçeleştirilmesi

11/49

Page 12: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

2. Türkiye Yazılım Kalite RaporuFirmanızda test işleminden kimler sorumludur?

12/49

Soruya birden fazla cevap verebilme imkanı vardır.

Page 13: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

2. Türkiye Yazılım Kalite Raporuİşletmenizde kaç adet test

elemanı var?

13/49

41%

25%

15%

13%

6%

Hiç Yok <5

<10 <50

Page 14: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

2. Türkiye Yazılım Kalite Raporu

En çok gerçekleştirdiğiniz test türleri nelerdir?

14/49

98,10%83,0…

43,40%

0,00%

20,00%

40,00%

60,00%

80,00%

100,00%

Fonksiyonel Performans Kullanılabilirlik

Soruya birden fazla cevap verebilme imkanı vardır.

Page 15: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

2. Türkiye Yazılım Kalite RaporuÇalışanlarınızın test

sertifikasına sahip

olmaları ne kadar

önemlidir?

15/49

18%

52%

2%

28%

Çok önemli Önemli

Önemli değil Fikrim yok

Page 16: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

3. Testin AmaçlarıMüşteriye sunmadan önce ürün kalitesinden emin olmak,

Yeniden çalışma ve geliştirme için masrafları azaltmak,

Geliştirme işleminin erken aşamalarında hataları saptayarak ileriaşamalara yayılmasını önlemek, böylece zaman ve maliyetten tasarrufsağlamak,

Müşteri memnuniyetini arttırmak ve izleyen siparişler için zeminhazırlamak.

16/49

Page 17: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

3.1. Yazılım testinde neler test edilmektedir?İş gereksinimleri

İşlevsel tasarım gereksinimleri

Teknik tasarım gereksinimleri

Düzenleyici gereksinimler

Yazılımın kaynak kodu

Ortakların standartları

Donanım yapılandırılması ve dil farklılıkları

17/49

Page 18: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

4. Doğrulama Ve GeçerlemeDOĞRULAMA

Ürünü doğru mu üretiyoruz?

Sistemin hatasız ve iyi bir mühendislikürünü olup olmadığını ölçer.

Geliştiriciler veya QA ekibi tarafındangerçekleştirilir.

Doğrulama aşamasında bulunanhataların maliyeti daha azdır.

GEÇERLEME

Doğru ürünü mü üretiyoruz?

Sistemin kullanıcı gereksinimlerineuygunluğu ölçer.

Test ekibi tarafından gerçekleştirilir.

Geçerleme aşamasında bulunanhataların maliyeti daha fazladır.

18/49

Page 19: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

4.1. Doğrulama Süreci

Sözleşme doğrulaması

Süreç doğrulaması

İsterler doğrulaması

Tasarım doğrulaması

Kod doğrulaması

Belgelendirme doğrulaması

19/49

Page 20: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

4.1. Doğrulama SüreciSözleşme Doğrulaması: Geliştirici ile müşteri arasında yapılan sözleşme şukıstaslara göre doğrulanmalıdır:

Geliştirici tüm isterleri karşılayabileceği güvenini vermektedir.

İsterler tutarlı olup kullanıcı gereksinimlerini kapsamaktadır.

İsterlere yapılacak değişiklikleri ve ortaya çıkabilecek problemleri kontrol edebilmek üzere yordamlar öngörülmüştür.

Taraflar arasında sahiplik, garanti, telif hakları ve gizlilik gibi konuları da içerecek şekilde işbirliği yapılmaktadır.

İsterlerle birlikte kabul kıstasları ve yordamları öngörülmüştür.

20/49

Page 21: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

4.1. Doğrulama Süreci

Proje planlamaları yeterli ve takvime uygundur.

Proje için seçilen süreçler yeterlidir, planlandığı şekilde yürütülmektedir.

Proje süreçleri için seçilmiş standartlar, yordamlar ve ortamlar yeterlidir.

Proje personeli sağlanmış ve sözleşme gereklerine göre eğitilmiştir.

21/49

Süreç Doğrulaması: Süreç aşağıda listelenen kıstaslara göre doğrulanmalıdır.

Page 22: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

4.1. Doğrulama Süreci

Sistem isterleri tutarlı, gerçekleştirilebilir ve test edilebilir durumdadırlar.

Sistem isterleri tasarım ölçütlerine uygun şekilde donanım öğelerine, yazılım öğelerine atanmıştır.

Yazılım isterler tutarlı, gerçekleştirilebilir ve test edilebilir durumda olup sistem isterlerine uymaktadır.

Emniyet, güvenlik ve kritik durumlarla ilgili yazılım isterleridoğrudur.

22/49

İsterlerin Doğrulanması: İsterler şu kıstaslara göre doğrulanmalıdır:

Page 23: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

4.1. Doğrulama Süreci

Seçilen tasarım isterlerden türetilebilmektedir.

Tasarım isterlere göre tutarlıdır ve izlenebilir durumdadır.Tasarım, olayların, girdilerin, ara yüzlerin, mantık akışının uygun dizilişlerini, zaman ve büyüklük tahsislerini, hata tanımlarını, hataya dayanıklılığını gerçekleştirmektedir.

Tasarım, emniyet, güvenlik ve diğer kritik durumlarla ilgili isterleri gerçekleştirmektedir.

23/49

Tasarım Doğrulaması: Tasarım aşağıdaki kriterlere göre doğrulanmalıdır:

Page 24: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

4.1. Doğrulama Süreci

Kod, tasarıma ve isterlere göre izlenebilir, türetilebilir ve test edilebilir.

Kod doğru ve kodlama standartlarına uygun olmalıdır.

Kod, olayların, girdilerin, ara yüzlerin, mantık akışının uygun dizilişlerini, zaman ve büyüklük tahsislerini, hata tanımlarını, hataya dayanıklılığı ve geri kazanmayı gerçekleştirmektedir.

Kod, emniyet, güvenlik ve diğer kritik durumlarla ilgili isterlerigerçekleştirmektedir.

Kod, yazan kişiden başkası tarafından rahatça okunabilir, anlaşılabilir ve bakım uygulanabilir.

24/49

Kod Doğrulaması

Page 25: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

4.1. Doğrulama Süreci

Belgelendirme yeterli, uygun, tam, anlaşılabilir ve tutarlıdır.

Belgelendirme hazırlıkları takvime uygundur.

Belgelerin sürüm, baskı ve dağıtım denetimi belirlenmiş yordamlara göre yapılmaktadır.

Belgeler gizlilik derecelerine uygun olarak saklanmaktadır.

25/49

Belgelendirme Doğrulaması: Belgelendirme şu kıstaslara göre doğrulanmalıdır.

Page 26: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

5. Yazılım Hataları

Yazılım geliştirme süreci boyunca hatalardan kaçınmak imkansızdır.

26/49

Page 27: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

5. Yazılım HatalarıYazılım kalitesi konusunu anlamanın anahtarı failure, fault ve errorterimlerini anlamaktır.

IEEE Standart 610.12 (IEEE,1990) bu terimleri şu şekilde tanımlamıştır:

27/49

Page 28: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

5. Yazılım HatalarıError: Kodlayıcı kaynaklı, doğru olmayan bir sonuç elde edilmesi.

Failure: Sistemin veya bir parçasının gerekli fonksiyonu yeterliperformansta yerine getirememesi.

Fault: Bir yazılım içerisindeki doğru olmayan adım, işlem veya veri tanımı.

Buna göre, failure kullanıcı gereksinimlerini veya ürün özelliklerinin doğruolarak karşılanamaması, fault yazılımdan kaynaklanan hata ve problemler,error ise kodlayıcı kaynaklı problemlerin ortaya çıkması durumu olaraközetlenebilir.

28/49

Page 29: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

5. Yazılım Hataları

29/49

Page 30: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

5.1. Hata Ayıklama (Debugging)

Hata ayıklama başarılı bir test sürecinin sonucudur. Şöyle ki, bir testsonucunda hatalar bulunduğu zaman hataların giderilme işlemine hataayıklama(debugging) denir.

30/49

Page 31: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

5. Hata Ayıklama3 çeşit hata giderme stratejisi vardır.

31/49

Brute force

Backtracking

Causeelimination

Page 32: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

5.1.1. Brute ForceBrute Force: Yürütme anındaki davranışlar izlenir, yazılım biriminin çeşitlinoktalarına ekrana veya bir dosyaya o an akışın neresinde olduğunu, geneldurumunu veya bir değişkenin değerini yazan deyimler eklenir. Bu bilgilerışığında, hataya neden olan yazılım kusuru aranır.

32/49

Page 33: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

5.1.2. BacktrackingBacktracking: Kodun okunarak geri izlenmesi esasına dayanır. Hatanınoluştuğu yerden itibaren geriye doğru gidilerek kod incelenir; hata yaratandeyim yada kusurlu akış mantığı aranır. Küçük yazılımlarda yaygın olarakkullanılır. Yüksek satır ve modül sayısına sahip yazılımlarda, akış yolununçok dallandığı noktalarda bunu yapmak oldukça zordur.

33/49

Page 34: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

5.1.3. Cause EliminationCause elimination: Tümevarım veya tümdengelim yöntemlerinedayanarak elde edilen verilere göre hatanın nedeni araştırılır. Ortayakonan varsayımları doğrulayıcı ya da çürütücü testler tasarlanır. İlk testlerolumlu sonuç verirse, daha ayrıntılı verilerle testlere devam edilerekhatanın tam yerinin saptanmasına çalışılır.

34/49

Page 35: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

6. Testi Kim Yapar?Testi kimin yapacağı, test işlemine ve projenin paydaşlarına bağlıdır.Bilişim Teknolojileri sektöründe, büyük şirketler geliştirilen yazılımınyeterliliğini ölçmekle sorumlu test ekiplerine sahiptir. Yazılım testekibi, test edilecek uygulamanın büyüklüğüne ve karmaşıklığına göreoluşturulur.

35/49

Page 36: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

6. Testi Kim Yapar?Çoğu durumda aşağıdaki çalışanlar sistemin test edilmesine kendi yaptıkları işle ilgili olarak dahil olurlar:

Yazılım test ekibi

Yazılım geliştirici

Proje lideri

Son kullanıcı

36/49

Page 37: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

6. Testi Kim Yapar?Test Sürecinde mümkün olduğu kadar test ekibi daha etkin kullanılmalıdır ve diğer pozisyonların test sürecindeki etkinliği azaltılmalıdır.

Test yapan kişilerin,

Tedbirli,

Meraklı,

Eleştirmen

İyi iletişim kurabilen kişilikte olmaları gerekir.

37/49

Page 38: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

7. Yazılım Geliştirme Metodolojilerinde Test

38/49

Ş

e

l

a

l

e

M

o

d

e

l

i

Page 39: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

7. Yazılım Geliştirme Metodolojilerinde TestŞelale Modeli: Yazılım süreci lineardir, bir sonraki safhaya geçebilmek içinbir önceki safhada yer alan aktivitelerin tamamlanmış olması gerekir. Yanitest aşamasına gelebilmek için diğer aşamalar tamamlanmalıdır. Hatalarsadece 5. aşamada giderilebildiğinden yazılımın maliyetini artırır vebaşarısını azaltır.

Kullanıcı katılımı başlangıç safhasında mümkündür. Kullanıcı isterleri busafhada tespit edilir ve detaylandırılır. Daha sonra gelen tasarım vekodlama safhalarında müşteri ve kullanıcılar ile diyaloğa girilmez. Buyüzden kullanıcı testlerinde başarı yakalama oranları azdır.

39/49

Page 40: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

7. Yazılım Geliştirme Metodolojilerinde Test

40/49

Ç

e

v

i

k

Y

a

z

ı

l

ı

m

Page 41: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

7. Yazılım Geliştirme Metodolojilerinde Test

Agile: Geleneksel yaklaşımın tersine,test profesyonelleri, yazılım geliştirmeyaşam döngüsünün en başından itibarensürece dahil olurlar. Kullanıcınıngeliştirici ve test sorumlusu ile aynıortamı paylaşması prensibi, geliştirilenürünün kullanıcının gerçekten istediği birbiçimde geliştirilmesi ve gerçekçikullanım durumlarına göre testedilmesini sağlar. Test güdümlügeliştirme yöntemini( TDD) kullanır.

41/49

TDD: Test Driven Developmentyöntemiyle kodlama yaparken geneldeşu şekilde bir yol izlenmekdir.1. Tek satır kod yazmadan kodun

testini yaz.2. Testi çalıştır ve testin geçemediğini

gör.3. Testi geçecek en basit kodu yaz ve

testin geçtiğini gör.4. Kodu düzenle5. Başa dön

Page 42: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

7. Yazılım Geliştirme Metodolojilerinde Test

42/49

V

M

o

d

e

l

i

Page 43: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

7. Yazılım Geliştirme Metodolojilerinde Test

V modeli: Test işlemlerinin ne zaman yapılacağını ön plana çıkarır. Birönceki şekle bakacak olursak, sol kanat üretim etkinliklerini, sağ kanat datest etkinliklerini gösterir. Bu modelde geliştirme ve test paralel şekildeyapılır. Her aşama sonunda test edilecek ürün, test grubu tarafındansınanır, onay verildikçe bir sonraki aşamaya geçilir.

İsterlerin iyi tanımlandığı, belirsizliklerin az olduğu ve aşamalar halindeilerlenmesi gereken projelerde «v» modeli iyi sonuç verir.

43/49

Page 44: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

7. Yazılım Geliştirme Metodolojilerinde Test

44/49

RiskAnalizi

RiskAnalizi

RiskAnalizi

RiskAnalizi

Proto-tip 1

Prototip 2Prototip 3

İşinPrototipi

Öninceleme

AnaliziİşinGenel Kavramı

GeliştirmePlanı

Birleştirme ve Test Planı

YazılımGereksinimi

Gereksinimonaylama

ÜrünTasarımı

Tasarımı testEtme ve onay

DetaylıTasarım

Kodlama

Modül TestiBirleştirme testi

Kabul testiServis

Simulasyon ve Modelleme

Amaca, Alternatiflere ve Sınırlamalara karar verme

Alternatifleri değerlendirme ve risk analizi

Bir sonraki fazın planlanması ve kullanıcı değerlendirmesi

Geliştirme ve bir sonraki ürünü onaylama

onay ekseni

Planlama Risk Analizi

ÜretimKullanıcı Değerlendirme

S

p

i

r

a

l

M

o

d

e

l

Page 45: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

7. Yazılım Geliştirme Metodolojilerinde TestSpiral Model: Aynı safhalara geri dönülmesinin bir zorunluluk olduğunuvurgular. Proje çevrimlere ayrılır ve her bir çevrimin riskleri ayrı ayrı elealınır.

Bu modelin avantajları vardır. İlki üretim süreci boyunca ara ürün üretmeve üretilen ara ürünün kullanıcı tarafından sınanması temeline dayanır.Diğer bir avantajı gerek proje sahibi, gerekse yüklenici tarafındakiyöneticiler, çalışan yazılımlarla proje boyunca karşılaştıkları için daha kolayizleme planlaması yapılır. Avantajlarından biri de; yazılımın kodlanması vetesti daha erken başlar.

45/49

Page 46: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

Çalışma Soruları1. Yazılım hatalarını örnek vererek açıklayınız.

2. Hangi yazılım geliştirme metodolojisinde testin yeri en büyüktür? Açıklayınız.

3. Hata ayıklama nedir? Test ile farkını yazınız.

4. Hata ayıklamanın türlerini yazıp açıklayınız.

5. Doğrulama ve geçerleme arasındaki farkları yazınız. Birer örnekle açıklayınız.

6. Doğrulama süreci aşamalarını yazınız.

7. Testin amaçları nelerdir? Yazılım testinde neler test edilir?

8. Test güdümlü geliştirme nedir? Avantajları nelerdir?

46/49

Page 47: Yazılım Testi ve Teste Giriş - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/10/TesteGiris.pdf · Yazılım Geliştirme Metodolojilerinde Test Şelale Modeli:

Kaynaklar[1] Software Enginnering A Practitioner's Approach (7th Edition),RogerPressman,2013

[2] Yazılım Mühendisliği(2. Baskı), M.Erhan Sarıdoğan,2008

[3] Yazılım Test Mühendisliği (1. Baskı), Rifat Çölkesen, 2010

[4] http://www.cihataltuntas.com/test-driven-development/

[5] www.kurumsaljava.com/download/10/

[6] http://www.turkishtestingboard.org/TurkeySoftwareQualityReport.pdf

[7] http://www.tutorialspoint.com/software_testing/

[8]http://www.computerworld.com.tr/wpcontent/uploads/2015/04/yazilim-testi.jpg

47/49