Konuyu görüntüle
IUCODERS FORUM > Genel > İş/Güç > Mezundan bir öneri: Yazılım testi
Yazar
jaanjahn


avatar

Kayıt: 09.02.2008
13.04.2008-17:12 #42490
Herkese selamlar arkadaslar,

İÜ Bilg. Müh. 2005 mezunuyum. Şuanda yazılım testi ve iş teknolojileri geliştirme alanında faaliyet gösteren bir firmada çalışmaktayım.

Sizlere dünyada var olan ancak Türkiyede daha yeni yeni gelişmeye başlamış olan, okumakta olduğunuz bölümle tam yakından alakalı olan bir sektörden bahsetmeyi uygun gördüm: yazılım testi ve yazılım kalite yönetimi. Dünyada bu alanda çalışan birçok kişi olmasına rağmen Türkiyede çok az dile getirilmekte, birçok forumda bunun için bir başlık bile bulunmamaktadır. (Sizin forum da dahil)
Ara not olarak google’ a girerek “software development”, “software testing” ve “software quality assurance” anahtar sözcüklerini girerek yazılım geliştirme ve yazılım testi arasında çıkan sonuçların sayısı bakımından bir kıyaslama yapabilirsiniz. Yazılım geliştirmenin yanında çok da yabana atılmayacak derecede fazla.

Test sözcüğü size biraz basit gelebilir, “o kadar okudum başkalarının yazdığı yazılımı mı test edeceğim” diye aklınızdan geçiriyorsanız size tekrar düşünmenizi öneririm. Türkiyede henüz yeni geliştiğinden ve bunu pek kişi daha idrak edemediğinden bu alanda epeyce eleman sıkıntısı yaşanmaktadır. Test işiyle birkaç ay uğraşmış bir kişi, şirketlerde ayrı bir departman olarak yeni yeni kurulmaya başlanan test departmanlarına kolayca girebilmektedir.

Ancak burada bir ifadeden bahsetmek istiyorum. İki tane testçi tanımı bulunmaktadır. Birincisi; “tester”, “dummy tester”, “son kullanıcı” gibi ifadelerle anılan ve çok teknik bilgiye sahip olmayan kişilerin yaptığı test işi. Diğeri de “test engineer” ifadesiyle anılan teknik test uzmanının yaptığı test. Benim bahsettiğim ikinci ifadedir.

Peki test mühendisi ne yapar? Test mühendisi bir yazılım projesinin en başından itibaren (aslında dileğimiz bu, ama ne yazık ki ortalarda dahil olması daha sık yaşanıyor) bulunarak projenin iş gereksinimlerine (business requirements) uygun olarak yazılıp yazılmadığını test eder. Genel tanımı bu şekildedir. Akışa uygun olmayan hataları tespit ederek ilgili kişiye bildirir. Bu işlemleri de genelde bir tool yardımıyla yapmaktadır (HP quality center, bugzilla, IBM rational clearquest). Tabi çok değişik görevleri vardır. Bizzat kodun içerisine girerek (white box testing) test yapabileceği gibi, sadece sistemin neler döndüğünü görerek (black box testing) test de yapabilir. Bu sebeple gerektiği durumlarda yazılımcı kadar yazılım biliyor olacak, analizci kadar analiz konularına hakim olabilecek şekilde donanımlı olmalıdır. Bunlar temel işleri. Bunun yanında performans testi, uygunluk testi gibi birçok test şekli de mevcuttur.

Yani özet olarak demek istediğim; yukarıda pek ayrıntılarına girmeden anlattığım yazılım testi konusu ile daha fazla ilgilenin ve en azından böyle bir alanın da var olduğunu göz önünde bulundurun. Zaten yakın zamanda gireceğiniz iş yerlerinde bu ifadeleri daha da sık duyacağınızı söyleyebilirim.

Piyasadan bazı izlenimlerim:

* Türkiyenin büyük GSM operatörlerinden biri kendi test takımını yeni kurdu, artık ayrı bir departman olarak proje testleri yapacak.

* Bir diğer GSM operatörü test departmanı kurdu, elemanlarını da outsource olarak alıyor ve almaya devam edecek. Gelişmiş tool ve eğitimleri de kapsayan bir yatırım kararı aldı.

* 3. GSM operatörü ise bu alanda deneyimli bir kişinin liderliğindeki bir takım içerisinde işlerini yapmaktadır.

* Türkiyede proje yönetimi konusunda çalışan yabancı bir firma yine aynı şekilde test grubu kurdu, kendi projelerinde bu elemanlarını görevlendirmekte.

*Türkiyede sadece test işi yapan şirketler son birkaç yılda kurulmaya başladı.

Bu yazdıklarımı sadece öneri olarak kabul ederseniz sevinirim.





Yazar
nesibe


avatar

