Test Senaryosu Nedir? Örneklerle Nasıl Yazılır?

⚡ Akıllı Özet

Yazılım testinde test betiği, bir uygulamayı çalıştıran ve her adımı kontrol eden, satır satır yazılmış bir dizi yürütülebilir talimattır. Bu kılavuz, üç derleme yöntemini, yeniden kullanılabilir bir şablonu ve çalışan bir örneği kapsamaktadır. Selenium örnek.

  • 📝 Temel Tanım: Bir komut dosyası, gerçekleştirilecek her işlemi, girilecek tam girdiyi ve her adımın beklenen sonucunu belirtir.
  • 🎛️ Üç Yapım Yöntemi: Kayıt ve oynatma, anahtar kelime veya veri odaklı betikleme ve doğrudan bir programlama dilinde kod yazma.
  • 🧱 Dil Özgürlüğü: Komut dosyası dili, uygulama diliyle aynı olmak zorunda değildir, bu nedenle Java Ürün şu yöntemle test edilebilir: JavaSenaryo veya Python.
  • ???? Şablon Disiplin: Standart bir şablon, kimlik, ön koşullar, test verileri, adımlar, beklenen sonuç ve durum alanlarını sabitler.
  • 🇧🇷 Senaryo ve Durum Karşılaştırması: Bir test senaryosu, manuel olarak adım adım gerçekleştirilen bir prosedürdür; test betiği ise bir araç tarafından otomatik olarak yürütülür.
  • Kalite Kuralları: Her bir senaryoyu açık ve anlaşılır tutun, her adımı tek bir eylemle sınırlayın ve yolları gerçek kullanıcı bakış açısından tasarlayın.

Test Komut Dosyası Nedir?

Yazılım Testinde Test Komut Dosyası Nedir?

A test komut dosyası Bu, test edilen uygulamanın doğrulanması için gerçekleştirilmesi gereken sistem işlemlerinin satır satır bir açıklamasıdır. Her bir adımın beklenen sonucuyla birlikte atılması gereken her adımı listeler.

Çalıştırılabilir olduğu için, aynı komut dosyası birçok cihazda ve sistemde sistematik olarak tekrar oynatılabilir. Kullanılabilir bir komut dosyası her zaman hem girilecek gerçek girdiyi hem de beklenen çıktıyı kaydeder.

Test Komut Dosyası Nasıl Yazılır

Test komut dosyası
Test komut dosyası

Test komut dosyası oluşturmanın üç farklı yolu vardır:

Kayıt ve oynatma

Bu yöntemde test uzmanının hiçbir kod yazmasına gerek yoktur, sadece kullanıcının eylemlerini kaydetmesi yeterlidir. Herhangi bir sorun oluşması durumunda düzeltme yapmak veya otomasyon davranışını ince ayar yapmak için daha sonra kodlama yine de gereklidir.

Bu yöntem, kodun tamamına zaten sahip olduğunuz için sıfırdan eksiksiz bir test komut dosyası yazmaktan daha kolaydır. Çoğunlukla VBScript gibi basitleştirilmiş bir programlama dilinde kullanılır.

Anahtar kelime veya veri odaklı betikleme

Bu yöntemde test uzmanları ve geliştiriciler arasında net bir ayrım vardır. Veriye dayalı komut dosyası oluşturmada, test uzmanı, temel kodu bilmeden anahtar kelimeleri kullanarak testi tanımlar.

Burada geliştiricilerin görevi, anahtar kelimelere yönelik test komut dosyası kodunu uygulamak ve gerektiğinde bu kodu güncellemektir. Yani bu yöntemde testçinin sistem hakkında endişelenmesine gerek yoktur. Ancak otomatik olarak test etmek istediğiniz herhangi bir yeni işlevsellik için geliştirme kaynaklarına büyük ölçüde güveneceklerdir.

Programlama dilinde kod yazmak

Bu yöntemi seçerseniz, senaryonun ilk taslağını oluşturmak için genellikle kayıt ve oynatma özelliği hala kullanılabilir durumdadır.

Ancak er ya da geç, bir test uzmanının kayıt ve oynatma işlemlerinin ötesine geçip elle basit komut dosyaları yazmayı öğrenmesi gerekir. Seçim yapabileceğinizi anlamak önemlidir. Programlama dili başvurunuz yazılmış olsa bile Java.

