Test Yapısının Çözülmesi
Komut Dosyası Paylaşımı
Farklı testçilerin paylaşılan komut dosyalarını ve verileri kopyalarını oluşturmadan ancak bir şekilde bunlara atıfta bulunarak kullanabilmesi daha iyidir. Bir komut dosyasının bir kopyasını oluşturmak, kopyanın düzenlenmemesi gerektiği anlaşıldığı sürece (yalnızca farklı bir komut dosyası için bir başlangıç noktası olarak kullanılmadığı sürece) sorun yoktur.
Kopyalar oluşturulursa, bunların düzenlenip paylaşılan bir komut dosyasının alternatif bir versiyonu haline gelme tehlikesi vardır. Bu, otomatik bir Test Paketinin bakımını daha zor hale getirecektir çünkü bakımı yapan kişi, testler çalıştırılana kadar farklı bir sürümün var olduğunu fark etmeyebilir. O zaman bile sorunun ne olduğu açık olmayabilir.
Açıkçası, bir tür yeniden kullanılabilir komut dosyası kitaplığına ihtiyaç vardır. Bunun için gereklilikler açıkça belirtilebilir. Örneğin, herhangi bir testçinin herhangi bir kitaplık komut dosyasını bulması iki dakikadan uzun sürmemelidir. Gerekli komut dosyasını bulduktan sonra, test uzmanı makul bir süre içinde onu tam olarak nasıl kullanacağını belirleyebilmelidir.
Kitaplığa yeni komut dosyaları eklemenin ne kadar kolay olduğu ve tüm kitaplık komut dosyalarının güncel bir kataloğunun ne kadar hızlı üretilebileceği gibi diğer hususları hesaba katmak için bu gereksinimleri genişletebiliriz. (Bu tür gereksinimleri ölçülebilir bir şekilde belirtmek, test edilebilecekleri anlamına gelir; yani, uygulamamızın gerçekten gereksinimlerimizi karşılayıp karşılamadığını kontrol edebileceğiz.)
Komut dosyası kitaplığı biraz uygulama çabası gerektirecektir, ancak bizim görüşümüze göre, uzun vadede önemli bir yönetim çabası gerektirmemelidir. Yani, test yazılımı mimarisi (daha spesifik olarak bu noktada, yeniden kullanılabilir betikler için yapılandırma yönetim sistemi) büyük ölçüde kendi kendini idame ettiren bir sistem olmalıdır.
Çoklu Sürümler
Otomatik bir Test Paketinin gerçek değeri, yazılımın yeni bir sürümü test edildiğinde anlaşılmalıdır. Ancak, bu mümkün olmadan önce, otomatikleştirilmiş testlerin kendilerinde bazı değişiklikler gerektirmesi muhtemeldir. Menüde gezinmeyi kontrol eden bir komut dosyasının veya sisteme bilgi girmekle ilgilenen bir komut dosyasının, kullanıcı arayüzündeki değişiklikleri yansıtacak şekilde güncellenmesi gerekebilir.
Belki de test girişinin veya test verilerinin işlevsellik değişikliklerini yansıtması için güncellenmesi gerekebilir. Otomatikleştirilmiş Test Paketinde gerekli tüm değişiklikler yapıldığında, bu testler yazılımın yeni sürümünde çalıştırılabilir, ancak eski sürümde çalıştırılamaz. Öyleyse orijinal Sürümler saklanmalı mı?
Yazılımın eski sürümü için acil durum düzeltmelerini regresyon testi yapmaları gerekiyorsa, kesinlikle saklanmalıdır. Her halükarda, testlerin eski sürümlerini, örneğin bir yazılım özelliğindeki değişikliklerin geri çekilmesi gerektiğinde olduğu gibi, gerektiğinde geri dönülebilmesi için saklamak da iyidir.
Uzak iki bilgisayar arasında dosya paylaşımı
Aynı ağ üzerinden dosya aktarımı
Ağ üzerinden dosya paylaşım programı
Ortak dosya paylaşımı
Kablosuz ağda dosya paylaşımı
Ağda paylaşılan klasörü Bulma
Dosya paylaşımı
Ağdaki Ortak klasöre bağlanma
Peki, nerede saklanmalı ve daha sonra nasıl erişilebilir? Bir yaklaşım, tüm otomatikleştirilmiş test yazılımının bir kopyasını alarak, hangi test yazılımı setinin hangi yazılım sürümüne ait olduğunu netleştirmek olacaktır.
Bu, az sayıda otomatikleştirilmiş test ve nadiren yazılım revizyonları için işe yarar, ancak çok sayıda test biriktirdiğimizde veya sık sık yazılım revizyonlarıyla uğraşmak zorunda kaldığımızda, düpedüz yönetilemez değilse de kısa sürede verimsiz hale gelir. Verimsizlik, her betiğin ve her veri dosyasının vb. iki (veya daha fazla) kopyasına sahip olmamızdan kaynaklanmaktadır. Bir kopyada orijinal bir sorun bulursak, onu diğer her kopyada düzeltmek zorunda kalabiliriz.
Bu basit yaklaşım, testin artımlı olarak yapıldığı durumlarda iyi çalışmaz. Yani revize edilen sistemin bir parçası, diğeri hazır olmadan önce test edilir. Otomatikleştirilmiş testler, eski bu, yeni bu, karma sürümlerle başa çıkmak zorundadır.
Birden çok test yazılımı sürümünü yönetmeye yönelik daha karmaşık bir yaklaşım, bu dosyaların yalnızca değişen birden çok kopyasına sahip olmak olacaktır. Bu, bir test senaryosunun belirli herhangi bir sürümünü yeniden oluşturma işini daha karmaşık hale getirecek, ancak potansiyel olarak çok sayıda çoğaltılmış dosyaya sahip olmaktan kaçınacaktır.
Örneğin, şu anda kullanımda olan yazılımın üç sürümünün olduğunu varsayalım: tüm müşterilerin şu anda sahip olduğu en eski sürüm olan A sürümü, bazı müşterilerin yükselttiği daha sonraki bir sürüm olan B sürümü ve şu anda kullanıma sunulan en yeni sürüm olan C sürümü. test edilmek. Ayrıca, Y işlevi için komut dosyasının üç sürüm için de aynı olduğunu, X işlevi için komut dosyasının farklı olduğunu ve veri dosyasının yalnızca iki sürüm arasında farklılık gösterdiğini varsayalım.
Test yazılımımızın en son sürümünü (sürüm C) test etmek istediğimizde, her şeyin en son sürümü olduğu için uygun test yazılımını bulmak muhtemelen nispeten kolay olacaktır. Ancak, yazılım sürümü B için tüm uygun test yazılımı sürümlerini seçmek o kadar kolay olmayacak. Otomatikleştirilmiş bir testin çalışabilmesi için test yazılımının tüm doğru sürümlerine sahip olması gerekir. Araç durup ‘Affedersiniz, bunun en son sürüm olduğunu sanmıyorum, düşmek üzereyim’ demeyecek.
İyi yönetilmezse, testlerin birden çok sürümünü kontrol etmek bir kabus olacaktır. Tabii ki, iyi bir konfigürasyon yönetim sistemi işi basitleştirmelidir, ancak deneyimlerimize göre, iyi bir sistem boşverin, çok az kuruluş bir konfigürasyon yönetim sistemine sahiptir.
Platform ve Ortam Bağımsızlığı
Bu dördüncü test yazılımı mimarisi sorunu, yalnızca aynı yazılımın farklı ortamlarda veya donanım platformlarında test edilmesi gerektiğinde geçerlidir. İdeal olarak, tüm testler platformdan bağımsız olacaktır, böylece aynı dosyalar, komut dosyaları vb. her platformda veya her ortamda kullanılabilir. Uygulamada kaçınılmaz olarak bazı farklılıklar olacaktır. Bazı beklenen sonuçlar muhtemelen farklı olacaktır.
Belirli bir işletim sisteminin ‘standart’ bir paketi uygulama şekli nedeniyle, aynı giriş değerleri kullanılarak aynı hesaplamadan farklı sayısal sonuçlar elde edilebilir. Farklı platformlar, şeyleri ekranda farklı bir sırada, farklı renklerde veya yazı tiplerinde vb. Bu, açıklanan filtrelerin kullanımının yararlı olmasının bir nedenidir.
Belki de test kurulum yönergeleri, farklı veritabanı yönetim sistemleri gibi farklı ortamlar için değişecektir. Belirli bir test için bir test veritabanının ayarlanması ve doldurulması gerekiyorsa, veritabanını oluşturma komutları ve hatta verilerin girilme şekli bir özel veritabanından diğerine oldukça farklı olabilir.
Farklı platformlarda otomatik testler gerekiyorsa, test yazılımı mimarisi, tüm test yazılımının tekrarlanmasını gerektirmeden platforma bağlı bilgilerin gerekli kopyalarını tutmanın bir yolunu sağlamalıdır.
Ağ üzerinden dosya paylaşım programı Ağda paylaşılan klasörü Bulma Ağdaki Ortak klasöre bağlanma Aynı ağ üzerinden dosya aktarımı Dosya paylaşımı Kablosuz ağda dosya paylaşımı Ortak dosya paylaşımı Uzak iki bilgisayar arasında dosya paylaşımı