Po spuštění testu si můžete všimnout, že server nemá očekávané zatížení a že se databáze neaktualizuje dle očekávání. Tyto problémy mohou způsobovat neúplné nebo nesprávné korelace dat.
Při identifikaci problémů korelace dat postupujte takto:
- V pohledu Potenciální chyby korelace vyhledejte chybějící nebo nesprávné korelace dat. Další informace viz Hledání chyb korelace dat.
- Spusťte testy jednotlivě nebo v plánu s Úrovní protokolování pro chyby, selhání a varování nastavenou na hodnotu Vše.
- Po provedení otevřete protokol testu, jak je vysvětleno v tématu Zobrazení protokolů testu.
Algoritmus korelace dat, který se používá při generování testu, vychází z dobře známých doporučených postupů. Protože se však tyto postupy neustále vyvíjí, může během automatické korelace dat docházet k různým typům chyb:
- Nedostatečná korelace: Hodnoty testu, které je třeba korelovat, nejsou k dispozici. Níže jsou uvedeny možné příčiny:
- Dva parametry, které je třeba korelovat, mají různé názvy.
- Hodnotu je třeba korelovat s předchozí hodnotou, která se v očekávaném umístění nevyskytuje.
- Parametr nebo hodnotu je třeba korelovat s předchozím parametrem nebo hodnotou, které se v testu nevyskytly, protože jde o vypočítanou hodnotu.
- Nadbytečná korelace: Korelují se nesouvisející hodnoty testu.
- Nesprávná korelace: Hodnoty testu, které je třeba korelovat, se nekorelují správně.
Nedostatečná korelace: Parametry mají různé názvy nebo se objevují v nečekaných místech.
Pokud mají dva parametry, které je třeba korelovat, různé názvy, automatická korelace dat nepozná, že tyto dva parametry spolu souvisí. Představte si například tento požadavek:
http://www.example.com?id=12345. Předpokládejme, že tento požadavek je třeba korelovat s odpovědí serveru, která obsahuje customer_ID=12345,
a ne ID=12345. V tomto případě se musí parametr ID korelovat s parametrem
customer_ID.
Korelace dat obvykle propojí hodnotu odpovědi, která byla vrácena ze serveru, s hodnotou následujícího požadavku. Algoritmus automatické korelace hledá v adresách URL a v datech POST potenciální shody, avšak možná jsou i jiná schémata pro vracení parametrů. Představte si například tento požadavek:
http://www.example.com?id=12345. Předpokládejme, že tento požadavek je třeba korelovat s odpovědí serveru, která obsahuje pár jména a entity href name="customer_ID"
entity="12345", ne ID=12345.
V tomto případě se musí parametr ID korelovat s parametrem
name="customer_ID" a hodnota
12345 se musí korelovat s hodnotou entity="12345".
Níže jsou uvedeny další příčiny nedostatečné korelace:
- Siebel používá formát hvězdného pole. Standardní algoritmus korelace nemůže ani načítat z tohoto formátu, ani tento formát nahradit.
- SOAP určuje parametry korelace v externích souborech XML.
Algoritmus korelace nemůže korelovat parametry z externího souboru s parametry v testu.
Chcete-li v těchto případech data korelovat ručně, postupujte takto:
- V editoru testů pomocí hledání a procházení vyhledejte dva parametry, které chcete korelovat.
- Přejděte na parametr, který se v testu objevuje později, a vyberte ho. Toto je náhradní místo.
- V okně Zdroje testovacích dat klepněte na kartu Odkazy.
- Vyberte zdroj dat, který chcete používat jako odkaz, a klepněte na volbu Nahradit z.
Nedostatečná korelace: Jeden parametr je nepojmenovaný
Někdy je nezbytné korelovat parametr nebo hodnotu s předchozím parametrem nebo hodnotou, které nejsou v testu jmenovány, protože se vypočítávají, např. programem
JavaScript.
Chcete-li v takovém případě správně korelovat data, musíte porozumět tomu, jak a kde se parametr nebo hodnota vypočítává, a pak použít blok vlastního kódu. Další informace o vlastním kódu viz Rozšíření provádění testu o vlastní kód.
Představte si například webovou adresu
http://www.example.com?login_stamp=12345_Apr_11_07,
kde je hodnota login_timestamp zřetězením přihlašovacího ID a aktuálního data. V takovém případě musíte vygenerovat vlastní kód, který zřetězí přihlašovací ID a datum.
Nebo si představte, že server vrátil přihlašovací ID a datum jako samostatné entity:
href "customer_id=12345" Date="Apr_11_07". V takovém případě můžete vložit tyto parametry do samostatných odkazů a v následných požadavcích, které používají ID zákazníka a datum, je nahradit samostatně.
Nadbytečná korelace
Automatická korelace dat vychází ze shody vzorů: parametr nebo hodnota parametru se koreluje s následujícím parametrem nebo hodnotou parametru se stejným nebo podobným názvem. Ale někdy parametry se stejnými nebo podobnými názvy mezi sebou ve skutečnosti nesouvisí. V nejlepším případě je nepotřebná korelace neškodná, nebo přidá pouze maličkou zátěž, což je nepodstatné. V nejhorším případě aplikace takovou korelaci neočekává a při přehrání dojde k jejímu selhání.
Chcete-li odebrat nadbytečnou korelaci dat, postupujte takto:
- V editoru testů pomocí hledání a procházení vyhledejte náhradní místo, které se nemá korelovat. Korelovaná data standardně označují fialová písmena.
- Klepněte pravým tlačítkem myši na náhradní místo.
- Klepněte na volbu Odebrat náhradu.
Nesprávná korelace
Parametr, který vyžaduje korelaci dat, se může v testu objevit vícekrát. Například parametr ID relace, který se použije při výchozím přihlášení uživatele, se může také používat v každém z následujících požadavků. Pokud není více instancí jednoho parametru v testu stejných, může algoritmus korelace používat nesprávnou instanci.
Pomocí předvoleb Generování testu HTTP můžete optimalizovat automatickou korelaci dat z hlediska přesnosti nebo efektivnosti.
- Přesnost: Každý výskyt parametru se koreluje s nejbližším předchozím výskytem. Toto je výchozí nastavení.
- Efektivita: Každý výskyt parametru se koreluje s jedním předchozím výskytem.
Poznámka: Pokud ručně nepoužijete korelaci v poli Odkazující prvek záhlaví požadavku HTTP, bude se pole Odkazující prvek automaticky korelovat dle potřeby. Pokud ručně použijete korelaci v poli Odkazující prvek záhlaví požadavku HTTP, nebude se provádět žádná automatická korelace.
K nesprávným korelacím dojde s vyšší pravděpodobností v případě, že je volba
Optimalizovat automatickou korelaci dat pro provedení nastavena na hodnotu
Efektivita.
Chcete-li opravit nesprávnou korelaci, postupujte takto:
- V editoru testů pomocí hledání a procházení vyhledejte hodnotu, která je nesprávně korelována.
- Klepněte pravým tlačítkem myši na náhradní místo.
- Klepněte na volbu Odebrat náhradu.
- Znovu klepněte pravým tlačítkem myši na náhradní místo.
- Klepněte na volbu Nahradit a vyberte správný parametr.