MÜHENDİSLİK FAKÜLTESİ
Yazılım Mühendisliği
SE 322 | Ders Tanıtım Bilgileri
Dersin Adı |
Yazılım Sınama ve Doğrulama
|
Kodu
|
Yarıyıl
|
Teori
(saat/hafta) |
Uygulama/Lab
(saat/hafta) |
Yerel Kredi
|
AKTS
|
SE 322
|
Bahar
|
2
|
2
|
3
|
6
|
Ön-Koşul(lar) |
|
|||||||
Dersin Dili |
İngilizce
|
|||||||
Dersin Türü |
Zorunlu
|
|||||||
Dersin Düzeyi |
Lisans
|
|||||||
Dersin Veriliş Şekli | - | |||||||
Dersin Öğretim Yöntem ve Teknikleri | Grup çalışmasıGösterip yaptırmaAnlatım / Sunum | |||||||
Dersin Koordinatörü | ||||||||
Öğretim Eleman(lar)ı | ||||||||
Yardımcı(ları) |
Dersin Amacı | Bu dersin birinci amacı, öğrencilerin yazılım testinin temel ve prensiplerini öğretmektir. İkinci amaç ise, öğrencilerin yüksek kaliteli bir yazılım ürünü geliştirmelerini sağlamak üzere, temel test yöntemleri ve teknolojileri hakkında bilgilendirmektir. Dersin üçüncü amacı, öğrencilerin uluslararası yazılım testi belgelendirme sürecinde, yazılım testi konusunda gerekli becerileri kazanmasını sağlamaktır. Bu hedefler yazılım test süreçlerinin, test dokümantasyonun, test tekniklerinin, test yönetiminin ve test araçlarının öğrenilmesi ile elde edilecektir. |
Öğrenme Çıktıları |
Bu dersi başarıyla tamamlayabilen öğrenciler;
|
Ders Tanımı | Yazılım geliştirme konusunda genel kabul gören konulardan biri, mükemmel bir yazılım geliştirilmenin mümkün olmadığıdır. Bundan dolayı, yazılım kullanıma geçmeden önce mevcut hatalarından arındırılarak yanlış çalışma etkilerini azaltmak gerekmektedir. Test, yazılımın iyi bir performans sağlaması için de gereklidir. Bu derste, yazılım mühendisliğindeki test süreçleri, test dokümantasyonu ve test tekniklerine ilişkin kavram ve tanımlar öğretilmektedir. |
|
Temel Ders |
X
|
Uzmanlık/Alan Dersleri | ||
Destek Dersleri | ||
İletişim ve Yönetim Becerileri Dersleri | ||
Aktarılabilir Beceri Dersleri |
HAFTALIK KONULAR VE İLGİLİ ÖN HAZIRLIK ÇALIŞMALARI
Hafta | Konular | Ön Hazırlık |
1 | Yazılım testinin temelleri | Chapter 1 of Black, van Veenendaal and Graham: Foundations of Software Testing, 3rd ed., Cengage Learning, 2012. ISO/IEC/IEEE 29119-1 Software testing - Part 1: Concepts and definitions |
2 | Yazılım testi | Chapter 8 of Sommerville, Ian: Software Engineering, (10th ed.), Pearson, 2016. |
3 | Yazılım yaşam döngüsü boyunca test. Lab: YGYD’de yazılım testi ve test dokümantasyonu | Chapter 2 of Black’s book. |
4 | Statik teknikler. Lab: Yazılımın incelenmesi ve döngüsel karmaşa | Chapter 3 of Black’s book. |
5 | Test tasarım teknikleri: Test geliştirme süreci. Lab: Bileşen testi - birim testi: JUnit | Chapter 4 of Black’s book. |
6 | Test tasarım teknikleri: Kara kutu test teknikleri. Lab: Karar tablosu testi ve denklik paylarına ayırma | Chapter 4 of Black’s book. |
7 | Test tasarım teknikleri: Şeffaf kutu test teknikleri. Lab: Karar tablosu testi ve denklik paylarına ayırma | Chapter 4 of Black’s book. |
8 | Dersin gözden geçirilmesi | |
9 | Test Yönetimi. Lab: Web uygulamaları için yazılım testi çerçevesi: Selenium IDE | Chapter 5 of Black’s book. |
10 | Kalite Yönetimi. Lab: Web uygulamaları için yükleme test aracı: Jmeter | Chapter 24 of Sommerville’s book. |
11 | Kalite Yönetimi. Lab: Web uygulamaları için yükleme test aracı: Jmeter | Chapter 24 of Sommerville’s book. |
12 | Mutation testi, mutant maliyetlerinin hesaplanması | A Survey on Mutation Testing Techniques, Applications and Tools |
13 | Örnek olay 1 | National Transportation Communications for ITS Protocol Object Definitions for Dynamic Message Signs (DMS) |
14 | Örnek olay 2 | Online shop örneği, Marathon örneği |
15 | Dersin gözden geçirilmesi | |
16 | Dönemin gözden geçirilmesi |
Ders Kitabı | 1. Sommerville I. Software Engineering. 10th ed. Addison Wesley, 2016, ISBN-13: 978-0133943030. 2. Black R., van Veenendaal E. and Graham D. Foundations of Software Testing. 3rd ed. Cengage Learning, 2015, ISBN-13: 978-8131526361. |
Önerilen Okumalar/Materyaller | 1. Bath G., McKay J. The Software Test Engineer’s Handbook: A Study Guide for the ISTQB Test Analyst and Technical Analyst Advanced Level Certificates. Rocky Nook, 2008. Bourque, P. and R.E. Fairley (eds.). 2014, ISBN-13: 978-1937538446. 2. Guide to the Software Engineering Body of Knowledge (SWEBOK). Los Alamitos, CA, USA: IEEE Computer Society, ISBN-10: 0-7695-5166-1. 3. IEEE 829-2008 - IEEE Standard for Software and System Test Documentation. 4. ISO/IEC/IEEE 29119-1Software testing - Part 1: Concepts and definitions. 5. ISO/IEC/IEEE 29119-2 Software testing - Part 2: Test processes. 6. ISO/IEC/IEEE 29119-3 Software testing - Part 3: Test documentation. 7. ISO/IEC/IEEE P29119-4 DIS May 2013 Draft IEEE Standard Software testing -Part 4: Test techniques |
DEĞERLENDİRME ÖLÇÜTLERİ
Yarıyıl Aktiviteleri | Sayı | Katkı Payı % |
Katılım | ||
Laboratuvar / Uygulama | ||
Arazi Çalışması | ||
Küçük Sınav / Stüdyo Kritiği |
-
|
-
|
Portfolyo | ||
Ödev | ||
Sunum / Jüri Önünde Sunum | ||
Proje |
1
|
20
|
Seminer/Çalıştay | ||
Sözlü Sınav | ||
Ara Sınav |
1
|
30
|
Final Sınavı |
1
|
50
|
Toplam |
Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı |
2
|
50
|
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı |
1
|
50
|
Toplam |
AKTS / İŞ YÜKÜ TABLOSU
Yarıyıl Aktiviteleri | Sayı | Süre (Saat) | İş Yükü |
---|---|---|---|
Teorik Ders Saati (Sınav haftası dahildir: 16 x teorik ders saati) |
16
|
2
|
32
|
Laboratuvar / Uygulama Ders Saati (Sınav haftası dahildir. 16 x uygulama/lab ders saati) |
16
|
2
|
32
|
Sınıf Dışı Ders Çalışması |
14
|
4
|
56
|
Arazi Çalışması |
0
|
||
Küçük Sınav / Stüdyo Kritiği |
-
|
-
|
0
|
Portfolyo |
0
|
||
Ödev |
0
|
||
Sunum / Jüri Önünde Sunum |
0
|
||
Proje |
1
|
30
|
30
|
Seminer/Çalıştay |
0
|
||
Sözlü Sınav |
0
|
||
Ara Sınavlar |
1
|
20
|
20
|
Final Sınavı |
1
|
30
|
30
|
Toplam |
200
|
DERSİN ÖĞRENME ÇIKTILARININ PROGRAM YETERLİLİKLERİ İLE İLİŞKİSİ
#
|
Program Yeterlilikleri / Çıktıları |
* Katkı Düzeyi
|
||||
1
|
2
|
3
|
4
|
5
|
||
1 | Matematik, Fen Bilimleri, Bilgisayar Bilimleri ve Yazılım Mühendisliği konularında yeterli bilgi sahibidir; bu alanlardaki kuramsal ve uygulamalı bilgileri, Yazılım Mühendisliği problemlerinde kullanır. |
X | ||||
2 | Karmaşık Yazılım Mühendisliği problemlerini saptar, tanımlar, formüle eder ve çözer; bu amaca uygun analiz ve modelleme yöntemlerini seçer ve uygular. |
X | ||||
3 | Karmaşık bir yazılım sistemini, süreci veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlar, gerçekleştirir, sınar, doğrular, raporlar, ölçer ve bakımını yapar; bu amaçla modern yöntemleri uygular. |
X | ||||
4 | Yazılım Mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirir, seçer ve kullanır; bilişim teknolojilerini etkin bir şekilde kullanır. |
X | ||||
5 | Yazılım Mühendisliği problemlerinin incelenmesi için deney tasarlar, deney yapar, veri toplar, sonuçları analiz eder ve yorumlar. |
|||||
6 | Yazılım Mühendisliği disiplini içinde ve çok disiplinli takımlarda etkin biçimde çalışır; bireysel çalışma sergiler. |
X | ||||
7 | Türkçe sözlü ve yazılı etkin iletişim kurar; etkin rapor yazar ve yazılı raporları anlar, tasarım ve üretim raporları hazırlar, etkin sunum yapar, açık ve anlaşılır talimat verir ve alır. |
|||||
8 | Mühendislik ve Yazılım uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi sahibidir; mühendislik ve yazılım çözümlerinin hukuksal sonuçlarının farkındadır. |
|||||
9 | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibidir. |
|||||
10 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi sahibidir; girişimcilik, yenilikçilik hakkında bilinçlidir; sürdürülebilir kalkınma hakkında bilgi sahibidir. |
|||||
11 | Bir yabancı dili kullanarak Yazılım Mühendisliği ile ilişkili konularda, bilgi toplar ve meslektaşları ile iletişim kurar. ("European Language Portfolio Global Scale", Level B1) |
|||||
12 | İkinci yabancı dili orta düzeyde kullanır. |
|||||
13 | Yaşam boyu öğrenmenin gerekliliği bilincindedir; bilgiye erişebilir, bilim ve teknolojideki gelişmeleri izler ve kendini sürekli yeniler; insanlık tarihi boyunca oluşan bilgi birikimini Yazılım Mühendisliği alanıyla ilişkilendirir. |
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest