Automatic Software Testing | Automated Software Testing | Software Test Automation

Calculating the Maintenance Costs of Automatic Software Testing Suites

Is maintaining automatic software testing* an investment, expense, or just a problem? You’ve paid a lot of money to automate software testing and all was working just fine,  but as time goes on and new features are added to your application, the automatic software testing suite is breaking more often and you’re getting frustrated.

Software Test Automation Tools are Changing Rapidly – Double Check

Before you jump off into a test automation rebuild project, it’s worthwhile to do a little bit of due diligence to make sure your platform and software test automation tool will continue to serve you into the future.

  • Your choices for software to automate your testing activities is growing and changing rapidly.  There are literally new software test automation tools announced every month. They tend to be born or created from a need to solve a unique test automation problem. Make sure your software test automation tool is synchronized with your technical needs and supports your technology platform.
  • Software test automation tools change versions and compatibility frequently. As new software technologies are built and release, software test automation tools change to accommodate those new technologies.  In some cases, these upgrades can cause havoc with the scripts you’ve already built for the previous version. How stable and “future proof” is your selected tool?
  • Software test automation tools also fail frequently as businesses. How can you tell if the company you purchase your tool from will be in business next year? There are many open source choices for software test automation but those tools have a risk as well. Will the open source community continue to be interested enough in that test automation tool to keep it working with the current changes in technology?

Maintaining Software Test Automation is Not Easy

  • You probably paid a lot of money to get your software test automation working properly but the return on your initial investment is fading as time goes by – surely that’s not how it is supposed to go.
  • Your software test automation suite worked just fine when it was originally built but today, it’s throwing more and more false errors – and that doesn’t help you achieve your business and technical goals.
  •  Your software development team is too busy writing new features to keep the test automation updated and, they aren’t really interested in working with those tools.
  • Your internal QA Team has trouble finding, selecting and keeping someone talented enough to maintain your software test automation suite – the learning curve is steep and maintaining code is much more challenging than just writing new code.
  • You’ve looked for outsourced help (again) but your software test automation maintenance project just isn’t quite big enough to interest the big offshore technology firms.

Push the Reset Button for Automatic Software Testing

  1. Build a business case – nothing complex – back of the napkin calculations should be sufficient. Gain a deeper understanding of your specific technology and business goals and how they relate to continuing to invest in software test automation. Once you are clear on your specific goals and expected returns, your choices will become much more distinct and easy to evaluate.
  2. Treat test automation false alerts as defects – just like you do with your application software. Use a defect tracker just like you do with your application software. Then, simply cross check application defects reported by your software test automation with the software test automation defects and automatically rule them as false and then use manual testing to verify. This won’t eliminate the time waiting problem but it will reduce it and stop the confidence erosion.
  3. Move your test automation engineer into the software development team. When your test automation work is aligned with the development project timeline and not the QA team timeline, your software test automation will be ready when the software is ready, not a few weeks later.
  4. Start building a software Test Automation Team. Hire a Jr Test Automation engineer to learn from your current Test Automation engineer. Not only is this a great strategy for succession, your software test automation suite will suffer fewer issues and grow quicker to match your software application.
  5. Find an outsourcing partner (not a”vendor”) to work with you over time to specifically meet your business and technical goals. Most outsourcing companies try to be as large and broad as possible to meet every need possible. A few outsourcing companies specialize in automatic software testing and test automation. We specialize so all of our talent will be perfectly suited to solving your software test automation maintenance problem.
^Most readers will dislike my use of the term, “automatic software testing suites”, in this post. The term is not accurate. “Automated software testing suites” is the accepted phrase used in the software testing world. Accepted or not, our research indicates that “automatic software testing” is used by a large number of folks as they search for information on the topic. Therefore, I’ve devoted this post to the folks who prefer “automatic” over “automated”. We do a great job for both. -JCH
Software Test Automation

Software Test Automation Case Study

Journyx has customers worldwide and have been improving their products with software test automation for the past seven years. The company offers customers project, time and expense tracking software, and resource management software for forecasting projects, budget status, and employee time and availability.

Challenges/Pains

Before hiring TESTCo to manage software testing and develop best practices, Journyx was in a world of hurt. Early on, they used company staff and even some family members to bang on new software releases, but that didn’t work so well. This was about 15 years ago. “It’s difficult, repetitive work,” said Journyx CEO Curt Finch. “No one really likes it, and it’s not really a core competency.”

The company wasn’t able to hire more people for testing, but they were always under pressure to release new versions of their products. “We couldn’t get a handle on when our next release would show up and what level of quality it would be. We could say we’re going to ship this come hell or high water by May 1st, but we’d be in danger of shipping broken software.”

“Back then, customers hated us and wanted to shoot us,” said Finch.

Journyx’s director of product management, Meredith Zachritz, had to manage a lot of the chaos at the time. “In the early days, our developers were responsible for testing their own code,” she said. “There were no robust peer code reviews. It was very messy. We just about drove ourselves out of business.”

