Skip to content

Bilgiden para kazanmak: Bir Borland Deneyimi

Bir süre önce, projelerimizden birinde kullandığımız Silk Cenral Test Manager uygulaması ile ilgili garip davranışlar görmeye başladık. Örneğin olur olmadık zamanlarda uygulama sunucusu yazılımı (AppServ) donup kalıyor ve gerek web kullanıcılarına, gerekse de takvimlenmiş otomatik testlere sistem yanıt veremiyordu.422064493_3b1579a512

Malımızı bilsek de disiplini elden bırakmayarak sırasıyla uygulama sunucusu, veri tabanı katmanı, test çiftliği iletişimi (ExecServ yada Silk Central SilkTest entegrasyon noktaları) ile ilgili profil çıkardık. Sonunda farkettik ki SilkTest yüklü istemci sunucu ile bağlantısı kopup yeniden bağlanmaya kalkığında sunucu 100MB’a yakın ek bir hafızaya ihtiyaç duyuyordu.

Anlaşılan münferit kopmalar sorun yaratmıyordu lakin bir şekilde bizim sahip olduğumuz 35 SilkTest yüklü cihaz bir şekilde toptan gidip geldiğinde sunucumuz buna dayanamıyordu.

Yapılacak basitti, JVM Heap Size’ı yükseltmek. Windows Registry’de Silk Central’in alışık olduğumuz kayıtlarında -Xms değerini 512′den 1024′e çıkardık ve artık kısa vadeli bir çözümümüz vardı.

Daha sonra bu sıkıntının sebebini araştırdığımızda sunucumuzun önündeki ağ aygıtlarından birinde bir düzensizlik farkettik. Görünen oydu ki cihazdaki düzensizlik, bağlantının ender de olsa kopmasına sebep oluyordu.

(DEVAM EDIYOR)

Test Mühendisliği Müthiştir!

Yakın tanıdıklarım bilir, aslında yazılım testi benim çalışma hayatımdaki ilk uğraşım değil. Hayatımı daha önce, yine yazılım sektöründe ama geliştirici ekiplerde farklı görevlerde çalışarak idame ettirmekteydim. Her ne kadar sektörümüzde daha çok aksini görsek de, ilerleyen zamanlarda biraz şansımın yardımı, biraz da yazılıma bakış açımın değişmesi neticesinde, yazılım üretiminin kalite güvencesi ve test alanına odaklandım.

Yazılım kalitesi ile ilgili çalışmaya başladıktan sonra ilgi alanlarım ile ilgili aniden birçok değişiklik olmaya başladı. Öncelikle sosyal bilimler ile ilgili karşı konulmaz bir merak ile başlayan bu değişim beni felsefe, psikoloji, sosyoloji gibi daha önce hiç ilgilenmediğim disiplinlerle haşır neşir olmaya, etrafımda olup bitenlere bilimsel bir kuşkuculuk ile yaklaştırmaya başladı.

Bir süre sonra artık nüfus cüzdanımı yeniletmeye gittiğim nüfus idaresinin nasıl daha verimli olabileceği yada basit geometrik şekillere sahip GUI nesnelerinin neden daha kolay algılanabildiği üzerine düşünür buldum kendimi. Yazılım geliştirirken böylesine konular gündemimde nedense hiç olmazdı.dead end

Monitör başında sabahladığımız geceler geldi aklıma. Hafta başına yetişmesi gereken onlarca yeni fonksiyonun adım adım, sabırları zorlayan bir tekrarlılıkta karşımıza çıkan paternlerini algılayıp refleks ile kodlamaya başladığımız ekranlar, sorgular yada o anlamsız CSS düzenleme rutinleri… Bitmeyen ve kendini tekrarlayan bir klavye emekçiliği ile geçen günler ve geceler. Sonuçta kimsenin aslında memnun olmadığı, ama iş ve teknik gereksinimleri karşılayan birçok ürün gelip geçti ellerimizden.

