During a recent consulting assignment, a tester told me he spent 90 percent of his time setting up test conditions. The application allowed colleges and other large organizations to configure their workflow for payment processing. One school might set up self-service kiosks, while another might have a cash window where the teller could only authorize up to a certain dollar amount. Still others might require a manager to cancel or approve a transaction over a certain dollar amount. Some schools took certain credit cards, while others accepted cash only. To reproduce any of these conditions, the tester had to log in, create a workflow manually, and establish a set of users with the right permissions before finally doing the testing. When we talked about automation approaches, our initial conversation was about tools to drive the user interface. For example, a batch script like this:
You can (and should) regularly back up files to an external hard drive or NAS (network-attached storage) device in your office--but what if the whole place goes up in smoke? Hedge your bet with an online backup service like Mozy, which automatically archives whatever you'd like across the Internet, safe and sound. Just select what you want backed up, and Mozy does the rest, either in bulk while you sleep, or in real time, as files are changed. ($5 per month for unlimited service)
Another problem with test tooling, one that's more subtle, especially in user interface testing, is that it doesn't happen until the entire system is deployed. To create an automated test, someone must code, or at least record, all the actions. Along the way, things won't work, and there will be initial bugs that get reported back to the programmers. Eventually, you get a clean test run, days after the story is first coded. But once the test runs, it only has value in the event of some regression, where something that worked yesterday doesn't work today.
There is no one-size-fits-all tool for automated testing. It is highly recommended that testers evaluate various tools in order to select what would best meet their automated testing needs. Programming languages and technologies used to develop software continue to evolve, as do the automated testing tools, making cost a significant factor in tool selection. Commercial vendors often charge for tool upgrades, which can be substantial if your software uses emerging and frequently changing technologies. Open source and non-commercial tools, on the other hand, do not incur additional charges but require effort and expertise for integrating new upgrades. It is difficult to find the support and expertise needed for integrating various tools and frameworks into open-source solutions. Emerging tools that integrate with open-source frameworks, like Katalon, offer a viable alternative to both commercial and open-source automated testing solutions.
While ensuring quality at all times is of utmost importance to this model, it’s not all that counts. The speed at which all of the development and testing occurs also matters quite a lot. That’s because if something in the pipeline stalls or breaks down, it holds up everything else and slows down the release of new developments. And given that the need to deliver new releases faster and on a more regular basis paved the way for this continuous delivery and testing model, that roadblock defeats the purpose of taking this approach.
Not all small businesses need the extra features and support provided with paid accounting services. Wave Financial offers free, cloud-based accounting software specifically designed for small businesses. Unlike other free accounting software programs that limit capabilities, Wave Financial offers a comprehensive set of accounting features without the monthly price tag. [Go here for a full review of Wave Financial.]
Social media marketing is essential to small business success. Social media enables you to reach your leads and customers for a fraction of the price of a traditional ad campaign, making it extremely effective. When you consider that so many people use social media, it is also where your customers are—and that means your brand should be there, too. Here are the best marketing tools for social media.
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.
Kathy Yakal has been annoying computer magazine editors since 1983, when she got her first technology writing job because she tagged along with her ex-husband on a job interview. She started freelancing and specializing in financial applications when PCs became financial tools for consumers and small businesses (after a stint at a high-end accounti... See Full Bio
TL;DR: Testing is a sophisticated task that requires a broad set of skills and with the means currently available cannot be automated. What can (and should) be automated is regression testing. This is what we usually refer to when we say test automation. Regression testing is not testing, but merely rechecking existing functionality. So regression testing is more like version control of the dynamic properties of the software.
The origins of test automation start with the computing industry. The book, Automated Software Testing: introduction, management, and performance, notes that the history of automated software tests followed the evolution of software development. Software testing in the era of large database systems that supported scientific and government programs meant that a finite amount of test procedures could test a complete system at the end of the development cycle. With the rise of personal computing, the methods for testing software changed to keep up with increased demand for new software applications and new product features.
The IT industry depends on similar Agile practices of different names to meet the market’s demand for their products and services. Test automation is vital to Agile and the companies using Continuous Integration and Delivery, TDD, and BDD. For the titans of technology and the IT industry at large to reap the benefits of test automation, they must rely on automation frameworks.
Test automation mostly using unit testing is a key feature of extreme programming and agile software development, where it is known as test-driven development (TDD) or test-first development. Unit tests can be written to define the functionality before the code is written. However, these unit tests evolve and are extended as coding progresses, issues are discovered and the code is subjected to refactoring. Only when all the tests for all the demanded features pass is the code considered complete. Proponents argue that it produces software that is both more reliable and less costly than code that is tested by manual exploration. It is considered more reliable because the code coverage is better, and because it is run constantly during development rather than once at the end of a waterfall development cycle. The developer discovers defects immediately upon making a change, when it is least expensive to fix. Finally, code refactoring is safer when unit testing is used; transforming the code into a simpler form with less code duplication, but equivalent behavior, is much less likely to introduce new defects when the refactored code is covered by unit tests.
First, you need the right tools. Second, you need qualified testers who need to be trained. Third, you need to invest time and effort in automation infrastructure and to develop tests on top of it. Developing automated tests is a software development effort itself. Tests need to be designed, coded, and validated before you can really put them to use. But the biggest effort comes just when you think you're done.
Email is a fantastic invention, but it is missing a few key features out of the box. For example: the ability to send emails later, if you don’t get a response. And notifications on which emails are awaiting your reply. Boomerang helps emails flow in and out of your inbox more easily, preventing the dreaded buildup of drafts, unreads and messages you’re “just saving for later” instead of archiving them.
Automated testing or test automation is a method in software testing that makes use of special software tools to control the execution of tests and then compares actual test results with predicted or expected results. All of this is done automatically with little or no intervention from the test engineer. Automation is used to to add additional testing that may be too difficult to perform manually.
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.
Top software development teams around the world rely on Smartsheet to get their products to market in record time. Software development often requires collaboration across teams and functions, and Smartsheet provides a flexible solution to accommodate the different ways people work. With multiple views - traditional Grid, Gantt, Calendar, and Card - each team can work the way they want, yet remain connected on the ultimate goal. Improve visibility into work as it’s getting done across teams with Smartsheet Sights dashboards, and improve collaboration with automated workflows. Streamline new software development efforts, accelerate time to market for product launch plans, and create and manage product roadmaps, all in one intuitive platform.
ADP Workforce Now’s key features include talent, benefits and payroll management and time and attendance keeping. It has a benefits plan creation wizard, which can be set up depending on a company’s on-boarding procedures. Benefits management functionalities are compliant with IRS reporting rules while its dashboard can be used to view all reporting statuses. Support for devices running on Android and iOS means that the solution can be accessed anytime anywhere.
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.
Intuit QuickBooks Online offers a range of features for all types of small businesses. This includes freelancers, consultants, online merchants, store and restaurant owners, service providers and more. Whether you're just starting out, expanding or have an established business, QuickBooks Online is packed with basic and advanced features to meet your accounting needs. [Go here for a full review of QuickBooks Online accounting software.]
Hubspot calls themselves an inbound marketing and sales software, but the software modules come as stand alone or integrated marketing, CRM, and sales tools. The CRM is always free, and sales and marketing tools start at $0 and scale from there. From website building tools to lead generation and tracking modules and drip campaigns, Hubspot covers all the bases.
Like Zoho Books, Wave Accounting is geared toward smaller businesses, those with no more than 10 employees. The average Zoho Books client employs three to five workers. It’s also more appropriate for service businesses than retail businesses. It can’t handle a lot in the way of inventory, and you’d have to upgrade for the ability to process credit card payments. The same goes for added payroll features. This upgraded version isn’t free, but the cost is nominal.
“Selenium is the go-to UI automation tool. The other credible open source tools are essentially a wrap-around tool around Selenium. For web service testing, I prefer REST Assured. SoapUI is another option used frequently and offers a professional version in addition to open source. Testing G and Junit are popular for verification tools. For BDD, Cucumber and Specflow are popular with the Microsoft stack of development tools.”
With automated testing, that time is cut drastically. The work for automated testers is instead spent coding the tests and making improvements to these tests repeatedly as adjustments are needed. Once the test is complete, however, automated testing allows for the recycled use of tests so that they do not have to go through this whole process again. In essence, the time spent on the mundane tasks and repetition a manual tester would go through is instead spent focusing on larger, more important issues involving the software you’re developing.
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.
Angie Jones is a Consulting Automation Engineer who advises several Scrum teams on automation strategies and has developed automation frameworks for many software products. Angie speaks and teaches internationally at software conferences, serving as an Adjunct College Professor of Computer Programming, and also teaches tech workshops to young girls through TechGirlz and Black Girls Code. Find out more on LinkedIn and at angiejones.tech
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.)
Friendly user interface and navigation. Cloud-based accounting applications—for the most part—look great. They're not as graphically rich as some types of online services, but they don't need to be. Graphics are used where it makes sense, like for displaying charts and graphs, and for invoice forms. Navigation and data entry take their cues from desktop software, using static and drop-down lists, icons and buttons, fill-in-the-blank fields, and toolbars.
Freshdesk can be purchased on its own or can be purchased along with their sales, marketing, calling, chat, and collaboration tools. The most basic customer service desk plan is free for unlimited users, but has limited capabilities. Most teams will outgrow that tier fairly quickly just based on the need for efficiency, but the rest of the tiers are fairly affordable for small businesses. Freshdesk also makes it clear that you own your data, and you can export it from their systems at any time, which means you’re not locked in once you start.
Robust GUI test automation begins with the reliable object identification provided by Ranorex Spy. This tool can be used alone or from within the Ranorex Studio environment to deliver industry-leading recognition of GUI objects and controls, and ensure that each user interface element is uniquely identified using the powerful RanoreXPath syntax. Information on identified objects can be shared with team members through snapshot files, or stored in the Ranorex object repository for use in automated tests. The object repository in Ranorex Studio manages identified UI objects, so that they are editable and re-usable across testing projects. Features of the repository include the ability to assign meaningful names to repository objects to make them more maintainable, set default values, or link objects to parameter values. Ranorex Studio tools support best practices in automated test case design, including separation of test data from procedures, use of local and global parameters to pass values, and easily reusable code modules that can be shared by the entire team.