On Sep 6, 2007, at 8:21 AM, Grant Baillie wrote:

Hi, Aparna et al

Overall, I can see why people like wx-level acceptance testing: there is a certain warm fuzzy feeling from knowing that the app in its entirety is behaving reasonably. (Even if you have to watch it to be sure :). The concerns I have are:

+ How would these recorded scripts be maintained? If we changed the app's layout, does someone have to go re-record them all?

The recorded tests are pretty independent of the apps layout. For example if you move a widget they should still work. That said, if you remove a widget or change what a widget does, the script will report that as a failure since the point of the script is to verify that the widget does what it did when recorded.

This will lead to situations were, when the application logic or features change, scripts will need to be rerecorded. But hopefully this can be done easier than writing some code and maintaining it by hand like we have done in the past.


+ Each script currently requires a launch and quit of the app (which is reasonable, given the nasty inter-test dependencies that have arisen with the current functional tests). In the scenario where we really cover all the current manual test specifications with recorded ones, how long will this take? Will developers be required to run them all before checkins?

Starting with a fresh Chandler before each test is a good place to start since it minimized dependencies of one script on the others. If it turns out that this is a performance bottleneck we could explore alternatives, e.g. starting with a prebuilt repository or after each script is run, roll back the repository to a known state, or require each script remove side effect of the test (e.g. delete collections it created, change the view back to a known state). We could also have some scripts that run individually, and some that run back to back.

Today, few developers run all the tests on all the platform before checkin. It might make sense to have developers run a subset of tests before checkin but let the tinderboxes run a more complete set.


+ I think I remember John/Dan saying scripts currently have to be recorded on Windows (something to do with keycodes). Is that likely to still be the case?

Yes, today scripts need to be recorded on windows if you want them to playback on the other platforms. This is because windows records platform specific key codes which aren't recorded on the other platforms. These kind of problems are solvable, but it's more a question of it is worth the effort. I had hoped to start using the scripts to gain some experience before I had fixed all the problems.

I still don't have enough experience with recorded scripts to understand how much work it will be to script every possible user action. However, I think there is a reasonable chance we could have better than 90% coverage with a few weeks more effort.

Finally, I don't think recorded scripts need to be the only way to test Chandler, but I'm hopeful that they can be an significant improvement over our our old functional test framework.

John
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

Reply via email to