types automation testing
Test Otomasyonu Hakkında Bazı Yanılgılarla Farklı Otomasyon Testi Türlerini Öğrenin:
Bu ikinci bölümde test otomasyonu eğitimleri serisi , Otomatikleştirilmiş test türlerini kısaca anlatacağım ve en önemlisi test otomasyonu ile ilgili bazı yanlış anlamaları gidereceğim.
Otomasyon Testi nedir?
Otomasyon testi, manuel olarak yürütmek zorunda kalmadan bir dizi testi tekrar tekrar çalıştırmanın bir yolu olarak tanımlanabilir. Test stratejinize otomasyon testleri eklemek, para ve zamandan tasarruf etmenin bir yoludur.
Ne öğreneceksin:
Otomasyon Testi Türleri
Otomasyon testi türleri, ne tür test paketlerinin otomatikleştirilebileceğini tanımlar. Birçok test görevlisi, bu konuyu, test paketinizi rahatlıkla yürütülebilecek bir otomasyon paketi olarak nasıl tasarlayacağınızı tanımlayan otomasyon çerçevesi türleriyle karıştırır.
Bu yazıda Otomasyon test türlerine yakından bakacağız ve sonunda otomasyon çerçevelerine kısa bir göz atacağız.
Yukarıdaki sınıflandırmaları ayrıntılı olarak anlayalım:
Test Türüne Göre Otomasyon
Fonksiyonel Testlerin Otomasyonu:
Fonksiyonel testler, bir uygulamanın arkasındaki iş mantığını test etmek için yazılır. Bunların otomatikleştirilmesi, iş mantığını ve uygulamadan beklenen işlevselliği doğrulamak için komut dosyaları yazmak anlamına gelir.
Fonksiyonel Olmayan Testlerin Otomasyonu:
İşlevsel olmayan testler, uygulamanın ticari olmayan gereksinimlerini tanımlar. Bunlar performans, güvenlik, veritabanları vb. İle ilgili gereksinimlerdir. Bu gereksinimler sabit kalabilir veya yazılımın boyutuna göre ölçeklendirilebilir.
Test Aşamasına Göre Otomasyon
Birim Testlerinin Otomasyonu:
Bu testler, geliştirme aşamasında, ideal olarak geliştirme tamamlandıktan sonra ve sistemi test için test uzmanlarına teslim etmeden önce, geliştirici tarafından çalıştırılır.
API Testlerinin Otomasyonu:
.dat dosyası nasıl görüntülenir
API testleri, entegrasyon aşamasında çalıştırılır. Bunlar geliştirme veya test ekibi tarafından çalıştırılabilir ve uygulama için UI katmanı oluşturulmadan önce veya sonra çalıştırılabilir. Bu testler, testi, uygulamanın oluşturulduğu istek ve yanıta dayalı olarak hedefler.
UI tabanlı testlerin otomasyonu:
UI Tabanlı testler, test yürütme aşamasında çalıştırılır. Bunlar, test uzmanları tarafından özel olarak çalıştırılır ve uygulamanın kullanıcı arayüzü kendilerine teslim edilmeden önce yalnızca bir kez çalıştırılır. Bunlar, uygulamanın işlevselliğini ve iş mantığını uygulamanın ön ucundan test eder.
Test Türüne Göre Otomasyon
Birim Testleri:
Birim Testleri, bir uygulamanın kodunu test etmek için oluşturulmuş testlerdir ve genellikle kodun kendisinde yerleşiktir. Yöntemlerin ve işlevlerin nasıl yazıldığı gibi kodlama standartlarını hedeflerler.
Bu testler daha çok geliştiricilerin kendileri tarafından yazılır, ancak günümüz dünyasında otomasyon test uzmanlarından da bunları yazmaları istenebilir.
Bu testleri yürütmek ve bunlardan hiçbir hata almamak, kodunuzun herhangi bir kod sorunu olmadan derleneceği ve çalışacağı anlamına gelir. Bu testler genellikle uygulamanın işlevsel yönlerini hedeflemez ve kodu hedeflediklerinden, geliştirici tarafından gerektiği gibi ve gerektiğinde çalıştırılabilmeleri için bunları otomatikleştirmek daha uygundur.
Duman Testleri:
Duman testi, test yaşam döngüsünde gerçekleştirilen ünlü bir testtir. Bunlar derleme sonrası testlerdir, derleme tamamlandıktan sonra uygulamanın hala çalıştığından emin olmak için uygulamadan herhangi bir derleme verildikten hemen sonra yürütülürler.
Bu küçük bir test paketidir ve birçok kez çalıştırılacak bir şeydir ve bu nedenle otomatikleştirmek mantıklıdır. Bu testler genellikle işlevsel nitelikte olacaktır ve uygulama türüne bağlı olarak onlar için bir araç seçilebilir.
API testleri:
API testi, son birkaç yılda çok ünlü hale geldi. API mimarisine dayalı uygulamalar bu testi gerçekleştirebilir.
API testinde, test uzmanları, uygulamanın üzerine kurulu olduğu çeşitli API'ler için istek-yanıt kombinasyonlarını kontrol ederek uygulamanın iş katmanını doğrular. API Testleri, aşağıdaki entegrasyon testlerinin bir parçası olarak da yapılabilir.
Entegrasyon Testleri:
Adından da anlaşılacağı gibi entegrasyon testi, tüm modülleri entegre ederek ve uygulamanın işlevselliğini kontrol ederek uygulamayı test etmek anlamına gelir.
Entegrasyon testi, API testi yoluyla yapılabilir veya uygulamanın UI katmanı aracılığıyla yapılabilir.
UI testleri:
UI testleri, UI katmanından veya uygulamanın ön ucundan yapılır. Bunlar, işlevselliği test etmeyi hedefleyebilir veya bir uygulamanın UI öğelerini test edebilir.
İşlevselliği test etmek için kullanıcı arayüzünü otomatikleştirmek yaygın bir uygulamadır. Bununla birlikte, GUI özelliklerinin otomatikleştirilmesi, daha karmaşık otomasyonlardan biridir.
Regresyon testleri:
En yaygın olarak otomatikleştirilmiş test paketlerinden biri, regresyon testi paketidir. Regresyon, zaten bildiğiniz gibi, mevcut modüllerin hiçbirinin bundan etkilenmediğinden emin olmak için yeni bir modülü test ettikten sonra yapılan testtir.
Her yeni test yinelemesinden sonra tekrar edilir ve ana test durumları, yeni bir yinelemeden sonra genellikle birkaç yeni eklemeyle sabit kalır. Sıklıkla çalıştırıldığı için neredeyse tüm test ekipleri bu paketi otomatikleştirmeye çalışıyor.
Sürekli entegrasyon olarak otomasyon:
Sürekli Entegrasyon, otomatikleştirilmiş regresyon testlerinin kendisinde tekrar çalışıyor olabilir, ancak, CI elde ederken, regresyonun veya tanımlanmış test paketinin her yeni dağıtım yapıldığında çalıştırılmasını sağlıyoruz.
Güvenlik Testleri:
Güvenlik testi, uygulamanın güvenlik açıklarına karşı test edilmesini içeren hem işlevsel hem de işlevsel olmayan bir test türü olabilir. İşlevsel testler, yetkilendirme vb. İle ilgili testlerden oluşurken, işlevsel olmayan gereksinimler SQL enjeksiyonu, siteler arası komut dosyası oluşturma vb. İçin test edilebilir.
Performans Testleri ve Kalite kontrolü:
Performans testleri, uygulamanın yük, stres, ölçeklenebilirlik testi gibi gereksinimleri hedefleyen, fonksiyonel olmayan testlerdir.
Kabul testleri:
Kabul testleri, genellikle müşteri tarafından verilen kabul kriterlerinin yerine getirilip getirilmediğinden emin olmak için yapılan fonksiyonel testlerin kapsamına girer.
Şimdiye kadar, otomatikleştirilebilen test türlerini ve aynı sınıflandırmaları tanımladık, tüm sınıflandırmalar sonunda bir test paketinin otomatikleştirilmesiyle aynı sonuçlara yol açacaktır. Daha önce de söylediğimiz gibi, bunların çerçevelerden ne kadar farklı olduğu konusunda biraz anlayışa ihtiyaç var.
Yukarıdaki sınıflandırmadan otomatikleştirmek istediğiniz testleri belirledikten sonra, mantığınızı bu testleri çok fazla manuel müdahale olmaksızın sorunsuz bir şekilde yürütecek şekilde tasarlamanız gerekecektir. Manuel bir test paketinin otomatik bir test paketine tasarımı, çerçevelerin geldiği yerdir.
Şimdi En İyi 3 Test Otomasyon Türünü keşfedeceğiz
- Birim Testi
- API Testi
- GUI Testi
# 1) Otomatik Birim Testleri
Otomatik Birim testleri kod seviyesini test etmek için yazılmıştır. Hatalar, geliştiriciler tarafından yazılan işlevler, yöntemler ve rutinlerde tanımlanır.
Bazı şirketler geliştiricilerden birim testini kendilerinin yapmasını ister ve bazıları özel test otomasyon kaynaklarını işe alır. Bu kaynakların kaynak koduna erişimi vardır ve üretim kodunu kırmak için birim testleri yazarlar.
Birim testlerinin varlığı nedeniyle, kod her derlendiğinde, tüm birim testleri çalışır ve bize tüm işlevlerin çalışıp çalışmadığını söyler. Herhangi bir birim testi başarısız olursa, üretim kodunda artık bir hata var demektir.
Piyasada bulunan en popüler araçlardan bazıları şunlardır: NUnit ve JUnit . Microsoft ayrıca birim testi için kendi çerçevesini sağlar. MSTest . Bu araçların web sitelerini gözden geçirin ve size birim testlerinin nasıl yazılacağı konusunda daha fazla örnek ve öğretici sağlayacaktır.
#iki) Otomatik Web Hizmeti / API Testleri
Bir Uygulama Programlama Arayüzü (API), yazılımın diğer yazılım uygulamalarıyla konuşmasını mümkün kılar. Diğer herhangi bir yazılım gibi, API'lerin test edilmesi gerekir. Bu tür testlerde, GUI genellikle dahil değildir.
manuel test için örnek test senaryoları
Burada test ettiğimiz şey genellikle işlevsellik, uyumluluk ve güvenlik sorunlarıdır. Web uygulamalarında, uygulamamızın istek ve yanıtını güvenli ve şifreli olup olmadıklarını test edebiliriz.
Bu, API Testini kullanabileceğimiz örneklerden biridir. API testi için en popüler araç SABUN Hem ücretsiz hem de ücretli sürümleri olan. İhtiyacınıza göre kullanabileceğiniz başka araçlar da var.
# 3) Otomatik GUI Testleri.
Bu tür otomatik test, uygulamanın bir Kullanıcı arayüzünün test edilmesini içerdiği için en zor otomasyon şeklidir.
GUI’ler büyük ölçüde değişime açık olduğundan bu zordur. Ancak bu tür testler, kullanıcıların uygulamamızla yapacaklarına en yakın olanıdır. Kullanıcı fare ve klavyeyi kullanacağından, otomatik GUI testleri, kullanıcı arayüzünde bulunan nesnelere tıklamak veya bunlara yazmak için fare ve klavyeyi kullanarak aynı davranışı taklit eder.
Bu sayede hataları erken bulabiliriz ve çok zaman alan regresyon testi veya form doldurma gibi birçok senaryoda kullanılabilir.
En popüler GUI test araçları şunları içerir: Mikro Odaklı Birleşik Fonksiyonel Test (UFT) , Selenyum , Test Tamamlandı ve Microsoft Kodlu Kullanıcı Arayüzü (Visual Studio nihai ve premium sürümlerinin bir parçasıdır).
Otomasyon testi türleri gibi, birden çok çerçeve türü de vardır.
Otomasyon Çerçeveleri
Yaygın olarak kullanılan bazı otomasyon çerçeveleri şunları içerir:
- Doğrusal (Kayıt ve oynatma)
- Anahtar Kelime Odaklı
- Veri tabanlı
- Sayfa Nesne Modeli
- Modüler
Daha Fazla Okuma => Otomasyon Çerçeveleri
Otomasyon sürecindeki ilk adım görebileceğiniz gibi, otomasyon türünü belirlemektir, daha sonra tasarlayacağınız çerçeveyi belirleyebilir ve bunları göz önünde bulundurarak ihtiyaçlarınıza uygun araçları seçebilirsiniz.
Otomasyon Araçları
Hedeflediğiniz testin türüne ve bunun etrafında oluşturmak isteyebileceğiniz çerçeve türüne bağlı olarak aşağıdaki araçlar kullanılabilir:
- Selenyum : Web Uygulamalarını test etmek için çok güçlü bir araç. Birden çok tarayıcı desteği sağlar.
- Junit ve Nunit: Geliştiriciler tarafından büyük ölçüde Birim testi için kullanılan araçlar.
- QTP : Web dışı uygulamalar için harika bir araçtır ve yerleşik bir nesne deposu ile birlikte gelir.
- Sikuli: GUI testi için açık kaynaklı araç.
- Sabun Kullanıcı Arayüzü: API testi için araç.
- Emin olabilirsiniz: API test çerçevesi oluşturmak için kitaplık.
- appium : Mobil testi, yerel uygulama testini, karma ve mobil web uygulama testini destekleyen araç.
- Jmetre : Performans testleri için kullanılan bir araç.
- TestNG: TestNG kendi başına bir otomasyon aracı değildir, ancak selenyum, apium, huzurunuz v.b. ile oluşturulan otomasyon çerçevelerine büyük destek sağlar.
Daha Fazla Okuma => Test Otomasyon Araçları
Otomasyon Testi Hakkında Yanlış Kanılar
Yıllar boyunca, test otomasyonu hakkında bazı yanlış anlamalar duydum. Sanırım bu makalede onları da açıklamalıyım.
Yanılgı # 1. Otomasyon, manuel test cihazlarının yerini almak için burada.
Test otomasyonu, test uzmanlarının testi daha hızlı ve daha güvenilir bir şekilde yapmalarına yardımcı olmak içindir. Asla insanların yerini alamaz.
Test otomasyonunu bir araba olarak düşünün. Yürürseniz, evinize ulaşmanız yaklaşık 20 dakika sürecektir. Ama araba kullanırsanız, iki dakikada ulaşırsınız. Arabanın sürücüsü hala sensin, bir insansın ama .. araba insanın amacına daha hızlı ulaşmasına yardım ediyor. Ayrıca, yürümediğiniz için enerjinizin çoğu korunur. Böylece daha önemli şeyler yapmak için bu enerjiyi kullanabilirsiniz.
anime ücretsiz olarak nereden yayınlanır
Aynı şey otomasyon testi için de geçerli. Tekrarlanan, uzun ve sıkıcı testlerinizin çoğunu hızlı bir şekilde test etmek ve yeni ve önemli işlevselliğe odaklanıp test etmek için zaman ve enerjinizden tasarruf etmek için kullanırsınız.
Gibi James Bach harika bir alıntı dedi:
'Araçlar test etmez. Sadece insanlar test eder. Araçlar yalnızca insanların test etmesine 'yardımcı olan' eylemler gerçekleştirir. '
Araçlar nesnelere tıklayabilir. Ancak nereye tıklayacağınız her zaman bir manuel test cihazı tarafından söylenecektir. Şimdi anladığımı düşünüyorum.
Kavram Yanılgısı # 2 . Güneşin altındaki her şey otomatikleştirilebilir
Test senaryolarınızın% 100'ünü otomatikleştirmeye çalışırsanız, belki bunu yapabilirsiniz, ancak bunu yapabilirseniz, o zaman ilk noktamız yanlış olur. Her şey otomatikse, manuel bir test cihazı ne yapacak?
Şaşkın? Sağ?
Aslında önemli olan, test senaryolarınızın% 100'ünü otomatikleştiremeyeceğinizdir. Çünkü biz testçiler olarak hiçbir uygulamanın% 100 test edilemeyeceğine inanıyoruz. Her zaman özleyeceğimiz bazı senaryolar olacaktır. Her zaman, yalnızca uygulamanız istemciler tarafından kullanılacağı zaman gelen hatalar olacaktır.
Uygulama% 100 test edilemiyorsa,% 100 otomasyona nasıl söz verebilirsiniz?
Ayrıca, mevcut tüm test durumlarınızı otomatik hale getirme şansınız çok düşük. Her zaman otomatikleştirilmesi zor ve elle yapılması daha kolay senaryolar vardır.
Örneğin , Bir kullanıcı verileri girecek, ikinci kullanıcı verileri onaylayacak, üçüncü kullanıcı verileri görüntüleyecek ve dördüncü kullanıcının verileri görüntülemesi yasaktır. Bu senaryolar otomatik hale getirilebilir, ancak çok zaman ve çaba gerektirir. Yani bunu sadece elle yaparsanız daha kolay olacaktır.
Unutmayın, mesafelere gitmek için araba kullanıyoruz, ancak yolda uzun sinyaller olabilir, yakıt tüketimi olacak, park yeri sorunları, park ücretleri ve çok daha fazla baş ağrısı olacaktır. Bazı senaryolarda sadece yürüyoruz ve hedefimize ulaşıyoruz :) .
Bu nedenle, her şeyi otomatikleştirmeye çalışmamalısınız. Yalnızca önemli olan ve elle yapılması çok zaman alan senaryoları otomatikleştirin.
Yanılgı # 3 . Otomasyon yalnızca kayıt ve oynatma içerir.
Lütfen bir fantezi dünyasında yaşamayın. Bu fantezi aslında farklı otomasyon aracı satıcılarından gelen yanlış reklamlarla yaratılmıştır. Sadece adımlarınızı kaydettiğinizi ve oynattığınızı ve test durumlarınızın otomatik hale geleceğini söylüyorlar. Bu büyük bir yalan!
Otomasyon her şeydir ve sadece kayıt ve oynatma değildir. Saf otomasyon mühendisleri normalde kayıt ve oynatma özelliğini hiç kullanmazlar. Kayıt ve oynatma genellikle aracın adımlarımız için nasıl bir komut dosyası oluşturduğuna dair bir fikir edinmek için kullanılır.
Komut dosyasını öğrendikten sonra, otomatik testler oluşturmak için her zaman komut dosyası kullanırız. Hatırlamak, test otomasyonu yapmak istiyorsanız programlamayı bilmelisiniz . Öte yandan, programlamayı bilmiyorsanız üzülmeyin. Diğer herhangi bir görev gibi, programlama da pratik ve özveri ile öğrenilebilir.
Bilgisayar bilimi geçmişi olmayan insanlar tanıyorum, ancak programlamayı öğreniyorlar ve şimdi harika otomasyon mühendisleri. Microsoft'ta, programlama yapabilen test uzmanlarını işe alıyorlar. Arandılar SDET (Test için yazılım geliştirme mühendisleri). İş tanımının ilk satırında 'SDET’ler çok fazla kod yazıyor….' Diyor.
Lütfen programlamayı öğrenin, ondan kaçmayın. Seni bir yapacak harika testçi .
Sonuç
Umarım bu makale, test otomasyonu ile ilgili bazı kavramları temizlemenize yardımcı olur.
Sınıflandırmanın çeşitli yollarıyla yüksek düzeyde çeşitli otomasyon testi türlerini ele aldık.
Ana sınıflandırmalar şunları içerir:
- Test türüne (İşlevsel veya işlevsel olmayan) dayalı otomasyon.
- Test Aşamasına (Birim, API veya UI) dayalı otomasyon.
- Çeşitli test türlerine dayalı otomasyon (Çoklu test türleri).
Bu tür otomatik testler için kullanılabilecek çeşitli araçları da listeledik.
Gelecek yazımızda tartışacağız adım adım prosedür kuruluşunuzda test otomasyonu nasıl başlatılır .
PREV Eğitimi # 1 | SONRAKİ Eğitici # 3
Önerilen Kaynaklar
- HP LoadRunner Öğreticileriyle Yük Testi
- En İyi Yazılım Test Araçları 2021 (QA Test Otomasyon Araçları)
- Test Uzmanları Otomasyon Nedeniyle Testlere Karşı Tutumlarını Kaybediyor mu?
- Manuel ve Otomasyon Testi Zorlukları
- 10 Adımlı Otomasyon Test Süreci: Kuruluşunuzda Otomasyon Testine Nasıl Başlanır?
- Manuel veya Otomasyon Test Uzmanı mısınız? Bizim İçin Yarı Zamanlı Çalışın!
- Android Uygulamalarını Test Etmek İçin En İyi 11 Otomasyon Aracı (Android Uygulama Test Araçları)
- En İyi 10'dan Fazla En İyi Yazılım Test Kitabı (Manuel ve Otomasyon Test Kitapları)