The company didn’t have an official product manager back then, and they didn’t have the budget to hire testing resources in-house. “I was spending more than 50% of my time on testing and related fire drills,” said Zachritz. “It affected customer retention, and we lost confidence in our product’s ability to handle customer needs.” When mobile apps came along, complexity increased, and it was even more difficult to keep up.

 

Decision

The Journyx team eventually decided on outsourced testing, but they struggled with how to do it. Initially they hired contractors in India, but that failed. “We tried a couple of different firms,” said Zachritz. “It wasn’t apparent that they had QA expertise. If they did, the language barriers and time zone limitations were too difficult to overcome, and we couldn’t make it work. Our QA didn’t improve, and they didn’t understand what our goals were. They had no certifications or formal expertise, and no one was managing the entire project.”

Journyx ended up with nothing to show for their efforts – no test scripts, documentation or processes they could hand over to their internal development team. “We got what we paid for,” said Zachritz.

After that fiasco, Journyx hired a dedicated employee to be QA manager. They built up a set of test scripts – nothing automated – and some manual testing methods. “We had to train her,” said Zachritz. “She was only one person. When she was out, she wasn’t doing QA. And when she found a more attractive offer, she left. When you have someone in house, those are always issues.” That employee didn’t offer up any strategic guidance or best practice recommendations either.

Local, Accountable and Low-Cost Solution Helps Drive Revenue

Journyx eventually found TESTCo and solved everything in one fell swoop. They found a local company with the expertise to manage complex software testing and low-cost offshore testing labor. “What I like about TESTCo is that they’re an intermediary to different cultures,” said Finch. “At one point they switched testers from Romania to Ukraine, and we didn’t notice the change.”

“They’re here in Austin, and I can take them to lunch and hold them accountable or beg for forgiveness if we’ve messed something up on our end,” he continued. “We trust them, and the costs are very reasonable for what we get.”

Finch categorized the value of what TESTCo brings in terms of revenue, cost and risk. “TESTCo helps us understand exactly what we’re shipping,” said Finch. “We know customers will be happy with it right away, and our sales people have confidence in the software. That translates to increased sales.”

“The sales team is no longer afraid to demo stuff in presentations,” added Zachritz.

“Our costs are reduced because the testing talent is in another country where it’s less expensive to employ them,” continued Finch. “If I were to replace TESTCo with people here in the U.S., I’d have to spend about $5,000 to $10,000 more per month.”

As Journyx rolls out new product features and new software, they reduce risk by leveraging TESTCo resources. “For one thing, I have reliable, detailed insight into the status of everything,” said Finch. “With TESTCo we’re able to have a known level of quality in a consistent, predictable way.”

Journyx can also examine potential costs and complexities when considering the addition of new software features. “We can ask TESTCo how much it’s going to cost to add something to the testing,” said Finch. “That’s a double-check on the complexity question. It’s like a reverse estimation tool.”

Virtual In-House Team

Zachritz meets with TESTCo for bi-weekly progress calls and has daily email status updates from the TESTCo team. “We coordinate as though TESTCo is an in-house team,” she said. “The TESTCo QA process is run for me. I don’t have to do anything but review status and answer questions. I contact them with adjustments. They come to me with best practices and next steps guidance. All of that is very powerful for me.”

She now spends about 5% of her time on testing chores (as opposed to the 50% she mentioned earlier). “Now I can spend my time on planning and execution, and avoid all that fire fighting,” said Zachritz.

With TESTCo, Journyx can also scale up and scale back resources depending on their release cycles. “We can really manage it closely in terms of what we need at a given time,” said Zachritz. “And it doesn’t hurt us when someone takes a two-week vacation during testing. The TESTCo replacements are seamless.”

Software Test Automation Moving Forward

The TESTCo solution allows Journyx to automate software testing processes, as well. The goal is to reduce regression testing cycle times and get new releases out in a shorter amount of time.

Initially, Journyx didn’t tackle software test automation when starting out with TESTCo, but they eventually decided to move ahead with it in order to further enhance productivity and free up resources. “We tried to implement an automation suite earlier,” said Zachritz, “but coverage was bad, the platform was difficult to maintain, it was open source, and it wasn’t possible to upgrade it.”

TESTCo recommended changing out the platform. The two companies went through a new platform evaluation process, and found a new system that fit Journyx’s budget.

“We ended up automating the most time consuming manual tests and regression test cycles,” said Zachritz. “That speeds up our release cycle and in effect drives sales.”

 The process helps them improve code quality, close the gaps between fixes and generally move faster as an organization. “Our support teams can now work on bug reports and patching custom solutions for customers,” she continued. “They can also work on the videos they create to help people configure their solutions. Software test automation allows us to work on more strategic projects because of the quality of releases.”

“All of it has transformed our business,” said Zachritz. “It’s really incredible how it works.”

Read more about TESTCo’s software test automation services.
automate software testing

Automate Software Testing to Deliver Quality Complex Apps