Şimdi ise proje ekiplerinde test mühendisi olarak çalışıyorum ve çok daha mutluyum. Mutluyum, çünkü değişimin bir parçası olma şansım var artık. Öncelikle geliştirici olarak "teknik problemler kümesi" olarak gördüğüm yazılım geliştirme işinin aslında teknik değil, iş ve insan odaklı olduğunu görebildim örneğin.

Yazılımları test etmek, kod yazmaktan daha güzeldir. Daha sosyalsinizdir herşeyden önce. Teknik insanlarla konuşursunuz, son kullanıcılarla da.. Sistemi eş zamanlı olarak gereksinim-mimari-kaynak kod olarak görüp bu yapının her noktasında da görev alırsınız. Gerektiğinde öylesine teknik bir iştir ki elinizde RFC’ler bir parça Ada95 kodunu devşirmeye çalışırsınız, yeri gelir pazarlama ekibi ile ürünün gelecek dönemde öne çıkarılacak fonksiyonlarını tartışırsınız.

Programcılık eğer sabah 8 akşam 5 saatleri arasında gittiğiniz ve görevinizin VB6 ile geliştirilmiş bir sigortacılık yazılımını sürdürmek ise, Test Mühendisliği evde oturup Lisp derleyicisi yazmak gibidir. Merakınız ve öğrenme güdünüz tarafından beslenen yazılım testi, geliştirdiğiniz disiplin ve sistematik yaklaşım teknikleri ile bilenir, yeşerir.

Her ne kadar Hollanda gibi iş dünyasının sınırları kalın çizilmiş bir yerde çalışıyor olsam da, böylesine durağan iş yapma biçimleri olan bir kültürde hala yaptığım işi bu kadar seviyorsam, test mühendisliğinin eğlenceli yanının ve çok yönlülüğünün yadsınamaz bir etkisi olmalı.

İyi Testler!

Vuslata beş kala

Uzun bir aradan sonra tekrar merhabalar. n609170895_1842749_5770 Geçen yaz, hukukçu bir dostum, iş kontratımdaki bir madde ile ilgili dikkatimi çekmişti. Beni uyardığı nokta, söz konusu maddenin esnetilerek, çalıştığım sürece ürettiğim ve blog yazıları da dahil her türlü ürün üzerinde, ileride iş verenimin hak iddia edebileceğiydi.  Uzun bir süre böylesine bir noktayı nasıl atlayabildiğimi düşünüp, sonunda durumun kesinleşmesi üzerine yazılarıma sessiz sedasız "ara" vermek durumda kalmıştım.

Sorun tam olarak çözülmüş olmasa da, aldığımız geçici önlemler ile yeterli "güveni" tekrar kazanabildim ve buradan sizlere ulaşmaya devam kararı aldım.

Yine burada yazılım kalitesi, yazılım testi, yazılım üretim süreçleri konularında yazılarımı sizlerle paylaşmaya devam edeceğim.

Sitede yeni yazı yayınlamama rağmen, e-postaları ile beni yalnız bırakmayan ve benimle iletişimini verdiğim geç yanıtlara rağmen koparmayan dostlara buradan herkesin önünde tekrar teşekkür etmek istiyorum.

İyi Testler!

Yazılım Test ve Kalite Derneği niye spam yapar?

644785_questionYazılım Test ve Kalite Derneği, 17-18-19 Temmuz tarihlerinde İstanbul Dedeman Otel’de ISTQB Foundation level eğitimi verecekmiş ve eğitim ücreti öğle yemekleri, eğitim materyalleri vs. de dahil olmak üzere 950 USD + KDV imiş.  Eğer eğitim sonunda ISTQB sertifikası istiyorsanız,  sınava girmek için 200 USD + KDV ödeyerek sorulan 40 sorudan 25′ine doğru yanıt vermeliymişsiniz.

