Hey, ich bin positiv überrascht von der super Rückmeldung. Nachdem einige Rückfragen kammen will ich hier das Ganze doch noch etwas genauer erklären:
Was machen diese Tests und wofür brauchen wir sie? Jeder dieser Testfälle wird bei jedem vollem Build ausgeführt und bei jedem Calc rebuild. Diese Tests testen vor allem 2 wichtige Punkte, den Import( das Öffnen einer Datei ) und eine volle Neuberechnung des Tabellenblatts. Damit deckt dieser Test außer Export (bisher habe ich noch kein gutes Konzept dafür) und dynamischen Tests ( wir haben einen anderen Test dafür, der jedoch viel Arbeit für jeden Testfall erfordert) die wichtigsten Bereiche von Calc ab. Der große Vorteil dieser Tests ist, dass ein Entwickler sofort eine Rückmeldung bekommt ob durch seine Änderung nicht doch an einer anderen Stelle ein neuer Bug entstanden ist. Dadurch sollten sich in Zukunft einige Bugs vermeiden lassen, und mit einer zunehmenden Anzahl an Tests es auch einfacher werden Änderungen in Calc einzupflegen. Desweiteren hoffe ich das im Endeffekt dies unsere QA etwas entlastet, da jede Datei, die so getestet wird natürlich nicht mehr in für ein Release getestet werden muss. ( Wir haben mit unseren einfachen Tests schon etwa 5 blöde Fehler gefunden die jetzt nicht mehr in 3.5 auftauchen sollten) Wie sehen Tests zur Zeit aus: Wir testen zur Zeit ods, xls und xlsx dateien, da dies unsere Hauptimportfilter sind. Das bedeutet das wir wenn möglich probieren die gleichen Funktionen in allen 3 Filtern zu testen. Unser Schwerpunkt liegt auf ODS, da dies natürlich der am besten unterstützte Import ist. Alle Testdateien die wir bis jetzt erzeugt habe findet man hier: http://cgit.freedesktop.org/libreoffice/core/plain/sc/qa/unit/data/ Im contentCSV Verezichnis befinden sich die CSV Dateien die zum kontrollieren der Ergebnisse genutzt werden und in ods, xls und xlsx die Importdateien die kontrolliert werden sollen. Mit den CSV Dateien kann man leider nur Inhalte in einer Zelle testen, jedoch lassen sich die meisten Tests so formulieren das am Schluß ein Ergebnis in einer Zelle getestet werden kann. ( testen können wir zur Zeit: das Formelergebnis als Wert, das Formelergebnis als String, so wie es in der Zelle angezeigt wird und den Zellinhalt einer bedingten Formattierung; sollte jemand jedoch eine Idee für weitere Möglichkeiten haben, kann ich diese relativ einfach implementieren) Als Beispiel der Test das ein lokaler Bereichsname korrekt importiert wurde: Anstelle eines direkten Testes kann man ihn auch in einer Formel verwenden und das Formelergebnis kontrollieren. Sollten doch mal Dinge auftauchen bei der ihr keine Lösung seht, schreibt mir ne kurze Notitz und ich Implementiere einen Test im Code. Ein kurzes Mapping der csv Dateien auf die entsprechenden ods Dateien: numberFormat.csv -> formats.ods (Sheet1) conditionalFormatting.csv -> formats.ods (Sheet3) spreadsheet-functions.csv -> functions.ods (Sheet: Spreadsheet) logical-functions.csv -> functions.ods (Sheet: Logical) Ich probier das Ganze mal am Beispiel der Logischen Funktionen zu verdeutlichen: Es gibt in ods/functions.ods ein Tabelleblatt mit dem Namen logical, indem wir einige Testfälle pro Funktion aufgelistet haben. Danach sind wir hingegenagen und haben dafür eine csv Datei geschrieben logical-funtions.csv in der wir die Ergebnisse eingetragen haben. Das größte Problem ist nur möglichst alle sinnvollen Testfälle zu finden und zu testen. Am Beispiel des 2. Tabellenblatts in dieser Datei sieht man wie wir zur Zeit leider meistens weitere Tests hinzufügen. Sobald wir einen Bug fixen probieren wir einen Test dafür zu schreiben, jedoch heißt dies auch, das wir nur so schnell Tests schreiben können wie wir Bugs fixen. Für alle die es interessiert, hier auch noch die Mail an die globalen Listen auf Englisch: http://comments.gmane.org/gmane.comp.documentfoundation.libreoffice.qa/42 Ich hoffe das für jeden etwas dabei ist: Von erweitern der Datei functions.ods bis hin zu Funktionen an die ich oder Kohei nicht gedacht haben oder wir gar nicht wussten das sie funktionieren. Gruß Markus P.S. ods/StarBasic.ods und xls/vba.xls gehören nicht in dieses Konzept sondern sind ein Ansatz für eine weitere Art von Tests, ihr könnt sie einfach ignorieren -- Informationen zum Abmelden: E-Mail an [email protected] Tips zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/discuss/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
