Skip to main content

Posts

Turkey Software Quality Report 2012 - Türkiye Yazılım Kalitesi Raporu 2012

Turkish Testin Board (TTB) tarafından Türkiye'de yazılım kalitesi hakkında yapılan araştırma sonuçları Türkiye'de çıkartılan yazılımın kalitesi hakkında özet bilgiler sunmaktadır. Bu rapor ile bazı verilen sunulmuş ve bu veriler ışığında bazı çıkarımlar yapılmıştır. Bu yazımda bu 2012 - 2013 için hazırlanmış rapor hakkında yorumlarımı yazmak istedim. Türkiye Yazılım Kalitesi Rapor 2013 Öncelikle raporu hazırlayan dernek (TTB) hakkında kısa bilgi vermek gerekir. TTB 2006 yılında ISTQB'ye bağlı olarak kurulmuş ve Türkiye'de test eğitimi ve sertifikasyonu vermek üzere görevleri bulunan bir dernektir. Hatırlamak gerekirse ISTQB - uluslar arası test ve kalites derneği 2002 yılında Belçika'da kurulmuş bir dernektir ve 70 ülkede faliyet göstermektedir. Türkiye gibi ülkede dernekleride mevcuttur, tam listesini buradan görebilirsiniz. Bu derneklerin asıl amacı test eğitimi vermek ve sertifikasyonu yaymaktır. Bu doğrultuda yaklaşık olarak eğitim başına 1000$ ve ser

Do Testers and Programmers have Conflicting of Interests?

Testers test the applications which are developed by developers belonging the output of the analysts. Analysis - Development - Test is trivet for software development projects and absence of one or not ideally running one of these steps can lead software project to fail. However, in high level thinking we may characterize analysts as solver , developers as producer, and testers as destructor because the major tasks of each role need these kinds of abilities. As a consequence, developers and testers have different abilities and different tasks, which may be concluded that they have opposite tasks such as one is to develop and one is to destruct the software; so they may have seen as having conflict of interest. In this post, I want to explain why the testers needs to search a way to destruct the software product which developers have already made an effort on it. The testing stage, for me not a stage it is a groups of activities from beginning to the end of software development lif

Differences Between Testing and Checking

Testing is a group of activities which aim to make an application better by finding drawbacks. This explanation is not enough for successful testing result because every activities like checking, control, inspection, supervision or something apparently seen as testing activity do not fully accomplish what testing can do. In this post, I want to give some informations about the differences between testing and something such as checking which non-testing-knowledge people may see them as same.  First of all, let's look at the definition of testing by IEEE standard documentation IEEE - 829.1983 , this documentation sets the basics of testing and thereafter ISEB and ISTQB have used this standard for improving their software testing base. Definition of the software testing by IEEE is as follows, as you can see it in this reference : "Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs

Well Defined Load Testing Structure

Testing functional requirements of your system in the way how it behaves under different types of load is a basic explanation for performance testing. However we test the functions of the system, performance testing is classified under " non-functional testing " because we don't aim to test the functions we want to test how the system is functioning under different amount of loads. Therefore  performance testing should be performed after the functional testing has been completed . Performance testing is crucial if you are testing an application which has an un-predictable load of user or if you have specified the quality of service in your Service-Level Agreement (SLA). Performance can not be defined by one of testing criteria since there are number of parameters in the system. I mean by this, there are subsets for performance testing which can be listed as Performance Testing Load Testing Endurance Testing Stress Testing Spike We can explain the differences bet

AgileTurkey: 2013 Software Productivity Report

Yazılım geliştirme metodolojilerini: Waterfall (Şelale), V-Model (Validation and Verification: Sağlama ve Doğrulama), Iterative (yinelemeli) ve Agile (çevik) olarak genel bir sınıflama içerisine alabiliriz. Her bir metodolojinin kendine özel yapısı olmakla birlikte Agile diğerlerinden ayrılmaktadır. Agile iteratif yazılım geliştirmeden esinlenilmiş ve bir grup oluşumu vardır ve grubun başarı kriteri tamamen grubun çıkardığı işin kalitesiyle ölçülmektedir. Grup içerisindeki bütün üyeler deneyimli, iletişime açık ve yardımlaşmanın ön planda olduğu, plandan sapma durumunda herkes sorumluluğu üstenir. Daha fazla insan odaklıdır bu yüzden geliştirme ortamına uyum sağlamak ve saygı temel felsefesini oluşturur. 2001 yılında yayınlanan bir manifestosu vardır ve özetle Agile'nin ne olduğunu açıklamaktadır. Agile bir yazılım geliştirme metodolojisidir ve pratikte oluşturulmuş alt başlıkları vardır. Bunları genel olarak şu şekilde sıralayabiliriz: RUP (Rational Unified Process), Scrum, EP

Gamificaiton and Testing

Gamification is a new trend in design techniques which enables user to fill forms and to use applications in more interactive and entertaining way. It aims to increase  user engagement, Return on Investment (ROI), data quality, timeliness, and learning as it is defined by Mario Herger . If we think that in the internet/computer age, the majority of the people play games in generally in their early ages so we can say that the playing game get people familiarity and tendency to use effectively something created by/with belonging the rules of game (or game mechanics). Game mechanics are the rules which return applications like a game. In general, every game has a level and the end of level you may have prize and there is a turn to play again or pass to next level; every level you may have combination of decision and risk . The complete rules can be listed as: Turns, Action points, Auction or bidding, Cards, Capture/Eliminate, Catch-up, Dice, Movement, Resource management, Risk

