Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


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 discuss+help@de.libreoffice.org
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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.