Testautomatisierung mit SAHI Pro

11
Testautomatisierung mit SAHI Pro 3. Juli 2014 - STUGHH Jörg Sievers, PONTON GmbH

Transcript of Testautomatisierung mit SAHI Pro

Testautomatisierung mit SAHI Pro

3. Juli 2014 - STUGHH

Jörg Sievers, PONTON GmbH

- 2 -

03. Juni 2014

Kurzvorstellung PONTON

Die PONTON GmbH entwickelt standardisierte Softwaresysteme fürunternehmensübergreifende Geschäftsprozesse in der Energiebranche, z.B.:

Abgleich von Handelsbestätigungen zwischen Energiehändlern (EFETnet)

Lösungen für das regulatorische Reporting unter Dodd-Frank, EMIR und REMIT (EFETnet)

Kommunikationsinfrastruktur für den Austausch von Zählerdaten (Projekt EDA, Österreich)

Kommunikationsinfrastruktur zur Durchführung des Lieferantenwechsels (EDA)

Anbindung von Gaskapazitätshändlern an die PRISMA-Plattform (PRISMA)

Nominierung von Intraday- und Day-ahead-Fahrplänen (ECC)

PONTON berät Kunden(gruppen) bei der Standardisierung sowie operativen Durchführung von B2B-Prozessen

PONTON bietet das Produkt Ponton X/P zur sicheren und zuverlässigen Datenkommunikationbei B2B-Prozessen an.

PONTON wurde 2001 gegründet, hat 35 fest angestellte Mitarbeiter und erzielte in 2013 5 Mio. EUR Umsatz.

- 3 -

03. Juni 2014

Persönliche Testautomatisierungshistorie

QA Partner (Segue → SilkTest)

VCL TestTool (OpenOffice.org)

SeleniumRC (1) + Selenium WebDriver (2)

PushToTest (→ Appvance)

SOAP UI Pro

SAHI Pro

- 4 -

03. Juni 2014

Die Anforderung

Stammdatenübersicht wird von der Fachabteilung in Excel gepflegt und wird manuell eingegeben, ggf. überprüft, wenn schon vorhanden.

- 5 -

03. Juni 2014

Vorhandene Mittel: Selenium

Erster Versuch Fachtester in Entwickler-Se-Tests zu integrieren wurde nicht angenommen

Entwickler beklagen, da SUT nie für autom. Oberflächentests konzipiert war, massive Robustheitsprobleme wg. Pageload/AJAX/Timeouts

Trotz Einsatz von PageObject-Pattern Akzeptanztestentwicklung sehr aufwendig

- 6 -

03. Juni 2014

Interner Pilot

Ursprüngliche Idee: PushToTest einsetzen (orchestriert Se, SAHI, SOAP UI, …)

Geschäftsmodell umgestellt, kein open source, keine Demo mehr

DevOp und Tester hatten SAHI benutzt um interne Updates der Tool-Umgebung zu testen (JIRA,Confluence)

- 7 -

03. Juni 2014

Was SAHI verspricht

unterstützt alle [wichtigen] Browser mit einem Script

automatische AJAX/PageLoads waits

Wegfall der XPATH/CSS-Selektoren durch „smarte“ und belastbare Zugriffsmöglichkeiten

Ausgezeichneter Rekorder

keine Fehlschläge durch Fokusverluste

einfach zu erlernende Testprogrammiersprache

- 8 -

03. Juni 2014

Vergleich

Selenium (Se) SAHI Pro

// Einlesen Excelvar $data = _readExcelFile("../scripts/NOM_Stammdaten.xls", "Company",false);

public String[][] getTableArray(String xlFilePath, String sheetName, String tableName){ String[][] tabArray=null; try{

Workbook workbook = Workbook.getWorkbook(newFile(xlFilePath)); Sheet sheet = workbook.getSheet(sheetName);int startRow,startCol, endRow, endCol,ci,cj; CelltableStart=sheet.findCell(tableName);startRow=tableStart.getRow(); startCol=tableStart.getColumn();

Cell tableEnd= sheet.findCell(tableName, startCol+1,startRow+1, 100, 64000, false); endRow=tableEnd.getRow(); endCol=tableEnd.getColumn();

System.out.println("startRow="+startRow+", endRow="+endRow+", " + "startCol="+startCol+", endCol="+endCol); tabArray=new String[endRow-startRow-1][endCol-startCol-1]; ci=0; for (inti=startRow+1;i<endRow;i++,ci++){ cj=0; for (intj=startCol+1;j<endCol;j++,cj++){tabArray[ci][cj]=sheet.getCell(j,i).getContents(); } } } catch (Exception e) { System.out.println("error in getTableArray()"); }return(tabArray); }

http://functionaltestautomation.blogspot.de/2009/10/dataprovider-data-driven-testing-with.html

- 9 -

03. Juni 2014

Der Netzeffekt

Fachabteilung skeptisch, aber angesichts der Zeit werden die Skripte ausgeführt

Sehr positives Ergebnis, da es auf Anhieb klappt

Fachabteilung formuliert Ideen, auch andere Dinge mittels SAHI Pro selbständig zu automatisieren

ein paar Nachfragen bzgl. der „Accessoren“

kurze Einführung, wie man „Asserts“ benutzen kann

- 10 -

03. Juni 2014

Was übrig bleibt

alle wichtigen, selbst mobile (durch Proxy), Browser werden unterstützt

deutlich robusterer Umgang mit AJAX

vereinfachte „Accesoren“ ermöglichen gute Zugriffsmöglichkeiten

Prüfungen (Asserts) setzen während der Aufzeichnung, Rekorder auf allen Browsern

Sehr einfache Testprogrammierung, die auch direkt im Browser vorgenommen werden kann – Unterstützung auch anderer Sprachen (Java, Ruby) und externer Bibliotheken

[Pro] inklusive Reporting, Excel-Framework für Testdaten und –fälle

Testdokumentation aus autom. Skripten heraus

- 11 -

03. Juni 2014

Erstellt durch

PONTON GmbH

Dorotheenstraße 64

22301 Hamburg

Deutschland

Kontakt:

Jörg Sievers

Tel.: +49 40 866 275 259

Mobil: +49 170 63 82 81 0

Email: [email protected]