Adatvezérelt tesztelés

Az adatvezérelt tesztelés egy tesztelési módszer, amelyben a teszt bemeneti és kimeneti értékei elkülönülnek a kódtól. Ez a formalizmus általában azt jelenti, hogy a tesztkód egy kicsit általánosabbá tételének kis befektetése lehetővé teszi számos teszteset írását az érintett adatok egyszerű azonosításával.

Az adatvezérelt tesztelés kiválóan alkalmas olyan tesztelési területekre, amelyek olyan bemeneti értékekkel dolgoznak, amelyek meghatározzák a viselkedésüket – például api tesztelésekor a bemeneti és kimeneti paraméterek meghatározhatók adatforrásként, a tesztkód pedig felhasználja az adatokat, meghívja az API-t, és ellenőrzi az eredményeket.

Adatvezérelt tesztelés támogatása a TAEF-ben

A TAEF számos lehetőséget kínál az adatvezérelt tesztek készítésére. Tekintsük át ezeket a lehetőségeket, hogy eldönthesse, melyik felel meg a legjobban a tesztforgatókönyvnek.

A táblaalapú adatvezérelt tesztelési megoldás lehetővé teszi az adatparaméter-változatok részletes szabályozását, valamint a paramétertípusok meghatározását. Ebben az esetben a DataSource egy XML-fájlban definiált tábla. Megadhatja a paramétertípusokat (int, unsigned int, size_t, bool, double, DWORD, __int64 stb. és azok homogén tömbvariánsát), vagy a típus alapértelmezett értéke WEX::Common::String (natív) vagy sztring (felügyelt). A tábla minden sora a paraméterértékek variációinak halmaza. A rendszer újra meghívja a tesztmetódust a tábla minden sorához. Íme egy XML DataSource-kódrészlet táblázatalapú adatvezérelt teszteléshez:

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>

További információ: Táblaalapú adatvezérelt tesztelés.

A kis súlyú adatvezérelt tesztelési támogatás nem biztosítja a táblaalapú adatvezérelt tesztelési megoldás által kínált teljes hűséget. Tisztázandó: A könnyűsúlyú adatvezérelt tesztelés az adatparamétereket WEX::Common::String(natív) vagy String(felügyelt) típusokra korlátozza, szemben a táblaalapú adatvezérelt tesztelési megoldás által támogatott különféle típusokkal. Ha alacsony költségű és gyors adatváltoztatási lehetőséget keres (például egy vagy két paraméter esetén) egy tesztmódszer adatvezérelté tételéhez, és úgy találja, hogy egy XML-fájl hozzáadása Adatforrásként nem éri meg a vele járó gondokat, akkor a könnyű adatvezérelt tesztelés pontosan az lehet, amit keres. Erre jó példa egy fejlesztő, aki egy OpenThemeData(...) nevű API egységtesztjét írja, és ellenőrizni szeretné az API-t a "Button", a "Listbox" és a "ScrollBar" értéken. Lehet, hogy túl nagy a túlterhelés ahhoz, hogy XML DataSource-fájlt hozzon létre ehhez, de a kis súlyú, adatvezérelt tesztelés támogatásával ez hatékonyan elvégezhető a forráskódban. Ha egynél több paraméter van megadva, a TAEF a paraméterek n-way kombinatorikus kibővítését hozza létre a háttérben, és minden kombinációhoz meghívják a tesztelési módszert. További információ: Kis súlyú, adatvezérelt tesztelés.

A könnyűsúlyú, adatvezérelt tesztelés n-irányú kombinatorikus kiterjesztése költségesebbé válhat, és csökkenő megtérülést eredményezhet, ahogy a teszthelyzet egyre összetettebbé válik. Ilyen összetett tesztforgatókönyvben a PICT-alapú adatvezérelt tesztelési megoldás által kínált Párirányú független kombinatorikus tesztelés (PICT) lehet az, amit keres. A PICT sok értéket biztosít azáltal, hogy egy kompakt paramétereredmény-készletet hoz létre, hogy átfogó lefedettséget kapjon a paraméterekről. További információk a PICT-ről és a megoldás PICT-alapú adatvezérelt tesztelési megoldáson való használatáról.

A WMI-alapú adatvezérelt tesztelési támogatással előfeltételt is hozzáadhat a tesztekhez, valamint információkat (adatokat) szerezhet be a tesztgépen elérhető erőforrások alapján. Ha például csak akkor szeretné futtatni a tesztet, ha a gép tartományhoz csatlakozik, és a teszt futtatásakor a tartománynév adataira is szüksége van. Ebben az esetben a DataSource egy WQL-lekérdezés. További információ arról, hogyan használhatja ki a WMI-alapú adatvezérelt tesztelést a tesztforgatókönyvben.

Figyelembe véve a fent felsorolt lehetőségeket, olyan kialakítással is előállhat, amelyben a fenti lehetőségek kombinációja megfelelőnek tűnhet. Előfordulhat például, hogy WMI-lekérdezéssel szeretné lekérni a tesztgéphez csatlakoztatott összes nyomtató adatait, de lehetnek olyan paraméterek is, amelyek előre definiálhatók egy táblaalapú adatvezérelt tesztelési szerkezettel. Több DataSource-specifikáció is hasznos lehet, ha azt szeretné, hogy a teszt adatai két külön táblából származhassanak, így az egyes táblák újra felhasználhatók lehetnek más tesztek között. Olvassa el a részleteket arról, hogyan adhat meg több adatforrást egy teszthez, és milyen korlátozások vonatkoznak erre: Több adatforrás megadása

Ebben a részben