tag:blogger.com,1999:blog-29356727709339152512024-03-13T07:38:47.819-07:00Test Mühendisliği Üzerine Bir BlogUnknownnoreply@blogger.comBlogger78125tag:blogger.com,1999:blog-2935672770933915251.post-28197841734677284962022-10-05T13:23:00.001-07:002022-10-05T13:23:06.918-07:00Check if a string is Palindrome in Python<p> <span style="background-color: #2b2b2b; color: #a9b7c6; font-family: "JetBrains Mono", monospace;">metin = </span><span style="color: #8888c6; font-family: "JetBrains Mono", monospace;">input</span><span style="background-color: #2b2b2b; color: #a9b7c6; font-family: "JetBrains Mono", monospace;">(</span><span style="color: #6a8759; font-family: "JetBrains Mono", monospace;">"Enter string for palindrome check: "</span><span style="background-color: #2b2b2b; color: #a9b7c6; font-family: "JetBrains Mono", monospace;">)</span></p><pre style="background-color: #2b2b2b; color: #a9b7c6; font-family: 'JetBrains Mono',monospace; font-size: 9,8pt;"><span style="color: #8888c6;">print</span>(metin)<br />ters_metin = <span style="color: #6a8759;">""<br /></span>yeni_metin = <span style="color: #6a8759;">""<br /></span><span style="color: #6a8759;"><br /></span><span style="color: #cc7832;">if </span><span style="color: #8888c6;">len</span>(metin) == <span style="color: #6897bb;">0</span>:<br /> <span style="color: #8888c6;">print</span>(<span style="color: #6a8759;">"Not a palindrome"</span>)<br /><br /><span style="color: grey;"># To remove any empty character from the string<br /></span><span style="color: #cc7832;">for </span>m <span style="color: #cc7832;">in </span>metin:<br /> <span style="color: #cc7832;">if </span>m != <span style="color: #6a8759;">" "</span>:<br /> yeni_metin = yeni_metin + m<br /> <span style="color: #cc7832;">else</span>:<br /> <span style="color: #cc7832;">continue<br /></span><span style="color: #cc7832;"><br /></span><span style="color: grey;"># to reverse the string<br /></span><span style="color: #cc7832;">for </span>x <span style="color: #cc7832;">in </span><span style="color: #8888c6;">range</span>(<span style="color: #6897bb;">1</span><span style="color: #cc7832;">,</span><span style="color: #8888c6;">len</span>(yeni_metin)+<span style="color: #6897bb;">1</span>):<br /> ters_metin = ters_metin + yeni_metin[-x]<br /><br /><span style="color: #8888c6;">print</span>(metin)<br /><span style="color: #8888c6;">print</span>(yeni_metin)<br /><span style="color: #8888c6;">print</span>(ters_metin)<br /><span style="color: #cc7832;">if </span>ters_metin == yeni_metin:<br /> <span style="color: #8888c6;">print</span>(<span style="color: #6a8759;">"input string is a palindrome"</span>)<br /><span style="color: #cc7832;">else</span>:<br /> <span style="color: #8888c6;">print</span>(<span style="color: #6a8759;">"input string is not a palindrome"</span>)</pre>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-46292153212642979972022-10-05T12:49:00.004-07:002022-10-05T12:49:41.333-07:00Reverse a String in Python without using any built-in Functions<p> <span style="background-color: #2b2b2b; color: #a9b7c6; font-family: "JetBrains Mono", monospace;">metin = </span><span style="color: #6a8759; font-family: "JetBrains Mono", monospace;">"""This text will be reversed without using any built-in functions"""</span></p><pre style="background-color: #2b2b2b; color: #a9b7c6; font-family: 'JetBrains Mono',monospace; font-size: 9,8pt;">ters_metin = <span style="color: #6a8759;">""<br /></span>i = <span style="color: #6897bb;">0<br /></span>y = []<br />a = [<span style="color: #6897bb;">0</span>]<br /><span style="color: #cc7832;">for </span>x <span style="color: #cc7832;">in </span>metin:<br /> i = i+<span style="color: #6897bb;">1<br /></span><span style="color: #6897bb;"> </span>a[<span style="color: #6897bb;">0</span>] = i<br /> y = y + a<br /><br /><span style="color: #cc7832;">for </span>z <span style="color: #cc7832;">in </span>y:<br /> ters_metin = ters_metin + metin[-z]<br /><span style="color: #8888c6;">print</span>(metin)<br /><span style="color: #8888c6;">print</span>(ters_metin)</pre>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-80723457927385113152019-03-24T02:30:00.001-07:002019-03-24T13:50:00.920-07:00Özet Olarak Yazılım Testi Nedir<span style="font-size: small;"><span style="font-family: Verdana, sans-serif;"></span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: small;"><a href="https://1.bp.blogspot.com/-0QorANDu7gY/XJftXDpVufI/AAAAAAAAGtk/kqDX2Lkw4Gw7HWXIIlddJvSxAgMQ8kpwwCLcBGAs/s1600/daria-nepriakhina-474036-unsplash.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="266" src="https://1.bp.blogspot.com/-0QorANDu7gY/XJftXDpVufI/AAAAAAAAGtk/kqDX2Lkw4Gw7HWXIIlddJvSxAgMQ8kpwwCLcBGAs/s400/daria-nepriakhina-474036-unsplash.jpg" width="400" /></a></span></div>
<br />
<br /><span style="font-size: small;"><span style="font-family: Verdana, sans-serif;"><span style="font-size: small;"><span style="font-family: Verdana, sans-serif;">Yazılım
sistemlerinin hedeflenen kullanım ortamında tam, doğru ve tutarlı olarak
müşteri istek ve beklentilerine uygun çalıştığının kontrolüdür.</span></span></span></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-35217228324556141052019-03-22T08:00:00.000-07:002019-03-22T08:00:10.221-07:00Ürünü En Hızlı Şekilde Nasıl Test Edebilirim?<span style="font-family: "Trebuchet MS", sans-serif;">Projelerin doğası gereği bazen regresyon testi kapsamında bazen sistemin canlıya alınmasında bazen de müşteriye yapılacak sunum öncesinde, ürünün beklendiği gibi çalıştığının doğrulamasının yapılması gerekmektedir.</span><br />
<span style="font-family: "Trebuchet MS", sans-serif;"><br /></span>
<span style="font-family: "Trebuchet MS", sans-serif;">Tabii ki en güvenilir yöntem %100 kapsama oranına sahip testlere sahip olmak ve test otomasyonu kullanarak tüm testleri baştan sona çalıştırmaktır. Fakat çoğu zaman bu rüya-senaryoyu gerçekleştirme imkanı olmaz. </span><br />
<span style="font-family: "Trebuchet MS", sans-serif;"><br /></span>
<span style="font-family: "Trebuchet MS", sans-serif;">Böyle bir ihtiyaç varsa şu kararın verilmesi gerekir; ürünün hangi yetenekleri / isterleri daha kritiktir?</span><br />
<span style="font-family: "Trebuchet MS", sans-serif;">Tüm testleri koşturamayacağımıza göre risk temelli test yaklaşımı ile hangi yeteneklere odaklanmamız gerektiğini belirlememiz gerekiyor.</span><br />
<span style="font-family: "Trebuchet MS", sans-serif;"><br /></span>
<span style="font-family: "Trebuchet MS", sans-serif;">Bankacılık uygulamalarında bu yetenekler farklıyken, stok yönetim yazılımlarda çok daha başka yetenekler önemlidir.</span><br />
<span style="font-family: "Trebuchet MS", sans-serif;"><br /></span>
<span style="font-family: "Trebuchet MS", sans-serif;">En kritik yetenekler belirlendikten sonra, kritiklik derecesi yüksekten aşağıya doğru sıralanır ve en üstteki yeteneğe en çok zaman ayrılırken, listenin altına doğru inildikçe test süresi de kısaltılır.</span><br />
<span style="font-family: "Trebuchet MS", sans-serif;">Örneğin toplam 10 yetenek varsa ve test için de toplam 20 saat süre ayrılmışsa, 1. yetenek için 3 saat, 2. için 2,5 saat, 3. için 2 saat, ..., 10. için 20 dakika, şeklinde bir planlama yapılabilir.</span><br />
<span style="font-family: "Trebuchet MS", sans-serif;"><br /></span>
<span style="font-family: "Trebuchet MS", sans-serif;">Burada önemli olan bir diğer konu da testi yapacak kişinin o alandaki bilgisidir. Test altındaki yetenekle ilgili 10 yıl deneyimi olan bir test mühendisinin, 3 yıl deneyimi olan birine göre çok daha etkin test yapacağı da unutulmamalıdır. Test yöneticisinin bu durumu da göze alması önemlidir.</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-63125491301791244782019-03-21T10:52:00.002-07:002022-10-15T12:49:00.003-07:00STANAG Doğrulama<span style="font-family: verdana;"><span face=""Trebuchet MS", sans-serif">Askeri (çoğunlukla NATO) projelerde sözleşmelerde tanımlı STANAG'lar kullanılarak ürünlerin geliştirilmesi ve doğrulanması gerekmektedir.</span><br />
<br />
<span face=""Trebuchet MS", sans-serif">STANAG, Standardization Aggrement'in kısaltmasıdır ve tüm listeye <a href="https://nso.nato.int/nso/nsdd/listpromulg.html" target="_blank">buradan</a> ulaşabilirsiniz; fakat çoğuna doğrudan erişim yoktur.</span><br />
<br />
<span face=""Trebuchet MS", sans-serif">STANAG kullanılarak ürünleri geliştirmenin ve test etmenin güzel tarafı; istenen her yeteneğin detaylı olarak tanımlanmış olması, muğlaklıkların olmamasıdır. </span><br />
<br />
<span face=""Trebuchet MS", sans-serif">Zor tarafı ise, kimi STANAG 300-400 sayfa olabilmekte kimi zaman da diğer standartlara referanslar vererek binlerce sayfaya çıkabilmektedir. (Her zaman olduğu gibi) Bu zorluk aynı zamanda bir de fırsat yaratmaktadır. Sektörde bu kadar kalın dokümanları okumaya ve öğrenmeye hevesli çok kimse olmadığı için herhangi bir STANAG ailesini iyi öğrenmeniz durumunda hem yurtiçi savunma sanayinde hem de NATO ve diğer askeri oluşumlara yönelik yazılım yapan yurtdışı firmalarda kolaylıkla iş bulabilirsiniz. Fakat tekrar söyleyeyim; bu dokümanlara hâkim olmak kolay değildir. Çoğunlukla bu dokümanlara uygun olarak geliştirilen ürünler test edildiği zaman standartın ne anlattığı daha iyi anlaşılır olmaktadır.</span><br />
<br />
<span face=""Trebuchet MS", sans-serif">STANAG kullanarak doğrulama yaparken dikkat edilmesi gereken konu, hazırlanacak test senaryolarının birebir standarttaki maddelerle eşleştirilmesidir; bir senaryo birden çok maddeyi içerebilir. Ve tabii her zaman olduğu gibi, izlenebilirlik matrisini de doğru ve detaylı hazırlamak önemlidir. </span></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-72400943783325477862019-03-17T06:40:00.001-07:002020-06-23T11:52:35.289-07:00Başlamış bir Projeye Atanan Test Mühendisinin Yapması Gerekenler<span style="font-family: "trebuchet ms" , sans-serif;">Bir test mühendisinin projenin sözleşme aşamasında projeye dahil olması en ideal durumdur. Çünkü, henüz sözleşme aşamasında gereksinimleri inceleyebilecek, gözden geçirip yorum verebilecektir. Böylece projenin sonraki aşamalarında ortaya çıkabilecek eksiklikleri çok daha önceden tespit edebilecektir.</span><br />
<br />
<span style="font-family: "trebuchet ms" , sans-serif;">Ancak kimi zaman, projenin ortasından projeye dahil olmak durumunda kaldığımız çok oluyor. Gereksinimlere / ürüne / sürece hızlı bir şekilde hâkim olunabilmesi için gerekli adımları aşağıda listeledim. Bu neden önemli? Çünkü projenin kabul aşaması yaklaştığında, daha henüz sözleşmeyi / gereksinimleri bile okumamış iseniz, (muhtemelen) bir başkasının hazırladığı test senaryolarının geçerliliğinden, tamlığından, doğruluğundan asla emin olamayacaksınız demektir. "Gereksinim İzlenebilirlik Tablosu'na bakarım, her gereksinim en az bir teste atanmışsa, bence testler tamdır, doğrudur" diyemezsiniz. Evet, bu gereklidir ama yeterli şart değildir. Belki testler gereksinimlerde bahsedilen durumları karşılamıyordur? Bu riski almaya gerek yok.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<br />
<ol>
<li><span style="font-family: "trebuchet ms" , sans-serif;">İlk olarak mutlaka sözleşme okuyun. En kapsamlı sözleşme bile 50 sayfayı geçmez. Bir günde okur, 2-3 günde tamamına hâkim olursunuz.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Sözleşmede belirtilen her maddenin (ister yönetimsel ister teknik maddeler olsun) bir proje çıktısı ile karşılandığından emin olun. Örneğin, bir Test ve Değerlendirme Ana Planı ve bir de Yazılım Test Planı istenmişse, sizden önce bunların hazırlanmış olduğundan emin olun. Aylık / haftalık proje ilerlerme raporları isteniyorsa, bunların formatının, içeriklerinin belirlendiğinden emin olun; yoksa hazırlayın.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Sözleşme maddeleri ile Sistem Gereksinimleri arasında izlenebilirlik kurulduğundan, her bir sözleşme maddesinde belirtilen isterin, sistem gereksinim(ler)i tarafından gerçekten karşılandığından emin olun; yoksa sonradan çok sorun çıkacaktır.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Geri kalan dokümantasyon için V döngüsünü uygulayın.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Ürüne en hızlı şekilde adapte olmanın yolu:</span></li>
<ol>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Hazır test dokümanları ile sistemi test etmek,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Hazır kullanım dokümanı ile sistemi kullanmaktır.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Ayrıca, </span><span style="font-family: "trebuchet ms" , sans-serif;"><span style="font-family: "trebuchet ms" , sans-serif;">(proje ekibine, direktörlere, müşteriye,...) </span>arada bir ürünün tanıtımını yapmak da çok faydalı olacaktır.</span></li>
</ol>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Asla varsayım yapmayın: "Nasıl olsa benden öncekiler bunları yapmıştır, dokümanları hazır, gözden geçirme de yapılmış, demek ki bunlar doğrudur" diye düşünmeyin !!!</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Kim hazırlamış olursa olsun, kime atanmış olursa olsun, sizin işinizi etkileyen konularda kimseye güvenmeyin. Çünkü onlar da projeden ayrılıp gittiklerinde, aslında bu işlerin kısmen veya tamamen eksik olduğunu görebilirsiniz. Bu durumda da o işleri kim yapacak? :) Evet, bildiniz; siz yapacaksınız.</span></li>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-79461500063529022592019-03-11T12:02:00.003-07:002020-06-23T11:51:13.412-07:00Bu Yöntemle Yazılım Kabul Testlerinde Başarıya Ulaşın<span style="font-family: verdana;">Projelerin kullanıma alınmadan önceki son test aşaması olan Kabul Testleri'nden önce yapılması gereken ama genelde vakit ayrılmayan önemli bir konu olan Oryantasyon'dan bahsedeceğim.<br />
<br />
Test dokümanları genelde oldukça kapsamlı ve aşırı dikkat verilmediği sürece kolaylıkla içinde kaybolabileceğiniz belgelerdir.<br />
</span><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;"><b>Yazılım projelerinin kabul testlerinin başarıya ulaşmasında en etkili yöntemlerden biri katılımcılara verilecek olan Test Oryantasyonu'dur.</b><br /></span></div><div><span style="font-family: verdana;"><br /></span></div><span style="font-family: verdana;">
Oryantasyonun amacı, testin ilerleyişinin nasıl olacağı, hangi testte hangi yeteneklerin nasıl test edildiği, hiçbir gereksinimin gözden kaçırılmadığı, test sırasında verinin hangi kaynaktan nasıl girileceği, test çıktılarının nasıl toplanacağı ve saklanacağı, testte ortaya çıkan hataların ve isteklerin nasıl yönetileceği konularında test katılımcılarına detaylı bilgi vermektedir.<br />
<br />
Bu yüzden, her ne kadar testten önce müşteri test belgelerini gözden geçirmiş olsa bile (ki çoğu zaman detaylı bir gözden geçirme de yap(a)maz müşteri), testin katılımcılarına (gerekirse 1-2 gün boyunca) oryantasyonun verilmesi, hem müşterinin test sürecine olan güveninin artırılmasına, hem test faaliyetine daha çok katkı sağlamasına, hem de ürünün nihai ortamdaki kullanımı sırasında ortaya çıkabilecek hataların çok daha erken farkedilmesine imkan sağlayacaktır.</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-51885240080614519912019-03-07T09:29:00.000-08:002019-03-07T09:29:04.556-08:00Kullanıcı Tanıma Anketi (Sistem Analizi)Geliştirilmesi planlanan yazılım sistemlerinin amacına uygun, yüksek performanslı, etkinliği yüksek ve müşteri beklentilerinin ötesine geçmesini sağlamanın en kolay yolu detaylı bir sistem analizinin yapılmasıdır.<br />
<br />
Sistem Altsistem Tanımları dokümanının Fonksiyonel Gereksinimler kısmında sisteminin "ne yapması" gerektiği belirtilirken "Sistem Karakteristikleri" başlıklarında da yapacağı işi "nasıl yapması" gerektiği belirtilir.<br />
<br />
Pek çok projede "Sistem Karakteristikleri" başlıkları bütçe yetersizliği, zaman darlığı veya yeterli uzmanlık olmaması sebepleri ile U/D, N/A, DSB gibi kısaltmalar konularak boş bırakılır.<br />
<br />
Sistem kullanıma alındıktan sonra da kullanılabilirlik, erişebilirlik, performans, idame edilebilirlik, gibi konularda ardı ardına sorunlar yaşanmaya başlanır.<br />
<br />
Standartlara uygun proje geliştiren şirketler çoğunlukla (kısmen de olsa) "Sistem Karakteristikleri"ni belirlemeye çalışmaktadır. Ancak daha düşük bütçeyle iş yapan şirketlerin bu tarz belgeler oluşturma imkanı olmayabilir.<br />
<br />
Bu sebeple, bu tarz şirketlerin kullanımı için, son kullanıcıları tanımaya yönelik soruları aşağıda listeledim. Bu sorulara ek sorular da eklenebilir. Sorulara verilecek cevaplara uygun olarak geliştirilecek yazılım sistemlerinin çok daha az hata içeren ve yüksek müşteri memnuniyeti içeren sistemler haline geleceğine emin olabilirsiniz.<br />
<br />
<h3>
Kullanıcı Beklentileri: </h3>
<ul>
<li>Kullanıcıların sistemden beklentileri nelerdir?</li>
<li>Mevcut durumda ne tip işlerde ne tip maliyetler / zararlar oluyor?</li>
<li>Kullanıcıların bilgisayar okuryazarlığı hangi seviyededir?</li>
<li>Kullanıcılar içinde bedensel / zihinsel engeli olanlar var mı? Ne tür engelleri var?</li>
<li>Sistem tek bir yerleşke içinde mi kullanılacak yoksa geniş bir alanda mı?</li>
</ul>
<h3>
Kullanıcıları Tanıma: </h3>
<ul>
<li>Toplam kaç kullanıcı olacak? Önümüzdeki 5 yılda kullanıcı sayısında tahminen kaç kişilik bir artış olur?</li>
<li>Hangi rollerde kullanıcılar olacak? Yönetici, sistem yöneticisi, veri giriş, raporlama / sunum, …</li>
<li>Rollere göre kullanıcı sayıları nedir?</li>
<li>Rollere göre kullanıcılar hangi gün ve saatlerde sistemi kullanacaklar?</li>
<li>Rollere göre hangi kullanıcı sistemi ne kadar süre kullanacak?</li>
<li>Rollere göre kullanıcıların en stresli / yoğun / yorucu iş akış(lar)ı nelerdir?</li>
<li>Rollere göre kullanıcıların çalışma ortamı kısıtları var mı? Sahada kullanım gibi.</li>
<li>Rollere göre kullanıcı için en kritik / beklemeye tahammül edemeyeceği iş akış(lar)ı nelerdir?</li>
<li>Kullanıcıların uygulama üzerinden ve/veya dosya sistemi / veritabanı üzerinden girecekleri veri tipleri nelerdir?</li>
<li>Kullanıcıların girecekleri veri dosyalarının adet ve/veya boyut sınırı var mıdır?</li>
<li>Kullanıcıların sisteme toplu halde girmeleri gereken veriler ve/veya başka bir sistemden aktarılması gereken veriler var mı?</li>
<li>İşin zorluklarını ve olası dar boğazlarını anlamak açısından bir müddet çalışma ortamında kullanıcılar ile birlikte vakit geçirmemiz mümkün mü?</li>
</ul>
<h3>
Kullanıcı Eğitimi:</h3>
<ul>
<li>Kullanıcılara hangi konularda eğitim verilecek?</li>
<li>Eğitim hangi ortamda yapılacak?</li>
<li>Eğitim sırasında (projenin ilk aşamasında) Kullanabilirlik testi için prototip hazırlanması.</li>
<li>Toplamda hangi rolde kaç kullanıcı eğitim alacak?</li>
<li>Eğitim materyali nelerden oluşacak?</li>
</ul>
<h3>
Donanım/Yazılım Altyapısını Tanıma:</h3>
<h4>
Yazılım: </h4>
<ul>
<li>Kullanılan işletim sistem(ler)i nelerdir?</li>
<li>Kullanılan internet gezginlerinin isimleri ve versiyonları nedir?</li>
<li>İnternet Gezginleri'nde yüklü addon - pluginler var mı?</li>
<li>İnternet gezginlerinin / pluginlerin güncellenmesine izin verilmekte midir?</li>
<li>Kullanıcı doğrulama için LDAP benzeri bir sistem var mıdır?</li>
</ul>
<h4>
Donanım: </h4>
<ul>
<li>Sistemin kullanılacağı tesis(ler)in fiziksel altyapısı nedir? Kablosuz iletişim gerekli ise, ortam uygun mudur?</li>
<li>Kullanıcıların sistemi kullanacakları donanımın (bilgisayar, tablet, telefon) özellikleri nelerdir? Rollere göre hangi tip donanımlar kullanılacaktır?</li>
</ul>
<h3>
Kalite Karakteristikleri: </h3>
<ul>
<li>Sistemin herhangi bir çevresel şart kısıtı var mıdır? Sıcaklık, nem, toz, gürültü, sarsıntı, ...</li>
<li>Sistemin kullanılacağı tesis(ler)in donanım altyapısı nedir? Ağ hızı, sunucu sayısı, elektrik altyapısı, jeneratör / UPS varlığı, …</li>
<li>Sistemin Genişleyebilirlik ihtiyacı var mı? Sınırları nedir?</li>
<li>Sistemin Yedekleme ihtiyacı var mı? Nasıl bir süreç düşünülüyor?</li>
<li>Sistemin uyması gereken bir Sertifikasyon kısıtı var mı?</li>
<li>Sistemin birlikte çalışması gereken (Uyumluluk) başka sistemler var mı? Arayüzler ve veri tipleri nedir?</li>
<li>Sistemin Kaynak Kullanım kısıtları var mı? CPU, bellek, disk alanı, ağ kapasitesi kullanım sınırları gibi.</li>
<li>Sistemin Afet Kurtarma özelliği ihtiyacı var mı?</li>
<li>Sistemin Efficiency (belirli bir yük için kaynak tüketimi) kısıtı var mı?</li>
<li>Sistemin Effectiveness (harcanan efor sonrasında elde edilen performans) kısıtı var mı? Bir işlemin en fazla 3 adımda yapılması gibi.</li>
<li>Sistemin uyması gereken bir yasal mevzuat / standart var mı? Nedir?</li>
<li>Sistemin Performans (tepki süreleri) kısıtı var mı? Hangi yük altında bu süreler nedir?</li>
<li>Sistemin Platform Uyumluluk kısıtı var mı? Hangi platformlar?</li>
<li>Sistemin veri / bilgi Gizliliği kısıtı var mı? Ne tür veriler, hangi roldeki kullanıcılar?</li>
<li>Sistemin Kurtarılabilme (Recovery / recoverability) kısıtı var mı? Ölümcül hata durumunda en geç 5 dakikada sistemin faal hale gelmesi gibi.</li>
<li>Sistemin Bakımı için izin verilen gün / saatler nelerdir?</li>
<li>Sistem için Hizmet Seviyesi Anlaşma şartları nelerdir?</li>
</ul>
<br />
<h3>
Kullanıcı Destek:</h3>
<ul>
<li>Kullanıcıların eğitim sonrası sorunlarında hangi yöntem ile yardımcı olunacak?</li>
<li>Bir Destek Merkezi kurulması ihtiyacı var mı?</li>
<li>Destek hangi ortam üzerinden sağlanacak? E-posta, telefon, video konferans, …</li>
<li>Soru ve hata bildirimleri nerede kayıt altına alınacak?</li>
</ul>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-64069241706812213412019-03-06T13:51:00.001-08:002019-03-06T13:51:52.221-08:00İş Hayatında Öne Çıkan Yetkinlikler<span style="font-family: "Trebuchet MS", sans-serif;">Uzun yılların birikimi olarak rahatlıkla şunu söyleyebilirim; iş hayatında başarılı olmak için gereken yetkinlikler teknik bilgiden ziyade sosyal yetkinlik ve etik değerlerden oluşuyor.</span><br />
<br />
<span style="font-family: "Trebuchet MS", sans-serif;">Aşağıdaki liste tam olmayabilir ama iş hayatında saygı duyulan ve takdir edilen bir çalışan olmak için gerekli özelliklerin bunlardan oluştuğunu düşünüyorum:</span><br />
<span style="font-family: "Trebuchet MS", sans-serif;"><br /></span>
<ol>
<li><span style="font-family: "Trebuchet MS", sans-serif;">İşe erken gelmek, geç çıkmak.</span></li>
<li><span style="font-family: "Trebuchet MS", sans-serif;">Yöneticilerin isteklerine olumlu cevap vermek.</span></li>
<li><span style="font-family: "Trebuchet MS", sans-serif;">Zor işlere talip olmak.</span></li>
<li><span style="font-family: "Trebuchet MS", sans-serif;">İş önceliklendirmesi yapmak; önemsiz işleri sonraya ertelemek, öncelikli işlere daha fazla efor harcamak. </span></li>
<li><span style="font-family: "Trebuchet MS", sans-serif;">İş saatlerinde sadece ve sadece işle uğraşmak.</span></li>
<li><span style="font-family: "Trebuchet MS", sans-serif;">Altına imza attığınız, içinde isminiz geçen işleri en iyi şekilde yapmaya çalışmak.</span></li>
<li><span style="font-family: "Trebuchet MS", sans-serif;">Şirket kaynaklarını özel işleriniz için kullanmamak.</span></li>
<li><span style="font-family: "Trebuchet MS", sans-serif;">Şirket kaynaklarının israfını engellemek.</span></li>
<li><span style="font-family: "Trebuchet MS", sans-serif;">Şirket süreçlerini ve kültürünü sürekli iyileştirmek.</span></li>
<li><span style="font-family: "Trebuchet MS", sans-serif;">Birlikle çalıştığınız kişilerin bireysel gelişimlerini desteklemek.</span></li>
<li><span style="font-family: "Trebuchet MS", sans-serif;">Kişilerin başarılarını diğer çalışanlarla paylaşmak, hatalı yaptıklarını ise sadece o kişiyle paylaşmak.</span></li>
<li><span style="font-family: "Trebuchet MS", sans-serif;">Kendinizde eksik gördüğünüz alanlarda sürekli eğitimle gelişim sağlamak.</span></li>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-10854964214700209512018-11-21T11:59:00.000-08:002018-11-22T09:01:00.981-08:00Mikro ve Küçük Ölçekli Yazılım Firmaları için Test Stratejileri<span style="font-family: "trebuchet ms" , sans-serif;"><a href="http://www.kobi.org.tr/index.php/tanimi/layout" target="_blank">24.06.2018'de güncellenen KOBİ tanımına göre</a> Mikro Ölçekli firmalar çalışan personel sayısı 10'dan az olan ve Küçük Ölçekli firmalar da çalışan personel sayısı 50'den az olan firmalardır.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></span>
<span style="font-family: "trebuchet ms" , sans-serif;"><span style="font-family: "trebuchet ms" , sans-serif;"><span style="font-family: "trebuchet ms" , sans-serif;">Nakit akışı, yüksek ve düzenli kâr bırakan pazarlara erişim, ç</span><span style="font-family: "trebuchet ms" , sans-serif;">alışan motivasyonunu yüksek tutamamak </span><span style="font-family: "trebuchet ms" , sans-serif;">gibi yönetim seviyesi zorluklar bir yana, az sayıdaki personelin pek çok farklı faaliyeti y</span><span style="font-family: "trebuchet ms" , sans-serif;">oğun ve fazla mesai yaparak gerçekleştirmeleri sonucu hatalar yapılabilmekte, bu da n</span><span style="font-family: "trebuchet ms" , sans-serif;">ihai ürünün toplam kalitesinde zayıflığa ve müşteri memnuniyetsizliğine sebep olabilmektedir.</span></span></span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></span>
<span style="font-family: "trebuchet ms" , sans-serif;">
<span style="font-family: "trebuchet ms" , sans-serif;">Bir soru sorarak başlayalım: </span></span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><b>Mikro ve küçük ölçekli yazılım firmalarının nihai müşteri memnuniyetlerini nasıl yükseltebiliriz?</b></span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><i>Şunu belirtmekte fayda var: bu firmaların CMMI, SPICE, ISO 12207 gibi ağır metodolojilere uymaya yetecek kaynakları çoğunlukla olmayacaktır. Hatta bazen çevik yöntemleri bile uygulamakta zorlanabilirler.</i></span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Tümdengelim yaparsak; </span></span><br />
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Müşteriler ne kadar az hata ile karşılaşırlarsa o kadar "Düzelt-Test Et-Yayınla" döngüsü işletilir,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Ürünün kullanımı ne kadar kolaysa o kadar az eğitim / kullanım desteği verilmesi gerekecektir,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Personel teslimat sonrası ne kadar az hata ve destek ile uğraşırsa, bir sonraki ürünü geliştirmek için daha çok zamanı olacaktır.</span></li>
</ul>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">"<a href="https://serdartorun.blogspot.com/2017/02/test-muhendisliginde-olas-riskler-ve.html" target="_blank">Test Mühendisliğinde Olası Riskler ve Alınabilecek Tedbirler</a>" başlıklı yazımda belirttiğim pek çok durum firmanızın işleri zorlaştırıyor olabilir ancak sorunun özü kısıtlı kaynaklar sebebiyle firmaların Test ve dokümantasyona yeterince zaman harcayamamalarıdır.</span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<span style="font-family: "trebuchet ms" , sans-serif;">Aşağıda, bu sorunu çözmeye katkı sağlayabileceğini düşündüğüm maddeleri veriyorum. Firmanızın kaynaklarına ve yapısına en uygun yöntemi yine kendiniz belirleyebilirsiniz. Bunların uygulanması konusunda veya firmanızın yapısına özel sorularınız olursa da yardımcı olmaya çalışırım.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-E27jofzjUNg/W_bf4HFo-2I/AAAAAAAAGqM/Q3aIozw0qbEqjrPHyq7dAwyN5lMUk7heACLcBGAs/s1600/test_stratejisi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="414" data-original-width="1091" height="150" src="https://4.bp.blogspot.com/-E27jofzjUNg/W_bf4HFo-2I/AAAAAAAAGqM/Q3aIozw0qbEqjrPHyq7dAwyN5lMUk7heACLcBGAs/s400/test_stratejisi.jpg" width="400" /></a></div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<br />
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><b>PERSONEL</b>:</span></li>
</ul>
<ol>
<ol>
<li><span style="font-family: "trebuchet ms" , sans-serif;">İmkanınız varsa, mesleği test mühendisliği olan personel istihdam edin. Yazılımı geliştirenler (ve müşteriler) test yapmaktan genelde hoşlanmaz, bazen üstünkörü yaparlar, genelde de sadece "happy path"i test ederler. 1 kişi bile olsa istihdam edeceğiniz test mühendisi, müşteriden dönme ihtimali olan hataları çok büyük oranda azaltacaktır. Eğitim dokümantasyonu, müşteri desteği vermesi de cabası; çünkü sistemin genelini (çoğu zaman) en iyi bilen kişi test mühendisidir. </span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Sürekli olarak test mühendisi istihdam edemiyorsanız, stajyer / yarı-zamanlı çalışacak öğrencilere test yaptırabilirsiniz. Fakat bu personelin "test mühendisi bakış açısı" olmadığından bu konuda eğitim almaları gerekecektir, bir danışmanın vereceği 2 günlük bir eğitim bile çok fark yaratacaktır. Aksi durumda çok fayda sağlanamayabilir. </span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Sürekli veya yarı zamanlı personel istihdamı da sizin için mümkün değilse, yine mesleği test mühendisliği olan bir danışman <b>sadece ihtiyaç zamanlarında</b> size destek verebilir. Bu ihtiyaç zamanları şunlar olabilir:</span></li>
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Projenin ilk aşamasında sözleşme / sistem gereksinimlerinin gözden geçirilmesi ve bir ana test planı / stratejisi hazırlanması,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Sistem tasarımı sonrasında sistem seviyesi test senaryolarının ("Öncelikli Senaryo") yazılması,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Ara teslimat dönemlerinden önce testlerin koşturulması ("Detaylı Senaryo"),</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Nihai teslimat öncesinde tüm senaryoların koşturulması.</span></li>
</ul>
</ol>
</ol>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">"PERSONEL" konusunu çözüme ulaştırdıysanız;</span></div>
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><b>TEST SÜRECİ</b>: </span></li>
</ul>
<ol>
<ol>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Mutlaka gereksinim yönetimi yapılmalı. Böylece hiçbir istek/gereksinim göz kaçamaz.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Müşterinin en çok önem verdiği, olmazsa olmaz dediği, beklemeye tahammül edemeyeceği işlevlerin neler olduğunu listeleyin. Bu işlevler belirlenirken kullanıcı ile empati kurabilmek çok önemlidir.</span></li>
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><i>"<a href="https://serdartorun.blogspot.com/2014/07/kullanc-ile-empati-kurabilmek-neden.html" target="_blank">Kullanıcı ile Empati Kurabilmek Neden Önemlidir?</a>"</i></span></li>
</ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Risk temelli test yaklaşımı ile bu listedeki maddelerin tamamını üst seviyede test eden bir senaryo oluşturun ("Öncelikli Senaryo").</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Her teslimat öncesi "Öncelikli Senaryo"yu mutlaka çalıştırın.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">"Öncelikli Senaryo"yu alt parçalara ayırıp detaylı senaryolar hazırlayın ("Detaylı Senaryo").</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Geri kalan kısımlar için "İkincil Senaryolar" oluşturun.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Teslimatları ayda bir yaptığınızı varsayarsak, haftada 1 kere "Öncelikli Senaryo", 2 haftada 1 "Detaylı Senaryo", ayda 1 kere de "İkincil Senaryolar"ı koşturabilirsiniz.</span></li>
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><i>"Ürün bitsin, testleri sonra yaparız" diye düşünmeyin, böyle bir yaklaşım kaosa davetiye çıkartmaktır.</i></span></li>
</ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Eğer resmi bir "Kabul Testi" yapılacaksa, "<a href="https://serdartorun.blogspot.com/2017/05/kabul-testi-nedir-nelere-dikkat-etmek.html" target="_blank">Kabul Testi Nedir, Nelere Dikkat Etmek Gerekir</a>" başlıklı yazımda belirttiklerim uygulanmalı.</span></li>
</ol>
</ol>
<div>
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><b>HATA YÖNETİMİ</b>:</span></li>
</ul>
<span style="font-family: "trebuchet ms" , sans-serif;"></span><br />
<ol><ol><span style="font-family: "trebuchet ms" , sans-serif;">
<li>Proje ilerledikçe hata sayıları da doğal olarak artacaktır.</li>
<li>Eğer müşteriye bir ara ürün / demo ürünü teslimatı yapılmışsa, <b>önem derecesi ne olursa olsun</b> müşteriden gelen hata bildirimlerine öncelik verin ve en kısa zamanda ilk onları çözün ("ÖNCELİK 1").</li>
<ul>
<li><i>Bizler için önemsiz gibi görünen hatalar, son kullanıcı gözünde çok önemli olabilir.</i></li>
</ul>
<li> "Öncelikli Senaryo" ve "Detaylı Senaryo"dan bulunan hatalara 2. seviye öncelik verin ("ÖNCELİK 2").</li>
<li>"İkincil Senaryo"dan bulunan hatalara 3. seviye öncelik verin ("ÖNCELİK 3").</li>
<li>Firmanıza daha yüksek katma değer sağlayacak ve müşteri memnuniyetini artıracak hata çözüm sırası da doğal olarak ÖNCELİK 1 > ÖNCELİK 2 > ÖNCELİK 3 şeklindedir.</li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Jira, Mantis veya diğer bir hata yönetim uygulaması kullanmak şarttır. Mümkünse son kullanıcıların da bu sistem üzerinde hata açabilmelerini sağlamak geri bildirim hızınızı artıracaktır. </span></li>
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><span style="font-family: "trebuchet ms" , sans-serif;">Şurada hazırladığım yapıyı kullanabilirsiniz: </span><a href="https://serdartorun.blogspot.com/2015/03/testlerde-hata-bildiriminde-dikkat.html" target="_blank">Testlerde Hata Bildiriminde Dikkat Edilmesi Gereken Girdiler</a></span></li>
</ul>
</span></ol>
<span style="font-family: "trebuchet ms" , sans-serif;">
</span></ol>
<span style="font-family: "trebuchet ms" , sans-serif;">
</span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><b>DOKÜMANTASYON</b>:</span></li>
</ul>
<ol>
<ol>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Kod içinde mutlaka "comment"ler ile neyin ne iş yaptığını belirtmek, hata düzeltme ve bakım dönemlerinde hayat kurtarıcı olmaktadır.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Müşteriniz eğer formal test dokümantasyonu istiyorsa (örneğin TÜBİTAK), Mil-Std-498'i kullanabilirsiniz, ücretsizdir.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Uygulamanın kurulumu ve kullanımı ile ilgili kısa da bir belgeyi tercihen web sayfası veya uygulamanın içine entegre olarak hazırlamanız, sonrasında kullanımla ilgili gelecek pek çok sorudan kurtaracaktır sizi.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Ürünün kapsamlı eğitimi gerekiyorsa, ürün olgunlaştıktan sonra eğitim videosu hazırlayarak maliyeti azaltabilirsiniz.</span></li>
</ol>
</ol>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><b>ARAÇ KULLANIMI</b>:</span></li>
</ul>
<ol>
<ol>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Eğer ürününüz test otomasyonuna uygunsa, personelinizin bu konuda deneyimi varsa ve en önemlisi otomasyona alınan testlerin çok sık güncellenmesi gerekmeyecekse, test otomasyonu fayda sağlayacaktır. Ancak uyarmam gerekir: bu iş ayrı bir uzmanlık alanıdır ve kimi zaman faydadan çok zarar da verebilir.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Sadece açık kaynaklı test araçlarından faydalanın. Ticari test araçları genelde fazlasıyla pahalıdır, eğitim / destek maliyeti olabilmektedir, alınan araç âtıl kalabilmektedir.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Test verisi hazırlama ve kaynak kodu sık değişmeyecek kısımlar için otomasyon kodu yazılabilir. Bir kere yaparsınız, proje boyunca sizi tekrarlayan işlerden kurtarır.</span></li>
<ul>
</ul>
</ol>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-33770348329868150612018-11-14T00:00:00.000-08:002018-11-14T09:38:29.551-08:00Fonksiyonel Olmayan Gereksinimler: Uygunluk<span style="font-family: "trebuchet ms" , sans-serif;">Kullanıcıların, "normal çalışma zamanlarında" sistemin çalışabilir olduğuna güvenme derecesidir. Diğer bir deyişle, kullanıcılar normal çalışma saatlerinde sistemi kullanmak istediklerinde sistemin kullanıcı isteklerine cevap verebiliyor olması gerekmektedir.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Örnekleyecek olursak;</span><br />
<br />
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Çevrimiçi Ödeme Sistemi saat 06 ile 23 arasında kullanıma uygun olmalıdır.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Çevrimiçi Ödeme Sistemi 100 saatlik MTBF (Mean Time Between Failures - Arızalar Arasındaki Ortalama Süre) değerine sahip olması gerekmektedir.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Çevrimiçi Ödeme Sistemi, kullanıcıların isteklerinin %95'ine 15 saniye içinde cevap verebilmelidir. Geri kalan zamanlarda 20 saniye içinde cevap verebilmelidir.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">ATM cihazı hafta içi günlerde saat 06 ile 23 arasında %99 oranında uygun olmalıdır. </span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Sistemin yeni bir kurulumu, kurulum işlemi başlatıldıktan sonra 24 saat içinde ilk kullanıma hazır olmalıdır.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Sistem kullanıma kapatıldıktan sonra sistemin veritabanı yedeği 15 dakika içinde alınabilmelidir.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Sisteme kapatma komutu gönderildikten sonra 3 dakika içinde sistem kapanmış olmalıdır.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Acil durum veri silme komutu gönderildiğinde 15 saniye içinde her 3 sabit diskteki tüm veri geri kurtarılamaz şekilde silinmelidir. </span></li>
</ul>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-66098276974091234952018-11-13T10:34:00.002-08:002020-12-21T13:51:42.465-08:00Fonksiyonel Olmayan Gereksinimler: Hayatta Kalabilirlik<span style="font-size: small;"><span style="font-family: verdana;"><span face=""trebuchet ms" , sans-serif">Bir sistem arızası ortaya çıktığında yazılım sisteminin kendini toparlaması ve çalışmaya devam etmesinin ölçüsüdür.</span><br />
<span face=""trebuchet ms" , sans-serif"><br /></span>
<span face=""trebuchet ms" , sans-serif">Örnekleyecek olursak;</span><br />
<br />
</span></span><ul>
<li><span style="font-size: small;"><span style="font-family: verdana;"><span face="Trebuchet MS, sans-serif">Denetleme yazılımı arıza sonrası kapanırsa kullanıcının sözleşme dosyasında yaptığı değişiklikler kurtarılmalı ve dosya arıza oluşumundan bir dakika öncesindeki duruma gelmeli.</span></span></span></li><li><span style="font-size: small;"><span style="font-family: verdana;"><span face="Trebuchet MS, sans-serif">Yazılımın güncellenmesi sırasında bir arıza ortaya çıkarsa yapılan tüm veri ve güncellemeler geri alınmalı ve yazılım eski haline dönmelidir.</span></span></span></li><li><span style="font-size: small;"><span style="font-family: verdana;"><span face="Trebuchet MS, sans-serif">Bir arıza durumu sonrasında işletime devam edilirken kullanıcıya yazılımın "güvenli mod"da çalıştığı ve tüm verinin salt okunur durumda gözden geçirmeye hazır olduğunun bilgisi verilmelidir.</span></span></span></li><li><span style="font-size: small;"><span style="font-family: verdana;"><span face="Trebuchet MS, sans-serif">Sistem, arızalı olduğu tespit edilen yeteneklere erişimi engellerken diğer tüm yeteneklere erişime izin vermelidir.</span></span></span></li><li><span style="font-size: small;"><span style="font-family: verdana;"><span face="Trebuchet MS, sans-serif">Montaj hattındaki tüm donanım bileşenleri yedekli olmalıdır, böylece herhangi bir donanım bileşeni arızalandığında montaj hattının durması engellenmelidir.</span></span></span></li>
</ul><span style="font-size: small;"><span style="font-family: verdana;">
</span></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-34930615419577577602018-11-12T11:46:00.003-08:002018-11-12T11:50:48.507-08:00Testler Ne Zaman Biter?<span style="font-family: "trebuchet ms" , sans-serif;">Yazılım sektöründe bir süre çalışanların çok iyi bildiği gibi, yazılım ve sistem projelerinin karmaşıklık sebebiyle, test edilebilecek patikaların sayısı neredeyse sonsuzdur. Ve proje yöneticilerinin en sık sorduğu sorulardan biri "testler ne zaman biter"dir.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Öncelikle testlerin sayısının neden çok olabileceğini inceleyelim.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Örnek olarak E-Devlet giriş sayfasını kullanabiliriz.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-JfPbYolTbW8/W-nRiqtyW0I/AAAAAAAAGpY/ABUTurGtOLMtgknv88Y4NqDzrjpuxXG7gCLcBGAs/s1600/edevlet.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "trebuchet ms" , sans-serif;"><img border="0" data-original-height="377" data-original-width="683" height="220" src="https://3.bp.blogspot.com/-JfPbYolTbW8/W-nRiqtyW0I/AAAAAAAAGpY/ABUTurGtOLMtgknv88Y4NqDzrjpuxXG7gCLcBGAs/s400/edevlet.png" width="400" /></span></a></div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Uygulayabileceğimiz testleri listeleyelim:</span><br />
<br />
<ol>
<li><span style="font-family: "trebuchet ms" , sans-serif;">T.C. Kimlik No alanı ve e-Devlet Şifresi alanını boş bırak, "Sisteme Giriş Yap" düğmesine tıkla,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">T.C. Kimlik No alanına geçerli değer gir ve e-Devlet Şifresi alanını boş bırak, "Sisteme Giriş Yap" düğmesine tıkla,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">T.C. Kimlik No alanını boş bırak ve e-Devlet Şifresi alanına geçerli değer gir, "Sisteme Giriş Yap" düğmesine tıkla,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">T.C. Kimlik No alanına boşluk karakteri gir ve e-Devlet Şifresi alanına boşluk karakteri gir, "Sisteme Giriş Yap" düğmesine tıkla,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">T.C. Kimlik No alanına geçerli değer gir ve e-Devlet Şifresi alanına boşluk karakteri gir, "Sisteme Giriş Yap" düğmesine tıkla,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">T.C. Kimlik No alanına boşluk karakter gir ve e-Devlet Şifresi alanına geçerli değer gir, "Sisteme Giriş Yap" düğmesine tıkla,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">T.C. Kimlik No alanına 500 adet karakter gir ve e-Devlet Şifresi alanına 500 adet karakter gir, "Sisteme Giriş Yap" düğmesine tıkla,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">T.C. Kimlik No alanına Kopyala-Yapıştır ile 10 karakterlik değer gir ve e-Devlet Şifresi alanına Kopyala-Yapıştır ile 10 karakterlik değer gir, "Sisteme Giriş Yap" düğmesine tıkla,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">1-8 arasındaki testleri tekrarla, "Sisteme Giriş Yap" düğmesine tıklamak yerine klavyedeki ENTER tuşuna bas,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"> T.C. Kimlik No alanına geçerli bir değer gir ve e-Devlet Şifresi alanına geçerli değer gir, "Sisteme Giriş Yap" düğmesine tıkla,</span></li>
</ol>
<br />
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">Yukarıda tanımlanan 10 (aslında 17) adet teste daha pek çok test eklenebilir. </span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">Görüldüğü üzere sadece 2 tane alan için bile bu kadar test tanımlanabiliyorken, yüzlerce ekran ve binlerce veri giriş alanı / kontrol düğmesi içeren, birden fazla yazılım ve donanımın entegre olduğu, yedekli veritabanı sistemleri, yük dengeleyiciler, CBS yazılımları, masaüstü / web / mobil arayüzleri olan devasa bir sistemde, yapılabilecek testlerin sayısı (sonsuz olmasa bile) on binlere ulaşabilir.</span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">Peki soru şu: Testler ne zaman biter?</span></div>
<div>
<ol>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Atanan efor / süre bittiğinde: Proje takviminde test için ayrılan süre bittiğinde,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Test durumları belirli bir başarı yüzdesine ulaştığında,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Hata oranı belirli bir yüzdenin altına indiğinde,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Tüm gereksinimler %100 doğrulandığında</span></li>
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><i>Gereksinimlerin %100 doğrulanmış olmasının, geçilebilecek tüm patikalardan geçildiği anlamına gelmediğini de belirteyim.</i></span></li>
</ul>
</ol>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">Anlaşıldığı üzere, bir sistemi %100 test etmek hem ekonomik değil hem de kimi durumlarda mümkün değildir.</span></div>
</div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><i>Bunun istisnası, görev-kritik yazılımlardır; hata yapması durumunda insan yaşamına ve ülke güvenliğine ciddi zararları olabilecek yazılımlar için yazılan birim testlerin %100 kapsama oranına sahip olması beklenmektedir.</i></span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><i><br /></i></span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">Peki, madem sistemi %100 test etmek ekonomik / mümkün değil, o zaman "nasıl bir test stratejisi izlersek hem sistemi yeterli derecede test etmiş oluruz hem de hataların büyük kısmını müşteri ortamına kurulum yapılmadan önce tespit etmiş oluruz?".</span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">Bu da bir başka yazının konusu: En Uygun Test Stratejisini Nasıl Belirleriz?</span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-34543319762315064592018-03-19T13:40:00.002-07:002018-03-19T13:41:04.393-07:00Yazılım Testi ile Sistem Testi Arasında Ne Fark Vardır?<span style="font-family: Trebuchet MS, sans-serif;">Sistem, yazılım ürünleri ile (kimi zaman) donanım ürünlerinin birleşiminden oluşmuş yapıya verilen isimdir.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;">Yazılım ise sadece yazılım ürünleri ve destekleyici konfigürasyon ve veri dosyalarından oluşan yapıya verilen isimdir.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Eğer geliştirilen ürün, sadece yazılım parçalarından oluşuyorsa, bu bütüne yazılım sistemi adı da verilebilmektedir.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Test açısından bakıldığında yazılım testi ile ifade edilen;</span><br />
<br />
<ul>
<li><span style="font-family: Trebuchet MS, sans-serif;">yazılım seviyesi gereksinimlerin doğrulandığı,</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">normal girdiler haricinde sınır değerlerin, boş değerlerin, hatalı ve eksik değerlerin de testlere dahil edildiği,</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">testin akışının (test betiği / test durumu) sadece hedeflenen fonksiyonu test ettiği </span></li>
</ul>
<div>
<span style="font-family: Trebuchet MS, sans-serif;">yapı anlaşılır.</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;">Sistem testi dendiğinde ise;</span></div>
<div>
<ul>
<li><span style="font-family: Trebuchet MS, sans-serif;">sistem seviyesi fonksiyonel gereksinimler ile kalite karakteristiklerinin doğrulandığı,</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">(çok büyük çoğunlukla) sadece normal girdilerin testlere dahil edildiği,</span></li>
<ul>
<li><span style="font-family: Trebuchet MS, sans-serif;">çünkü yazılım seviyesi testlerde ekranlardaki / servislerdeki sınır değerler vesaireyi zaten test ettik,</span></li>
</ul>
<li><span style="font-family: Trebuchet MS, sans-serif;">belirli bir operasyonel konsept senaryosu kullanılarak sistemi baştan sona bir ana akış dahilinde test eden,</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">yazılımın, sistemin diğer bileşenleri olan donanım ürünleri etkileşiminin de test edildiği,</span></li>
</ul>
<div>
<span style="font-family: Trebuchet MS, sans-serif;">bir yapı anlaşılır.</span></div>
</div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;">Yazılım testleri de birer senaryo dahilinde işletilir ama bu senaryolar sadece bir veya birkaç fonksiyonu içerir. </span></div>
<div>
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-74814029680679881752018-03-03T13:30:00.001-08:002018-03-03T13:30:21.610-08:00Taşınabilirlik Gereksinimi Örnekleri<span style="font-family: "trebuchet ms" , sans-serif;">Yazılım sisteminin bulunduğu mevcut donanımdan veya yazılım ortamından bir başka donanıma / ortama kolay taşınabilmesine yönelik gereksinim türüdür.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Örnekler:</span><br />
<br />
<ol>
<li><span style="font-family: trebuchet ms, sans-serif;">Hesap Hareketleri İşleme Sistemi tarafından kaydedilen tüm zaman damgaları kalıcı depolama birimine yerleştirildiklerinde Evrensel Koordine Zaman yapısında olmalıdır.</span></li>
<li><span style="font-family: trebuchet ms, sans-serif;">Bir zaman değerinin kullanıcıya görüntülendiği her yerde zaman kuşağı belirgin olarak görüntülenmelidir.</span></li>
<li><span style="font-family: trebuchet ms, sans-serif;">Ürünün, önümüzdeki sene Avrupa pazarında satışı hedeflenmektedir.</span></li>
<li><span style="font-family: trebuchet ms, sans-serif;">Ürün, işyeri ofislerinde çalışacak şekilde tasarlanmıştır ancak, üretim montaj fabrikalarında çalışacak olan bir sürüm de amaçlanmaktadır.</span></li>
<li><span style="font-family: trebuchet ms, sans-serif;">Sistem, Microsoft Windows 10 ve Macintosh işletim sistemleri için geliştirilmelidir.</span></li>
<li><span style="font-family: trebuchet ms, sans-serif;">"EvMuhasebesi" yazılımı en az aşağıdaki özelliklerdeki kişisel bilgisayarlar veya iş istasyonlarına taşınabilir olmalıdır:</span></li>
<ol>
<li><span style="font-family: trebuchet ms, sans-serif;">En az 16-bit renk destekli 15 inç ve üzeri monitör,</span></li>
<li><span style="font-family: trebuchet ms, sans-serif;">Asgari 1GB disk alanı.</span></li>
</ol>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-62848442851397185152018-03-03T03:57:00.001-08:002018-03-03T03:57:12.701-08:00Bütünlük Gereksinimi Örnekleri<span style="font-family: Trebuchet MS, sans-serif;">(Integrity'nin karşılığı olarak Bütünlük - Tamlık kullanılmakta. Bu tanıma Dürüstlük kavramını da eklemek gerekiyor)</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Yazılım sistemi tarafından idame ettirilen verinin kesin, tam, gerçek ve doğru olma seviyesine yönelik gereksinim türüdür.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Örnekler:</span><br />
<br />
<ol>
<li><span style="font-family: Trebuchet MS, sans-serif;">Tüm mali değerler noktadan sonra 2 haneye kadar doğru olmalıdır.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Depo sıcaklık değerleri artı / eksi 2 santigrat derece kesinliğe sahip olmalıdır.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Proje belgelerinde yapılan değişikliklerin sebebi bir veritabanı veya eşdeğer bir teknoloji ile kayıt altına alınacak ve düzenli olarak yedeklenecektir. Bu işlem, disklerde veri kaybı olması durumunda belgelerde yapılan değişiklikleri belirlemek için gerekmektedir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Kredi Sorgulama Sistemi, tüm yuvarlama hesaplarını önce noktadan sonra 5 haneye kadar yapmalı, ardından da noktadan sonra 2 haneye kadar yapmalıdır.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Sistem verisinin bütünlüğü, dahili kontrol sistemi tarafından saniyede 2 defa gözden geçirilmelidir; eğer veride tutatsızlık tespit edilirse, sistemin işlem yapmasına izin verilmemelidir.</span></li>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-89416592221454403662018-02-28T11:53:00.001-08:002018-02-28T11:53:30.584-08:00Gizlilik Gereksinimi Örnekleri<span style="font-family: Trebuchet MS, sans-serif;">Yazılım sisteminin hassas veriyi koruma ve sadece yetkili kullanıcıların erişimine izin verme derecesini belirleyen gereksinim türüdür.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Örnekler:</span><br />
<br />
<ol>
<li><span style="font-family: Trebuchet MS, sans-serif;">T.C. Kimlik Numarası'nın sisteme girişi sırasında veya sonrasında hiçbir kısmı görüntülenmeyecektir. Basılı belgeler üzerinde sadece son 4 rakamı görünür olacaktır.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Hasta Verileri Sistemi sadece hastanın ıslak imzalı izni olduğu durumlarda hastanın kayıtlarına erişim izni verecektir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Sistemde kayıtlı her veri türünün gizlilik dereceleri olacaktır. Her veri türü içindeki tekil veriye farklı seviyelerde gizlilik dereceleri atanabilecektir. Bir kullanıcı sadece kendi yetki seviyesi ve bunun altındaki seviyedeki gizlilik derecesine sahip veriye erişim sağlayabilmelidir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">"Gizli" gizlilik derecesindeki ve daha üst seviyedeki gizlilik derecesindeki veri hiçbir surette harici bir ortama kaydedilemeyecek ve/veya basılı hale getirilemeyecektir.</span></li>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-37177579029437568482018-02-28T11:42:00.003-08:002018-02-28T11:42:54.650-08:00Kullanılabilirlik Gereksinimi Örnekleri<span style="font-family: Trebuchet MS, sans-serif;">Kullanıcının, sistem ile etkileşim kurarak öğrenme, işlem yapma, girdileri hazırlama ve çıktıları yorumlamasının kolay olmasına yönelik gereksinim türüdür.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Aşağıdaki gereksinim örnekleri okuduğunuzda göreceksiniz ki Kullanılabilirlik gereksinimlerini sadece yazılım ürünleri için değil hemen hemen tüm ürün ve hzimetler için geçerlidir. Ve bunları doğrulamak için A/B Testi ve daha genel olarak Odak Grubu (Focus Group) çalışmaları yapmak gerekmektedir.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Örnekler:</span><br />
<br />
<ol>
<li><span style="font-family: Trebuchet MS, sans-serif;">Ürün, tek el ile erişkin nüfus (18 - 80 yaş) tarafından kolaylıkla kullanılabilmelidir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Gıda otomatı, herhangi bir eğitim gerektirmeden, erişkin nüfus tarafından kullanılabilmelidir. Otomatı ilk defa gören insanların en az %95'i başarılı bir şekilde alışveriş yapabilmelidir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Ürünün yeni sürümünün kullanımının, bunu değerlendirecek kullanıcıların en az %90'ı tarafından "eski sürüme göre daha kolay" olarak değerlendirilmelidir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Deneyimli bir sipariş giriş personeli, tedarikçi kataloğundan seçilen bir ürün için azami 7 dakika ve ortalama olarak 4 dakikada sipariş girebilmelidir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Türkçe bilmeyen kullanıcılar, herhangi bir eğitim ihtiyacı olmadan, ürünü kullanabilmelidir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Daha önce ATM cihazı kullanmış olan banka müşterileri, ortalama 2 dakika içinde ATM'den para çekebilmelidir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Daha önce ATM cihazı kullanmamış olan müşterilerin en az %90'ı ortalama 4 dakika içinde ATM'den para çekebilmelidir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">ATM'den ayda en az 6 defa para çekmiş olan müşteriler ortalama olarak 30 saniyede ATM'den para çekebilmelidir.</span></li>
</ol>
<div>
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-56365192968193097532018-02-27T09:42:00.000-08:002018-02-27T09:42:39.717-08:00Emniyet Gereksinimi Örnekleri<span style="font-family: Trebuchet MS, sans-serif;">Yazılım sisteminin insanlara veya hedef kullanım alanı içindeki ortama zarar vermesini engellemeye yönelik gereksinim türüdür.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Örnekler:</span><br />
<br />
<ol>
<li><span style="font-family: Trebuchet MS, sans-serif;">Operatör Koruması "Etkin" durumuna gelmeden Radyasyon Sistemi işlem yapmaya izin vermemelidir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">İlaç İzleme Sistemi, doktor tarafından belirtilmiş azami miktardan daha fazla oranda doz kullanımına izin vermemelidir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Yiyecek Satış Makinesi, bir soğuk gıda ürününün ısısı 4 derecenin üzerine çıkması durumunda bu ürünün satışına izin vermeyecektir.</span></li>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-54231717007641501602018-02-27T03:55:00.002-08:002018-02-27T03:55:36.846-08:00Tekrar-Kullanılabilirlik Gereksinimi Örnekleri<span style="font-family: Trebuchet MS, sans-serif;">Yazılım sisteminin bir parçasının diğer bir sistem tarafından kullanımı için dönüştürülmesine yönelik gereksinim türüdür.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Örnekler:</span></span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<ol>
<li><span style="font-family: Trebuchet MS, sans-serif;">Elektronik Fon Transferi ödeme seçeneğinin geliştirilmesi öyle yapılmalıdır ki organizasyonun diğer bölümleri tarafından tekrar kullanılabilsin.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">İstemci cihaz üzerinde çalışması için geliştirilen tüm yazılımlar, destekleyici bir ortamın indirilmesini gerektirmeden kişisel bir bilgisayar üzerinde çalışacak şekilde geliştirilmelidir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Devlet arşivlerindeki basılı materyal elektronik hale dönüştürülürken, var olan bilginin farklı maksatlarla kullanılabilmesi için farklı formatlarda sunulabilmesinin sağlanması gerekmektedir. Bilgiye erişim aynı zamanda fikrî mülkiyet yasalarına uygun bilgileri de içermelidir.</span></li>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-9516216149177995802018-02-26T13:52:00.003-08:002018-02-26T13:52:41.479-08:00Yüksek Seviyede Verimli Test Mühendislerinin 5 Özelliği<div style="background-color: white; margin-bottom: 1.5385em; padding: 0px;">
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;">Her meslek alanının uygulayıcılarının kendi alanlarında en iyi olabilmeleri için sahip olmaları gereken bazı yetkinlikler vardır.</span></div>
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;">Yazılım Testi de bu açıdan bir istisna değildir. Sıkı çalışma ve adanmışlık her meslek için önemlidir. Bu yazıda, test mühendislerinin alanlarında en iyi olmaları için kesinlikle kaçınılmaz olan 5 özellik sıralanmıştır. Sizin de önemli gördüğünüz yetkinlikler varsa, bunları yorum olarak ekleyebilirsiniz.</span></div>
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<span style="color: red; font-family: Trebuchet MS, sans-serif;"><b>#1) Merak:</b></span></div>
<div style="background-color: white; margin-bottom: 1.5385em; padding: 0px;">
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;">Merak, listenin ilk sırasındadır. Bir test mühendisi olarak, kesin olarak belirli olmayan her şeyi sorgulamak durumundayız. "Acaba 'Kaydet' düğmesine ard arda 2 kere tıklarsam ne olur? Veya 3 kere? Veya 'Kaydet'e tıkladıktan hemen sonra 'ESC' tuşuna basarsam ne olacak? Alanları boş bırakıp 'Kaydet'e basarsam ne olacak?" diye merak etmek gerekiyor.</span></div>
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;">Zaten deneyimli bir test mühendisi iseniz bu tarz bir yaklaşıma çoktan sahip olmuşsunuzdur. Eğer meslekte yeni iseniz, bu yaklaşıma en kısa zamanda sahip olmanızı tavsiye ederim. Eğer soruları siz sormazsanız, ürünün son kullanıcısı soracaktır ve hatalarla karşılaşabilirler. Eğer düşünebildiğiniz tüm senaryoları test etmezseniz, son kullanıcınız edecektir.</span></div>
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<span style="color: red; font-family: Trebuchet MS, sans-serif;"><b>#2) Detaylara Gösterilen Dikkat:</b></span></div>
<div style="background-color: white; margin-bottom: 1.5385em; padding: 0px;">
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;">Bu madde gerçekten çok önemlidir ama dürüst olmak gerekirse bunun insanın içinden gelmesi gerekir; öğretilebilecek bir yetkinlik değildir. </span></div>
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;">Detaylara yeterince dikkat gösteren biriyseniz uygulamadaki en ufak bir kusur / uygunsuzluk gözünüze takılıp sizi rahatsız edecektir.</span></div>
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;">Bu şekilde çalışarak yaptığınız testlerden memnun kaldınız mı? O halde bunu bir alışkanlık haline getirin. Bu şekilde doğmamış olabilirsiniz ama bu konuda özen gösterirseniz zamanla bu yetkinliğe ulaşabilirsiniz.</span></div>
</div>
<div style="background-color: white; font-stretch: normal; line-height: 1.1111em; margin: 1.6667em 0px 0.5556em; padding: 0px;">
<span id="5_Ability_to_Focus_and_Dissect" style="margin: 0px; padding: 0px;"><span style="color: red; font-family: Trebuchet MS, sans-serif; margin: 0px; padding: 0px;"><b>#3) Odaklanabilme ve Parçalara Ayırabilme Yeteneği</b></span></span></div>
<div style="background-color: white; margin-bottom: 1.5385em; padding: 0px;">
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;">Kısaca ifade edersek, büyük resimden ayrılmadan zihnimizi en küçük detaylara odaklayabilme yeteneğidir. </span></div>
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;">Bir test mühendisi olarak, büyük resmin gözünüzü korkutmasına veya dikkatinizi dağıtmasına izin vermemelisiniz. Sistemin tamamına ayrı gözle bakarken, sistem içindeki birimlere tek tek bakmanız gerekecektir. Bu sayede, o en küçük birimi bile kendi başına ele alıp test edebilirsiniz.</span></div>
<div style="color: #222222;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<span style="color: red; font-family: Trebuchet MS, sans-serif;"><b>#4) Yapıcı İletişim:</b></span></div>
<div style="background-color: white; color: #222222; margin-bottom: 1.5385em; padding: 0px;">
<span style="font-family: Trebuchet MS, sans-serif;">Yapıcı iletişim bir yetkinlikten ziyade bir kişilik özelliğidir. İyi bir iletişim kurabilmek için öncelikle karşıdaki kişiyi dinlemeli, söyleyeceklerimizi tartmalı, uygun bir ton belirlemeliyiz. Kimi insanlarda bu özellik doğal olarak vardır, kimileri de üzerinde çalışarak sonradan geliştirebilirler. Peki bu neden önemli?</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Çünkü aslında test mühendisliği teknik bir iş olsa da aslında sosyal bir iştir. İnsanlar tarafından, insanlar için geliştirilen bir ürünü test ettiğimiz için hem kullanıcı/müşteri ile hem de yazılım geliştiren ekip ile yapıcı bir iletişim kurmamız sorunların krize dönmesini engellediği gibi, ürünün çok daha hızlı ve amaca uygun olarak geliştirilmesine katkı sağlar.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Bu konu gerçekten çok önemli olduğu için, test mühendisliğinde iletişim konularda daha önceden yazdığım yazılara da bakmanızı öneririm. "<a href="https://serdartorun.blogspot.com.tr/search/label/Test%27in%20Sosyal%20Y%C3%B6n%C3%BC" target="_blank">Testin Sosyal Yönü</a>".</span></div>
<div style="background-color: white; font-stretch: normal; line-height: 1.1111em; margin: 1.6667em 0px 0.5556em; padding: 0px;">
<span style="color: red; font-family: Trebuchet MS, sans-serif; margin: 0px; padding: 0px;"><b>#5) Kendini Sürekli Geliştirme</b></span></div>
<span style="font-family: Trebuchet MS, sans-serif;">Hemen hemen her meslek alanı zamanla gelişim göstermektedir. Ancak teknoloji yoğun alanlar özellikle de yazılım mühendisliği neredeyse her gün yeni yöntemler ve teknolojiler doğurmaktadır.<br /> </span><span style="font-family: Trebuchet MS, sans-serif;"><br /></span><span style="font-family: Trebuchet MS, sans-serif;">Bir test mühendisi olarak gelişmelerden uzak kalmak, meslekte geriye düşmemize sebep olacaktır. Fonksiyonel, performans, güvenlik ve <a href="https://serdartorun.blogspot.com.tr/search/label/Fonksiyonel%20Olmayan%20Gereksinimler" target="_blank">kalite karakteristikleri</a> (güvenilirlik, erişebilirlik, vs.) gibi pek çok farklı test türü ile ilgili kısa aralıklarda yeni ürünler çıktığı gibi Web, mobil ve diğer platformlarda da sürekli yenilikler yapılmakta.<br /> </span><span style="font-family: Trebuchet MS, sans-serif;"><br /></span><span style="font-family: Trebuchet MS, sans-serif;">Bu ürün ve yeniliklere çok değil 1 sene uzak kalmak bile sıradanlaşmamıza sebep olacaktır.</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-72981973969374691032018-02-26T13:03:00.003-08:002018-02-26T13:53:12.397-08:00Esneklik Gereksinimi Örnekleri<span style="font-family: "trebuchet ms" , sans-serif;">Yazılımın farklı ortamlara, konfigürasyonlara ve kullanıcı beklentilerine kolay uyum sağlamasına yönelik gereksinim türüdür.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Örnekler:</span><br />
<ol>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Uygulama, gelecekteki çoklu dil kullanımına uygun olmalıdır. Bu uygunluk şunları içermelidir:</span></li>
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Veritabanının yapısı öyle olmalıdır ki çoklu dil desteğini desteklemek için ek bileşenler veya mevcut bileşenlerin değiştirilmesi gerekmemelidir,</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Kullanıcı, kişisel bilgilerini girerken tercih ettiği dili seçebilmelidir.</span></li>
</ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Kullanıcıya görüntülenen hiçbir metin, programın kaynak kodu içinde olmamalıdır. Kullanıcının gördüğü her metin, kaynak kodun güncellenmesine gerek olmadan değiştirilebilmelidir. </span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Faturalama sistemi birden fazla para biriminde fatura kesme işlemi yapabilmelidir. </span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Ders programı yönetim sistemi birden fazla bağımsız dersin birden fazla takvim seçeneğini desteklemelidir. Dersler hakkındaki bilgiler birbirinden bağımsız olmalıdır ve kullanıcılar kayıtlı olmadıkları derslerle ilgili hiçbir bilgiye erişememelidir.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Sistem, kaynak kodunda herhangi bir değişiklik gerektirmeden, yeni bir kullanıcı bildirim yönteminin uygulama içinden tanımlanabilmesine imkan sağlamalıdır.</span></li>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-58018015355644504512018-02-25T14:55:00.002-08:002018-02-25T14:55:35.446-08:00Platform Uygunluk Testi<span style="font-family: Trebuchet MS, sans-serif;">Platform Uygunluk Testi'nin amacı, geliştirilen ürünün hedef işletim sistemlerinin tamamında sorunsuz olarak çalıştığının doğrulanmasıdır. Web ürünlerinin farklı internet gezginlerinde çalışmasına yönelik testler de bu kapsamda değerlendirilebilir.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Normal şartlar altında, kurulum işlemleri hariç olmak üzere, ürünün arayüzünün ve yeteneklerinin her platformda birebir aynı olması beklenmektedir. Ancak, test adımlarında komut ekranı / terminal ekranında yazılması gereken komutlar varsa, Windows ve Linux temelli işletim sistemleri için bu komutlar farklı olduğundan, bu detay test adımlarında belirtilmelidir.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: "Trebuchet MS", sans-serif;">Bu test türünün zorluğu, aynı testlerin her bir platform için tekrarlanması gerekliliğidir. O sebeple, mümkün mertebe test otomasyonu yapılarak harcanacak eforun asgari seviyeye indirilmesi önemlidir [test otomasyonu için harcanacak efor da ayrıca göz önünde bulundurulmalıdır, çünkü kimi durumda otomasyon kodunun yazılması, bakımının yapılması, farklı platformlarda çalışır olduğunun garanti edilmesi çok zor olabilir].</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Bu test türünde karşılaşılabilecek bazı sorunlar şunlardır:</span><br />
<br />
<ul>
<li><span style="font-family: Trebuchet MS, sans-serif;">Kütüphane / eklenti uyumsuzlukları,</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Konfigürasyon dosyalarındaki dizin adreslerinin gösterim farklılıkları sebebiyle dosyalara erişim sorunu,</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Performans farkları,</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Dosya formatlarındaki farklılık sebebiyle gösterim sorunları.</span></li>
</ul>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-58723418240479358352018-02-25T14:14:00.000-08:002018-02-25T14:14:02.391-08:00İdame Edilebilirlik Gereksinimi Örnekleri<span style="font-family: Trebuchet MS, sans-serif;">Yazılım sistemindeki arızaların bulunması ve düzeltilmesine yönelik olan gereksinim türüdür.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: "Trebuchet MS", sans-serif;">Örnekler:</span><br />
<br />
<ol>
<li><span style="font-family: Trebuchet MS, sans-serif;">Müşteri hizmetleri çağrı merkezi, sorun raporlarının %95'ini 2 saat içerisinde analiz etmelidir. "Acil" olarak sınıflandırılan arızalardan %98'i 3 iş günü içerisinde düzeltilmelidir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Uygulama geliştirme süreci, 2 iş günü içinde tüm sistemi tekrar test eden bir regresyon test prosedürü içermelidir.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Bir bakım mühendisi, geliştirme ve test eforu da dahil olmak üzere, yasal mevzuatta yapılan değişiklikleri en geç 24 iş saati içerisinde sisteme yansıtmalıdır.</span></li>
<li><span style="font-family: Trebuchet MS, sans-serif;">Sistem, bakım amacıyla 24 saatten daha uzun bir süre kapalı kalmamalıdır.</span></li>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2935672770933915251.post-2752127064053642322018-02-24T02:20:00.000-08:002018-02-24T02:26:01.848-08:00Kurulabilirlik Gereksinimi Örnekleri<span style="font-family: "trebuchet ms" , sans-serif;">Yazılım sisteminin, hedef ortama kurulumu, kurulumun kaldırılması veya tekrar kurulmasının kolay ve zahmetsiz olmasını sağlamaya yönelik gereksinim türüdür.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Örnekler:</span><br />
<ol>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Sistemin veya 3.parti ürünlerinin detayını bilmeyen ama üzerine kurulum yapılacak işletim sistemi ile ilgili yeterli bilgiye sahip bir sistem yöneticisi tarafından sistemin ana sunucu yazılımının kurulumu mümkün olmalıdır.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Yazılım sistemi hedef işletim sistemi olan Windows 10, Ubuntu Linux ve Redhat Linux işletim sistemleri üzerine kurulum arayüzü üzerinden kurulabilmelidir.</span></li>
<ol>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Kurulum arayüzünde belirtilen tüm alanların yanında detay açıklamaları anlaşılabilir bir dilde yazılmalıdır.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Kurulumun yapılacağı hedef işletim sistemi, kurulum dizini, veritabanı bağlantı ayar bilgileri, vekil sunucu ayar bilgileri yine bu arayüz üzerinden girilebilmelidir. Böylece kullanıcı, kurulum sonrasında konfigürasyon dosyalarında değişiklik yapmak zorunda bırakılmamalıdır.</span></li>
</ol>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Ana sistemin yeni bir sürümü yayınlandığında, sistemin güncellemesi bu yeni sürüm ile yapılabilmelidir. Bu esnada kullanıcı bilgisayarlarındaki ve/veya tüm sunuculardaki kayıt dosyaları, konfigürasyon ayarları, kullanıcı verileri, veritabanı dosya ve tabloları yapılan bu güncellemeden olumsuz etkilenmemelidir / silinmemeli / kaybolmamalıdır.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Yazılım sisteminin kurulu olduğu ortamdan kaldırılması, Kurulum Kaldırma yazılımı kullanılarak yapılmalıdır. </span></li>
<ol>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Kurulumun kaldırılması esnasında, kaldırılan yazılımın, sistemde yüklü diğer yazılımlar ile ortak kullandığı dosyalar silinmemelidir.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Kurulum Kaldırma yazılımı, sadece yazılımın mı yoksa hem yazılım hem de verilerin mi silinmek istediği bilgisini kullanıcıdan almalıdır ve bu doğrultuda silme işlemini yapmalıdır.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Kurulum Kaldırma yazılımı, yazılım sisteminin kendi oluşturduğu dosya ve kayıtlar ile kullanıcılar tarafından oluşturulmuş kayıtların yedeklenmesine imkan veren bir yetkinliğe sahip olmalıdır.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Yedeklenme işlemi sonrasında, yedeklenen veri ile yedeği oluşturan kaynak veri karşılaştırması yapılarak eksik veri olmadığı doğrulanmalıdır.</span></li>
</ol>
</ol>
Unknownnoreply@blogger.com0