Kayıt: 10.02.2006
13.04.2008-17:21 #42492
Öncelikle teşekkürler


Yazılım süreçlerinden testing in proje aşamaları içerisinde belki de en fazla zaman ayrılabilecek kısım olduğunu geçen dönem software engineering dersinde öğrenmiştik.Tabi ders kapsamında verilen projeyi yaparken testing sürecine başlayamadan teslim tarihi gelmişti. Fakat bu konunun ne kadar kapsamlı olduğu ve üstünkörü geçilmemesi gerektiği konusu derste söylenmişti.Black box ve white box kavramlarını görmüştük.Güzel bir çalışma sahası olduğu kanaatindeyim.





kalpler bir, yetmez mi?

Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
13.04.2008-17:36 #42493
Bilgeadam gibi bir firmadan seminer vermeye gelen bir yazılım geliştiricinin, normal bir ticaret sitesinin .net teknolojisi kullanarak 15 günde müşteriye teslim edilebileceğini söylemesi belki de testing aşamasının ne kadar az umursandığına bir örnektir. Software engineering prosedürlerine uymayı zaman kaybı olarak görüyorlar demek ki. Bir sonraki projeye daha çabuk switch yapabilmek ve daha hızlı para kazanabilmek için.

İşin ilginç yanı, bir çok müşteri için önemli olan projenin sağlamlığından çok ne kadar kısa sürede biteceği. Çünkü gerçekte ne kadar sağlam olduğu anlaşılana kadar aradan epey zaman geçiyor. Kısa sürede biteceğinden dolayı da müşteri daha az para teklif edebiliyor. Bu tabii ki kısa vadede iki tarafın da işine geliyor. Normalde yeterince kaliteli olabilmesi için 6 ay sürebilecek bir projenin 1 ayda bitmesini istiyorlar. Bu sırada "sürükle bırak"çılar devreye giriyor ve işi alıyorlar.

Bu sebeple, müşteriler yeterince akıllanmadıkça bu konuda yeterince hızlı gelişebileceğimizi sanmıyorum.

Konu için teşekkürler.





