Application Testing Considerations
There are some key considerations when establishing your own system testing scenarios without using a turn-key automated testing engine. Here is a quick list of issues you will have to resolve:
- How to organize your tests
- How to determine what to test
- How to run your tests
- How to test in different environments
Today I want to talk about How to organize your tests…
Generally, I like to organize my tests in the same directory structure as the software supporting the tests. I prefer a hierarchy in my projects reflecting the systems and features supported by the application. This makes finding source code easier to find as your project size expands over time.
For unit tests, I create a mirror directory structure for unit test files, allowing easy access to test code as well.
When performing system tests, I also like to mirror the source structure. In fact, using tools such as WatiN, I am able to include my system tests as part of an overall solution. By separating Unit tests and system tests into separate projects, a different solution can be maintained for production releases. The production solution does not include the unit test projects, and has each project configured for Release builds resulting in leaner, production ready code.
Using this strategy, the application code, unit testing code, and the system testing code may all be placed in version control as a complete system. The benefits are obvious.
If you would like to share your thoughts and/or practices for organizing your system tests, please drop me a note at btaylor@sswug.org.
Cheers,
Ben
$$SWYNK$$
Featured White Paper(s)
All-At-Once Operations
Written by Itzik Ben-Gan with SolidQ
SQL supports a concept called all-at-onc… (read more)