Professional Documents
Culture Documents
CPE 310 SOFTWARE ENGINEERING_ week_13_Automated Testing
CPE 310 SOFTWARE ENGINEERING_ week_13_Automated Testing
CPE 310 SOFTWARE ENGINEERING_ week_13_Automated Testing
Spring Semester-2021
Dr. Nesrin AYDIN ATASOY
Week 12: Automated Testing
Automated tests use software to perform tasks without the manual instruction of a tester.
In manual testing, the tester will write the code they want to execute or plan the software
path they want to check is working properly. Automated tests take care of such things on the
testers behalf. Here’s a quick list of automated software and QA tools that QA analysts
should know:
Selenium
Cucumber
Katalon Studio
1. Selenium
Selenium, Web uygulamalarının testini otomatikleştirmek için kullanılan açık kaynaklı, esnek
yapıya sahip olan bir kütüphanedir. Selenium test komut dosyaları Java, Python, C# ve daha
pek çok farklı programlama dillerinde yazılabilir. Bu test komut dosyaları Chrome, Safari,
Firefox, Opera gibi çeşitli tarayıcılarda çalışabilir ve ayrıca Windows, Mac OS, Linux, Solaris
gibi çeşitli platformları da destekler.
Selenium ana olarak, test amaçlı web uygulamalarını otomatikleştirmek içindir, ancak
kesinlikle bununla sınırlı değildir. Seçtiğiniz bir tarayıcıyı açmanıza ve bir insanın yapacağı
gibi görevleri gerçekleştirmenize olanak tanır. Örneğin:
Butonlara tıklama
Formlara girme
Web sayfalarda belirli bilgileri arama
Gerekli verileri çekme
Şunu unutmamak gerekir ki Selenium gibi kütüphaneler ile veri kazıma, çoğu sitenin hizmet
şartlarına aykırı bir davranıştır. Çok sık veya kötü niyetli şekilde veri çekerseniz, IP adresiniz
o web sayfasından yasaklanabilir.
Selenium IDE
Selenium IDE (Entegre Geliştirme Ortamı) bir Firefox eklentisidir. Selenium Suite’teki en
basit çerçevelerden biridir. Komut dosyalarını kaydetmemizi ve oynatmamızı sağlar.
Selenium IDE’yi kullanarak komut dosyaları oluşturmak, daha gelişmiş ve sağlam
test senaryoları yazmak istiyorsanız Selenium RC veya Selenium WebDriver kullanmanız
gerekir.
Normal bir kullanıcı gibi davranıp işlemleri ona göre yapıyor ve kaydediyor.
Fonksiyonel testler yazmak için kullanılabilir.
Firefox plug-in’i olarak çalışmaktadır.
Bir çok dil desteği mevcut (Java, .NET, Python, Ruby, PHP,Perl)
Selenium’un open source olması sayesinde bir çok platformda (Windows, Linux, IOS)
herhangi bir sorun yaşamadan çalışmaktadır.
Bir çok dil desteği ve platform desteği sayesinde diğer test araçlarına göre daha çok
tercih edilmektedir. (UFT, QTP)
Selenium RC
Selenium WebDriver, komutları kabul eden ve bunları bir tarayıcıya gönderen bir tarayıcı
otomasyon çerçevesidir. Tarayıcıya özgü bir sürücü aracılığıyla uygulanır. Doğrudan
tarayıcıyla iletişim kurar ve onu kontrol eder. Selenium WebDriver, Java, C#, PHP, Perl ve
JavaScript gibi çeşitli programlama dillerini destekler.
Örneğin test edeceğiniz bir sitenin en alt sayfasında bulunan yorum formunun çalışıp
çalışmadığını test etmeniz gerekiyor. Bunun için ilk olarak siteye gireriz ve bir sonraki
adımda scroll ile sayfanın en alt kısmında bulunan yorum formunun bulunduğu kısma
geliriz.Ama Selenium bize scroll işlemini kod çıktısı olarak verememektedir. Burada
WebDriver’ın özgürlükçü yapısı devreye girmektedir. WebDriver elementlerini kullanarak
test caselerimizi daha çalışılabilir ve kontrolünü sağlayabilir hale getirebilmemizi sağlıyor.
Selenium Grid
Selenium Grid, Selenium RC ile birlikte kullanılan bir araçtır. Farklı makinelerde, farklı
tarayıcılara paralel olarak testler yapmak için kullanılır.
Selenium’un geliştirmiş olduğu ve geliştirmesi devam eden Selenium-Grid farklı sunucular
üzerinde farklı browserlar ile paralel bir şekilde çalıştırmaktadır. Buradaki asıl amaç farklı
işletim sistemi, donanım, cihaz gibi kombinasyonlar üzerinde test sonuçlarını görmek, dağıtık
ortamda paralel olarak test süreçlerini yürütmek ve test sonuçlarını hızlıca almaktır. Bu testler
paralel olarak çalıştığında süre olarak ciddi bir zaman kazancı gözükmektedir.
Hub: Selenium’da kullanılan Hub tek bir tane olmak koşuluyla çalışmaktadır. Sunucu gibi
davranan bu yapı kendi üzerinde bir çok işlemi barındırarak farklı istemcilerden gelen
Node: Hub’a bağlı olan bir veya biden fazla istemciden oluşan yapıya node denir. Node’lar
ile selenium-grid kullanarak bir çok Node’tan tek bir Hub’a istekte bulunarak test
yapabilirsiniz.
• Fonksiyonel Test
• Veritabanı Testi
• Arabirim Testi
• Kullanılabilirlik Testi
• Uyumluluk Testi,
• Performans Testi
• Güvenlik Testi
1. Fonksiyonel Test
Sayfalardan diğer sayfalara giden bağlantı kontrolleri: Doğru sayfaya gidildiğinden veya
yönlendirildiğinden emin olunmalıdır. Bu şekilde ölü bir sayfa veya geçersiz yönlendirme
Aynı sayfa üzerindeki bağlantılar: Sayfadaki bağlantılar tek tek kontrol edilmelidir. Varsa
2. Cucumber
Cucumber is a widely used tool for Behaviour Driven Development because it provides an
easily understandable testing script for system acceptance and automation testing.
BDD includes test case development in the form of simple English statements inside a feature
file, which is human-generated. Test case statements are based on the system's behavior and
more user-focused.
BDD is written in simple English language statements rather than a typical programming
language, which improves the communication between technical and non-technical teams and
stakeholders.
In other words, "Cucumber is a software tool used by the testers to develop test cases for the
testing of behavior of the software."
Cucumber tool plays a vital role in the development of acceptance test cases for automation
testing. It is mainly used to write acceptance tests for web applications as per the behavior of
their functionalities.
In the Cucumber testing, the test cases are written in a simple English text, which anybody
can understand without any technical knowledge. This simple English text is called
the Gherkin language.
It allows business analysts, developers, testers, etc. to automate functional verification and
validation in an easily readable and understandable format (e.g., plain English).
We can use Cucumber along with Watir, Selenium, and Capybara, etc. It supports many other
languages like PHP, Net, Python, Perl, etc.
İlk olarak testi, localimizde çalışan uygulamamıza yönlendiriyoruz daha sonra test
süresince tıklanacak olan linkler ve bunlara göre yönlendirilecek sayfaların url’lerini
veriyoruz.
Son olarak sign-in işlemi için gerekli olan email ve password validation işlemleri
yapılarak, sistemimizde olan forma gerekli bilgiler girilerek, senaryonun test edilmesi
sağlanmış olur.
BDD Faydaları
Planlama
Tasarım
Geliştirme
Test
Teslim
Bu yöntemde sorun olarak, Planlama evresinden Tasarım evresine kadar olan süreçte
müşteri ile iletişim kurmak problemdir. Sonuçta müşteriye kod okutamazsınız. Bu
yüzden arada bir BA (Business Analyst) kişisi olması gerekir.
Planlama
Tasarım
Test
Geliştirme
Teslim
3. Katalon
Katalon Platform is an automation testing software tool developed by Katalon, Inc. The
software is built on top of the open-source automation frameworks Selenium, Appium with a
specialized IDE interface for web, API, mobile and desktop application testing. Its initial
release for internal use was in January 2015. Its first public release was in September 2016. In
2018, the software acquired 9% of market penetration for UI test automation, according to
The State of Testing 2018 Report by SmartBear.
Katalon is recognized as a March 2019 and March 2020 Gartner Peer Insights Customers’
Choice for Software Test Automation.
Web, Mobil ve Desktop(latest version 7.0) uygulamalarınızı test
edebilir, bunun yanısıra backend servislerinizin test otomasyon
süreçlerinizde kullanabilirsiniz. Böylece tek bir platformda test
süreçlerinizi hibrit bir şekilde yönetebilirsiniz. Hazırlamış olduğunuz
scriptleri kolayca CI/CD süreçlerinize entegre edebilirsiniz böylelikle
yazılım kalite süreçlerinizi otomatize edebilirsiniz.
KAYNAKLAR
2. https://www.mobilhanem.com/web-uygulama-testleri-nelerdir/
3. https://teknoloji.org/selenium-kutuphanesi-nedir-nasil-kullanilir/
4. https://medium.com/@ilkebasalak/selenium-nedir-8c7d908c93e6
5. https://cucumber.io/
6. https://www.javatpoint.com/cucumber-testing
7. http://www.defnesarlioglu.com/cucumber-ile-behaviour-driven-development/
8. https://www.linkedin.com/pulse/cucumber-ile-behaviour-driven-development-bdd-
halil-bozan/?originalSubdomain=tr