Let`s make this world a better place to live !

Yazar
jaanjahn


avatar

Kayıt: 09.02.2008
13.04.2008-21:56 #42532
clairvoyant yazdi
 


İşin ilginç yanı, bir çok müşteri için önemli olan projenin sağlamlığından çok ne kadar kısa sürede biteceği. Çünkü gerçekte ne kadar sağlam olduğu anlaşılana kadar aradan epey zaman geçiyor. Kısa sürede biteceğinden dolayı da müşteri daha az para teklif edebiliyor. Bu tabii ki kısa vadede iki tarafın da işine geliyor. Normalde yeterince kaliteli olabilmesi için 6 ay sürebilecek bir projenin 1 ayda bitmesini istiyorlar. Bu sırada "sürükle bırak"çılar devreye giriyor ve işi alıyorlar.

Bu sebeple, müşteriler yeterince akıllanmadıkça bu konuda yeterince hızlı gelişebileceğimizi sanmıyorum.


bu bahsettiğin durum genelde belli bir amaç için yazılım evlerine sipariş edilen projelerde geçerlidir.
ancak büyük firmalarda bu öyle değil. milyonlarca dolarlık projede herşey hesaba katılır. Projenin sağlamlık, bakım, güvenilirlik gibi özellikleri karşılaması gerekmektedir. müşterinin olası hatalara karşı tahammülü yoktur.

testi ve gereksinimleri (requirements) yerine getirmeyen bütün projeler ya tam fonksiyonaliteyi tam olarak yerine getiremez ya da tamamlanmadan çöpe atılır.





Yazar
tarikkranda


avatar

Kayıt: 07.01.2006
14.04.2008-00:01 #42546
Selamlar Ozcan,
Uzun zamandir senle haberlesememistik, ama bu guzel yazin ile tekrar senden haber almis olduk:)
Ozcan'in dediklerine gercekten katiliyorum. Bahsettigi GSm poeratorlerinden ilkinde cok yakin bir arkadasim gorev almakta ve surekli testing konusunda egitimler almakta ve bu konu cok ciddiye alinmakta. Onun haricinde ben de ogrenciligim sirasinda Microsoft'a Software Design Engineer in Test olarak basvurmustum. Bircok elemeden gecmeme ragmen son elemede takilmistik:) Bu da demek oluyor ki, oyle elini kolunu sallayan testci olamiyor ve yurtdisinda bu konuda calisacak insanlar ozenle seciliyor, ayrica saglam da developer olmalari gerekmektedir. En azindan olaylara developer gozuyle de bakabilmeleri gerekiyor. Pre-Alpha versiyonunda whitebox testing, Alpha da graybox ve Beta'da blackBox testlerde surekli olarak aktif gorev alan ekipler giderek ulkemizde de yayginlasmakta. Bu konuda Ozcan'in bahsettigi konu giderek daha onemli bir hal almaktadir.

Ayrica Software Analist ve Gereksinim Muhendisligi gibi ek kollarda mevcuttur. Turkiye de kaliteli isler yeni yeni yapilmaya baslandigi icin bu konular CMMI cercevesinde avrupa ve Amerikada oldukca yaygin. Bizde de yayginlasacaktir.





Yazar
jaanjahn


avatar

Kayıt: 09.02.2008
14.04.2008-21:14 #42603
Selamlar,

Evet Tarık ya, geriye dönüp baktığımızda epey zaman geçmiş görüşmeyeli.

Mesaj atan arkadaşların desteği için teşekkürler ayrıca.

Test konusunda biraz ortamı gözlemleyince ve bu kadar iş varken bunu yapan az kişinin olduğunu görünce sizlerle bu fikrimi paylaşmak istedim. Türkiyede yazılımın kalitesi arttıkça devreye standartlar giriyor, bunun sonucunda da kalite yönetimi ve diğer konular gündeme geliyor. doğal olarak da bunları yapan birilerinin olması gerekiyor. hazır çok fazla deneyim aranmıyorken ve tabi bu iş ilginizi çekerse bu konuya daha fazla eğilin derim ben.






Yazar
omergok


avatar
kenderuntanbul
Kayıt: 21.02.2007
15.04.2008-14:22 #42650
jaanjahn yazdi
 
....


çok güzel demişsiniz iyi güzel ama bu bahsettiğiniz donanımlar nelerdir bilmemiz gereken? Ayrıca şuan aldığımız eğitimlerin içerikleri bizi test engineer seviyesine getirir mi hiç bir fikrim yok? Hepimizin bildiği gibi bölümümüzde branşlaşma mümkün olmadığı için bölümün çoğu aynı eğitimden çıkıyor ve ders olarak da bu tarz birşey söz konusu değil. (Software engineering'de sadece bir konu başlığıydı)

Sonuç olarak Tarık hocamızın da dediği gibi kimse elini kolunu sallaya sallaya gidip tester olamayacağına göre buradan mezun olurken benim ekstradan neler biliyor olmam gerekir ki bahsettiğiniz firmalarda direkt işe girebileyim? Sonuçta hepsi deneyim istiyor biliyorsunuz. Adamlar test ekibini bu sene kurar ekibe alacakları adam 5 yıl deneyimli olsun isterler (bkz: kariyer.net ilanları)
Böyle saçma bir işe alım sistemi olduğundan dolayı en azından yapmamız gerekenleri de bize biraz anlatsanız o 5 yılın bari 1.5-2sini bir şekilde kurtarmış oluruz, en olmadı tester olmak isteyip istemeyeceğimize de karar verebiliriz.







Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
15.04.2008-15:36 #42652
yukarıda arkadaşın bahsettiği işlerin yapılabilmesi için.
Projenin her aşamasının dökümante edilmesi gerekiyor. Buda projenin büyüklüğüne göre günler/haftalar/aylar alabilir. Bu işe son zamanlarda yatırımın artmasının sebebi piyasanın artık kaliteli ürün peşinde olmasıdır. Bunun dışında bazı şirketler merkezlerini Türkiye'ye kaydırıyorlar ve yurtdışındaki iş mantığıda oradan buraya geliyor.

Asıl amaç üründeki hataları en kısa sürede tespit edebilmek. Bunun için öğrenilmesi gereken şeyler. Software Engineering kitabında detaylı olarak yazılmış. Ayrıca yaptığınız işleri dokumante edebilmeniz ve uzun saatler dökümantasyon okuyabilmeniz gerekiyor.





N/A
Yazar
virgo


avatar
istanbul
Kayıt: 18.01.2006
15.04.2008-15:59 #42653
...ayrıca testerlar olaya objektif bakarlar.

örneğin kaydedilen videoları yada ses kayıtlarını incelerler (artık hangisi secilmişse)
müşteri ne istemiş, coder ne yapmıs?
dökümanlar kontrol edilir ve performans ölçülür.
(hatta bu iş için geliştirilmiş yazılımlar olduğunu duymuştum)

coderların prime time aralığı 20-30 yaş aralığındayken, diğer işleri yapanlarda bu durum söz konusu değil, bu yüzdendende insanlara her zaman cazip geliyor.

testerların daha az iş yaparak daha çok para aldıklarıda bir gerçek.. tıpkı proje yöneticileri gibi smile

ama şüpesiz hayatında proje geliştirmemiş yada projenin herhangi bir safhasında yer almamış bir insanın proje yöneticisi yada tester olma şansı yoktur bence shame on you






there is no place like 127.0.0.1










Yazar
jaanjahn


avatar

Kayıt: 09.02.2008
16.04.2008-17:53 #42749
omergok yazdi
 
jaanjahn yazdi
 
....


çok güzel demişsiniz iyi güzel ama bu bahsettiğiniz donanımlar nelerdir bilmemiz gereken? Ayrıca şuan aldığımız eğitimlerin içerikleri bizi test engineer seviyesine getirir mi hiç bir fikrim yok? Hepimizin bildiği gibi bölümümüzde branşlaşma mümkün olmadığı için bölümün çoğu aynı eğitimden çıkıyor ve ders olarak da bu tarz birşey söz konusu değil. (Software engineering'de sadece bir konu başlığıydı)



software engineering dersinde gorulen konular faydalı, ancak doğal olarak yeterli değil.
"software testing" ifadesi altında birçok konu var, hepsinin ogrenilmesi zor, ama en azından test nasıl yapılır, nelere dikkat edilmelidir gibi soruların cevaplarının öğrenilmesi gerekir.

yazılım olarak test konusunda piyasada birkaç tool var, şu anda pazar lideri HP.

HP nin Quality Center (test yönetimi), Quicktest professional (otomasyon testi), Performance Center (performans testi) gibi birçok tool u var. IBM in de Rational ailesi içinde tool ları var ama onları tam bilmiyorum.

bu tip tool ları indirip kurcalayabilirsiniz. yurtdisinda sadece Performance Center kullanmasını bilen adamlar var ve çok iyi iş yapabiliyorlar.

internetten "software testing" seklinde aratarak ogrenebilirsiniz.

ilk yazımda da bahsettiğim gibi Türkiye de 5 yıl deneyimli test muhendisi elemanı aranırsa kimse bulamaz. Türkiye için daha yeni yeni gelişmekte. dikkatini çekmek istediğim nokta da buydu. hazır yeniyken ve çok deneyimli kişi yokken bunu dikkate alın.






Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
16.04.2008-18:15 #42752
Mühendislik hayatımızda belki de hiç uğraşmayacağımız konular ile ilgili dersler kaldırılıp, yerine Software Engineering dersinin içeriği bölünerek 3-4 farklı ders haline getirilirse, belki vatana millete daha çok faydası dokunan mühendisleri yetiştirebilir üniversitemiz. Ülke şartlarına göre bence bölümümüzün en önemli dersi Software Enineering dersidir. Ama nedense kafamızı boş yere meşgul eden bazı dersler ile aynı kefeye konuyor.





Let`s make this world a better place to live !

