During my three years at Socialtext, I helped maintain a test tooling system through a user interface that was advanced for its time. O'Reilly took it as a case study in the book Beautiful Testing. The team at Socialtext uses the same framework today, although it now has several tests running at one time on Amazon's Electric Compute Cloud. Although we had a great deal of GUI-driving tests, we also had developer-facing (unit) and web services (integration) tests, a visual slideshow that testers could watch for every browser, and a strategy to explore by hand for each release. This combination of methods to reduce risk meant we found problems early.

There's plenty of failure in that combination. First of all, the feedback loop from development to test is delayed. It is likely that the code doesn't have the hooks and affordances you need to test it. Element IDs might not be predictable, or might be tied to the database, for example. With one recent customer, we couldn't delete orders, and the system added a new order as a row at the bottom. Once we had 20 test runs, the new orders appeared on page two! That created a layer of back and forth where the code didn't do what it needed to do on the first pass. John Seddon, the British occupational psychologist, calls this "failure demand," which creates extra work (demand) on a system that only exists because the system failed the first time around.


Paying bills isn't as much fun as sending out invoices, but it has to be done. You may already be managing this task through your bank's website, which may or may not excel at this service. There are few other options online for standalone bill-pay, and the ones that exist have restrictions. Bill.com rules when it comes to supporting both invoices and bills; you'll be charged $29 per user per month for payables automation only. If that's more than you want to pay, you could subscribe to Wave, which is free, and just use its bill-paying tools.


Mobile versions. Because cloud-based accounting applications support anytime, anywhere access to financial data, their developers have made at least a subset of the main site's features available on smartphones and tablets. Kashoo was the first to build an iPad app, and One Up was actually developed for mobile use and only later made available through web browsers.
Unlike many accounting software products that limit transactions unless you purchase a more expensive package, FreeAgent is a cloud-based program that supports unlimited users, clients and invoices for one monthly price. It also has a project management feature to help you keep track of billable hours and expenses. FreeAgent is best for freelancers, consultants and other project-based businesses. freeagent.com

Many test automation tools provide record and playback features that allow users to interactively record user actions and replay them back any number of times, comparing actual results to those expected. The advantage of this approach is that it requires little or no software development. This approach can be applied to any application that has a graphical user interface. However, reliance on these features poses major reliability and maintainability problems. Relabelling a button or moving it to another part of the window may require the test to be re-recorded. Record and playback also often adds irrelevant activities or incorrectly records some activities.[citation needed]
In this article, I'll discuss some of the best practices I discovered through on my own journey toward automation. These are practices you should consider when automating your testing cycles to make sure you build a suite of tests that work well and can be maintained throughout the life of your application. (This article is based on a presentation that can be viewed in full here.)
Mozilla's Thunderbird (our e-mail pick; see that category below) lacks a calendar, so most business users rely on the equally free Sunbird for scheduling. It's a very straightforward application, with day, week, and month views, and even a publishing feature to enable sending your calendar to a Web site, should you wish to make it public. Get the Lightning plug-in to integrate Sunbird directly with Thunderbird. (free)
Selenium is possibly the most popular open-source test automation framework for Web applications. Being originated in the 2000s and evolved over a decade, Selenium has been an automation framework of choice for Web automation testers, especially for those who possess advanced programming and scripting skills. Selenium has become a core framework for other open-source test automation tools such as Katalon Studio, Watir, Protractor, and Robot Framework.
×