Aktif ve Pasif Karşılaştırma
Yürütme Sonrası Aktif ve Pasif Karşılaştırma
Yürütme sonrası karşılaştırma, aktif veya pasif olarak yapılabilir. Test senaryosu yürütüldükten sonra neyin mevcut olduğuna basitçe bakarsak, bu pasif bir yaklaşımdır. Örnek test durumumuzda, sonunda elimizde bulunan tek şey düzenlenmiş belgedir.
Ekrana gönderilen tüm bilgiler gitti ve bu nedenle bakılamaz. Ekran çıktılarını doğrulamak için dinamik karşılaştırmayı kullanabilirdik ama aynı zamanda etkin uygulama sonrası karşılaştırmayı da kullanabilirdik.
Bir test senaryosu sırasında ilgilendiğimiz belirli sonuçları kasıtlı olarak daha sonra karşılaştırmak amacıyla kaydedersek, bu, yürütme sonrası karşılaştırmaya yönelik aktif bir yaklaşımdır.
Örnek test durumumuzda, araca belirli zamanlarda ekran çıktısının bölümlerini (örneğin hata mesajları) yakalaması ve bunları bir veya daha fazla dosyaya kaydetmesi talimatını verebiliriz. Bu durumda, yürütme sonrası karşılaştırma için yakalayacağımız çıktılar, dinamik karşılaştırma için kullanmayı seçeceğimiz çıktılarla aynı olacaktır.
Yürütme sonrası karşılaştırmaya yönelik bu aktif yaklaşım, bazı durumlarda değerli olup bazılarında değerli olmayan dinamik karşılaştırmaya göre yalnızca incelikli faydalar sunar.
Faydalar şöyledir:
1. Gerçek çıkışlar kaydedilir. Test senaryolarının sonuçlarının daha ayrıntılı bir kaydı tutulacak ve test senaryosunun başarısız olması durumunda potansiyel olarak faydalı bilgiler verecek ve belki de gelecekteki denetimler için arşivlenecektir.
Karmaşık bir karşılaştırma yapıldığında, gerçek ve beklenen sonuçlar beklenen şekillerde farklılık gösterebilir (böylece eşleştikleri kabul edilir), dolayısıyla gerçek sonucun kaydedilmesi önemli olabilir. Ancak, basit bir karşılaştırma yapıldığında ve hiçbir fark olmadığında, beklenen ve fiili sonuçlar aynıdır.
2. Karşılaştırma çevrimdışı yapılabilir. Karşılaştırma yoğun bir şekilde işlenebilir ve geçen süre önemli ölçüde uzayabilir. Tüm test durumları yürütüldükten sonra karşılaştırmalar yapabilmek yararlı olabilir. Karşılaştırmalar, test durumlarını yürütmek için kullanılandan farklı bir makinede gerçekleştirilebilir, özellikle test için makine kaynaklarının yalnızca sınırlı bir süre için mevcut olduğu durumlarda yararlıdır.
3. Farklı karşılaştırıcılar kullanılabilir. Dinamik karşılaştırmanın karmaşıklığı genellikle test aracının yetenekleriyle sınırlıdır.
Yürütme sonrası karşılaştırma, daha karmaşık karşılaştırmalar yapmak için çok daha geniş bir araç ve teknik yelpazesine izin verir.
4. Diğer çıktılar kaydedilebilir. Yakalanan tüm bilgilerin karşılaştırılması gerekmez. Başarısızlığın nedenini analiz etmeye yardımcı olması için yalnızca test senaryosunun başarısız olması durumunda kullanılan ek sonuçları yakalamak yararlı olabilir.
‘Daha basit komut dizilerinin’ bir avantaj olarak listelenmediğini unutmayın. Bunun nedeni, dinamik karşılaştırma için gerekli talimatların, belirli çıktıları yakalamak ve kaydetmek için benzer talimatlarla değiştirilmesidir. Bunların çok farklı olması muhtemel değildir ve yine de test komut dosyasında ‘programlama’ gerektirecektir.
Aktif yürütme sonrası karşılaştırma, dinamik karşılaştırma yerine kullanılabilse de, nadiren yapılır. Test çalıştırma aracına sonuçlara bağlı olarak farklı davranması talimatı verilebileceğinden, bir test senaryosu çalışması sırasında ortaya çıktıkları anda çıktıların doğrulanması, genellikle bir test senaryosu çalışmasının sonunda bunların doğrulanmasından daha üstündür. Örneğin, komut dosyası bir şeyler ters gider gitmez bir test senaryosunu iptal edebilir.
Pasif ve aktif taşıma arasındaki farklar
Aktif taşıma ve pasif taşıma arasındaki farklar maddeler halinde
Aktif ve pasif taşıma ortak özellikleri
Biyoloji aktif taşıma
Pasif taşıma çeşitleri nelerdir
Endositoz ve ekzositoz karşılaştırma
Aktif taşıma
Basit difüzyon ve kolaylaştırılmış difüzyon
Yürütme Sonrası Karşılaştırmayı Uygulama
Test yürütme ve yürütme sonrası karşılaştırmanın entegrasyonu
Yürütme sonrası karşılaştırmayı uygulamak, ilk bakışta göründüğü kadar kolay değildir. Otomatikleştirilmiş bir test vakası gerçekleştirildiğinde, herhangi bir başka işlem yapmamıza gerek kalmadan bunun geçip geçmediğinin bize söylenmesini isteriz.
Bununla birlikte, bir test senaryosu bir veya daha fazla yürütme sonrası karşılaştırma gerektirdiğinde, genellikle bunu gerçekleştiren farklı bir araçtır. Bu durumda, test yürütme aracı yürütme sonrası karşılaştırıcıyı/karşılaştırıcıları kendi kendine çalıştırmayabilir, bu nedenle karşılaştırıcıyı/karşılaştırıcıları kendimiz çalıştırmamız gerekir. Bu durumu, bir dizi ‘otomatikleştirilmiş’ test senaryosunu tamamlamak için gerekli olan manuel ve otomatikleştirilmiş görevler açısından gösterir.
Verimli otomatik testlere pek benzemiyor ve gerçekten de öyle değil. Karşılaştırıcıyı çalıştırmaktan test yürütme aracı sorumlu olsaydı iyi olurdu, ancak ona bunu yapmasını söylemedikçe ve nasıl yapacağını söylemedikçe, öyle değil.
Test yürütme aracının yürütme sonrası karşılaştırmaları gerçekleştirmesini sağlamak için, test komut dosyasının sonuna gerekli talimatları özellikle eklememiz gerekecek. Bu, özellikle gerçekleştirilecek çok sayıda ayrı karşılaştırma varsa, önemli miktarda çalışma anlamına gelebilir.
Bir dizi test senaryosunda, paylaşılan betikleri kullanarak iş miktarını azaltabiliriz. Birçok test senaryosunda kolayca ve tutarlı bir şekilde yerleştirilebilecek şekilde gerçek ve beklenen sonuçların nerede saklanacağını dikkatlice planlayarak, her test komut dosyasındaki ek talimatlar daha da basitleştirilebilir.
Yürütme sonrası karşılaştırmayı gerçekleştirmek için yönergeleri eklediğimizde bile tüm sorunu çözemeyebiliriz. Nedenini gösterir. Test yürütme aracı muhtemelen bize test senaryosunun başarılı bir şekilde yürütüldüğünü (ya da çalıştırılmadığını) söyleyebilir, ancak yürütme sonrası karşılaştırmaların sonuçları hakkında bize hiçbir şey söylemeyebilir.
Yürütme sonrası karşılaştırmanın sonuçlarını değerlendirmek, manuel bir görevdir. Test senaryosu çalışmasının nihai durumunu belirlemek için iki yere bakmamız gerekir: yürütme aracının günlüğü veya özet raporu ve karşılaştırma aracından/araçlarından alınan çıktı.
Her test vakası için, başka bir deyişle, başarılı olsun ya da olmasın, her şeyi kapsayan bir statünün verilmesini istiyoruz. Ancak, bir test komut dosyasını yürütme sonrası karşılaştırmaları çalıştıracak şekilde geliştirmek bir şeydir; karşılaştırmaların sonuçlarını anlayacak ve genel bir test durumu durumu döndürecek şekilde geliştirmek, başka bir test durumudur. Bu ikinci görev önemsiz olmayabilir, ancak sorunu tüm test senaryolarının çözümden yararlanabileceği bir şekilde çözerek kazanılacak çok şey vardır.
Yürütme ve yürütme sonrası karşılaştırmayı bütünleştirmenin dört yolu İdeal bir dünyada, test yürütme aracı ile yürütme sonrası karşılaştırıcılar arasındaki arayüz sorunsuz olacaktır, ancak genellikle kendimizin doldurması gereken bir boşluk vardır. Karşılaştırmaları çalıştırma ve nihai test senaryosu sonucunu değerlendirme sorunlarını aşmanın çeşitli yolları vardır. Şimdi bunlardan birkaçını ele alacağız.
Buradaki modeller, uygulama sonrası karşılaştırmanın uygulanmasına yönelik dört yaklaşımı göstermektedir. Bunlar tek alternatifler değil, belki de en yaygın olanlardır ve şimdi ele alacağımız seçeneklerdir. Bunlardan üçü, karşılaştırıcının etrafında bir ‘harness’ gösterir.
Bu, herhangi bir ticari test aracının parçası olmayan, ‘yerli’ olan bir şeyi ima etmek içindir. Bunun ne işe yaradığı ve nedenleri daha sonra açıklığa kavuşacak, ancak şimdilik en iyi şekilde ticari test araçlarının bıraktığı bir boşluğu doldurma aracı olarak görülüyor.
İlk model, karşılaştırıcının etrafındaki yerel kablo demetini kullanır, ancak test yürütme aracından ve sürecinden ayrı kalır. Bu yaklaşımla, bir test cihazının test yürütme süreci tamamlandıktan sonra (genellikle tüm test senaryoları yürütüldükten sonra) karşılaştırma sürecini başlatması gerekir.
Bu, bir insan test cihazının karşılaştırıcıyı tekrar tekrar çağırma ihtiyacını ortadan kaldırsa da, otomatikleştirilmiş bir süreçten hala çok uzaktır. Ancak, yürütme sonrası karşılaştırma sürecini tamamen ayrı bir zamanda veya farklı bir makinede çalıştırmanın faydalarının olduğu durumlarda belki de iyi bir çözümdür.
Aktif taşıma Aktif taşıma ve pasif taşıma arasındaki farklar maddeler halinde Aktif ve pasif taşıma ortak özellikleri Basit difüzyon ve kolaylaştırılmış difüzyon Biyoloji aktif taşıma Endositoz ve ekzositoz karşılaştırma Pasif taşıma çeşitleri nelerdir Pasif ve aktif taşıma arasındaki farklar