Tüm bunları biraz önce gelen kutuma düşen bir e-postadan kısa kısa parçalar sizler için. Temennim bu e-postayı isteyerek almaktı, olmadı.

 

Bu arada, Yazılım Test ve Kalite Derneği neden SPAM e-posta gönderir? Sanırım bugün tüm gün bunu düşünüyor olacağım…

Herkese iyi testler!

"Şunu bir test et…"

Bu güne kadar kendimce benimsediğim düsturumu tek cümleyle sunayım sizlere:

 

İşimle ilgili tek kuralım, müşterime eldeki imkanların elverdiği en iyi test hizmetini sunmaktır.6a00d83451e55369e200e54fa9aefb8834-640wi[1]

Bu cümlede "müşteri" kelimesi yerine geliştirme ekibi, proje finansörü, son kullanıcılar… vb. rollerden istediğinizi koyabilirsiniz.

Hiçbir zaman test edilmesi gereken bir yazılımı, eksik dökümantasyon, net olmayan isterler yada test aktivitelerinin ekip içerisinde hor görülmesi gibi sebepler öne sürerek reddetmedim ve bu tavrımı da -ne yalan söyleyeyim- çok doğru buluyorum.

Tabii ki proje sonunda "eğer elimde şu kaynaklar olsaydı sizlere böyle daha iyi hizmet verebilirdim" diye bir sonuç raporunu da proje kapanışı dokümanlarına ekleyerek. Bu raporları hazırlarken de tüm ölçümlerimi evrensel iş metriği saydığım "PARA" birimine çevirmeyi de ihmal etmiyorum.

Kullanabildiğiniz heryerde metrik olarak PARA’yı kullanın! PARA bizim gibi teknik insanların ve ayrıca da teknik olmayan yöneticilerin bile aynı biçimde algıladıkları bir birimdir. Sizi temin ederim, genel müdürünüzle test mühendisliği üzerine bir konu tartışırken defects_per_KLOC yerine USD daha iyi bir metrik olacaktır!

Ama gün geliyor ki kodlama safhası uzuyor ve proje takvimi test süresi içerisinden kullanılan zaman ile bitiriliyor. Yazılım, 5 aylık geliştirmenin ardından ofisi terketmesi gereken günün öğleden sonrasında, işini bitirmenin keyfiyle kocaman gülümseyen bir geliştiricinin ellerinde masanıza geliyor ve size "Şunu bir test et…" deniyor. Ama bekleyin, daha da ilginçleşebilir bu durum.

Bu yazılımı ilk defa görüyor olabilirsiniz!!

Bugün başıma gelen işte tam buydu ve hayatımda ilk kez bir yazılımı test etmeyi reddettim. Bir tarafta yıllardır benimsediklerim ve doğru addettiklerim, diğer tarafta ise mesleğime ve yaptığım işe duyduğum saygım.

"Bişeyler yap da aktivite raporunu imzala, yazılımın bugün çıkması gerek."

İpleri koparan cümle bu oldu bugün.

"Bişeyler" ne demek? Yani ne yaptığımın önemi yok muydu?

İmza? Rapora attığım imzanın yazılımın test edilmesi ile doğrudan bir bağlantısı bile yoktu ki. O imzanın atılma amacı test aktivitelerini bitirdiğimi kayıt altına almaktı, ötesi değil…

Yaptığımız işin, test aktivite raporlarını imzalamaya indirgenmesi mi, yoksa test yapılmadığı için aslında anlamı da bulunmayan bir aktivite raporu yüzünden proje ekibine dahil edilmemiz mi daha fazla yaraladı bilemiyorum.

Bunu da buraya not almış olalım. Kim bilir belki ileride bir gün okur, okuduğumuzu anlar, anladığımızdan da dersler çıkarırız.

İyi Testler!

Test Mühendisleri için Altın Kaplama 101 / Gold Plating

