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.
With the traditional waterfall method of testing, achieving quality and faster time to market is difficult. Agile testing has emerged as an alternative, where development and testing take place simultaneously instead of operating in their respective silos. Let’s look at what it means to perform agile testing, what practices are necessary, and how agile testing can benefit your software releases.
There is a lot of interest in organizations around a transformation to agility. However, the focus is usually on agile development, so it may not be clear how software testing is done in agile. If you're responsible for leading your testing teams, don't let them be left behind. Here’s how you can make testers part of the transformation, too—step by step, because this is agile, after all.
Companies that want to reduce testing costs usually try working with fewer people, or even cutting back on the amount of testing done. But with those approaches, quality usually suffers. Releasing a critical bug and suffering the subsequent pain usually costs multiple times what testing would. There are better ways to save money, and it can be done just by being smarter about our test cases and their structure.
As a quality analyst, when you raise a bug, developers sometimes react as if you were personally attacking their job. The situation can be even more difficult if you are starting a new QA team, where you will work with people who have never had the quality assurance component. Here is some advice for ways you can be effective when you’re starting on a team that has never worked with quality analysts before.
We’ve all heard about AI for software testing from some seriously smart people, but there has been a lot of confusion about the idea. This article tackles some of the questions you might be asking: Do I need to be a genius to use AI for software testing? Is AI going to replace me as a tester? Where does AI fit into my testing strategy? With a simple analogy of training a dog, learn how AI fits into testing.
“AIOps” stands for “artificial intelligence in IT operations,” or using machine learning and data science to solve IT problems. AI can help with many IT functions, including detecting and remediating outages, monitoring availability and performance, and IT service management. Like with DevOps, a tester plays an important part with AIOps—they just have to determine what that is.
The higher you climb in the organization, the less information you get: An executive might only see red, yellow, and green for a project. Any time different teams need to communicate complex information, there is bound to be some information loss, and maybe some information control. We just need to understand where and why that happens, and—hopefully—how we can mitigate it.
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.