Eşdeğer Aralık - Equivalence Partitioning Testing Hakkında Detaylar

Eşdeğer Aralık Test tekniği (Equivalence Partitioning Testing) bir kara kutu (black-box) test tekniğidir. Hatırlamak gerekirse, kara kutu test teknikleri uygulamanın iç yapısını bilmedğimiz durumlarda kullanılabilecek etkili bir yöntemdir. Amaç test için verilen sürede uygulamana üzerinde aynı etkiye sahip girdilerden daha az kombinasyon (test case) oluşturarak zaman daha verimli kullanmaktır. Eşdeğer aralık yöntemi, aynı bölgedeki değerler girdi olarak kullanıldığında aynı sonucu verir ön koşulundan çalışmaktadır. Örnekte verilen kod parçasında 5 yaş ve daha küçükler bebek , 6-17 yaş aralığında bulunanlar çocuk ve 18 yaş üstündekiler yetişkin olarak değerlendiriliyor. Böyle bir durumda eş değer (aynı sonucu veren) bölgeleri sayı doğrusu üzerinde görebiliriz. Bu yöntemle test etmek istediğimizde kullanabilceğimiz giriş değerleri sırasıyla TC1(3, 12, 25) veya kurala uygun başka değerler olabilir. Burada dikkat edilmesi gereken bir başka konu ise giriş değerlerini 0 ile +

Test Verisinin Verimli Kullanması

Test verisi test caselerin çalıştırılması sırasında kullanılmak üzere oluşturulmuş ve girdi olarak kullanılan her türlü bilgi ve belge niteliğindeki test argümanlarıdır. Testlerin tutarlı  ve başarılı olabilmesi için test verilerinde tutarlı olması gerekir bu yüzden teste başlamadan önce yapılması gerekli en önemli hazırlık test sırasında kullanılacak verilerin toplanmasıdır. Test case hazırlanırken ne gibi verilerle test edileceği kararlaştırılır ve bu veriler ile test aşamasında caseler çalıştırılır. Bazı durumlarda test verisi hazırlamak bazı kısıtlardan dolayı oldukca zordur veya uzun zaman alan işlerdendir. Elde bulunan az miktarda veriyi verimli kullanmak gerekir. Mümkün olduğunca yeniden kullanabilir hale getirmekte başak bir çözüm yoludur. Test verilerin zor toplandığı durumlarda önce test caseleri hazırlayıp veri hazırlama işini sona bırakmak test caseleri yeniden hazırlamaya neden olabilir. Bu gibi durumlar elde olan verileri ortaya yatırıp daha sonra bu verileri en verim

E-ticaret Sektöründe Kullanıcı Deneyimi Trendleri

http://www.o-media.ca/Content/UX Kullanabilirlik kelime anlamı itibari ile ingilizce "usability" kelimesine karşılık kullanılan bir kelimedir. Yazılım testi açısından baktığımızda ise üretilen ürünün kullanıcının ihtiyaçlarını karşılarken kullanıcıya sunması gereken kolaylıklar olarak tanımlanabilir. Buradaki bir diğer kafa karıştırıcı konu ise "kullanıcı ihtiyaçları" tanımıdır.  Sunulan ürünün kullanıcı kitlesi; kullanan kişilerin profili, yaş, eğitim durumları, el becerisi, zekası, deneyimleri, alışkanlıkları, beklentileri ve ... gibi sıralayabileceğimiz birçok etken vardır. Bu kadar çok etkeni göz önüne alarak herkes için en kolay kullanımı olan ürünü üretmek gerçek anlamada bir araştırma işidir. Tabiki kullanıcı ihtiyaçları denildiğinde defacto olmuş bazı gerçeklikler vardır fakat bilgi toplama  işi yapılarak gerçek kullanıcı profili ortaya çıkarmak ve bu veriler üzerine tasarım yapmak en mantıklı yol olacaktır. E-ticaret alanında düşündüğümüzd

Eggplant: Mobil Test Otomasyonu İçin Pratik Bİr Araç

Egglant Testing Tools Eggplant GUI (graphic user interface) ve mobil uygulamaların testlerinde kullanılabilecek olduk ç a yararlı bir test otomasyon aracı olarak görülebilir. Ayrıca perfomans testlerinde de kullanılabilme imkanı sunuyor. Kendine has bir dil ğeliştirilmiş ve bu sayede hızlı bir şekilde test scriptleri yazmak mümkün. Test suite üzerinde hiç bir yazılım bilgisi olmaksızın komutları ekleyerek istenilen script kolaylıkla hazırlanabilir. Burada değinilmesi gereken bir başka yenilik ise Image Doctor olarak adlandırılan bir özelliği ile resmi alınan buton veya herhangi bir objenin ekran üzerinde aratılarak buldugunda uygun fonsiyonu yerine getirmesi istenilebilir. Yani test edilen uygulamanın teknolojisi göz ardı edilebilir. Kaydedilen imajları tekrar tekrar farklı test case hazırlanırken kullanılabilir. Bu sayede hız kazanabilirsiniz. Eggplant vs Platform SUT (system under test) test edilecek sistem olarak geçen sistem demektir. Mobil cihazların testleri için