1. Use BuddyWeb
BuddyWeb is a web-based graphical front end for CDRouter. BuddyWeb allows you to easily access and edit configuration files, test packages, and test results. Even if you are a diehard CLI user, there comes a time when you need a test session with your router to explore behavior or look at specific issues. Using BuddyWeb for these test sessions helps to organize your results and provide structure to this process.
An added benefit is that BuddyWeb test packages can also be executed from the command line. This functionality makes it possible to view and organize the results from automated test scripts directly within BuddyWeb. Check out our application note titled Automated regression testing using CDRouter for more information on using BuddyWeb within shell scripts (we even provide a basic shell script to help get you started).
2. Use a controllable power strip
There are many reasons to use a controllable power strip and no reasons not to. Seems like a no-brainer, and that’s because it is. A controllable power strip adds flexibility to your test setup by allowing you to determine when to turn devices on or off (or when to reboot them). You can incorporate the commands for controlling a power strip directly into your configuration files or can you integrate them into a larger automated test script. A controllable power strip makes full test automation possible and also provides some consistency to the reboot process by ensuring that devices are in the same state at the start of each test run.
Check out our Knowledge Base for more information on the controllable power supplies we recommend:
How can I automatically restart my router each time I run a test in buddy or BuddyWeb?
3. Run tests more than once using CDRouter’s run-time options
One of the major benefits of CDRouter is the ability to build and execute large test sequences from the library of individual modules and test cases that are available. To unleash the real power of CDRouter, try running your tests using any of CDRouter’s advanced test execution options. These options are valuable for examining the behavior of your device over time and for identifying inconsistencies.
4. Reconfigure your router
While canned configurations are great for automated test runs, changing your router's configuration either manually or using an interface test tool can help catch interface bugs. Try changing your WAN mode, your DHCP pool size, virtual services, etc. Using CDRouter you can quickly verify that these changes actually took place.
5. Run tests using all supported WAN modes
Most routers support a number of different WAN connection modes. Certain functionality is independent of the WAN connection mode and should work reliably regardless of which mode is used. Use CDRouter to verify that your device is operating properly and also verify that common functionality is robust and consistent from one WAN connection mode to the next.
6. Test other products
One way to ensure that your products are superior to those of your competitors is to make sure that they simply work better and more reliably. If you want to get a good sense of the current level of functionality available in the marketplace, test a sampling of popular commercially available products. Use this as a benchmark when testing your own devices.
7. Try different CDRouter configuration options
CDRouter provides a wide range of dynamic configuration options, many of which can be tweaked without having to change the configuration of the router. For example, the IP addresses assigned to the router’s WAN interface, the maximum number of connections, port ranges, etc. Periodically changing your configuration can help reduce the chance of failure by testing a wider range of possible scenarios. Don’t spend all your time and energy testing a single fixed configuration.
8. Run as many tests as possible in one session
When you’re first getting started with CDRouter or first examining specific functionality, it’s often helpful to run a single module or test case to determine if the basic functionality is working. However, as you move on it’s important to create large tests sequences that include as many different applicable modules and test cases as possible. This allows you to examine the behavior of the device over a wide range of functional tests. Even if a specific test passes, it can impact later test cases. This is often true of test cases that involve terminating or bringing down the WAN connection. We’ve seen instances where test cases performed after the WAN connection has been terminated result in unexpected failures.
9. Set up a nightly smoke test
With some basic scripting, it’s possible to setup an automated test script that runs your CDRouter tests nightly. This ensures that test results against the latest version of your device(s) are always available for analysis. We recommend setting up a dedicated system for this task to avoid resource conflicts.
Check out our application note titled Automated regression testing using CDRouter for more information on setting automated shell scripts for CDRouter (we even provide a basic shell script to help get you started).
10. Try writing your own test cases
CDRouter includes an extensive library of predefined test modules and test cases. However, you may encounter situations where there is specific functionality that you would like to address that is not covered by any of CDRouter’s existing test cases. No problem, CDRouter includes a full API that allows you to develop your own Tcl-based test cases. You can even integrate your test cases into BuddyWeb and access them as you would any other module. Using the API you can modify the behavior of any of CDRouter’s existing test cases or write your own from scratch. And don’t worry –if you’re a Tcl novice your script writing ability will improve over time.
For more information on writing custom test cases, please check out the CDRouter Development Guide in the Docs section of the QA Cafe Customer Lounge.
Questions or comments about this article?
Please contact QA Cafe Support: support@qacafe.com
www.qacafe.com
© 2007 QA Cafe