Biraz önce sevgili Alemşah Öztürk’ün web günlüğü antifitte gördüğüm TonlaKazan isimli TurkCell servisinin web sitesini ziyaret ettim. Sitenin işlevi gayet açık ve net biçimde belirtilmişti; TurkCell’in ÇalarkenDinlet isimli hizmetinden faydalanıyorsanız, telefonunuz çalarken sizi arayanlara reklam dinletebiliyor ve her seferinde faturalı hatlarda 15 saniye, faturasız hatlarda ise 1 kontür kazanıyorsunuz.

51DJBXPNB4L__SL160_Bunu gördüğümde hemen TurkCell’in sitesine girip tarifelere göz atmaya başladım. Gördüğüm ilk ibare aslında aradığım temel bilgiydi. TurkCell görünene göre birçok tarifesinde konuşma sürelerini 6 saniyelik dilimlerle ücretlendirmekteymiş.

İnsanoğlu düşünmeye başlıyor, durmuyor ki. Türklüğün de vermiş olduğu cin fikirlilikle "Benim iki TurkCell hattım olsun" diyiverdim. İlk hattımı sadece ikinci hattımı arayıp, reklamı dinleyip (hatta kampanya şartlarında reklamın tümünün dinlenmesine gerek bile yok denmekte) diğer telefondan çağrıyı yanıtlayıp hemen kapar isem, her seferinde 6 saniye için faturalandırılır, ama 15 saniyelik TonlaKazan bonusu kazanmış olurum.

Böyle bir durumda her seferinde 9 saniye ücretsiz konuşma kazanmış olurum. Bu da demek oluyor ki her on tekrar, ortalama bir telefon görüşmemin bedelini karşılıyor. Yani ilk hattımda 1 dakikalık (6 saniye X 10 kez) görüşme bedeli ile aslında 1,5 dakikalık görüşebiliyorum.

Üstüne üstlük ilk hattımın numarasını tanıdıklarıma versem ve aramalarımı bu hattım üzerinden yanıtlasam, ilk hattım için ödeyeceğim fatura tutarı daha da düşük olmayacak mıdır?

Peki, böylesine bir "açığı" TurkCell gibi bir dev nasıl farketmedi? Ya tüm TurkCell aboneleri bu yöntemi kullanmaya başlarsa? Allah aşkına,TurkCell’in cirosunun gerçekten %33′den fazla düşeceğine inananınız var mı?

(DEVAM EDIYOR)

YKGS’2008 bildiri teslim tarihleri uzatıldı!

Uzunca bir aradan sonra tekrar selamlar, yaklaşık iki haftadır hayatımı düzene soktuğumu ve tekrar yazmaya başlamanın iyi bir fikir olduğunu düşünüyordum. Sevinçliyim ki bu aranın ardından sizlere güzel bir haber vermek için tekrar klavye başına oturdum.

Bugün aşağıdaki mesajı posta kutumda gördüm ve sizlerle de paylaşmak istedim.  Böyle etkinliklere aktif katılım konusunda geçen senelerde sektörümüzde belirgin bir isteksizlik mevcuttu. Bu isteksizliğimizi bir kenara atıp, özel sektörün deneyimlerini de böyle bir organizasyon içerisine taşımak herkes için büyük bir kazanım olacaktır. Bu konuda Havelsan ve MilSoft’u da kutlamak isterim.

Aldığım elektronik postanın içeriği aşağıdaki gibiydi;

Sayın Özay Civelek

Gelen talepler doğrultusunda Yazılım Kalitesi ve Yazılım Geliştirme Araçları Sempozyumu – YKGS’2008
bildiri teslim tarihi 20 Mayıs 2008 Salı gününe kadar uzatılmıştır.

Sempozyum ile ilgili detaylı bilgiler için http://www.cse.iku.edu.tr/ykgs2008/  web sayfasını,

Çevrimiçi bildiri gönderme için http://www.easychair.org/conferences/?conf=ykgs2008  web sayfasını kullanabilirsiniz.

