Birimler arası diyaloglardan kesitler yansıtan ve test uzmanlarının yaşadıkları “trajikomik” anlardan oluşan bu çalışmanın, sektörün tüm paydaşlarının birbirlerini daha iyi anlayabilmelerine yardımcı olması dileğiyle
Software Testing: History, Trends, Perspectives - a Brief OverviewSoftheme
In this presentation you can learn about different types of software testing, new technologies and methodologies. It contains an overview of software testing perspectives.
** Test Automation Masters Program: https://www.edureka.co/masters-program/automation-testing-engineer-training **
This Edureka PPT on "What is Regression Testing?" will help you get in-depth knowledge on regression testing in software Testing and why it is important to incorporate regression testing while testing the software.
What is Regression Testing?
Benefits of Regression Testing
When to apply Regression Testing?
Regression Testing Types
How to implement Regression Testing?
Regression Testing Techniques
Demo: How to derive a regression testing plan?
Regression Testing Challenges
Regression Testing best practices
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
From http://wiki.directi.com/x/AgAa - This is a 24 slide internal presentation covering virtues of Automated Testing vs Manual Testing. Inkeeping with our agile adoption this presentation covers various advantages (11 to be specific) obtained in using TDD and Automated Testing as opposed to Manual Testing
BugRaptors provide Software testing is entirely about finding defects in applications, right? Apparently, this can be considered as the principal goal of all the QA practices. However, all the defects diverge from each other. It cannot be stated if some are more important than others, yet it’s possible to locate and fix them all.
Birimler arası diyaloglardan kesitler yansıtan ve test uzmanlarının yaşadıkları “trajikomik” anlardan oluşan bu çalışmanın, sektörün tüm paydaşlarının birbirlerini daha iyi anlayabilmelerine yardımcı olması dileğiyle
Software Testing: History, Trends, Perspectives - a Brief OverviewSoftheme
In this presentation you can learn about different types of software testing, new technologies and methodologies. It contains an overview of software testing perspectives.
** Test Automation Masters Program: https://www.edureka.co/masters-program/automation-testing-engineer-training **
This Edureka PPT on "What is Regression Testing?" will help you get in-depth knowledge on regression testing in software Testing and why it is important to incorporate regression testing while testing the software.
What is Regression Testing?
Benefits of Regression Testing
When to apply Regression Testing?
Regression Testing Types
How to implement Regression Testing?
Regression Testing Techniques
Demo: How to derive a regression testing plan?
Regression Testing Challenges
Regression Testing best practices
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
From http://wiki.directi.com/x/AgAa - This is a 24 slide internal presentation covering virtues of Automated Testing vs Manual Testing. Inkeeping with our agile adoption this presentation covers various advantages (11 to be specific) obtained in using TDD and Automated Testing as opposed to Manual Testing
BugRaptors provide Software testing is entirely about finding defects in applications, right? Apparently, this can be considered as the principal goal of all the QA practices. However, all the defects diverge from each other. It cannot be stated if some are more important than others, yet it’s possible to locate and fix them all.
Testbytes is a community of software testers who are passionate about quality and love to test. We develop an in-depth understanding of the applications under test and include software testing strategies that deliver quantifiable results.
In short, we help in building incredible software.
A test automation framework defines an organization's way of doing things. It is a set of assumptions, concepts and tools that provide support for automated software testing.
With a pre-requisite of ensuring an application's flawless functioning, this PPT sheds light on what functional testing entails with its importance to enhance an application's quality. Get to know more on Functional Testing Services, Functional Testing Types, Smoke Testing, Sanity Testing, Regression Testing with this presentation and stay tuned for our upcoming ones.
Specification by example - course summaryJakub Holy
Key lessons from the course on specification by example called From user stories to acceptance tests lead by Gojko Adzic in Oslo, 1/2012.
What SbE is, what are its key goals, how to introduce it, selected techniques including Effect Mapping and Specification Workshop.
User Interface Testing. What is UI Testing and Why it is so important?Maveryx
UI is the visual part of a software application that determines how a user interacts with an application, or a website, and how information is displayed on the screen. The UI contains buttons, menus, text fields, and other controls that the users interact with when using an application.
In this presentation, you will read what UI testing is, and why it is so important, also by designing and creating a UI automated test with a practical and easy example.
Edureka Selenium Interview Questions and Answers Tutorial will help you to prepare yourself for Selenium interviews. Learn about the most important Selenium interview questions and answers and know what will set you apart in the interview process.
Watch the video here to find out elaborate answers to these questions: https://www.youtube.com/watch?v=6HS8-u96JJM
Testbytes is a community of software testers who are passionate about quality and love to test. We develop an in-depth understanding of the applications under test and include software testing strategies that deliver quantifiable results.
In short, we help in building incredible software.
A test automation framework defines an organization's way of doing things. It is a set of assumptions, concepts and tools that provide support for automated software testing.
With a pre-requisite of ensuring an application's flawless functioning, this PPT sheds light on what functional testing entails with its importance to enhance an application's quality. Get to know more on Functional Testing Services, Functional Testing Types, Smoke Testing, Sanity Testing, Regression Testing with this presentation and stay tuned for our upcoming ones.
Specification by example - course summaryJakub Holy
Key lessons from the course on specification by example called From user stories to acceptance tests lead by Gojko Adzic in Oslo, 1/2012.
What SbE is, what are its key goals, how to introduce it, selected techniques including Effect Mapping and Specification Workshop.
User Interface Testing. What is UI Testing and Why it is so important?Maveryx
UI is the visual part of a software application that determines how a user interacts with an application, or a website, and how information is displayed on the screen. The UI contains buttons, menus, text fields, and other controls that the users interact with when using an application.
In this presentation, you will read what UI testing is, and why it is so important, also by designing and creating a UI automated test with a practical and easy example.
Edureka Selenium Interview Questions and Answers Tutorial will help you to prepare yourself for Selenium interviews. Learn about the most important Selenium interview questions and answers and know what will set you apart in the interview process.
Watch the video here to find out elaborate answers to these questions: https://www.youtube.com/watch?v=6HS8-u96JJM
Test Mühendisliğine Giriş Eğitimi - Bölüm 1Mesut Günes
ISTQB ve ISEB Foundation level gibi "Test Uzmanlığı" ile ilgili yapılan sınavlara hazırlık olarak tüketilecek dökümandır. Ayrıca yazılım test mühendisliği ile ilgili bilgi edinmek isteyenlerin okuyabileceği Türkçe kaynaktır.
“BGA BANK (Vulnerable Online Bank Application)” V1 uygulaması PHP tabanlı çeşitli zafiyetler içeren sızma testi eğitim platformudur. Türkiye'deki bankacılık altyapısı incelenerek bu altyapılarda çıkabilecek tüm teknik ve mantıksal hatalar uygulamanın içine eklenmiş ve web uygulama güvenliği konusunda çalışanlar için gerçekci bir sızma testi platformu oluşturulmuştur.
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine GirişBurak AVCI, MEM, PSM I®
Silk Test Framework Kurulumu ve Yazılım Test Otomasyon Mimarisine Giriş
Yazılım Test Otomasyonu son yılların popüler konularından biri olup piyasada hem ücretsiz Open Source, hemde ücretli ama Trial versiyonu olan birçok Framework mimarisini kendi lokal bilgisayarınıza kurarak ürünlerinizin testlerini otomatik hale getirebilirsiniz. Bu yazıyı yazma sebeplerimden biride Yazılım Test Otomasyonu konusuna meraklı kişilerin kişisel bilgisayarlarında tek başlarına bu işe nasıl başlayacağını ve otomasyon mantığını anlatmaktır.
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş SüreciSinan Bozkuş
BilgeAdam İzmir'de "ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci" ile ilgili verdiğim seminerin sunumu.
Kaynak kodları: https://github.com/sinanbozkus/BilgeAdam_Izmir_AspNetCore_Workshop
Türkiye Bilişim Derneği İstanbul Şubesi tarafından düzenlenen 3. İstanbul Bilişim Konferansı sona erdi.
Marmara Üniversitesi Nişantaşı Kampüsü Erdal İnönü Bilim ve Kültür Merkezi'nde 29-30-31 Mayıs tarihleri arasında düzenlenen ve sektörün önemli konularının tartışıldığı konferansta "Bilişimde Yönetişim" enine boyuna tartışıldı.
Sayın Ümit Vardar'ın Netbeans ve Sayın Kıvanç Erdem Oracle Yazılım Araçları sunumunu yaptığı Yazılım Araçları oturumunda ben de Eclipse anlatmaya çalıştım.
PHP ile etkileşimli programlar oluşturmak istiyorsak web sunucu ve yorumlayıcıya ihtiyaç vardır. Birinin olmaması durumunda program çalışmaz.
Üye kaydı, ürün bilgisi gibi verilerin kullanılacağı bir web sayfasında ise veri tabanı sunucu gerekir. Veri tabanı sunucusunu daha kolay kontrol etmek ve verileri düzenlemek için de yardımcı veri tabanı programı yönetimi programları ( PhpMyAdmin vb.) kullanılabilir.
Bu sunum web uygulamalarının kritikliği ne kadar düşük olursa olsun uygulama açıklıklarının sistem ve ağ güvenliğini tehdit edebileceğini göstermektedir.
Android işletim sistemine mobil uygulama geliştirirken kullanılacak en temel programlama dili Java'dır. Java ile ilgili genel bilgilere buradan ulaşabilirsiniz.
Android tüm bileşenleriyle son derece geniş bir ekosistemdir. Bu ekosistemin anlatımında aşağıdaki başlıklar temel alınmıştır:
Android’e Giriş 1 eğitiminde, temel Java bilgisine sahip olmanız ve basit Java uygulamalarını bilgisayarınızda çalıştırabilmeniz hedeflenmektedir. Java dünyasıyla ilk kez tanışacaklar için hem dilin temel kavramları hem de uygulamaya yönelik kod örnekleriyle birlikte bir anlatım esas alınmıştır.
Android’e Giriş 2 eğitiminde, Android platformunun detaylarına ve geliştirme ortamına değinilmiştir. Platform özelinde bilgiler, cihazların özellikleri ve Android için geliştirme ortamının kurulumu yer almaktadır.
2. Selenium Nedir?
Selenium web tabanlı uygulamaların testlerini browser/tarayıcı
üzerinden yapmamızı sağlayan ve tüm web testlerinin yapılabileceği
bir test aracıdır.
Selenium’un desteklediği programlama dillerinden bazıları:
Java
C#
Perl
Groovy
PHP
Python
Ruby
.Net
Açık kaynaklı (open source) bir yazılımdır.
http://www.openqa.org/
3. Selenium Nedir ?
Selenium’un çalışabildiği işletim sistemi türleri:
Windows
Linux
Mac OS işletim sistemlerinde çalışabilmektedir.
Selenium Bileşenleri
Selenium’u üç ana başlıkta inceleyeceğiz.
Selenium IDE
Selenium WebDriver
Selenium-Grid
4. 1) Selenium IDE
Selenium IDE, geliştirdiğimiz web tabanlı uygulamaların test
edilmesini sağlayan ve bunları daha sonrasında otomatize ederek
browser üzerinde aynı caseleri tekrar tekrar girmeden kontrol
etmemizi sağlayan araçtır.
Selenium IDE’nin başlıca özellikleri;
1. Normal bir kullanıcı gibi davranıp işlemler kullanıcıymış gibi
yapılabilir ve kaydedilebilir.
2. Fonksiyonel testler yazmak için kullanılmaktadır.
3. Bir çok dil desteği mevcut (Java, .NET, Python, Ruby, PHP,Perl).
5. 1) Selenium IDE
Selenium IDE’nin başlıca özellikleri;
1. Normal bir kullanıcı gibi davranıp işlemler kullanıcıymış gibi
yapılabilir ve kaydedilebilir.
2. Fonksiyonel testler yazmak için kullanılmaktadır.
3. Firefox plug-in’i olarak çalışmaktadır.
4. Bir çok dil desteği mevcut (Java, .NET, Python, Ruby, PHP,Perl).
5. Selenium’un open source olması sayesinde bir çok platformda
(Windows, Linux, IOS) herhangi bir sorun yaşamadan
çalışmaktadır.
6. Bir çok dil desteği ve platform desteği sayesinde diğer test
araçlarına göre daha çok tercih edilmektedir. (UFT, QTP)
8. Selenium IDE Özellikleri:
Menüler: Menü kısmında yeni test
oluşturmak, yapılan testleri
kaydetmek ve istediğiniz testi,
istediğimiz dilde export ederek
kullanabiliriz. Bu özelliklerin hepsini
yapacağınız testlerde kullanabilirsiniz.
Table: Adım adım yapılan işlemlerin
tutulduğu bölümdür.
Source: Table’da bulunan değerlerin
HTML kodudur.
Play: Kaydedilen adımların otomatize
edilip tekrardan aynı test caselerini
girmeden çalıştırıldığı bölümdür.
Test Case: Yapılan testlerin
isimlendirerek saklandığı bölümdür.
Command: Çalıştırılan uygulamanın
test caselerine uygun alanların
doldurularak işleme devam edildiği
yerdir.
9. Selenium IDE Özellikleri:
En çok kullanılan komutlar aşağıdaki gibidir.
open: URL’i ( Siteyi/adresi ) açmak içindir.
click: Bir nesneye tıklamak içindir.
clickandWait: Nesneye tıkladıktan sonra sayfanın yüklenmesini bekler.
assertElementPresent: Belirtilen elemanın yüklenmesini bekler.
assertTextPresent: Belirtilen bir text’in(yazının) sayfada olup olmadığını kontrol
eder.
deleteCookie: Belirtilen Cookie’nin silinmesi sağlar.
mouseOver: Mouse’u belirtilen elementin üzerine götürür.
verifyTextPresent: Belirtilen nesnenin belirmesini bekler ve sağlamasını yapar.
waitForPageToLoad: Sayfanın yüklenmesini bekler.
captureEntirePageScreenshot: Üzerinde test yaptığımız sayfanın ekran görüntüsünü
çerçevesiz olarak kaydeder.
waitForElementPresent: Sayfadaki bir elementin yüklenmesini bekler, bunu
genellikle JavaScript tarafından kontrol edilen elementler için kullanırız.
type: Bir input’un içine yazmak için kullanılır.
10. Selenium IDE Özellikleri:
Log: Adım adım yapılan testlerin loglarının bulunduğu kısımdır. Play ile çalıştırılarak
yapılan testler hakkında hata mesajlarının görüntülendiği kısımdır. Bu sayede
yaptığınız testleri bir nevi debug etmiş olursunuz.
Reference: Command kısmında kullanılan kodların dökümante edildiği kısımdır. Bu
sayede yaptığınız testleri dökümante ederken size kolay sağlayarak işlemlerinizi hızlı
bir şekilde yapabilirsiniz.
Base URL: Testlerin hangi sayfada yapılacağını
gösteren kısımdır.
Target: Ekranda test edilmek istenen alanın
belirtildiği kısımdır.
Value: Yapılan istenen test için değerin girildiği
alandır.
Runs & Failures: Testlerin kaç tanesinin başarılı, kaç
tanesinin başarısız olduğunun listelendiği kısımdır.
Record: Kayıt tutmak için kullanılan buton.
11. Selenium Örnek Test Case 1:
• Anasayfa’dan login olma sayfasına git.
• Login olma ekranında kullanıcı adını gir.
• Login olma ekranında şifreyi gir.
• Submit butonuna bas.
• “Bana Özel” sayfasına yönlenip yönlenmediğini kontrol et.
• “Adres Bilgilerim”e tıkla.
• Çıkan sayfada Güncelle’ye tıkla.
• TC Kimlik Noyu 11111111111 olarak değiştir.
• Kaydet butonuna tıkla.
• “Lütfen T.C. Kimlik Numaranızı Doğru Olarak Giriniz.” hata
mesajının sayfada yer alıp almadığını kontrol et.
12. Selenium Örnek Test Case 1:
• Bu işlemleri Selenium Ide ile kayıt ettiğimizde bize
aşağıdaki kodu oluşturacaktır:
13. Selenium Örnek Test Case 1:
• Bu işlemleri Selenium Ide ile kayıt ettiğimizde bize
aşağıdaki kodu oluşturacaktır:
14. Selenium Örnek Test Case 2:
• THY sitesi için SearchFlight test senaryo gerçeklemesini
test edelim.
15. Selenium Örnek Test Case 2:
• Bütün kontrolleri geçerek bizim için örnek test senaryosunu başarıyla
gerçekleştirdi. Beklenen değerlerin kontrolleri hatasız bir şekilde gerçekleştirildi.
16. 2) Selenium WebDriver
Selenium WebDriver’ın eklenmesinden sonra Selenium 2.0
olarak yayınlandı. WebDriver, Selenium’un kendi içinde
geliştirmiş olduğu en önemli özelliklerinden biri diyebiliriz.
Çünkü WebDriver, test yapan kişilerin isteklerine göre
browserın kendi metodlarını kullanarak işlem yapabilir.
WebDriver bir çok browserda çalışmaktadır. (Firefox, Chrome,
Opera, Safari, Internet Explorer vs..) Bu durum test uzmanları
için güzel bir özellik olup, browserların davranışlarını daha
yakından görerek müdahele etmelerine olanak sağlar.
17. 2) Selenium WebDriver
WebDriver’ın geliştirilmesindeki en büyük amaç dinamik web
sitelerinin içeriklerinin belli bir kısmının değişimi sırasında tüm
sayfanın tekrardan yüklenmeden yapılan değişiklikleri görerek
test caselerinin devam ettirilmesine yardımcı olmaktır.
Selenium WebDriver sayesinde yapmış olduğumuz projenin
testi için kullanmamız gereken tek şey WebDriver API’ı
indirmektir. API sayesinde projenizin diline göre Java, .NET,
Python, Ruby, PHP, Perl gibi dillerini kullanarak test scriptlerinizi
yazılabilir. Bu araç daha çok developerlara yöneliktir.
18. 2) Selenium WebDriver
Sistemimizde Java JDK kurulu olmalıdır.
Eclipse kurulu olmalıdır.
Selenium Java Client download edilir.
Jar dosyasi extract edilir.
Eclipse java projesi oluşturulur.
Jar dosyalari proje ye import edilir.
Test class i oluşturulur.
package test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class TestClass {
public static void main(String[] args) {
//Here we initialize the firefox webdriver
WebDriver firefoxDriver=new FirefoxDriver();
//Open the url which we want in firefox
firefoxDriver.get("Http://www.google.com");
}
21. 2) Selenium WebDriver
Daha sonra projeye testlerin yazılacağı bir Class ekleriz. Solution Explorer
eklediğimiz classın içerisine;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox; //Firefox'u kullanmamızı sağlayan namespace
using NUnit.Framework;
[TestFixture()]
public class SeleniumTestSuite
{
[SetUp]
public void RunTest()
{
//Yapılacak testler yazılır.
}
}
22. 2) Selenium WebDriver
Daha sonra projeye testlerin yazılacağı bir Class ekleriz. Solution Explorer
içindeki ilk_test satırının üzerinde;
23. 3) Selenium-Grid
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.
Selenium Hub ve Node yapısını kullanarak testlerini yapmaktadır.
Geliştirilmeye devam edilmektedir.
24. Sonuçlar:
Büyük çapta web projelerinde milyonlarca sayfa içerdiğinden test maliyeti
kritik önem içermektedir. Test otomasyon araçları bu kapsamda
değerlendirildiğinde çok önemli yer teşkil etmektedir.
Selenium test otomasyon aracı kullanıcılara tarayıcı ve işletim sistemi
farketmeksizin tüm platform/tarayıcılarda test etme imkanı sunduğundan
zaman ve iş gücü maliyetini önemli ölçüde azaltmaktadır.
Kullanıcıların çok sayıda giriş yapmaları gerken durumlarda kullanım
kolaylığı sağlayarak zamandan çok büyük ölçüde tasarruf ve test kolaylığı
sağlamaktadır.
Çeşitli test senaryolarını çok kısa süre içerisinde otomatik bir şekilde test
edebilme imkanı sağlamaktadır.
25. Referanslar
Kaur H., Gagan G., “Comparative Study of Automated Testing Tools:
Selenium, Quick Test Professional and Testcomplete”, 2013,
ISSN:22489622, Volume 3, Issue 5, 1739 - 1743
http://www.seleniumhq.org/
https://en.wikipedia.org/wiki/Selenium_software
https://en.wikipedia.org/wiki/Web_testing
Editor's Notes
5. satırda yer alan “clickAndWait” komutu “dropmenudiv” id’li div’e ulaşmaya çalışıyor fakat “Bana Özel” sayfasında ki bu div JavaScript ile “Üyeliğim” linkinin üzerine geldiğimizde oluşturuluyor. Mouse’un “Üyeliğim” linkinin üzerine gitmesi gerektiğini kodumuza eklemeliyiz.
Bu tip JavaScript kökenli problemleri çözdükten sonra sayfalarda ki kontrolleri yapmamız gerekiyor. Login olduktan sonra gittiğimiz sayfada “Bana Özel” yazıp yazmadığının kontrolü için “assertTextPresent” komutunu kullanmamız gerekir. “TC Kimlik No” girildikten sonra sayfada hata oluşup oluşmadığını görmek için de aynı komutu kullanmalıyız.
5. satırda yer alan “clickAndWait” komutu “dropmenudiv” id’li div’e ulaşmaya çalışıyor fakat “Bana Özel” sayfasında ki bu div JavaScript ile “Üyeliğim” linkinin üzerine geldiğimizde oluşturuluyor. Mouse’un “Üyeliğim” linkinin üzerine gitmesi gerektiğini kodumuza eklemeliyiz.
Bu tip JavaScript kökenli problemleri çözdükten sonra sayfalarda ki kontrolleri yapmamız gerekiyor. Login olduktan sonra gittiğimiz sayfada “Bana Özel” yazıp yazmadığının kontrolü için “assertTextPresent” komutunu kullanmamız gerekir. “TC Kimlik No” girildikten sonra sayfada hata oluşup oluşmadığını görmek için de aynı komutu kullanmalıyız.
5. satırda yer alan “clickAndWait” komutu “dropmenudiv” id’li div’e ulaşmaya çalışıyor fakat “Bana Özel” sayfasında ki bu div JavaScript ile “Üyeliğim” linkinin üzerine geldiğimizde oluşturuluyor. Mouse’un “Üyeliğim” linkinin üzerine gitmesi gerektiğini kodumuza eklemeliyiz.
Bu tip JavaScript kökenli problemleri çözdükten sonra sayfalarda ki kontrolleri yapmamız gerekiyor. Login olduktan sonra gittiğimiz sayfada “Bana Özel” yazıp yazmadığının kontrolü için “assertTextPresent” komutunu kullanmamız gerekir. “TC Kimlik No” girildikten sonra sayfada hata oluşup oluşmadığını görmek için de aynı komutu kullanmalıyız.