Yazar adı: Göknur Batı

Ben Göknur BATI. Farklı projelerde test uzmanı, test analist ve test otomasyon uzmanı pozisyonlarında çalışıyorum. Şu anda bir finans projesinde test otomasyon uzmanı olarak çalışmaya devam ediyorum. Teste aşkla bağlı olduğumdan her konuyu testle birleştirip, harmanlayıp, araştırmak incelemek en büyük zevkim. Psikolojiye karşı özel bir ilgim var. Fırsat buldukça tiyatro ve müzik yapmayı çok seviyorum.

STEM

Mini Important Person: Cookies

Çerezler önemli bir tarayıcı özelliğidir – çerezleri devre dışı bırakırsanız, web sitelerine giriş yapamazsınız. Çerezlerin önemli, iyi kullanımları olsa da, daha şüpheli kullanımları da vardır. Cookie’ler herhangi bir internet deneyiminin önemli bir parçasıdır. Cookie’ler aynı zamanda HTTP Cookie, Web Cookie, Internet Cookie ya da Browser Cookie olarak farklı isimlerle adlandırılabilirler. Fakat hepsinin çıktığı tek bir nokta vardır o da website etkinliğinin izlemenin bir yolu olduğudur. Cookie’ler çok yaygın bir kullanıma sahiptir, muhtemelen şu an da bilgisayarınızda yüzlerce hatta binlerce depolanmış cookie bulunmaktadır. Peki nedir bu Cookie’ler gerçekten bir kurabiye kadar tatlı ve keyif verir mi bizlere? Cookie’ler, genellikle sabit sürücüde bulunan ve tarayıcıdaki oturumlarla ilgili bilgileri depolayan bir dosyadır. Çerezler yani Cookie’ler yalnızca metin parçaları içerirler. Bu metin parçaları bir kullanıcı kimliği, oturum kimliği veya başka kişisel bir metin olabilir. Cookie’ler web sitesine yapılan ziyaretlerin ve websitesinde yapılan etkinliklerin kaydını tutmak ve tekrar ihtiyacımız olduğunda bizelere hatırlatmak için tasarlanmıştır. Bu işlem şu şekilde gerçekleşir: Kullanıcı herhangi bir web sitesini ziyaret ettiğinde, kullanıcı web sunucusu küçük bir veri paketini cihazınızın browser’ına aktarır ve böylelikle bilgisayar tanımlama verisi oluşmuş olur. Cookie’ler, tarayıcıda tutulan metin dosyalarını web sitesinin kendisinin veya web sitesinin tarayıcısının kullanıcı verilerini toplamasına ve kişiselleştirme ve izleme gibi kullanıcıya özel özellikleri etkinleştirmesine olanak tanır. Web siteleri genellikle bir kullanıcının yeni mi yoksa sık ziyaret eden biri mi olduğunu öğrenmek için Cookie’leri kullanır. Cookie’ler web sitelerine yardımcı olurken, kullanıcı deneyimini de geliştirirler. Örneğin, bir web sitesinde bazı tercihler kaydederseniz bunlar cihazınızda saklanan çerezlere kaydedilir. Cookie’ler sayesinde herhangi bir web sitesini ziyaret ettiğinizde bilgisayarınızda sakladığınız küçük bilgi paketleri aynı websitesini tekrar ziyaret ettiğinizde kullanmış olduğunuz tarayıcı bu küçük bilgileri o web sitesine göndererek, sitenin sizi tanımasını sağlar. Sizinle ilgili bazı faydalı bilgilerin tutulduğu bu küçük bilgi paketleri sitenin sizi tanıması, daha kolay ve hızlı işlem yapmanız için tasarlanmıştır. Örneğin; online bir kitapçıdan sipariş etmiş olduğunuz kitapları, yazarları search ettiğiniz konu başlıklarını kaydederek aynı online kitapçıda tekrar işlem yapmak istediğinizde tarayıcınız kitapçının sitesinin tanımlama bilgisini okumasına izin verir ve site daha sonra aynı yazarları, kitapları ya da ilgili konuları, kitap listelerini derleyerek size gösterir. Bu aktiviteler arka planda kullanıcıya görünmeden gerçekleşen eylemlerdir. Eğer kullanıcı tercihleri, bilgisayarda bir cookie depolandığında herhangi bir notification gönderecek şekilde ayarlanmadıysa, kullanıcının Cookie’lerin çalışmasından herhangi bir haberi olmaz, yani önceden kullandığınız bir web sitesine tekrar döndüğünüzde Cookie’lerin kullanıldığından haberiniz olmaz. Tanımlama bilgileri, web sitelerinin web sitenizin etkinliğiyle ilgili bilgileri hatırlaması için tasarlanmış küçük kod parçalarıdır.Bilgisayar tanımlama bilgileri, web veya web sitesi tanımlama bilgileri, İnternet tanımlama bilgileri, tarayıcı tanımlama bilgileri veya daha resmi olarak HTTP tanımlama bilgileri olarak da adlandırılır. Cookie’lerdeki tanımlama bilgisinin asıl amacı kullanıcıları tanımlayarak özelleştirilmiş web sayfalarını kullanıcı özelinde hazırlamak ve bilgilerini kaydetmektir. Burada tanımlama bilgisi olarak ifade ettiğimiz kavram, bir web sunucusu tarafından bir web tarayıcısına verilen bir mesaj türünü tanımlamak için kullanılan terimdir. Web sayfalarını hazırlamak ve site oturum bilgilerini (kullanıcı bilgilerini, kullanıcı tercihlerini, şifre hatırlama seçeneklerini vb. saklamaktır.) kaydetmek için kullanılır. Çerezler hakkında bilmeniz gereken birkaç gerçek: Çerezler alana özgüdür. Yani bir alan, başka bir alan tarafından oluşturulan bir çerezi okuyamaz veya bu çereze yazamaz. Bu, güvenlik amacıyla tarayıcı tarafından yapılır. Çerezler tarayıcıya özeldir. Her tarayıcı, çerezleri farklı bir konumda saklar. Çerezler tarayıcıya özeldir ve bu nedenle bir tarayıcıda (ör. Google Chrome’da) oluşturulan bir çereze başka bir tarayıcı (Internet Explorer/Firefox) tarafından erişilemez. Tarayıcıların çoğu, tanımlama bilgilerini metin dosyalarında açık metin olarak saklar. Bu nedenle, hiç güvenli değildir ve çerezlerde hiçbir hassas bilgi saklanmamalıdır. Tarayıcıların çoğu, çerezlerde saklanan metnin uzunluğuyla ilgili kısıtlamalara sahiptir. Genel olarak 4096(4kb)’dir ancak tarayıcıdan tarayıcıya değişebilir. Bazı tarayıcılar, her etki alanı tarafından saklanan çerez sayısını (20 çerez) sınırlar. Sınır aşılırsa yeni çerezler eski çerezlerin yerini alacaktır. Çerezler, kullanıcı tarafından tarayıcı özellikleri kullanılarak devre dışı bırakılabilir. Bu nedenle, kullanıcıların çerez ayarları üzerinde kontrolünüz yoksa (örneğin intranet uygulaması için) çerez kullanılmamalıdır. Çerez adları büyük/küçük harfe duyarlıdır. Örneğin; KullanıcıAdı, kullanıcı adından farklı. Çerezlerin kendilerine iletilebilecek altı parametresi vardır: Çerezin adı. Çerezin değeri. Çerezin sona erme tarihi – Çerezin tarayıcınızda ne kadar süre aktif kalacağını belirler. Tanımlama bilgisinin geçerli olduğu yol – Tanımlama bilgisinin geçerli olduğu URL yolunu belirler. Bu yolun dışındaki web sayfaları tanımlama bilgisini kullanamaz. Çerezin geçerli olduğu alan adı – Bir site bir etki alanında birden çok sunucu kullandığında, çerezin herhangi bir sunucudaki sayfalar tarafından erişilebilir olmasını sağlar. Güvenli bağlantı ihtiyacı – Tanımlama bilgisinin yalnızca SSL kullanan bir site gibi güvenli bir sunucu koşulu altında kullanılabileceğini gösterir. Cookie’lerin tarihçesini ise şu şekilde özetleyebiliriz; 1994: Daha sonra Netscape Communications olacak olan şirketin çalışanı Lou Montulli, “sihirli çerezler”den sonra çerez takma adını verdiği “kalıcı istemci durumu nesnesini” icat etti. 1996: The Financial Times’daki “Bilgisayarınızdaki Bu Hata Akıllı Bir Tanımlama Bilgisidir” başlıklı bir makale, kamuoyunu tanımlama bilgilerinin varlığı konusunda uyardı. 1997: İki yıllık bir çalışmanın ardından, İnternet Mühendisliği Görev Gücü (IETF), üçüncü taraf tanımlama bilgilerinin kullanımını desteklemeyen tanımlama bilgisi kullanımı için ilk standardı belirledi. 2002: Avrupa Birliği e-Gizlilik Yönergesi, kullanıcıların çerezleri reddetmesini gerektiren ilk büyük gizlilik yasasıydı. 2017: Apple, tarayıcısı Safari’de izleme amacıyla üçüncü taraf tanımlama bilgilerinin kullanımını engellemeye başladı. 2018: Avrupa Birliği, reklamcıların üçüncü taraf çerezleri yerleştirmek için kullanıcıların onayını almasını gerektiren Genel Veri Koruma Yönetmeliğini (GDPR) uygulamaya koydu. 2019: Mozilla, tarayıcısı Mozilla Firefox’ta üçüncü taraf izleyicilerden gelen çerezleri engelleyeceğini duyurdu. 2019: Google, 2023 yılına kadar Chrome tarayıcısında üçüncü taraf çerez desteğinin aşamalı olarak kaldırılmasını içeren Privacy Sandbox girişimini başlattı. Cookie’ler web sitelerinin bizlere ait bir çok özel bilgiyi, web sitenizin oturum açma bilgilerini, alışveriş sepetlerini ve daha fazlasını hatırlamasını sağlar. Cookie’lerin çoğu tamamen güvenli olsa da bazıları sizin izniniz olmadan sizi izlemek için kullanılabilir. Bu nedenle Cookie’ler suçluların tüm özel bilgilerinizi gözetlediği özel bilgi hazine haline dönüşebilir. Çevrimiçi gizliliğinizi korumak çok zor olabilir. Neyse ki, temel bir tanımlama bilgisi bile istenmeyen gözleri Cookie’ler sayesinde internet etkinliğinizden uzak tutmanıza yardımcı olabilir. Cookie’lerin çalışma prensiplerini ise şu şekilde özetleyebiliriz; Bir çerezde saklanan veriler bağlantınız üzerine sunucu tarafından oluşturulur. Bu veriler size ve bilgisayarınıza özel bir kimlikle etiketlenir. Çerez, bilgisayarınız ve ağ sunucusu arasında değiş tokuş edildiğinde sunucu kimliği okur ve size özel olarak hangi bilgileri sunacağını bilir. Yeni bir web sitesini her ziyaret ettiğinizde web sitesi tarayıcınıza unique tanımlayıcılara sahip bilgisayar tanımlama bilgileri gönderir.

STEM

Test Süreçlerinde Operasyonel Yönetim Disiplini: TestOps

Ops ops ops … TestOps, DevOps, DevSecOps… Nedir bu Ops, nereden çıktı, nasıl oldu da iş süreçlerimizin, iş akışlarımızın vazgeçilmez bir parçası oldu. Operasyonel süreçler neden bu kadar önem kazandı ve yazılım süreçlerine büyük fayda getirdi. Bu yazımda sizlere yazılımda hemen hemen her alanda olan operasyonel süreçlerin, test dünyasında nasıl şekillendiği, test dünyasına getirdiği artılar ve test dünyasında nasıl yer aldığından bahsedeceğim. Test süreçlerinde uçtan uca test ihtiyaçları her geçen gün uygulamaların gelişmesiyle ve yeni trend teknolojilerin kullanılmasıyla artarken, test operasyonel süreçlerinde de iki ana trend karşımıza çıkmaktadır. Test operasyonel süreçleri web uygulama testlerinde B2B ve B2C amaçları için önemini artırırken, browser’ların her geçen gün gelişmesi ve değişmesiyle, asıl olan uygulama kodu, browser üzerindeki uygulamaların front-end tarafına kaymıştır. Test operasyonel süreçlerindeki ikinci trend ise, birçok development metodolojileri daha hızlı tekrar ve versiyonlama sağlıyor. Development ekibi teslimatı ve development sürecini yavaşlatmadan, test ekibine kodu teslim etmek zorundadır. Daha kısa ve daha sık aralıklarla development ve test ekibi arasında kod aktarımı yapılması gerekmektedir. Sonuç olarak, fonksiyonel UI ve E2E otomasyon testlerine operasyonel bakış açısı çeviklik getirecektir. Aynı zamanda, shift-left testing, continuous testing ve agile testing yaklaşımları, test süreçlerinde daha fazla yetkin insan gücüne ihtiyaç olduğunu gösteriyor. Ayrıca developer ve product owner’ların test otomasyon süreçlerine ve test analist süreçlerine dahil olması gerektiğini ve olduğunun da bir göstergesidir operasyonel süreçler. TestOps, genellikle agile metodolojileri içerisinde yazılım test süreçlerini hızlandırmayı amaçlayan bir DevOps alt kümesi olarak tanımlayabiliriz. Test planı, test data management, test process organization, test management süreçlerini yönetebilmek ve bu süreçler hakkında bilgi alabilme süreçlerini içerir. TestOps konusunda farklı anlayışlar söz konusudur. Bu tanımlar test uzmanları ve iş birimi arasında omuz omuza bir çalışma ve yakın etkileşimi destekleyen tanımları işaret eder. TestOps kavramı ile, Test Otomasyon uzmanlarının görev tanımına yeni sorumluluklar eklenmiş, test ortamının kurulumu ve sürdürülebilirliği konusunda ciddi görevler verilmiştir. Otomatize edilen testleri koşmak için testlerin Docker gibi sistemlerde paketlenmesi, test edilecek yazılımın bu sistemlerde koşumunun başlatılması, koşumların tamamlanması ve koşum sonuçlarının istenilen şekilde raporlanması TestOps sürecinin bize sağladıkları arasındadır. TestOps ile birlikte, yazılım test türlerinin zorunlu yük ve güvenlik testleri ile genişletilmesi, test uzmanı için hem test ortamlarında hem de production ortamında tüm sistemleri izlenme sorumluluğunu da test uzmanına vererek, test uzmanının görev tanımını ve yetkinliklerini artırmıştır. Ayrıca TestOps özellikle test verilerinin oluşturulması için harcanan zamandan tasarruf etmek için kullanılan bir metodoloji. TestOps sayesinde izleme metriklerini analiz etmek için daha fazla zaman harcanmasına ve aynı anda tüm kullanıcılar yerine küçük test gruplarını etkileyen değişiklikler yapılmasına olanak sağlar. Bu da daha kaliteli test anlamına gelmektedir. Test süreçlerini olabildiğince hızlı hale getirebilmek için farklı araçlar yardımıyla manuel ve otomasyon testlerini gerçekleştiriyoruz, aynı şekide production ortamında yine aynı hızı elde etmek için tüm süreçleri TestOps yardımı ile bir adım öteye taşımız oluyoruz. DevOps ekibi süreçlerin hızlandırılmasına yardımcı olur, Genellikle belirli bir şeyi test etme zamanının yüksek olduğu ve ürünün hızlı bir şekilde, zamanında teslim edilmesinde büyük bir sorun olduğu düşünülür ve TestOps yaklaşımı ekibe, özellikle DevOps ekibine bu konuda fazlasıyla yardımcı olur. TestOps işlevinin iyi çalışıp çalışmadığını doğrulamak için, yüksek unit test kapsamı ve sıfır bug politikası ile yaklaşım izlenebilir. TestOps disiplinini daha etkili kullanmak ve daha çok fayda sağlamak için, use-case’ler, tool’lar ve test teknikleri geliştirilirken aynı zamanda ekipler arası iletişim ve çalışma modellerine de farklı bir bakış açısı getirilmelidir. Ayrıca yazılım/uygulama yaşam döngüsüyle ilişkili disiplinlerinde gelişmeye ihtiyacı vardır. TestOps disipliniyle ilgili birçok kuruluşun shift-left yaklaşımı olarak kullandığı yeni bir trend de mevcuttur. TestOps yazılım yaşam döngüsü ve test süreçleri boyunca aşağıdaki noktalara odaklanır. Test edilen sistemde kullanılacak test verilerinin hazırlanmasına. Manuel ve otomasyon test süreçlerinde, test tiplerinde TestOps trendlerinin kullanılmasına. Building development esnasında sorunu kontrol etmek ve çözmek için CI/CD kurulum bilgisine. TestOps, ekiplerin büyük otomasyon test suite’lerinin ölçeklendirilmesini sağlayan ve dört temel prensipten yararlanan bir süreçtir: Planning Control Management Insights TestOps, farklı test türlerini (birim, entegrasyon, uçtan uca) kapsar ve birden fazla test tool içerebilir. TestOps’un verimliliği artırabileceği bu alanlarda bu dört temel prensibe dayanır. Şimdi sırayla TestOps’un bu dört ana prensibini açıklayalım. Planning: Planlama, software development life cycle’ın başlarında yapılmalı ve hızlı yineleme için devam eden bir süreç olmalıdır. Planlama, ekibin genellikle algılanan risk, kod karmaşıklığı, mevcut kapsam veya diğer değişkenlere göre testleri önceliklendirmesine yardımcı olur. Neyi test edeceklerini, testin hedeflerini ve testi kimin yapacağını belirlemelerine yardımcı olur. Ürün ve işletme sahipleri, geliştiriciler ve kalite ekibi üyeleri, ekip uyumunu sağlamaya yardımcı olmak için kararlarını ortaklaşa planlamalı ve dokümante etmelidirler. Control: Kontrol, sürekli olarak yüksek standartlarda testleri nasıl oluşturduğunuzla ilgilidir. Daha önce belirtildiği gibi, küçük ekiplerle kişi hafızasına ve sözlü anlaşmalara güvenilirken, daha büyük ekiplerde süreçlere ihtiyaç duyulmaktadır. Test uzmanları, ekip üyelerine mevcut test bileşenlerini yeniden kullanma konusunda rehberlik edebilir. Gerekli incelemeler de dahil olmak üzere değişiklik kontrol süreçleri, en iyi uygulamaları standartlaştırmaya yardımcı olabilir. Management: Yönetim, testlerin, ekiplerin ve araçların organizasyonunu ve yönetimini temsil eder. Testler üzerinde kimin çalıştığını veya hangi testlere öncelik verileceğini koordine etmeyi içerebilir. Naming kuralları, labeling ve paketleri, klasörlerde testleri nasıl düzenlediğimize yardımcı olur. Flaky testler bizi yavaşlatmakla kalmaz, aynı zamanda takımın kendisine olan güvenini de zedeler. Insights: Insights, sürüme hazır olma durumu, proje kalitesini ve ekibin etkinliğini daha iyi anlamamıza yardımcı olmak için testlerimizde ve ekiplerimizden elde ettiğimiz bilgilere atıfta bulunur. Operasyonel yöne ek olarak, kalite sürecinin liderlerinin potansiyel süreç iyileştirmelerine de dikkat etmesi gerekir. Sonuçta öğrenme ve sürekli iyileştirme süreçleri kolaylaştırmaya, tekrarlayan sorunları ortadan kaldırmaya ve zamandan tasarruf etmeye yardımcı olabilir. Özetleyecek olursak, TestOps test süreçlerini operasyonel anlamda daha verimli daha proaktif gerçekleştirmemizi sağlayan bununla birlikte test uzmanı görev tanımını genişletirken kendisinden farklı yetkinlikler isteyen operasyonel bir yaklaşımdır. Bu trendin agile metodoloji gibi süreçlerle harmanlanarak kullanılmasının verimliliği daha çok artıracağı düşüncesindeyim.

STEM

Test Dünyasında Büyülü Bir Pencere : “AI TESTING”

Yazılım test dünyasında bizleri kendine çeken, adeta büyüleyen, test otomasyondan performans testlerine, güvenlik testlerinden sanallaştırmaya kadar birbirinden farklı, kendimizi geliştireceğimiz, çalışacağımız, kariyerimize şekil vereceğimiz test alanlarına son zamanlarda bir yenisi daha eklendi. Endüstri sektöründen gıda sektörüne, metalürji sektöründen otomotiv sektörüne kadar birçok sektörde kendini iyiden iyiye gösteren yapay zeka kavramı IT sektöründe de karşımıza sıkça çıkmaya başlamış ve hatta şirketlerimizin yıllık ya da 5-10 yıllık hedefleri arasına girmiştir.

STEM

Türkiye’de Yazılım Test Dünyasında İlham Veren Kadınlar

Geçmişten günümüze her sektörde olduğu gibi IT sektöründe ve yazılım test alanında kadının varlığı, var olabilme çabası ve varlığını sürdürme mücadelesi hep olmuştur. Doğasında var olan mücadeleci ruhla birçok zorluğun üstesinden gelen kadın, kariyer basamaklarını da aynı özgüven, cesaret ve sabırla tırmanmış, elini attığı her işin altına o görünmez imzayı atmayı başarmıştır. Bu cesur kadınlarla tanışmak, hele birlikte çalışma fırsatı yakalamak büyük bir şanstır. Ve şükürler olsun ki bu harika kadınlarla tanışma fırsatını ben de yakaladım. Bu yazımda sizlere bu muhteşem kadınların başarı hikayelerinden ve bir kadın olarak test dünyasında yaşadıkları zorluklardan bahsetmek istedim.

STEM

EĞLENCELİ BİR DÜNYA: GAME TESTING

Game testing uzun zamandır ilgilendiğim, araştırdığım ve üzerinde çalıştığım bir test alanı. Gerek test süreçleri gerekse test teknikleriyle farklılıklar gösterdiği gibi, bu alanda çalışan ya da çalışmayı arzulayan test uzmanlarından da farklı yetkinlikler beklemektedir.

STEM

Ne Kadar Agile Tester’iz ?

Bu yazımda sizlere her sabah kimi zaman soluk soluğa yetiştiğimiz, vazgeçilmez daily stand-upları olan, kimi zaman hararetli tartışmalara sahne olan grommingleri, reviewleri ile bizleri kendimize getiren, bazen de 3 günlük efor az mı, 5 günlük efor fazla mı acaba diye kafa patlattığımız story pointleri ile günümüzü neşelendiren Agile-Scrum dünyasına bir test uzmanı gözüyle bakacağız.

Scroll to Top