Saygılarımla,

Yrd.Doç.Dr.Güray YILMAZ
Hava Mühendis Binbaşı
Hava Harp Okulu
Bilgisayar Mühendisliği Bölüm Başkanı

Umarım kalan 13 gün içerisinde birçok bildiri web tabanlı sistem aracılığıyla YKGS ilgililerine ulaştırılır ve umarım hayalini kurduğumuz ulusal çaptaki bu etkinlik tüm katılımcıların yüzünü güldürür.

İyi testler

Yazilim Kalitesi ve Yazilim Gelistirme Araçlari Sempozyumu – YKGS’2008

untitled Bugün bilgisayarımda gördüğüm bir e-posta, yüzüme kocaman bir tebessüm yerleştirdi. Hava Harp Okulu‘nun ve İstanbul Kültür Üniversitesi Bilgisayar Mühendisliği Bölümü‘nün, 9-10 Ekim 2008 tarihlerinde, beraberce "Ulusal Yazılım Kalitesi ve Yazılım Geliştirme Araçları Sempozyumu" isimli bir etkinlik gerçekleştirecekleri haberiydi aldığım.

Yazılım sektörümüz bu günkü ivmesini kazanmış ve yavaş yavaş yazılım ihraç etmeye başlamışken, bu etkinliğin doldurduğu boşluğu sizlere anlatamam.

Bu tip etkinliklerin daha sık tekrarlanması ve özel sektörün bu tip çalışmalara daha da fazla aktif destek vermesi dileğiyle, sayın Yrd.Doç.Dr. Güray Yılmaz’ın mesajını buradan herkesle paylaşmak isterim.

Ulusal Yazılım Kalitesi ve Yazılım Geliştirme Araçları Sempozyumu – YKGS’2008, Hava Harp Okulu ve İstanbul Kültür Üniversitesi Bilgisayar Mühendisliği Bölümlerince 9-10 Ekim 2008 tarihlerinde Hava Harp Okulu Yeşilyurt ve İstanbul Kültür Üniversitesi Ataköy Yerleşkeleri’nde yapılacaktır.

YKGS’2008 yazılım mühendisliği alanında; kalite deneyimlerini, çözümlerini, yazılım kalite ölçütlerini tartışmak ve paylaşmak için akademisyenleri, meslek kuruluşlarını, kamu kuruluşlarını ve özel sektör temsilcilerini bir araya getirmeyi amaçlamaktadır.

Ülkemizde ve dünyada yazılım mühendisliği alanında kalite ve yazılım geliştirme araçları konularında gelinen noktaların ve gelişmelerin tartışılacağı YKGS 2008’de, ülkemizin bu alanda ulusal bir hedef için planlama yapmasına katkı sağlanması hedeflenmektedir.

Hava Harp Okulu ve İstanbul Kültür Üniversitesi adına YKGS’2008 Ulusal Sempozyumuna katılımınızı ve bizi onurlandırmanızı bekliyoruz.

Sempozyum ilk bildiri çağrısını ekte bulabilirsiniz. Daha ayrıntılı bilgi için lütfen http://cse.iku.edu.tr/ykgs2008/ web sayfasını ziyaret ediniz. 

Bu duyurumuzu ilgileneceğini düşündüğünüz diğer akademisyenlere, meslek ve kamu kuruluşları ile özel sektör temsilcilerine iletebilirseniz memnun oluruz.

Saygılarımla,

Yrd.Doç.Dr.Güray YILMAZ
Hava Mühendis Binbaşı
Hava Harp Okulu
Bilgisayar Mühendisliği Bölüm Başkanı

Mantığın bittiği yer