Ancak bu, test komut dosyalarınızı yazmanız gerektiği anlamına gelmez. Java, öğrenmesi zor olabilir. Bunun yerine test komut dosyalarınızı aşağıdaki gibi daha kolay bir dilde yazabilirsiniz: JavaSenaryo veya Ruby (veya kullanmak istediğiniz daha kolay bir dil).

Test Komut Dosyası Örneği

Örneğin, bir web sitesinde oturum açma işlevini kontrol etmek için test betiğiniz şunları yapabilir:

  • Otomasyon aracının oturum açma ekranında “Kullanıcı Adı” ve “Şifre” alanlarını nasıl bulabileceğini belirtin. Diyelim ki CSS öğe kimliklerine göre.
  • Web sitesinin ana sayfasını yükleyin ve ardından “giriş yap” bağlantısına tıklayın. Açılan Giriş ekranının ve “Kullanıcı Adı” ve “Şifre” alanlarının görünür olduğunu doğrulayın.
  • Kullanıcı adı olarak “Charles” ve şifre olarak “123456” yazın, ardından “Onayla” düğmesini bulun ve tıklayın.
  • Kullanıcının, giriş yaptıktan sonra görünen Hoş Geldiniz ekranının başlığını, örneğin CSS öğesi kimliğine göre nasıl bulabileceğini belirtmeleri gerekir.
  • Hoş Geldiniz ekranının başlığının görünür olduğunu doğrulayın.
  • Karşılama ekranının başlığını okuyun.
  • Başlık metninin "Hoş Geldin Charles" anlamına geldiğini iddia edin.
  • Başlık beklentiyi karşılıyorsa, testi başarılı olarak kaydedin. Aksi takdirde, başarısız olarak kaydedin.

Örnek Test Betiği Selenium 'da Java

Yukarıdaki madde işaretli liste, sade bir dille bir oturum açma testini açıklamaktadır. İşte aynı testin, çalıştırılabilir bir komut dosyası olarak yazılmış hali, aşağıdaki komutlar kullanılarak: Selenium WebDriver ve JUnitHer madde işareti bir veya iki satır koda karşılık gelir.

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.junit.Assert;
import org.junit.Test;

public class LoginTestScript {

    @Test
    public void validLoginShowsWelcomeMessage() {
        // Step 1: start the browser and open the site
        WebDriver driver = new ChromeDriver();
        driver.get("https://demo.guru99.com/test/login.html");

        // Step 2: locate the fields by their element ids
        driver.findElement(By.id("email")).sendKeys("Charles");
        driver.findElement(By.id("passwd")).sendKeys("123456");

        // Step 3: submit the form
        driver.findElement(By.id("SubmitLogin")).click();

        // Step 4: read the welcome title and assert the expected result
        String actual = driver.findElement(By.id("welcome")).getText();
        Assert.assertEquals("Welcome Charles", actual);

        driver.quit();
    }
}

Gerçek bir senaryoyu kaydedilmiş bir senaryodan ayıran üç detay vardır:

  • Konum belirleyiciler açıkça belirtilmiştir. Öğeler ekran konumuna göre değil, kimlik numarasına göre bulunur, bu nedenle komut dosyası sayfa düzeni değişikliğinden etkilenmez.
  • İddia, testin kendisidir. `assertEquals` olmadan komut dosyası sadece tıklama işlemini gerçekleştirir; başarılı olup olmayacağına karar veren şey doğrulama işlemidir.
  • Temizleme işlemi her zaman çalışır. `driver.quit()` tarayıcıyı serbest bırakır; aksi takdirde başarısız bir çalıştırma, geride işlemler bırakır.

Aynı yapı her dilde geçerlidir. Python 'da Selenium Çağrılar driver.find_element(By.ID, “email”) şeklini alır ve gerçek değerin “Welcome Charles” ile aynı olduğunu doğrular.

Test Komut Dosyası oluşturmaya yönelik ipuçları

Test betiği oluşturmaya yönelik bazı önemli ipuçları:

Açık tut

Test senaryonuz, yardıma ihtiyaç duymadan çalıştırılabilecek kadar açık olmalıdır. Bir test uzmanının uygulama hakkında ayrıntılı bilgi almak için proje sahibine sürekli soru sorması zaman ve kaynak israfına yol açar.

Bunu önlemek için, test senaryosundaki her adımın açık, özlü ve tutarlı olduğundan emin olun. Bu, test sürecinin sorunsuz ilerlemesine yardımcı olur.

Keep it simple