Software and mobile apps are getting more complex every day. Users want more and more capabilities to complete their work quickly and enjoy their lives more fully. As software and mobile apps add features, they grow and require more time to fully test.  If you automate software testing properly, better software and happier customers will result.

Increasing the number of customers that want to use your software is fantastic! Even better, they are actively requesting more features – that means they intend to stick around rather than bail out and use another app.

Watch Video or Continue to Read


But, this growth in features comes with some distinct challenges – here are just a few related to your software and mobile app.

  1. Your software/app becomes more “crowded” with features, links and buttons – simplicity is usually a strong market driver and this complexity has to be managed carefully.  How will you increase features and still maintain a usable application?
  2. Your customers need support for a wider variety of operating systems, browsers, devices.  Again, this a great news but a big challenge to your development team as each operating system, browser and device has “little quirks” that are unique to it.  How will you know?
  3. Your software testing team becomes overloaded.  Not only because of the added features but also because of the number of operating systems, browser and devices that need to be tested.  How can all of the possible combinations be tested?
  4. Your developers begin “refactoring” the code to improve maintainability.  What? At some point in the life cycle of a software application, the developers will begin to recognize repeating patterns and behaviors within the app.  To make it easier and less time-consuming to maintain and improve in the future, the developers will begin replacing several unique code items with a single common function.  This is great and definitely improves both the software application and time to maintain, but it can also break things.  This “refactoring” happens all the time and is the leading cause of functions “breaking” when they worked previously.  Only detailed regression testing will find when this happens.  Automating software testing helps the regression testing go faster and at a lower cost.

Intelligently Automate Software Testing

What does this mean? Very simply, it means that you will need to improve the effectiveness and efficiency of your software testing team.  Here are some tips to help you improve the effectiveness and efficiency of your software testing team.

  1. Make sure your requirements and test cases are TIGHT!  Take a little extra time to make sure that you have accurate requirements with specific test cases.  This prevents much uncertainty when building and executing your software testing plan.
  2. Manually test the newest features.  New features are subject to change.  Older features tend to be more static.  Manually test new features until they stabilize enough to invest in test automation.
  3. Use Software Test Automation to handle the majority of your regression testing for older, more stable features.  A best practice is to treat your software test automation effort just like you would a software development effort.  You will reduce risk and improve your likelihood of achieving your goals if you take this approach. Tips on maintaining software automation testing suites.
  4. Hire a Software Test Automation expert to guide you through selecting the best software test automation tool set and strategy.  The learning curve for test automation is steep and expensive.  A proven, experienced expert can help you quickly select the best tools, strategy and plan to achieve your software quality and customer satisfaction goals.

 

Mistakes to Avoid when you Automate Software Testing

It’s easy to get in a mess when you automate software testing.  Here are some of the problems we’ve seen when we were asked to fix a “broken” software test automation system.

  1. Pick the Wrong Software Test Automation Tool – selecting the primary software test automation tool (or platform) is challenging.  You’ll need to compare your current technology stack AND future application/technical growth plans with the very long list currently available tools.  Hint – don’t automatically select the one your QA Team has used before – it might not be the best for your situation.
  2. Just Start Writing Scripts – Test Automation Scripts are the fuel that is fed to the test automation engine when you begin to automation software testing.  If you fail to use test cases and a test case management system, you run the risk of building an un-maintainable system to automate your software testing.

At TESTCo, we have been helping companies automate software testing since 2003.  Let us help you pick the best path to achieve your customer satisfaction and software development goals.

Benefits of Automated Software Testing

Automated testing of software has become one of the most popular ways of increasing the efficiency of testing today. Most typically, automated software testing eliminates the human hand in test execution steps. Automation testing is completed using technology instead of people to test and verify the software product and functionality.  Automated software testing by TESTCo can provide this and more.

Automated Software Testing Services

A critical aspect of deploying a test automation product is to develop a realistic plan for implementation and to create a business case that establishes the expectations and structure of the project. Test automation also provides challenges to less experienced test organizations, due to the requirement for a separate development life cycle to produce a well-structured, easily maintainable and reusable process.
TESTCo has extensive experience in implementing test automation in general. Having worked with customers on countless projects, we know how to help you maximize the value of the tool you choose. This, combined with our experience in building a high quality software testing automation framework, provides you with an expert partner to make your project a success.

What Are The Benefits of Automated Software Testing?

Automation saves execution, which results in more time for analysis, design and development, and can result in higher quality software.  Automated software testing can also be part of a Web site test.  In addition:

  • Implementing automated software testing and automated functional testing will reduce the number of required test cycles and involve less people to execute test cycles. Long term, this will reduce the total costs of testing.
  • Automated software testing enhances the repeatability, maintainability, automatic reporting and the ability to run unattended regression (repeated testing) tests.
  • Apart from test execution, other areas of the testing process may be automated, such as administrative tasks and any routine tasks in preparation.

What do you do if you’re ready to explore automated software testing? Contact TESTCo, of course.