Teams everywhere are looking to speed up testing without sacrificing quality, so once again, some of the top articles last year were about continuous integration, machine learning, and—of course—how to best implement and use test automation. But readers were also interested in what they shouldn't be doing, with two high-ranking articles about test practices we should stop and a tool you may be misusing.
The advantages of shifting left and testing as early as possible are obvious. But as you automate more testing, the test suite grows larger and larger, and it takes longer and longer to run. Instead, just automate the process of finding the right set of tests to run. The key to that is machine learning. This isn't AI bots finding bugs autonomously without creating tests; this is a different way to use machine learning, and it’s far simpler.
The test team uses the test automation system to execute thousands of test cases because … why not? The tests are running automatically, for free, so there is no incentive to improve test efficiency. Just run them all! But eventually, as more and more tests are added, the system becomes overloaded. Test runs are delayed and you get a bottleneck. Don't throw more money—or new systems—at the problem; do this instead.
Testing has changed a lot in the last ten years. Although some traditional techniques are still useful, many testing activities are being done by developers, users, and other nonprofessional testers. Consequently, the role of test manager has changed into more of a test assurance officer and coach. The way this new role is implemented can differ from situation to situation. Here’s how it can be useful.
A test manager has to perform in multiple dimensions, using a variety of professional and interpersonal skills daily. With all these career facets, there are lots of different areas that can pose a problem. Here are the most common (and most annoying) things a test manager typically hears on a regular basis, as well as some strategies for how to deal with them.
Many testers spend their time doing functional testing and don't come out of this cocoon. But software testing is all about discovering quality-related information to assist stakeholders in making informed decisions, and there are multiple ways to discover information in addition to functional testing. Here are six actions that will help you add more value to your projects.
If you’re new to automated testing, you’re probably starting off with a lot of questions: How do I know which tests to automate? Why is automated testing useful for me and my team? How do I choose a tool or framework? This article answers a lot of those questions—and gives you some more to consider!—so you have an excellent foundation for beginning your automation endeavors.
The test pyramid is a great model for designing your test portfolio. However, the bottom tends to fall out when you shift from progression testing to regression testing. The tests start failing, eroding the number of working unit tests at the base of your pyramid. If you don't have the development resources required for continuous unit test maintenance, there are still things you can do.
Continuous operation tests find important bugs, partly as a result of their long operation and partly by increasing the probability of finding statistical bugs. However, CO tests have their own downsides. Mandating a periodic reset or reboot can work around these issues, as well as save time and cost for testing, reproduction, debugging, and fix verification.
It’s important that test authors keep in mind the inherent authority their tests possess. After all, an application’s tests are sometimes the first lines of code a new developer will read when acclimating to a new codebase. Tests aren't the only kind of documentation you need, but automated tests in a CI environment can provide a lot of useful information.