Test kullanıcılarının gerçekleştirmesi için yalnızca belirli bir eylemi içermesi gereken bir test komut dosyası oluşturmalısınız. Bu, her fonksiyonun doğru şekilde test edilmesini ve test uzmanlarının yazılım test sürecindeki adımları kaçırmamasını sağlar.

İyice düşün

Test komut dosyasını yazmak için hangi yolları test edeceğinize karar vermek için kendinizi kullanıcının yerine koymanız gerekir. Kullanıcıların bir sistemi veya uygulamayı çalıştırırken kullanacağı tüm farklı yolları tahmin edebilecek kadar yaratıcı olmalısınız.

Test Komut Dosyası Yaklaşımı ne zaman kullanılmalı?

Test Komut Dosyasını kullanmanın nedenleri şunlardır.

  • Bir test senaryosu, hiçbir adımın atlanmadığını ve sonuçların üzerinde anlaşılan test planıyla eşleştiğini doğrulamak için en güvenilir yöntemdir.
  • Önceden hazırlanmış bir komut dosyası, yürütme sırasında hata olasılığını önemli ölçüde azaltır.
  • Test kullanıcıları bir ürünü özgürce incelediklerinde, özellikleri kolayca gözden kaçırabilirler.
  • Bir test uzmanı, bir fonksiyonun beklenen sonucu üretmediği halde ürettiğini varsayabilir.
  • Kullanıcı performansının önemli ve spesifik olduğu durumlarda özellikle kullanışlıdır.

Test Komut Dosyası Şablonu nedir?

Test senaryosu şablonu, projenizdeki her senaryonun doldurması gereken alanları içeren, yeniden kullanılabilir, önceden biçimlendirilmiş bir belgedir. Bunu standartlaştırmak, testlerinizin ne kadar ayrıntılı olduğunu belirler ve hiçbir gözden geçirenin bir adımın ne anlama geldiğini tahmin etmek zorunda kalmamasını garanti eder.

Kullanılabilir bir şablon şu alanları içerir:

Alan Amaç
Komut Dosyası Kimliği Kullanılan benzersiz tanımlayıcı tracYetenek ve kusur bağlantısı
Başlık Komut dosyasının neyi doğruladığını belirten tek satır.
Modül veya özellik Test edilen uygulamanın alanı
Ön koşullar İlk adım çalıştırılmadan önce sistemin bulunması gereken durumu belirtin.
Test verisi Kimlik bilgileri ve sınır değerleri de dahil olmak üzere kesin girdiler.
Adımlar Numaralandırılmış işlemler, her adımda bir işlem.
Beklenen Sonuç Her adımın gözlemlenebilir sonucu
Gerçek sonuç Uygulama sırasında dolduruldu
Durum Başarılı, başarısız, engellendi veya çalıştırılmadı
Yazar ve tarih Sahiplik ve sürüm geçmişi

Test Senaryosu ile Test Komut Dosyası Arasındaki Fark

Test senaryosu ve test betiği arasındaki temel farklar şunlardır:

Test Durumu Test Komut Dosyası
Test durumu Bir uygulamayı test etmek için kullanılan adım adım bir prosedürdür. Test betiği, bir uygulamayı otomatik olarak test etmeye yönelik bir dizi talimattır.
Test Senaryoları manuel test ortamı için kullanılır. Test Komut Dosyası, otomasyon test ortamında kullanılır.
Manuel olarak yapılır. Komut dosyası formatına göre yapılır.
Test senaryosu şablonu Test Kimliğini, test verilerini, test prosedürünü, gerçek ve beklenen sonuçları vb. içerir. Test Script'inde script geliştirmek için farklı komutlar kullanabiliriz.

Test Senaryolarının Avantajları ve Dezavantajları

Kodlama bir yatırımdır. Yatırımın karşılığını nerede aldığınızı bilmek, hangi testleri önce otomatikleştirmeniz gerektiğini anlamanızı sağlar.

Avantajlar

  • Tekrarlanabilir: Her derlemede aynı adımlar aynı şekilde tekrarlanır; bu da regresyon testini pratik kılan şeydir.
  • Hızlı ve geniş ölçekte: Bir test uzmanının bir gününü alan bir test paketi, dakikalar içinde hatta gece boyunca çalıştırılabilir.
  • Tutarlı: Senaryo asla sıkılmaz, bir adımı atlamaz veya sonucu yanlış yorumlamaz.
  • Platformlar arası: Tek bir komut dosyası, farklı tarayıcılarda, cihazlarda ve işletim sistemlerinde tekrar tekrar oynatılabilir.
  • CI hazır: Komut dosyaları bir derleme hattına entegre olur, böylece her commit otomatik olarak doğrulanır.

