JOB108 Insider Quality Assurance and Testingİstinye ÜniversitesiAkademik Programlar Yazılım Mühendisliği (İngilizce)Öğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal Yeterlilikler
Yazılım Mühendisliği (İngilizce)

Önizleme

Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: JOB108
Ders İsmi: İçeriden Kalite Güvencesi ve Test
Ders Yarıyılı: Bahar
Ders Kredileri:
AKTS
5
Öğretim Dili: English
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Bölüm/Program Seçmeli
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr. Öğr. Üy. ALI ASGHAR POUR HAJI KAZEM
Dersi Veren(ler): Dr. Öğr. Üy. ALI ASGHAR POUR HAJI KAZEM
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu dersin amacı yazılım geliştirme süreçlerinin kalitesini artırmak ve yazılım ürünlerinin güvenilirliğini sağlamak amacıyla öğrencilere temel kalite güvencesi ve test prensiplerini sunmaktır. Öğrenciler, yazılım yaşam döngüsünün farklı aşamalarında kalite güvence ve test tekniklerini uygulayarak, yazılımın gereksinimlere uygunluğunu, performansını, güvenilirliğini ve kullanılabilirliğini değerlendirmeyi öğrenecekler. Ayrıca, gerçek dünya senaryolarına dayalı uygulamalarla, hata ayıklama, otomasyon ve test planlaması gibi becerileri geliştirerek, yazılım projelerinin başarılı bir şekilde teslim edilmesine katkı sağlama yeteneklerini kazanacaklar.
Dersin İçeriği: Bu ders, yazılım kalite güvencesinin temelleri, yazılım test yaşam döngüleri, yazılım test teknikleri, statik testler ve birim testler (ve yeniden yapılandırma), entegrasyon testleri, veritabanı testleri, kullanıcı kabul testleri, test için destek araçları, mocklar ve test hassasiyeti gibi konuları ele almaktadır. Ayrıca, test yönetimi konuları da dersin içeriğinde yer almaktadır.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Yazılım mühendisliği uygulamalarında yazılım kalite güvencesi ve test prensiplerini anlamak.
2) Kullanıcı gereksinimlerini karşılamak için uygun yazılım kalite güvencesi metodolojilerini ve yazılım test araçlarını seçme ve uygulama.
3) Yazılım test yaşam döngüleriyle uyumlu olarak yazılım kalitesini sağlamak amacıyla yazılım test ortamlarını planlama, tasarlama ve kurma.
4) Test süreçlerinde bulunması gereken alt öğeleri tanımlayabilme ve görevlerini kavrayabilme
5) Endüstri gereksinimlerini ve standartlarını iyi anlayarak yazılım test sonuçlarını değerlendirme ve analiz etme yoluyla yazılım kalitesini artırma.

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Yazılım kalite güvencesi prensipleri -
2) Yazılım test yaşam döngüleri -
3) Test teknikleri, Test Piramidi ve Fonksiyonel Testler -
4) Birim test prensipleri -
5) Integration tests and user acceptance tests -
6) Otomasyon testleri ve Selenium -
7) API Testleri -
8) Ara Sınav -
9) Mocklar ve test hassasiyeti -
10) Veritabanı ve Göç Testleri -
11) Yük Testleri -
12) Yazılım testinde endüstri en iyi uygulamaları -
13) Selenium atölyesi -
14) JMeter atölyesi -

Kaynaklar

Ders Notları / Kitaplar: Software Testing: An ISTQB-BCS Certified Tester Foundation guide - 4th edition,
Diğer Kaynaklar: Software Testing: An ISTQB-BCS Certified Tester Foundation guide - 4th edition,

Ders - Program Öğrenme Kazanım İlişkisi

Course Learning Outcomes

1

2

3

4

5

Program Kazanımları
1) Matematik, fen bilimleri ve yazılım mühendisliğine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi.
2) Karmaşık yazılım mühendisliği problemlerini tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi.
3) Karmaşık bir yazılım sistemini, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama, gerçekleştirme, sınama, doğrulama, ölçme ve bakımını yapma becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi.
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ı seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
5) Karmaşık mühendislik problemlerinin veya yazılım mühendisliği araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi.
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
7) Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
8) Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
9) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve yazılım mühendisliği uygulamalarında kullanılan standartlar hakkında bilgi.
10) Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
11) Yazılım mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın yazılım mühendisliği alanına yansıyan sorunları hakkında bilgi; yazılım mühendisliği çözümlerinin hukuksal sonuçları konusunda farkındalık.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Orta 3 En Yüksek
       
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Matematik, fen bilimleri ve yazılım mühendisliğine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi.
2) Karmaşık yazılım mühendisliği problemlerini tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi.
3) Karmaşık bir yazılım sistemini, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama, gerçekleştirme, sınama, doğrulama, ölçme ve bakımını yapma becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi.
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ı seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
5) Karmaşık mühendislik problemlerinin veya yazılım mühendisliği araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi.
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
7) Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
8) Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
9) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve yazılım mühendisliği uygulamalarında kullanılan standartlar hakkında bilgi.
10) Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
11) Yazılım mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın yazılım mühendisliği alanına yansıyan sorunları hakkında bilgi; yazılım mühendisliği çözümlerinin hukuksal sonuçları konusunda farkındalık.

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Projeler 1 % 10
Ara Sınavlar 1 % 30
Final 1 % 60
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 40
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 60
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Aktiviteye Hazırlık Aktivitede Harçanan Süre Aktivite Gereksinimi İçin Süre İş Yükü
Ders Saati 13 3 39
Sınıf Dışı Ders Çalışması 14 5 70
Proje 2 5 10
Ödevler 3 3 9
Ara Sınavlar 1 3 3
Final 1 3 3
Toplam İş Yükü 134