Yazar
ganim


avatar

Kayıt: 09.07.2006
17.04.2008-03:52 #42794
clairvoyant yazdi
 
Mühendislik hayatımızda belki de hiç uğraşmayacağımız konular ile ilgili dersler kaldırılıp, yerine Software Engineering dersinin içeriği bölünerek 3-4 farklı ders haline getirilirse, belki vatana millete daha çok faydası dokunan mühendisleri yetiştirebilir üniversitemiz. Ülke şartlarına göre bence bölümümüzün en önemli dersi Software Enineering dersidir. Ama nedense kafamızı boş yere meşgul eden bazı dersler ile aynı kefeye konuyor.


daha once bin defa tartismisizdir bu konuyu aslinda ama ne ders calisabiliyorum ne de uyuyabiliyorum clown

"Bilgisayar Muhendisligi" denen sey bir kere cok garip. Son zamanlarda hep bu ornegi veriyorum;
Insaat muhendisi insaat yapar, bilgisayar muhendisi de bilgisayar.

bilgisayar yapmak ne demek?
"ALU" tasarimindan tut, "Software Testing"e kadar butun asamalari yapmak demek applause

birde ustune babanizin "Su internet sitesini yap", arkadasinizin "Su msn kirsana" direktiflerini gerceklestirebilirsen ciddi anlamda Bilgisayarci oluyorsun d oh

IUBM ogrencisi olarak, testing konusunda fikrimiz bile olmadan "bu iste para var, gelecek var" diyerek (ki oss secimleri de boyle isliyor) bircogumuzun heves edip atlayacagindan eminim.





Yazar
hyperr


avatar
SAKARYA
Kayıt: 17.04.2008
18.04.2008-14:28 #42882
nesibe yazdi
 



Yazılım süreçlerinden testing in proje aşamaları içerisinde belki de en fazla zaman ayrılabilecek kısım olduğunu geçen dönem software engineering dersinde öğrenmiştik.Tabi ders kapsamında verilen projeyi yaparken testing sürecine başlayamadan teslim tarihi gelmişti. Fakat bu konunun ne kadar kapsamlı olduğu ve üstünkörü geçilmemesi gerektiği konusu derste söylenmişti.Black box ve white box kavramlarını görmüştük.Güzel bir çalışma sahası olduğu kanaatindeyim.





peacepeace





------------FedaKarl?k Yoksa ZaFer De YokTuR------------


Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb