Although this a complete list of the best software for small businesses in each of these categories, there might be other options that work better for your company. Click on the category headers below for a full list of available products. For personalized recommendations based on your business needs call one of our Technology Advisors at 877-822-9526 for a free, 5-minute consultation.
Automated testing expanded with Agile principles because testing in a repeatable manner that is secure, reliable, and keeps pace with the rapid deployment of software is required for this environment. In their book Agile Testing: A Practical Guide for Testers and Agile Teams, authors Lisa Crispin and Janet Gregory claim Agile development depends on test automation to succeed. They emphasize the team effort required for test automation and recommend automating tests early in the development process. Also, the development of automation code is as important as the development of the actual production code for software. The “test-first" approach to development is known as Test-Driven Development.
The move to agile has led many teams to adopt a pyramid testing strategy. The test automation pyramid strategy calls for automating tests at three different levels. Unit testing represents the base and biggest percentage of this test automation pyramid. Next comes, service layer, or API testing. And finally, GUI tests sit at the top. The pyramid looks something like this:

This book describes how to build and implement an automated testing regime for software development. It presents a detailed account of the principles of automated testing, practical techniques for designing a good automated testing regime, and advice on choosing and applying off-the-shelf testing tools to specific needs. This sound and practical introduction to automated testing comes from two authors well known for their seminars, consultancy and training in the field.
An image-based automated functional testing tool that enables testers to interact with AUT the same way end users do. TestPlant eggPlant is completely different from traditional testing tools in its approach: modeling user’s point of view rather instead of the test scripts view often seen by testers. This allows testers with less programming skills to learn and apply test automation intuitively. The tool supports various platforms like Web, mobile, and POS systems. It offers lab management and CI integration as well.

TestComplete is also a commercial integrated platform for desktop, mobile and Web application testing. Like UFT, TestComplete offers a number of key test automation features such as keyword-driven and data-driven testing, cross-browser testing, API testing and CI integrations. This tool supports a number of languages including JavaScript, Python, VBScript, JScript, DelphiScript, C++Script, and C#Script for writing test scripts.

The move to agile has led many teams to adopt a pyramid testing strategy. The test automation pyramid strategy calls for automating tests at three different levels. Unit testing represents the base and biggest percentage of this test automation pyramid. Next comes, service layer, or API testing. And finally, GUI tests sit at the top. The pyramid looks something like this:


“When we refer to automation frameworks, it is easiest to understand with the functional testing areas,” says Kandukuri. “You are providing commonly used methods to improve the efficiency of automated tasks. With limited knowledge of how the test case is set up, a tester can fall back on the framework to refer to simple statements and implement the test cases.”
Quicken lets you manage both your personal and business finances in one place, making it a convenient solution for really small businesses and home-based entrepreneurs who don't need accounting software designed for larger or more established businesses. The downside, however, is that the software isn't cloud-based and is only available for Windows, though it has iOS and Android apps that allow you to view your data. quicken.com

Infusionsoft Complete manages email campaigns with a “Custom Campaign Builder” feature that can target recipients based on your contacts list. It will monitor your website, recording number of visitors, sales, and how long each visitor lingered—an invaluable wealth of information if your business is Internet-based. And if you’re not yet Internet-based but want to be, the software can help you design a landing page.
The software automatically syncs business profiles to a single dashboards, where multiple users can view reports and corporate accounts. It is capable of generating profit and loss and trade sheets, invoices and billing, all which are accessible via mobile devices. Custom reports and feeds can likewise be created from the dashboard. Popular integrations include Quickbooks Online Payroll and Intuit GoPayment.
Citrus Framework is an automated testing tool with integration framework for messaging protocols and data formats. HTTP, REST, JMS and SOAP can all be tested within the Citrus Framework, outside of broader scope functional automated testing tools such as Selenium. Citrus will identify whether the program is appropriately dispatching communications and whether the results are as expected. It can also be integrated with Selenium if another front-end functionality testing has to be automated. Thus, this is a specific tool that is designed to automate and repeat tests that will validate exchanged messages.
Zoho Books is a subscription-based accounting software with enough features to meet all your small business needs without the hefty price tag. It can sync with your bank accounts and help you create and send invoices. The time- and expense-tracking features are top-notch. The Basic plan will track your billable hours and accommodates up to 50 contacts. The Standard plan supports two users and accommodates up to 500 contacts. You can track inventory if you upgrade to the Professional plan. The Professional plan supports up to 10 users and holds unlimited contacts.

The software can be utilized in managing core HR processes like payroll, benefits administration and on-boarding, among many others. This web-based tool is highly-flexible and compatible with all popular browsers. It allows employees to check on all transactions and information related to their work. Managers can use the app to get pertinent information across all existing departments and applications. Errors and redundancies are minimized as the product makes use of a single record for each employee.
You need collaboration and extensive automation to achieve Continuous Delivery. According to Fowler, the rewards of doing so successfully include reduced risk, believable progress, and user feedback. Continuous Delivery is an important method in Agile development. It helps remove obstacles that prevent the frequent deployment of features. Automation testing is a fundamental part of the continuous development practice associated with Agile.  
Denali on-premises accounting software from Cougar Mountain Software can be used by businesses of various sizes, as it can support a business with as few as four employees up to a large business that employs 50 people in its accounting department alone. Three plans are available, plus one version design for nonprofits. Payroll processing is also available. The software is modular, allowing you to customize it with just the features you need. cougarmtn.com
A variation on this type of tool is for testing of web sites. Here, the "interface" is the web page. However, such a framework utilizes entirely different techniques because it is rendering HTML and listening to DOM Events instead of operating system events. Headless browsers or solutions based on Selenium Web Driver are normally used for this purpose.[6][7][8]
 Use Smartsheet to track the schedule and results of planned, current, and completed tests. Share the schedule with your team and collaborate on the details in real time, in one central location. Whether you’re running manual or automated tests, Smartsheet’s broad range of views – Calendar, Gantt, Card, and traditional Grid – allow you to manage progress the way you want. Organize test results with hierarchy and use comments to keep work in context.
WatiN is inspired from Watir and is a C#-developed web application testing tool. This open source tool supports web application testing for.Net programming languages. It is licensed under Apache 2.0. HTML and AJAX website testing are supported by it. It has integration with unit testing tools and helps in generating web page screenshots. On IE and Firefox, it has automated browser testing and is a local support for Page and Control model.

As mentioned previously, automated testing frees you up to focus on larger issues such as customer needs, functionality and improvements. Automated testing also reduces the cost and need for multiple code revisions, so over the course of time, the investment pays out. In addition, each time the source code is modified, the software tests can be repeated. Manually repeating these tests is costly and time-consuming, but automated tests can be run over and over again at no additional cost.
See below for a list of popular unit testing frameworks and tools for major platforms and programming languages. These frameworks can be used by programmers to test specific functionality in libraries and applications. Unit tests can then be used to automatically test new versions and builds as part of an automated build system or deployment process.
Anyone who says their business "runs itself" probably owes a great debt of gratitude to a small army of software applications and Web services that tirelessly feeds the machine from behind the scenes. From creating and storing documents and staying on top of e-mail to keeping the books and getting teams working together, it takes a lot of code to run a business, or at least to run it well. But setting up your company isn't as easy as just fishing apps out of a barrel. You want the best you can get, and at a price that isn't through the roof.
Core product functionalities such as accounting, cash management, purchasing, subscription billing and financial consolidation are present. Easier information entry and error minimization are possible with the platform’s general ledger. The system can cut down income losses and is able to effectively control margins and costs. Computing for currency difference is much easier using the solution as it offers multi-currency support. In addition, it can streamline compliance by automating sales tax management.
Every software development group tests its products, yet delivered software always has defects. Test engineers strive to catch them before the product is released but they always creep in and they often reappear, even with the best manual testing processes. Test Automation software is the best way to increase the effectiveness, efficiency and coverage of your software testing.
Trello is often cited as a great project management tool for small businesses and teams because it’s so easy to use. The tool was sold to Atlassian in early 2017, but it has retained its core functions and even added a couple of cool add-ons since then. Trello is a fully Kanban-style project management tool that allows teams and individuals to add lots of pertinent information to tasks on their board and get notified when team members make changes.
Those who believe they will be actively customizing their automated test environments may want to start with Selenium and customize it from there, whereas those who want to begin in a more structured test environment may be better off with one of the systems that are built on top of Selenium. Selenium can be scripted in a multitude of languages, including Java, Python, PHP, C#, and Perl.
WatiN is inspired from Watir and is a C#-developed web application testing tool. This open source tool supports web application testing for.Net programming languages. It is licensed under Apache 2.0. HTML and AJAX website testing are supported by it. It has integration with unit testing tools and helps in generating web page screenshots. On IE and Firefox, it has automated browser testing and is a local support for Page and Control model.
Known for its ease-of-use, FinancialForce Accounting for Salesforce is a robust accounting software that is highly-recommended for small and large businesses. As it is cloud-based users are bound to boost operation efficiency at very minimal cost. A key feature is the Salesforce Accounting application, which is capable of doing tasks far beyond bookkeeping and processing transactions.
Automated software testing is becoming more and more important for many software projects in order to automatically verify key functionality, test for regressions and help teams run a large number of tests in a short period of time. Many teams (especially larger projects) still require a significant amount of manual functional testing in addition to automated testing, either because of the lack of sufficient resources or skills to automate all tests.

Work[etc] is an ERP for small businesses that’s based around CRM and project management software. Connect sales, marketing, projects, operations, support, and financial teams in one software where different departments can collaborate easier. Work[etc] replaces the separate software for project management, CRM, email marketing, help desk, and contract management. Integrate directly with your accounting software for real-time updates and financial reports.
Aside from those mentioned, the software can automate any business’ payment operations around the world, which could range from tasks like onboarding to tax compliance. It is capable of streamlining payment processing in around 190 countries. Using the product, businesses can rest assured that they are compliant with all existing tax and regulatory requirements minus too much human intervention. Customer and vendor payment experiences are likewise improved, along with service quality.
Some business applications are interactive, i.e., they have a graphical user interface or user interface and users can query/modify/input data and view results instantaneously. They can also run reports instantaneously. Some business applications run in batch mode: they are set up to run based on a predetermined event/time and a business user does not need to initiate them or monitor them.
Asana is a good project management tool for small teams and businesses that need to communicate frequently about ongoing projects. Look for individual dashboards to watch progress toward task and project goals as well as workflows, reminders, and notifications to keep everyone on task. You can track progress in Kanban boards, list views, or calendars, whatever works best for the individual.
While programmers are waiting for feedback, they start the next thing, which leads to multitasking. Eventually, someone re-skins the user interface, and, unless there is some sort of business logic layer in the tool, all checks will fail and you will be left with no easy way to revise the system. In an attempt to just get done, teams revert to human exploration, the automation becomes even more out of date, and, eventually, it will be thrown away.

Testing is a very important phase in the development process. It ensures that all the bugs are ironed out and that the product, software or hardware, is functioning as expected or as close to the target performance as possible. Even so, some tasks are too laborious to be done manually even though they are easy enough to do. This is where automated testing comes in.
Considering all of its shortcomings, we are lucky that testing existing functionality isn’t really testing. As we said before, real testing is questioning each and every aspect and underlying assumption of the product. Existing functionality has already endured that sort of testing. Although it might be necessary to re-evaluate assumptions that were considered valid at the time of testing, this is typically not necessary before every release and certainly not continuously. Testing existing functionality is not really testing. It is called regression testing, and although it sounds the same, regression testing is to testing like pet is to carpet—not at all related. The goal of regression testing is merely to recheck that existing functionality still works as it did at the time of the actual testing. So regression testing is about controlling the changes of the behaviour of the software. In that regard it has more to do with version control than with testing. In fact, one could say that regression testing is the missing link between controlling changes of the static properties of the software (configuration and code) and controlling changes of the dynamic properties of the software (the look and behaviour). Automated tests simply pin those dynamic properties down and transform them to a static artefact (e.g. a test script), which again can be governed by current version control systems.

This book describes how to build and implement an automated testing regime for software development. It presents a detailed account of the principles of automated testing, practical techniques for designing a good automated testing regime, and advice on choosing and applying off-the-shelf testing tools to specific needs. This sound and practical introduction to automated testing comes from two authors well known for their seminars, consultancy and training in the field.


More than 30 years after the first small business accounting applications were introduced for the PC, there's still no shortage of options available for small and midsize businesses. Today, all the new solutions are cloud-based, though you can still buy desktop accounting software, we'll explain below. In general, however, accounting services are mostly online, and they've benefited from the transition, thanks to their availability anywhere via the internet, and the drastic simplification and improvement in usability that most of them have made in the course of the move online.
The Internet can be a big, bad, scary place because of all the viruses and malware that are out there. The last thing any small business owner wants is for their work computer, tablet and/or smartphone to be infected by a malicious program that’ll set back the smooth running of their operations. These security and anti-virus apps give small businesses protection and peace of mind.

The larger group contains web-based solutions that would be suitable for more complex small businesses, companies that want an application compliant with double-entry accounting rules. Each offers a core set of features that includes a chart of accounts; customer, vendor, and item records; income and expense tracking; forms like quotes and invoices; and reports.
Though every new small business accounting solution launches online these days, there's still a case to be made for using desktop products. They're more feature-rich than even the top-of-the-line cloud-based applications. They're faster. They're also local, so you can still work if your internet connection goes offline. Over the years, they've all come to depend on the internet for some of their functionality (online banking, integrated and mobile apps, and so on), but you can still access their core accounting tools even if your web connection is down.
What to automate, when to automate, or even whether one really needs automation are crucial decisions which the testing (or development) team must make.[3] A multi-vocal literature review of 52 practitioner and 26 academic sources found that five main factors to consider in test automation decision are: 1) System Under Test (SUT), 2) the types and numbers of tests, 3) test-tool, 4) human and organizational topics, and 5) cross-cutting factors. The most frequent individual factors identified in the study were: need for regression testing, economic factors, and maturity of SUT.[4]
×