Birkaç ay önce QualiTest bünyesindeki görevime Hollanda şubesinde devam etmem konusunda aldığımız kararı uygulamaya başladık ve 5 haftadır Türkiye’den uzak yaşamaktayım. Bu süre zarfında hayatımdaki değişikliklere adapte olmak tüm enerjimi tüketmekte ve yazacak entellektüel gücü kendimde bulmakta zorlanıyorum.

Lakin ne olursa olsun, Michael Bolton‘ın 13 Ocak tarihli blog yazısında anlattığı tartışmayı buraya taşımamak gerçekten ayıp olacaktı. Bu tartışma, yazılım hatalarının saptanması konusunda Epistemoloji’nin kullanımına mükemmel bir örnekti.

Tartışma şu şekilde; 11 Eylül olaylarında Dünya Ticaret Merkezi’nin iki kulesine, iki ayrı uçak çarptı(rıldı). Bu iki ayrı uçağın çarpması tek bir olay mıdır, yoksa iki ayrı olay mı? Kimileri bunu tek bir olay olarak görebilir, zira tüm eylem tek bir eylem planının eseriydi ve tek bir grup tarafından organize edildiler. Diğer taraftan, iki ayrı olay olarak kabul edenler de haklı olabilir çünkü iki farklı bina, iki farklı grup tarafından kaçırılan iki alakasız uçak söz konusu.

"Kimin umurunda?" diyebilirsiniz, "her koşulda binden fazla insan hayatını kaybetti, bunları düşünmek o insanları geri getirmez!" de denebilir. Böyle bir tartışmanın ne kadar değeri olabilir ki?

Sanırım yukarıdaki sorunun yanıtının değeri 3.5 milyar amerikan doları. WTC’yi kiralayan  Lerry Silverstein, her bir yıkıcı olay başına 3.5 milyar USD limitli bir sigorta poliçesine sahipmiş. Yukarıdaki soru ile ilgili çeşitli mahkemeler ve juriler farklı sonuçlara varmışlar. Yukarıdaki formüle göre de, Michael Bolton’ın da dediği gibi, "üç aşağı beş yukarı çarpan uçaklardan birinin yarısı(?) ayrı bir olay olarak değerlendirilmiş" ve 5 milyar dolar ödenmiş.

(DEVAM EDIYOR)

Flash, Java Applet ve ActiveX: Yük Testleri

Flash, Java Applet yada ActiveX gibi Web sayfalarına gömülen uygulamaların üzerinde yük testi senaryoları kaydı yapılırken yaşanan sorunlar ile ilgili iki e-posta aldım. Duyduğum cümleler çoğu zaman benzer;

“Aracı kurdum, başka uygulamalar için kayıt alabiliyorum ama bu uygulamada olmuyor”

Çok hoşuma giden bir söz vardır, “Alet çantanızda sadece çekiç varsa, tüm sorunlarınızı çivi gibi görürsünüz”. Eğer durup bir dakika temellere dönersek, yaşanan sorunun kaynağını şıp diye bulmamız işten bile değil. Sıkıntı ne test aracınızda nede diğer uygulamalar ile ilgili.

Normal ve sorunsuz bir kayıt anında her yük testi aracı için durum aşağıdaki gibidir.

Drawing3

Bu resimdeki proxy, yük testi aracının trafiği dinlemek için kullandığı yerel proxy’dir. Bu dinleme işlemi sonucunda analiz edilen trafik, yük testi betiklerine çevrilir. Temelde yük testi aracı uygulamayı betik ile taklit eder. Taklidi yapan betikten eş zamanlı birden fazla kopya çalıştırarak eş zamanlı çalışan kullanıcıları elde ederiz.

Eğer geliştirdiğiniz uygulama, sunucu bağlantısını proxy üzerinden geçirmiyor ise, trafik dinlenemez ve yük testi için kayıt yapamazsınız. Bu sebeple uygulamaların proxy üzerinden bağlantı kurabilmeleri, yük testi gerçekleştirilmesi için iyi bir test edilebilirlik özelliğidir.

(DEVAM EDIYOR)