Skip to main content

Posts

Solution for Entegration of SpiraTest and Jira

SpiraTest is cheap but powerful test management tool. It has many useful features such integration to many open source and licensed testing and issue management tools, or automation host for HP QTP, IBM Rational Functional Tester, Selenium, TestComplete, the full list can be found here . Also it has requirement management, defect management, and there is a cycle for release - test set - test case - test run, and more can be found here . Jira is also well-known issue tracking tool and it used by many organisations. By Jira, you can track and follow the work items and easily manage the works. However it doesn't have basic testing activities so if you want to create test cases and manage the testing cycle Jira is not yet enough for these  activities. Using both of the tools, SpiraTest as test management tool, and Jira, as issue tracking tool, may lead some difficulties such as raising defect from SpiraTest and creating a related issue for development in Jira requires manual efforts.

Selenium Assertion Check Fails if There are More Than Four Assertions

As you know that selenium is a open source test automation framework for web application. Since it has many good features and being free make it usable for anyone develops or tests web application. However, if we compare it with well-known, highly cost licensed product selenium has some disadvantages such as, as far as I used it may be the main problem, there is no guaranty if the automation scripts works all the time. Even it works for a run successfully, it may give error after a few seconds of it first run. Therefore to fully utilize it, the drawbacks of  the selenium should be known and the scripts should be redesigned. In this post, I want to explain a selenium experiment about assertion. Last time I have faced an error related assertion check during automating a new form. Error is related to a error message which can not be found by webdriver and it waits for a trigger to next step. However if I run every assertion one by one there is no error and it finished successfully. E

Daha İyi Test Uzmanı Olmak İçin

Her işin doğası gereği iyi bir şekilde yapabilmesi için işi icra eden kişilerde bir takım özelliklere sahip olmak gerekebilir, belkide bunlar doğuştan gelen özellikler olduğu kadar sonradan da kazanılabilecek özellikler olabilir. Fakat kişi bu özelliklere sahip olsa bile işi gerektirdiği gibi yapamayabilir. Bu yüzden bazı şeylerin sonradan öğrenilmesi ve bazılarının ise alışkanlık kazanılarak devamlılığın sağlanması, yokluğunda doğabilecek hatalarından kaçınılması bakımından kişiye ek özellikler katabilecektir. Bu sayede daha işlerin çıkmasına olanak sağlayacaktır. Yazılım testi denildiğinde ise akla hemen " kişi dikkatli olmalı, hata bulduğunda doğru bir şekilde anlatmalı, hatanın anlatımını yeterince teknik dille anlatabilmeli, vb..." özelllikler sıralanabilir fakat bu özellikler test, analiz, yazılım geliştirme gibi akıl, sabır ve fazlaca emek isteyen bir profesyonel alan için yeterli gelmesi mümkün değildir. Test açısından bakıldığında bazı özelliklerin anlamı daha da ke

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

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