Skip to main content

Posts

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

Integration of Two open Source Test Automaiton Tools: Watir and Selenium

Selenium and Watir Selenium and Watir are both open source and well-known automation tools. The power of Selenium is great but sometimes it may lead some insufficient result for executing test cases, or some difficulties can be achieved by Watir easily, surely or wise verse. Therefore we can use Selenium and Watir together for automating web applications. In this post, I want to show a sample to illustrate how to use both of them in the same automation framework. Possibly you maybe find something more accurate than what I did, fell free to post your thoughts. I have used Selenium with Pyhton as a base automation framework and call Watir in Ruby which Watir can be just only implemented by it. If you use another language than Python, you should use its features. In the sample, sign up for MYHABIT is implemented as Watir function in the name sign_up() and it is called by Selenium.  To call the Watir, Python module must import Popen, PIPE, STDOUT from Subprocess like as f

Using Selenium Webdriver via Internet Explorer (ie) and Chrome

As it is known Selenium IDE is an extention for Firefox browser. And the Webdriver is an application to send commands to firefox to drive it. As a default set-up, firefox comes with it for running automated test cases. However, sometimes running compatibiliy related test cases via, especially, Internet Explorer but Chrome may be needed. If you want to run your test cases via other browsers you need to do some configuration changes in your test environment. Download the webdriver of browsers for selenium web site: For Internet Explorer click here and dowload  IEDriverServer 32bit or 64bit depending on your system For Google Chrome, dowload Chronium webdriver click here   and dowload chromedriver_win Put the webdrivers to your path wich your executable files are present. It is generally like this C:\Windows\System32    You need to allow IE Driver and Chrome Driver to access your network: Allow Access to IE Driver and Chrome Driver Finally call the drivers you want to use

Selenium drop-down seçimi

Eğer web teknolojileri üzerine geliştirme yapıyor iseniz Selenium'u mutlaka duymuşşunuz. Kısaca selenium browser üzerinde test otomasyonu yapmaya yarayan bir firefox eklentisidir. İyi kullanıldığında etkili sonuçlar verir. Ücretsiz, farklı browserlarda da kullanılması, bol miktarda bilgi birikimi (dokümantayon, web sayfası ve blog) olması ve farklı dillerde test caseleri yazmaya olanak sağlaması ise avantajlarıdır.  Selenium'da script dilini Python seçildiğinde oto kayıt drop-down menüsünden bir seçenek seçildiğinde çoğu zaman alltaki gibi Select fonksiyonu içerisinde web objelerinde arayacağı fonksiyonu yazar ve görülebilen secenekler üzerinde arama yapar. Select(driver.find_element_by_id("id_promotion")).select_by_visible_text("OPTION") Fakat bu satırı çalıştırdığınızda aşağıdaki gibi bir Select komutunun tanımlanmadığı ile ilgili bir hata ile karşılaşırsınız: NameError: global name 'Select' is not defined File "D:\automatio