Quality Assurance and Continuous Integration Eğitimi
Bu eğitim, geliştiriciler, Scrum Yüksek Lisans mezunları, Ürün Sahipleri ve ayrıca iş departmanının bazı kesimlerine açıktır. Eğitimin amacı, Quality Assurance and Continuous Integration konularını ve çevik metodolojilerle yürütülen projelerdeki yerlerini tanıtmakdır. Katılımcılar, tartışılan konular hakkında geniş bir bakış açısı kazanacak ve ayrıca QA/CI ile uyumlu yazılım geliştirme araçları ve süreçleri hakkında pratik bilgi edineceklerdir. İş departmanı temsilcileri, bu araçların ve süreçlerin uygulanmasının faydalarını bilecek ve bunları yazılım geliştirme süresine ve maliyetine dönüştürebileceklerdir. Sunulan konular, müşteri gereksinimlerine bağlı olarak PHP veya Java üzerine kuruludur.
Eğitim İçeriği
QA/CI
- Kalite Güvencesi (QA) nedir?
- Sürekli Entegrasyon (CI) nedir?
- Yazılım geliştirme, yeniden düzenleme ve hata düzeltme maliyetleri
- Projenin tanımlanması ve anlaşılması
- Kuruluşa sağlanan kâr
DDD
- İş gereksinimlerine dayalı yazılım geliştirme, DDD varsayımları
- BT-Business iletişimdeki sorunlar
- Alan Modeli
En İyi Uygulamalar
- KISS ilkesi ve DRY
- Kodlama standartları
- Nesne Yönelimli Programlama (OOP) ve tasarım kalıpları aracılığıyla yeniden kullanılabilir kod oluşturma
- Döngüsel karmaşıklığın tanımlanması ve azaltılması
Yazılım Metrikleri
- Sınıf Başına Ağırlık Metodu
- Sınıf İçin Yanıt
- Kalıtım Ağacının Derinliği
- Nesneler Arası Bağlantı
- Metotların Uyumsuzlığı
- Çocuk Sayısı
- Döngüsel Karmaşıklık
- Metrik sınıfı
- Model Metrikleri
- Kullanım için Metrikler
Software Testing
- Ne zaman, ne zaman ve nasıl test edilir?
- "Beyaz kutu" ve "siyah kutu" metodu
- Çevik metodolojilerde testin rolü
- TDD projenin maliyetini artırmada sadece bir potansiyel mi?
- JUnit (Java) ile birim testi, PHPUnit (PHP)
- JBehave (Java), Behat ve Mink (PHP) davranışsal testleri
- Fonksiyonel testler
Yeniden Düzenleme
- Yeniden düzenleme nedir?
- Teknik borç
- Kod kokusu
- Yeniden düzenleme kalıpları
Documentation
- Çevik metodolojilerde dokümantasyonun rolü
- Neyi belgelemek?
- Dokümantasyon türleri
- Documentation ve çevik metodolojiler, veya kapsamlı dokümantasyona kıyasla çalışan yazılım diyebilir miyiz?
- Standart XMI
- Javadoc (Java), ApiGen (PHP)'den dokümantasyonun otomatik oluşturulması
Araçlar ve CI Ortamı
- Araçlar ve CI Ortamı
- PMD (Java), phpmd (PHP)
- CPD (Java), phpcpd (PHP)
- Satır Sayısı Sayacı (Java), phploc (PHP)
- UCDetector (Java), phpdcd (PHP)
- Jdepend (Java), phpdepend (PHP)
- Jenkins Sürekli Entegrasyon Sunucusu
Agile ve CI/QA
- Planlama ve artımlı geliştirme
- Değişimi Kucaklama
- Kısa aşamalar
- Disiplinlerarası ekip
- Aşırı Programming, Kod İncelemesi
- Süreçler ve araçlardan ziyade bireyler ve etkileşimler
Özet
- Tartışma
- Sorular
- Uygulama sürecine nasıl başlarsınız?
Kurs İçin Gerekli Önbilgiler
Yazılım geliştirme süreçleri bilgisi
Açık Eğitim Kursları 5 ve üzeri katılımcı gerektirir.
Quality Assurance and Continuous Integration Eğitimi - Booking
Quality Assurance and Continuous Integration Eğitimi - Enquiry
Quality Assurance and Continuous Integration - Danışmanlık Talebi
Danışmanlık Talebi
Danışanlarımızın Yorumları (5)
Trainer has in depth experince and well narreated in deed. The depth of the knowledge and the passion for teaching is highly appriciated.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Eğitim - Jenkins 2: Building CI/CD Pipelines
The trainer was very well organized. He explained about all the tools required for the training in the beginning. The trainer happily clarified all the doubts and practical use cases were discussed.
Vivek Verma - Global Knowledge Network Training Ltd
Eğitim - DevOps Practical Implementation and Tools
Very detailed, trainer knows the subject very well and has covered a lot of topics
Gabriel Kelly Navarro - Opswerks
Eğitim - Advanced Spinnaker
Luke was very knowledgeable, patient, and very open to satisfy my curiosity, for example I asked him to generate errors to see how system will response, etc. He would go above and beyond to answer questions or demonstrate the functionalities, even some of my questions were out of the class scope. He gave me a real experience with the system. I definitely will take another class with him and recommend him as a teacher for others. Thank you Luke!.
Tina Henderson
Eğitim - Test Automation with Selenium and Jenkins
All of it. Having had no previous exposure to Jenkins, I was a little concerned about my ability to keep up. IPad provided appropriate coaching/support, when I asked for help, so that I was able to follow the presentation at a level I was happy with.
Graham Congdon
Eğitim - Jenkins: Continuous integration for Agile development
Yaklaşan Etkinlikler
İlgili Kurslar
Advance Test Automation in Java using Selenium with continuous integration and version control
35 SaatBu eğitimin sonunda katılımcılar şunları yapabilecektir:
- Maven'i kurmak ve yapılandırmak.
- Selenium kullanarak Testleri Otomatikleştirmek.
- GIT'ü Yönetmek.
- Sürekli entegrasyonu entegre etmek.
Kurs Formatı
- İnteraktif ders ve tartışma.
- Çok sayıda alıştırma ve uygulama.
- Canlı laboratuvar ortamında uygulamalı uygulama.
Kurs Özelleştirme Seçenekleri
- Bu kurs için özelleştirilmiş bir eğitim talep etmek için lütfen bizimle iletişime geçerek ayarlama yapınız.
Advanced Spinnaker
14 SaatBu eğitmen liderliğindeki, canlı eğitim (Türkiye çevrimiçi veya yerinde), yazılımlarını AWS veya Kubernetes'ye sık ve sürekli olarak dağıtmak isteyen mühendisleri hedeflemektedir.
Bu eğitimin sonunda katılımcılar şunları yapabilecektir:
- Spinnaker'ü gelişmiş işlemler için kurmak ve yapılandırmak.
- Jenkins gibi mevcut sürekli entegrasyon araçlarıyla Spinnaker'ü entegre etmek.
- Spinnaker'ün dahili mimarisini ve dağıtım iş akışı yapılarını anlamak.
- Kubernetes üzerinde yazılım dağıtımı için işlem hatları oluşturmak.
- AWS üzerinde yazılım dağıtımı için işlem hatları oluşturmak.
- Yaygın Spinnaker sorunlarını gidermek.
Argo CD
7 SaatBu eğitmen liderliğindeki, canlı eğitim (online veya yerinde), uygulamaların dağıtımını ve yaşam döngüsü yönetimini otomatikleştirmek isteyen sistem yöneticileri ve geliştiriciler hedeflenmektedir.
Bu eğitimin sonunda katılımcılar, Argo CD kullanarak Kubernetes sistemlerini otomatikleştirme, izleme, denetleme ve geri alma becerisine sahip olacaklardır.
Continuous Integration for JavaScript
14 SaatSürekli Entegrasyon (CI), geliştiricilerin kodlarındaki değişiklikleri mümkün olduğunca sık birleştirdiği bir geliştirme uygulamasıdır; bu sayede hatalar hızlı bir şekilde tespit edilir ve konumları belirlenir.
Bu eğitmen liderliğindeki, canlı eğitimde katılımcılar, JavaScript için Sürekli Entegrasyon temellerini öğrenecek ve bir JavaScript projesi için Sürekli Entegrasyon sürecini nasıl kuracaklarını adım adım inceleyeceklerdir.
Bu eğitimin sonunda katılımcılar şunları yapabilecektir:
- Sürekli Entegrasyon temellerini anlayacaklar
- Kendi Sürekli Entegrasyon sistemlerini JavaScript projeleri için oluşturacaklar
Hedef Kitle
- Geliştiriciler
- BT Profesyonelleri
- DevOps Mühendisleri
- Business Yöneticileri
Kurs Formatı
- Kısmen ders anlatımı, kısmen tartışma, egzersizler ve yoğun uygulamalı çalışma
DevOps Practical Implementation and Tools
21 SaatThis course focuses on practical implementation and tooling. It assumes good knowledge on theoretical principals (see DEVOPS course) as it focuses on newest tools and methods of implementing DevOps principles.
Docker and Jenkins for DevOps
14 SaatBu eğitmen liderliğindeki, canlı eğitim (Türkiye çevrimiçi veya yerinde), CI/CD sürecini Docker ve Jenkins ile optimize etmek ve basitleştirmek isteyen DevOps mühendislerine yöneliktir.
Bu eğitimin sonunda katılımcılar şunları yapabilecektir:
- Jenkins ile kod teslimini ve işlem hattı dağıtımını otomatikleştirin.
- Docker ve Docker File kullanarak bir uygulama oluşturun.
- Güvenliği güçlendirmek için kimlik doğrulama seçeneklerini yapılandırın.
Jenkins: Continuous Integration for Agile Development
14 SaatBu eğitmen liderliğindeki canlı eğitim, yazılım projelerinizin Agile ortamında sürekli entegrasyonunu gerçekleştirmek için gereken kavramları, araçları ve teknikleri kapsamaktadır. Katılımcılar, öğrendiklerini gerçek durumlarda uygulamak için ders boyunca bir dizi uygulamalı egzersiz yaparlar. Eğitmen ve katılımcılar arasındaki etkileşim teşvik edilir. Gerçek dünya örnekleri tartışılır ve belirli sorunlar ve sorular sınıfta ele alınır ve çözülür.
Jenkins 2: Building CI/CD Pipelines
14 SaatBu eğitmen liderliğindeki, canlı eğitim (Türkiye çevrimiçi veya yerinde), bir uygulamayı geliştirmeden üretime taşımak için süreçleri otomatikleştiren boru hatları oluşturmak isteyen mühendislere yöneliktir.
Bu eğitimin sonunda katılımcılar şunları yapabilecektir:
- Jenkins 2'yi kurmak ve yapılandırmak.
- Yazılım dağıtım sürecinin her adımını otomatikleştirmek için betik temelli bir yaklaşım benimsemek.
- Yazılım bir sürüm kontrol sistemine kaydedildiğinde uygulama derlemelerini otomatik olarak oluşturmak.
- Bir yazılım uygulamasının derlenmesini, test edilmesini ve paketlenmesini otomatik olarak başlatmak.
- Bir sorun olduğunda bildirimlere ve raporlara hızlı bir şekilde yanıt vermek.
- Jenkins'yi genişletmek için ek eklentiler kurmak.
Jenkins Advanced
14 SaatBu eğitmen liderliğindeki, canlı eğitim (Türkiye çevrimiçi veya yerinde), gelişmiş Jenkins yapılandırmalarını, güvenliği ve ölçeklendirme tekniklerini kapsamaktadır ve karmaşık yazılım projelerinde Jenkins'yi özelleştirmede uzmanlık kazanmak isteyen DevOps mühendisleri ve yazılım mimarları hedeflenmektedir.
Bu eğitimin sonunda katılımcılar şunları yapabilecektir:
- Kurumsal düzeydeki yazılım projeleri için Jenkins'yi optimize edin.
- Gelişmiş güvenlik önlemleri uygulayın.
- Karmaşık ve ölçeklenebilir işlem hatları oluşturun.
- Jenkins kurulumlarını etkili bir şekilde sorun giderin ve bakımını yapın.
Jenkins for .Net Continuous Integration (CI)
14 SaatGeliştiriciler bir kod parçasını yazmayı tamamladıklarında, genellikle kodlarını bir uygulamaya entegre eder, uygulamayı bir klasöre kopyalar, uygulama kurulumunu çalıştırır ve ardından uygulamanın beklendiği gibi çalışıp çalışmadığını kontrol etmek için uygulamayı başlatırlar. Bu manuel yaklaşım iyi ölçeklenemez, zahmetlidir, hata yapmaya çok müraklıdır ve süreçteki değişiklikleri izlemek için bir mekanizma sunmaz.
Daha iyi bir yaklaşım, Sürekli Entegrasyonu kullanarak süreci otomatikleştirmektir. Sürekli Entegrasyon, yazılım uygulamalarının oluşturulmasını, dağıtımını ve test edilmesini otomatikleştirmek için gereken süreçleri, araçları ve altyapıyı ifade eder.
Bu eğitmen liderliğindeki, canlı eğitimde (yerinde veya uzaktan), katılımcılar, geleneksel, manuel (veya yarı manuel) bir yazılım dağıtım yaklaşımını, Jenkins kullanarak çevik bir Sürekli Entegrasyon (CI) yaklaşımına nasıl dönüştüreceklerini öğreneceklerdir. Katılımcılar, eğitim boyunca bir dizi uygulamalı, canlı laboratuvar egzersizi gerçekleştirerek yeni bilgilerini her adımda çeşitli yazılım geliştirme ve dağıtım sorunlarına uygulayacaklardır. Eğitmen ve katılımcılar arasındaki etkileşim teşvik edilmektedir. Gerçek dünya örnekleri tartışılmakta ve eğitim boyunca belirli sorunlara ve sorulara değinilerek çözümler üretilmektedir. Eğitim özellikle .Net uygulama geliştirme üzerine odaklanmaktadır.
Bu eğitimin sonunda katılımcılar şunları yapabilecektir:
- .Net uygulama geliştirme için Jenkins'i kurmak ve yapılandırmak
- Jenkins'i kullanarak .Net kaynak kodunu bir kod deposuna kontrol etme ve birleştirme sürecini otomatikleştirmek
- Jenkins'i kullanarak bir uygulamayı bir yayın sunucusuna indirme, derleme ve dağıtma sürecini otomatikleştirmek
- Jenkins'i sorun izleyiciler gibi diğer yazılım geliştirme araçlarıyla entegre etmek
Hedef Kitle
- .Net geliştiricileri
- Oluşturma mühendisleri
- Kalite Güvence mühendisleri
- Proje yöneticileri
- Yayın yöneticileri
- DevOps mühendisleri
Kurs Formatı
- Kısmen ders anlatımı, kısmen tartışma, egzersizler ve yoğun uygulamalı pratik
Not
- Bu kurs için özelleştirilmiş bir eğitim talep etmek için lütfen bizimle iletişime geçerek ayarlama yapınız.
Jenkins Fundamentals
14 SaatBu eğitmen liderliğindeki, canlı eğitim (Türkiye (çevrimiçi veya yerinde)) Jenkins'in temel kavramlarını ve kullanımını kapsamaktadır ve yazılım geliştiricileri ile DevOps mühendislerinin Jenkins'i kurması, işler oluşturması ve yapılandırması ve yazılım geliştirme sürecinin temel yönlerini otomatikleştirmesi amaçlanmaktadır.
Bu eğitimin sonunda katılımcılar şunları yapabilecektir:
- Sürekli entegrasyon ve sürekli teslimat (CI/CD) ilkelerini anlayabilecektir.
- Yazılım otomasyonu için Jenkins'i kurup yapılandırabilecektir.
- Uygulamaları oluşturmak ve test etmek için Jenkins işleri oluşturup yönetebilecektir.
- Yazılım dağıtımı için otomatik işlem hatları kurup özelleştirebilecektir.
Continuous Integration with Jenkins and Maven
21 SaatJenkins, Java ile yazılmış açık kaynaklı sürekli entegrasyon (CI) aracıdır. Maven, Java projeleri için bir derleme otomasyon aracıdır. Birlikte kullanıldıklarında, örneğin yeni bir kod gönderildiğinde JUnit testlerinin yürütülmesi, bu derlemelerin üretime dağıtılması ve bu görevlerin günün stratejik saatlerinde, örneğin gece yarısı planlanması gibi sürekli derlemeleri tetikleyebilirler. Bu araçlar ve süreçler, yazılımın geliştirilmesi ve dağıtılmasına yönelik bir DevOps yaklaşımını oluşturur ve Agile geliştirmede popülerdir.
Bu eğitmen liderliğindeki canlı eğitimde, katılımcılar DevOps, sürüm kontrolü ve otomasyon betiği ile bir giriş yaparak başlayacak ve ardından canlı bir laboratuvar ortamında Jenkins ve Maven'nin nasıl kurulacağını, yapılandırılacağını ve dağıtılacağını öğrenerek uygulamalı çalışmalara geçeceklerdir.
Hedef Kitle
- Geliştiriciler
- Sistem Yöneticileri
- DevOps mühendisleri
Kurs Formatı
- Kısmen ders anlatımı, kısmen tartışma, egzersizler ve yoğun uygulamalı çalışma
Building CI/CD Pipelines with Jenkins X
21 SaatBu eğitmen liderliğindeki, canlı eğitim (Türkiye çevrimiçi veya yerinde), Jenkins X kullanarak otomatik, buluta hazır CI/CD işlem hatları oluşturmak isteyen mühendislere yöneliktir Kubernetes.
Bu eğitimin sonunda katılımcılar şunları yapabilecektir:
- Jenkins X'i kurmak ve yapılandırmak.
- Çok yönlü bir DSL (Alan Özel Dili) kullanarak dayanıklı CI/CD işlem hatları kodlamak.
- GitHub, Kubernetes ve Docker konteynerleri gibi popüler teknolojilerden yararlanan CI/CD işlem hatları oluşturmak.
- Jenkins X'i Helm, Prow ve Skaffold gibi diğer popüler araçlarla birleştirmek.
- Uygulamaları ister bulutta ister şirket içinde herhangi bir ortama dağıtmak.
Test Automation with Selenium and Jenkins
21 SaatThis course provides training for handling testing projects using Selenium test suite and continuous testing with Jenkins.
Intended Audience:
- Software test engineers
- Software developers involved in agile development
- Release managers
- QA engineers
At the end of Selenium training the delegates will be able to:
- Use Selenium test suite effectively in real projects
- Use Selenium for cross browser testing
- Distribute the tests using Selenium Grid
- Run regression Selenium tests in Jenkins
- Prepare test reports and periodict reports using Jenkins
SonarQube for DevOps
14 SaatBu eğitmen liderliğindeki, canlı eğitim (Türkiye çevrimiçi veya yerinde), DevOps mühendis ve geliştiricilerin, SonarQube kullanarak, Jenkins, GitHub, Azure DevOps vb. gibi geliştirme araç zincirlerine tam olarak entegre edilmiş kod incelemeleri gerçekleştirmesini amaçlamaktadır.
Bu eğitimin sonunda katılımcılar şunları yapabilecektir:
- Otomatik kod incelemelerini başlatmak için gerekli geliştirme ortamını kurmak.
- SonarQube'i Jenkins, Azure DevOps vb. gibi sürekli entegrasyon araçlarıyla entegre etmek.
- Hataları ve güvenlik açıklarını ortadan kaldırmak için sürekli kod denetimleri gerçekleştirmek.
- Kod temizleme, bakım ve güvenlik için iyileştirmeler sağlamak amacıyla veri toplamak ve analiz etmek.