The Worst 4 Habits in Software Testing Today
Stop testing like it's 1985!
December 04, 2017

Paola Moretto
Nouvola

In this blog I will summarize and share with you some wisdom about the biggest problem – okay, problems – in the field of software testing right now. While this is not an exhaustive list, these four bad habits have emerged as the predominant themes.

Bad habit #1: Not testing enough

Companies simply don't test enough (or, in less mature organizations, don't test at all). This is definitely the biggest problem with testing.

We are consistently stunned to hear things like, "Well, our developers are confident that the code will work well under traffic." Not to undermine anybody's confidence, but without data to back it up, there is really no objective basis to assume that will be true. Nor is there any good reason to assume the unnecessary risk that comes with this kind of "blind faith" in the code.

We loved a quote at StarWest conference from Maaret Pyhäjärvi's keynote: "Testing is not about breaking the code, it's about breaking your illusions about the code."

Your illusions about the code can be about a scenario, usability, or performance under load. It doesn't matter – if you don't test, you won't have enough data to make informed decisions.

Another common excuse for insufficient testing peddled by well-meaning teams is that they "don't have time for testing." In the pressure of pushing features out to meet market demands, they are convinced they are going faster by skipping the testing phase.

This is another illusion. Except it's not about the code itself, but the QA process. There are always testers. If you haven't done enough testing, you're simply relegating that role to your end-users. And that can be a very costly decision, resulting in a swarm of unhappy users, which can too easily translate into painful revenue loss for the company. The other consequences, like increased rollbacks and a general slowdown of your development cycle, are almost inconveniences by comparison.

Bad Habit #2: Not doing enough regression testing

If your last test was a long time ago, you can virtually guarantee there are some new problems that have creeped in since then.

Don't trust your outdated test results. A regression happens when unexpected issues are caused by code changes, or when code changes have unwanted consequences. Regression testing is usually a very good candidate for automation, because tests are stable and repeatable, and you are testing established scenarios. If there are issues, you want to find them before your users do.

If you don't have recent data about your performance, it's almost equivalent to not having data at all.

Bad habit #3: Still testing like it's 1985

So you are deploying on a multi-cloud environment, use CI and build for every commit, github for source control, Agile methodologies, and devs communication, and then you use slow and dinosaur-like tools for testing? It simply doesn't work. Don't let it get to that point. You can't use 80s technology for 3rd millennium development.

Bad habit #4: Too little / too much automation

This is less obvious and probably a bit controversial. First, continuous integration and continuous delivery can't really happen without continuous testing.

One of the pillars of continuous testing is automation, which enables you to get to the right velocity if DevOps / CD is the goal. Automation must be a priority. Not doing enough to automate these workflows is a well-known problem in the industry that delays full DevOps adoption.

However, we also see the opposite problem. People think they have solved everything with automation. In reality, however, the "automate it all" approach tends to fall short because it relies on your ability to predict all user scenarios with 100 percent accuracy. Given the increasing complexity of applications and the technological contexts in which they are being used, that level of predictability is getting harder and harder to achieve.

So it usually makes sense to leave space for exploratory testing, heuristic testing and for introducing a creative/intuitive approach to find out what's annoying for your users. Exploratory testing, as in testing that is not normed or scripted in advance, is a great technique and is essentially the art of inventing test cases in real-time. Both automation and exploratory testing are valid approaches, and are not mutually exclusive.

It's absolutely essential for modern development teams to put testing front and center in their priority list, and to adopt best practices and tools that help them accelerate their development process. Be sure to make your software ready for the real-world.

Paola Moretto is Co-Founder and CEO of Nouvola

The Latest

May 24, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on the top tools to support DevSecOps. Part 3 covers security and monitoring ...

May 22, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on the top tools to support DevSecOps. Part 2 covers DevOps and development ...

May 21, 2018

While DevSecOps, much like DevOps itself, is more about changing IT culture than employing certain types of technology, some tools can be an important support. To find out what the right tools are, DEVOPSdigest asked experts from across the IT industry for their opinions on the top tools to support DevSecOps. Part 1 covers the testing phase ...

May 17, 2018

The top two business priorities for CIOs of midsize enterprises (MSEs) in 2018 are growth and digital transformation. However, 57 per cent of MSEs are not yet delivering digital initiatives, according to findings from Gartner Inc.'s 2018 CIO Agenda Survey ...

May 15, 2018

Almost every company is facing the challenge of digital transformation today. This means rethinking and retooling your company to compete and succeed in an increasingly digital world. While digital transformation is not only about technology, the right tools can help. To find out what these right tools are, APMdigest asked experts from across the IT industry for their opinions on the essential tools to support digital transformation ...

May 08, 2018

With data breaches consistently being in the news over the last several years, it is no wonder why data privacy has become such a hot topic and why the European Union (EU) has put in place General Data Protection Regulation (GDPR) which will become enforceable on May 25, 2018, which is less than a month away ...

May 03, 2018

The prospect of increased workloads, combined with shrinking mainframe skillsets, has huge implications for mainframe DevOps. The only way for organizations to solve this skills gap crisis is by optimizing developer productivity. Drilling down a level further, what does this all mean for mainframe DevOps? ...

May 02, 2018

When it comes to operations and development, DevOps has changed the traditional compartmentalized style of development by eliminating silos. But what about the security team? Security is largely still siloed from operations and development. No doubt, many DevOps teams have some security controls baked into their automation processes, but a recent survey shows there are still alarming gaps ...

April 30, 2018

According to the 2018 Global Security Trends in the Cloud report, 93 percent of respondents faced challenges when deploying their current on-premises security tools in the cloud, and 97 percent lacked the tools, cross-functional collaboration and resources to gain proper insight into security across the organization. These numbers indicate a big problem in DevSecOps that needs to be addressed ...

April 26, 2018

Moving more workloads to the cloud is a top IT priority, so eventually it will be time to consider how to make those critical legacy applications cloud ready. In Part 1 of this blog, I outlined the first four of eight steps to chart your cloud journey. In addition, consider the next four steps below ...

Share this