Aracılığıyla paylaş


Veri Temelli Test

Veri temelli Test, test giriş ve çıkış değerlerinin koddan ayrıldığı bir test metodolojisidir. Bu formalizm genellikle test kodunu biraz daha genel hale getirmek için yapılan küçük bir yatırımın, yalnızca ilgili verileri tanımlayarak çok sayıda test çalışması yazılmasına izin verdiği anlamına gelir.

Veri Temelli Test, davranışlarını tanımlayan bir dizi giriş değeriyle çalışan test alanları için mükemmeldir. Örneğin, bir API'yi test ederken giriş ve çıkış parametreleri bir veri kaynağı olarak tanımlanabilir ve test kodu verileri tüketir, API çağrıları yapar ve sonuçları doğrular.

TAEF'de veri temelli Test desteği

TAEF, veri temelli testler yazmak için çeşitli seçenekler sunar. Hangisinin test senaryonuza en uygun olduğunu seçebilmeniz için bu seçenekleri anlayalım.

Tablo tabanlı veri temelli test çözümü, veri parametresi varyasyonları üzerinde ayrıntılı denetime ve parametre türlerini tanımlamanıza olanak tanır. Bu durumda DataSource, XML dosyasında tanımlanan bir tablodur. Parametre türlerini (int, unsigned int, size_t, bool, double, DWORD, __int64 vb. ve bunların homojen dizi değişkenini) belirtebilir veya türün varsayılan olarak WEX::Common::String (yerel) veya dize (yönetilen) olmasını sağlayabilirsiniz. Tablodaki her Satır, parametre değerleri üzerinde bir çeşitleme kümesidir. Test yöntemi, tablodaki her Satır için yeniden çağrılır. Tablo tabanlı veri temelli test için XML DataSource'un kod parçacığı aşağıdadır:

1  <?xml version="1.0"?>
2   <Data>
3     <Table Id ="Table1">
4          <ParameterTypes>
5                  <ParameterType Name="Size">Int32</ParameterType>
6                  <ParameterType Name="Color">String</ParameterType>
7          </ParameterTypes>
8          <Row>
9                 <Parameter Name="Size">12</Parameter>
10                 <Parameter Name="Color">Blue</Parameter>
11         </Row>
12         <Row>
13                 <Parameter Name="Size">4</Parameter>
14                 <Parameter Name="Color">White</Parameter>
15         </Row>
16         <Row>
17                 <Parameter Name="Size">9</Parameter>
18                 <Parameter Name="Color">Black</Parameter>
19         </Row>
20    </Table>
21  </Data>

Daha fazla bilgi için: Tablo tabanlı veri temelli test.

Hafif veri odaklı test desteği, Tablo tabanlı veri temelli test çözümünün sunduğu tam uygunluğu sağlamaz. Açıklığa kavuşturmak için: Hafif veri odaklı test, veri parametrelerini WEX::Common::String(yerel) veya String(yönetilen) ile sınırlandırırken, bu, Tablo tabanlı veri odaklı test çözümünün desteklediği çeşitli türlerle karşıtlık oluşturur. Ancak, test yöntemini veri odaklı hale getirmek için düşük maliyetli ve hızlı bir şekilde (örneğin bir veya iki parametreyle) veri çeşitlendirmesi yapmak istiyorsanız ve bir XML dosyası eklemenin DataSource olarak kullanıldığında zahmete değmediğini düşünüyorsanız, hafif ağırlıklı veri odaklı test tam olarak aradığınız şey olabilir. Bunun harika bir örneği, OpenThemeData(...) adlı bir API için birim testi yazan ve API'yi "Düğme", "Listbox" ve "ScrollBar" ile doğrulamak isteyen bir geliştiricidir. Bunun için bir XML DataSource dosyası oluşturmak çok fazla bir aşırı yükleme olabilir, ancak hafif veri temelli test desteğiyle bu işlem kaynak kodun kendisinde verimli bir şekilde gerçekleştirilebilir. Birden fazla parametre belirtilirse, TAEF sahne arkasındaki parametrelerin n yönlü bir kombinatoryal genişlemesini oluşturur ve her birleşim için test yöntemi çağrılır. Daha fazla bilgi için: Hafif veri temelli test.

Hafif veri temelli testlerin sunduğu n yönlü birleştirici genişletme, test senaryosu daha karmaşık hale geldikçe pahalıya ulaşabilir ve azalan getiriler sağlayabilir. Bu tür karmaşık test senaryolarında, PICT tabanlı Veri odaklı test çözümü, Çift Yönlü Bağımsız Kombinatoryel Test (PICT) sunabilir ve bu, aradığınız şey olabilir. PICT, parametreler üzerinde kapsamlı kapsam elde etmek için küçük bir parametre sonuçları kümesi oluşturarak çok fazla değer sağlar. PICT ve bu çözümün PICT tabanlı veri temelli test çözümünde nasıl kullanılacağı hakkında daha fazla bilgi edinmek için bağlantıları öğrenin.

WMI tabanlı veri temelli test desteğini kullanarak testlerinize önkoşul ekleyebilir ve test makinesinde bulunan kaynaklara göre bilgi (veri) alabilirsiniz. Örneğin, testi yalnızca makine etki alanına katılmışsa ve testi çalıştırdığınızda etki alanı adı bilgisine de ihtiyacınız varsa çalıştırmak isteyebilirsiniz. Bu örnekte DataSource bir WQL sorgusudur. Test senaryonuzda WMI Tabanlı veri temelli testden yararlanma hakkında daha fazla bilgi edinin.

Yukarıda listelenen tüm seçeneklere dikkat edin, yukarıdaki seçeneklerin bir bileşiminin uygun görünebileceği bir tasarım da ayarlayabilirsiniz. Örneğin, test makinesine bağlı tüm yazıcılar hakkında bilgi almak için bir WMI sorgusu kullanmak isteyebilirsiniz, ancak tablo tabanlı veri temelli test yapısı kullanılarak önceden tanımlanabilen başka bir parametre kümesi de olabilir. Testinizin verilerinin iki ayrı tablodan gelmesini istiyorsanız, her tablonun diğer testlerde yeniden kullanılabilir olmasını sağlamak için birden çok DataSource belirtimi de yararlı olabilir. Bir test için birden çok DataSource belirtme ve bunu yaparken hangi kısıtlamaların geçerli olduğu hakkındaki ayrıntıları okuyun: Birden Çok Veri Kaynağı Belirtme

Bu bölümde