July 31st, 2018 by inflectra
Someone on Quora asked the expansive question - "What are examples of automated testing?". When I read this question, it made me think - that is such as vast question, since it can encompass so many different types of testing (hardware, software, network, security, performance, compatibility), all of which can be done automatically or manually depending on the situation. However I thought it might be useful to describe some different examples...
Automated testing of hardware systems has a long pedigree, with industrial systems having developed "test harnesses" pretty much right from the inception of the systems engineering industry. After all, if you are creating a complex electronic system with many different circuits, boards, and components, you needed a way to test different parts of it isolation. Similar to unit testing software, you create an electronic rig that simulates the inputs and measures the various outputs from the device being tested. It can send a large number of different signals, measure the results and compare the values. This is much easier than manually trying them and recording the output voltages on paper.
Similarly, for testing the entire device you may have a large-scale test rig that lets you put a vehicle or machine into a test environment that can simulate the real-world usage without having to actually use the device in the wild. This is particularly useful for vehicles or safety systems that you cannot easily test without a lot of precautions (test driver, closed track, actual power station, etc.). You will eventually test the devices in the real world, but automated solutions to test them in a lab environment reduces cost and improves quality.
When you are testing software systems, it is a very similar approach, you need to isolate specific functions (unit testing), then test entire modules (functional testing), then test entire systems (end to end system testing), and finally test all the external interfaces (API testing and/or UI testing). This is described more detail in our Testing Methodologies Whitepaper.
For specific examples of API testing and UI testing, we have some specific examples:
Finally, for general information on automated software testing, here are some more examples:
Load testing, stress testing and performance testing are all different names for a set of types of automated testing where you use a load testing tool to simulate load by lots of users (called virtual users or VUs in the parlance) on an application being tested. The main difference in the terms is what the objectives are:
Security testing, vulnerability testing and cyber testing are basically automated tests that you run against a piece of software, a network device, or an entire IT infrastructure and look for vulnerabilities that could be exploited by a hacker. Sometimes the testing will be looking for known versions of systems that are vulnerable (e.g. old versions of a web server), looking for specific attack vectors (stored XSS, CSRF), or even attempting to overload a system to see if it will reveal information (DDoS, Brute Force).
In addition, systems may try more active methods that actually try to hack into a system, rather than just looking for vulnerabilities passively. For example, testing password forms to see if they can be broken by brute force attacks, dictionary attacks, etc.
Finally, another type of automated testing is compatibility testing. In the software world, you may need to do cross-browser testing, to test that the same web page or application works on different web browsers.
You may also have to test the same application on different mobile devices (iOS, Android) or a hardware system may need to work on different voltages (230V for Europe, 115V for North America), different USB versions, etc. This kind of testing is called compatibility testing and can be complex and expensive to perform because you have to maintain so many different types of device. So for automating this kind of testing you may want to use simulators that can simulate different devices, browsers or operating systems. In the hardware world it gets trickier, but you can use develop emulators and test labs that can test different possible environments.
Ask an Inflectra expert:
SpiraTest combines test management, requirements traceability & bug-tracking
SpiraTeam brings your teams together, managing the entire application lifecycle
SpiraPlan lets you manage your programs and portfolio of projects like never before
Orchestrates your automated regression testing, functional, load and performance
The ultimate test automation platform for web, mobile, and desktop applications
The help desk system, designed specifically for software support teams
Cloud hosted, secure source code management - Git and Subversion
Exploratory testing capture tool that automatically records your testing activity
Let us deal with the IT pain so you don't have to. Or use on-premise if you prefer.
Our customers work in every industry imaginable. From financial services to healthcare and biotech to government and defense and more, we work with our customers to address their specific needs.
Our products do not enforce a methodology on you, instead they let you work your way. Whether you work in agile development, Scrum and XP, Kanban and Lean, Waterfall, hybrid, or Scaled Agile Inflectra can help.
If you want to learn more about application delivery, testing, and more take a look at our whitepapers, videos, background papers, blog, and presentations.
Customers use our tools to help automate repetitive tasks and streamline their business processes using our Robotic Process Automation (RPA) solutions.
We collaborate with a wide range of teams to bring our customers a range of services (including load testing, training, and consultation), complimentary technologies, and specialized tools for specific industries.
Learn how different organizations have benefited from using Inflectra products to manage their software testing and application develooment.
Outstanding support is the foundation of our company. We make support a priority over all other work. Take a look at our support policy.
Discover great tips, discussions, and technical solutions from fellow customers and Inflectra's technical experts.
If you can't find the answer you're looking for, please get in touch with us: over email, phone, or online.
We are constantly creating new videos to help customers learn about our products, including through in depth webinars, all freely available along with a wide selection of presentations.
We provide a number of resources to help customers learn how to get the most out of our products, with free online resources, virtual classrooms, and face to face.
Read about Inflectra, our manifesto, and values. Meet our incredible customers who are building awesome things. We are focused on their success using our tools.
The Inflectra Blog contains articles on all aspects of the software lifecycle.
In addition we have whitepapers,
background articles, videos and
presentations to help get you started.
Events are a big part of our awesome customer service. They are a chance to learn more about us, our products, and how to level up your skills with our tools.
We partner with educational institutions and individuals all over the world. We are also a great place to work and encourage you to explore joining our team.
Please contact us with your questions, feedback, comments, or suggestions. We'll get back to you as soon as possible.
When you need additional assistance (be it training, consulting, or integration services) our global certified solution provider partner network is ready to help.
At Inflectra, we are fully committed to provide our customers with the very best products and customer service.
We want to help developers extend and customize our tools to fit in with their needs. We provide robust APIs, sample code, and open source projects.