There are many established ideas for ways to test software, but the industry is changing every day, and there's plenty of room for growth of new ideas—or challenges to traditional ones. Here are three ideas for "wish-list" research to conduct in order to shake up some of the conventional notions you may have about software testing techniques.
Risk-based testing is an approach to testing that helps us handle our limited resources. It’s also a valid model for years to come because it focuses testing resources where they can have the most impact—regardless of whether limitations are due to budget, tight schedules, or even the uncertainty of an unexpected situation like COVID-19. Here are some practical tips, examples, and steps you can use to adopt risk-based testing.
Imagine you have X-ray vision. Instead of seeing through walls, you can see the inner structure of programs, the bugs lying inside, and how to expose them. Anyone could execute the steps you gave them to reproduce the bugs. The difficulty in testing, then, is not in executing steps; it is figuring out what steps to take. How do you find those hidden bugs? We need to be the X-ray vision.
How can mature companies with complex systems achieve the level of test automation that modern delivery schedules and processes demand? There are four strategies that have helped many organizations finally break through the test automation barrier: Simplify automation across the technology stack, end the test maintenance nightmare, shift to API testing, and choose the right tools for your needs.
DevOps does speed up your processes and make them more efficient, but companies must focus on quality as well as speed. QA should not live outside the DevOps environment; it should be a fundamental part. If your DevOps ambitions have started with only the development and operations teams, it’s not too late to loop in testing. You must integrate QA into the lifecycle in order to truly achieve DevOps benefits.
As your QA team grows, manual testing can lose the ability to focus on likely problem areas and instead turn into an inefficient checkbox process. Using machine learning can bring back the insights of a small team of experienced testers. By defining certain scenarios, machine learning can determine the probability that a change has a serious defect, so you can evaluate risk and know where to focus your efforts.
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.
It's easy to make simple mistakes in data analysis. But these little mistakes can result in rework, errors, and—in the worst case—incorrect conclusions that lead you down the wrong path. Making small process changes can help you steer clear of these mistakes and end up having a real impact, both in the amount of time you spend and in your results. Here are some tips for avoiding rookie mistakes in data analytics.
When testing websites, most software testers check the functionality and the UI of the page. But webpage optimization is another area that should get consideration. There are a variety of factors, such as relevance and readability, that search engines consider in webpages before assigning a position in search results, and testers can help positively influence this ranking by increasing site speed and removing blockers to usability.
Faster DevOps processes also create new challenges. It was difficult enough to add security into a traditional waterfall software development lifecycle with monthly or quarterly releases, but now software updates are released several times a day! What can developers do to build and maintain more secure applications? Here are some ways to encourage better security practices throughout the DevOps lifecycle.