Test Refactor
The page is created for tracking test refactor project.
Current Status
Currently, there are many modules for testing. Note, the mentioned testing here requires a running OpenOffice instances. That means OpenOffice must be installed before testing. It's not the unit test at the code level. The test code is organized in a mess and out of maintain. Even the most are not stable enough to give useful results. It's hard to get started. Three programming languages (Java, Basic and C++) are used. It's not necessary. The summary is here.
- test
Includes reusable code for UNO API test.
- testgraphical
Test tool to test documents by it's graphical representation.
- testautomation
All test scripts for the old VCL Testtool. Nobody maintains it now.
- smoketestdoc
It's used to generate the test documents required by smoke test.
- smoketestoo_native
A small test suite to verify if the basic functions of OpenOffice.org work.
- qadevOOo
UNO API test, complex test.
- {Module}/qa
UNO API test, complex test.
Target
The target is to reduce module count and organize the testing code clearer. Suggest to keep only 3 modules for testing.
- testcommon
The reusable code for testing, e.g. utilities, UNO API helpers and VCLAuto API. Not include any test case.
- qadevoo
UNO API Test/Complex Test. Need to refactor the old test code to JUnit 4. It depends on testcommon.
- testoo
GUI test cases should be written in the module. JUnit 4 style. It depends on testcommon.
Both API test and GUI test will be based on XUnit framework. It makes ones able to understand test cases and write new ones more easily. API test and GUI test also can be combined.
Todo for the existing modules.
- test
Replace it with testcommon
- testgraphical
Re-implement it as JUnit4 testcase in testoo.
- testautomation
Convert the scripts as JUnit4 testcases in testoo. And remove it when testoois enough.
- smoketestdoc
Move it into testoo.
- smoketestoo_native
Re-implement it as JUnit4 testcase in testoo.
Next Step
The two modules (testcommon and testoo) are not involved in the build process. After building out AOO, developers/testers can start testing with some commands. In order not to break build, suggest to create the two new modules firstly. Then migrate the legacy code into the new structure steps by steps. When it works stably, we can remove all the old modules.