Dezavantajlar

  • Yüksek kurulum maliyeti: Bir betik yazmak ve hata ayıklamak, testi elle bir kez çalıştırmaktan çok daha uzun sürer.
  • Bakım yükü: Değiştirilen bir öğe kimliği veya yeniden tasarlanmış bir sayfa, daha sonra onarılması gereken komut dosyalarını bozar.
  • Beceri gereksinimi: Ekibin kayıt ve oynatma işlevlerinin ötesinde, programlama yeteneğine de ihtiyacı var.
  • Beklenmeyene karşı kör: Bir komut dosyası yalnızca kendisine kontrol etmesi söylenen şeyleri kontrol eder, bu nedenle görsel ve kullanılabilirlik kusurları gözden kaçar.
  • Yanlış özgüven: Yüzeysel komut dosyalarından oluşan yeşil bir paket, kapsama alanındaki gerçek boşlukları gizleyebilir.

Pratik kural şudur: İstikrarlı, tekrarlayan, yüksek riskli yolları otomatikleştirin ve keşifsel ve kullanılabilirlik çalışmalarını manuel olarak yapın.

Test Senaryosu: Önemli Noktalar

  • Test Komut Dosyaları, test edilen uygulamayı veya sistemi doğrulamak için gerçekleştirilmesi gereken sistem işlemleriyle ilgili bilgileri içeren satır satır açıklama anlamına gelir.
  • Test senaryosu, bir uygulamayı test etmek için kullanılan adım adım bir prosedürdür, oysa test komut dosyası, bir uygulamayı otomatik olarak test etmek için bir dizi talimattır.
  • Test senaryosu oluşturmanın üç yolu vardır: 1) Kayıt/oynatma, 2) Anahtar kelime/veri odaklı senaryo yazımı, 3) Yazma. Code Programlama Dilini Kullanmak.
  • Test komut dosyanız açık olmalı ve test uzmanlarının gerçekleştirmesi için yalnızca belirli bir eylem içeren bir test komut dosyası oluşturmalısınız.
  • Bir test senaryosu, hiçbir adımın atlanmadığını ve sonuçların üzerinde anlaşılan test planıyla eşleştiğini doğrulamak için en güvenilir yöntemdir.
  • Test Komut Dosyası Şablonu, kullanılabilir bir test komut dosyası oluşturmak için önemli olan önceden seçilmiş bilgileri içeren, yeniden kullanılabilir, biçimlendirilmiş bir belgedir.

SSS

Bir test senaryosu, insan test uzmanı için yazılmış, adım adım ilerleyen manuel bir prosedürdür. Bir test betiği ise bir aracın otomatik olarak çalıştırdığı yürütülebilir koddur. Bir test senaryosu, otomatikleştirildikten sonra genellikle tek bir test betiği haline gelir.

Öncelikle kayıt ve oynatma ile yapıyı inceleyin, ardından oluşturulan kodu düzenleyin. Kaydedilen kodlar bozulursa, elle komut dosyaları yazmaya geçin, çünkü kaydedilen konum belirleyiciler nadiren kullanıcı arayüzü değişikliğinden sonra korunur.

Tek seferlik yapılan, her sprintte değişen ve görsel olarak değerlendirilen her şey. Keşifsel testler, kullanılabilirlik incelemeleri ve tek seferlik kontrollerin manuel olarak yapılmasına kıyasla betik haline getirilmesi daha maliyetlidir.

Evet. Yapay zeka araçları, yazılı test senaryolarını çalıştırılabilir komut dosyalarına dönüştürebilir ve bir öğe değiştiğinde kendi kendini onaran konum belirleyiciler önerebilir. RevOluşturulan her doğrulama ifadesini inceleyin, çünkü asla başarısız olmayan bir komut dosyası hiçbir şeyi test etmiyor demektir.

Yapay zekâ destekli araçlar, insan müdahalesi olmadan değişen öğeleri algılar ve konum belirleyicileri günceller; bu da bozuk komut dosyalarının en yaygın nedenini ortadan kaldırır. Ekipler, pakete tekrar güvenmeden önce değişiklikleri yine de gözden geçirir.

Bu yazıyı şu şekilde özetleyin: