Post on 16-Jul-2015
- 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