Handbuch
Version 8.0.1 |
Um die gesuchte Komponente zu finden, ermittelt QF-Test für jede Komponente im SUT die Wahrscheinlichkeit, mit der sie der gesuchten Komponente entspricht. Die Komponente mit der höchsten Wahrscheinlichkeit wird dann verwendet, sofern diese Wahrscheinlichkeit über einer frei wählbaren Schwelle liegt. Zunächst werden die Wahrscheinlichkeiten der Fenster im SUT untersucht. Anschließend wird die Suche in dem Fenster mit ausreichend hoher Wahrscheinlichkeit fortgesetzt.
Analog wird auf jeder weiteren Ebene verfahren, d.h. für jede direkten und indirekten Parentknoten des gesuchten 'Komponente' Knotens, allerdings von oben nach unten. Auf jeder Ebene werden die zum Attribut 'Klasse' passenden Komponenten ermittelt und ihre Wahrscheinlichkeit bestimmt. Unsichtbare Komponenten kommen nicht in Betracht.
Auf jeder Ebene wird die Wahrscheinlichkeit einer Komponente in mehreren Stufen ermittelt:
Für Dialoge gibt es noch einen weiteren Schritt, der die Modalität des Dialogs überprüft. Normalerweise ist ein Dialog entweder modal oder nicht modal, so dass eine Abweichung standardmäßig die Erkennung verhindert. Es kann allerdings vorkommen, dass der selbe Dialog je nach Kontext modal oder nicht modal ist. Wenn Ihr SUT einen solchen Dialog enthält, müssen Sie die "Herabsetzung für Modal" auf einen Wert oberhalb der Mindestwahrscheinlichkeit setzen.
Wenn die errechnete Wahrscheinlichkeit einen Mindestwert nicht erreicht, wird die Komponente verworfen. Die Komponente mit der höchsten Wahrscheinlichkeit wird verwendet. Wenn in der Komponente eine Abweichung bei der Struktur, dem Merkmal oder dem Namen besteht, wird eine Meldung in das Protokoll geschrieben, da dies darauf hinweisen könnte, dass es sich doch nicht um die richtige Komponente handelt. Meistens deutet dies jedoch nur darauf hin, dass sich das SUT leicht verändert hat. Die Komponente sollte dann aktualisiert werden bevor die Änderungen kumulieren und die Komponente nicht mehr erkannt wird.
Obwohl in diesem Prozess bereits die Suche nach dem Namen dominiert, können Sie dessen Bedeutung noch vergrößern, indem Sie die Optionen Gewichtung von Namen (Wiedergabe) und Gewichtung von Namen (Aufnahme) auf "Name übertrifft alles" setzen. In diesem Fall vereinfacht QF-Test die Suche nach einer Komponente, sofern sie einen Namen besitzt. Statt, wie oben erklärt, alle Parentcontainer von außen nach innen abzuarbeiten, werden diese übersprungen und im Fenster direkt nach einer Komponente mit passenden Namen und Klasse gesucht. Dadurch erhöht sich die Unabhängigkeit von der Struktur des GUI, die Komponente wird auch dann noch erkannt, wenn Sie eine neue Ebene zwischen Fenster und Komponente einführen oder eine solche entfernen. Als Voraussetzung für diese Methode müssen Sie sicherstellen, dass wenn ein Name vergeben wird, dieser zumindest für die gleichzeitig sichtbaren Komponenten der selben Klasse innerhalb eines Fensters eindeutig ist.
Ist eine derartige Eindeutigkeit nicht gegeben, ist "Hierarchie von Namen" die nächstbeste Einstellung für die beiden Optionen. Sie erfordert, dass zwei gleichnamige Komponenten zumindest unterschiedlich benannte Parentcontainer haben. Diese Einstellung bewahrt den Großteil der Vorteile und der Flexibilität von Namen. Die Wiedererkennung wird damit allerdings scheitern, wenn eine benannte Komponente aus ihrem Parentcontainer verschoben wird.
Letzte Änderung: 10.9.2024 Copyright © 1999-2024 Quality First Software GmbH |