Welcome!

CRM Authors: Xenia von Wedel, Ian Khan, PR.com Newswire, Steve Mordue

Related Topics: Microservices Expo, Java IoT, Microsoft Cloud, Adobe Flex, CRM, Apache

Microservices Expo: Article

Developers – Stop Doing QA's Job

Unit Testing can solve the problem

We've all been there - it's Friday night, 11PM and the system you just deployed doesn't work. There's a bug. Your manager just hung up. You phone your friends to tell them that you're not going out tonight. You start thinking: Why didn't QA catch that. Now management is going to add more QA staff, give them more budget, and there's going to be a zero bug tolerance policy once again.

There is a way out of this problem. Could it actually be unit testing? I had the good fortune to visit two development teams in the same company and compare firsthand the experience of teams that might prove this assumption.

Two years ago, the teams diverged on different paths.

"Unit testing?" said the first team leader. "We know it is going to be hard. But we heard that it's likely to provide lots of benefits: cleaner code, fewer bugs, quicker development cycle... and our whole development team has been begging for this. QA also spends significantly less time finding bugs. Manual testing may have taken too long but that's gone the way of the dodo. We're going to have to get management on board. "

"We've heard that unit testing is a good practice but we are under a lot of pressure. I'm sure that it will postpone our release date," said the second team leader. "Let's do it after the release. "

The first team convinced the management to give 20% of its time to unit testing and continued to learn, improve, and were persistent in writing unit tests.

The second team kept on postponing unit testing ‘til after the "next release."

I went back to visit the teams recently, to see how they are getting along. It was eye-opening.

I had a great discussion with both teams.

The team that learned about unit testing and started testing (using Typemock Isolator) kept on speaking highly of their results and gave the unit testing love as they were overwhelmed with joy over their processes and tools.

Why?

Their software release cycle (developers and QA) is much shorter (25%-33%) than the other team. Software is released quicker. The team has stayed relatively intact as engineers prefer to work in environments with automated unit testing.

QA is relatively happy. Compared to the other team, they focus on real usage issues rather than simply getting the application to work. They find less critical bugs and the bugs they find are significantly less severe than the other team. The developers are more confident in their code, allowing them to make changes quickly, without introducing bugs.

The developers are consistently adding functionality. Of course bugs still creep in even with unit testing. However, the few bugs found by QA aren't anything to be ashamed of - both sides are happier and trust among the teams has increased. Management is also happier with the quality of the software - after all, fewer customer complaints means reaching the business goals.

What about the second team that didn't unit test?

The team that didn't start unit testing kept talking about how they would like to do unit tests and the developers are ashamed that they never started.

The team members were having problems. Pressure, delayed releases, and management were on the team's back because of too many bugs. That is why the management decided on a zero bug tolerance policy again. This meant that the team had to build a QA-style environment and had to test the system manually before sending the application to the QA team. Practically, they were doing QA's job in order to lower the bugs sent to the QA.

The developers are not happy. Their focus turned from adding more features to get the bugs to QA down. They do this by manual ‘QA style' testing, constantly running the debugger, engaging in time-consuming deployment and manual testing for every small feature instead of developer-style unit testing ... and they know it. This makes the development cycle longer and no one is happy as they are all overworked. Caffeine and foosball doesn't compensate for sleepless nights and endless debugging.

QA is saddled with bugs and is working overtime to bring them down and is requesting more and more money in their budget to get the bugs ironed out....tired of fighting with the developers and management about the number of bugs and consistently delayed release due to the incessant back and forth between the two teams.

By not unit testing, the team is doing their work plus QA's work: they are developing their software, plus testing their code

It is obvious that the team that was persistent with unit testing, and went through the ropes and hardship of learning how to do it correctly, had the upper hand. They improved their coding skills, were energized by their coverage and had a better time-to-market. The other team, well they starting to do the QA's job too.

Eli Lopian is the CEO of Typemock, the Unit Testing Company (http://www.typemock.com).

More Stories By Josh Litvin

Yaniv Yehuda is the Co-Founder and CTO of DBmaestro, an Enterprise Software Development Company focusing on database development and deployment technologies. Yaniv is also the Co-Founder and the head of development for Extreme Technology, an IT service provider for the Israeli market. Yaniv was a captain in Mamram, the Israel Defense Forces computer centers where he served as a software engineering manager.

IoT & Smart Cities Stories
Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addr...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
To Really Work for Enterprises, MultiCloud Adoption Requires Far Better and Inclusive Cloud Monitoring and Cost Management … But How? Overwhelmingly, even as enterprises have adopted cloud computing and are expanding to multi-cloud computing, IT leaders remain concerned about how to monitor, manage and control costs across hybrid and multi-cloud deployments. It’s clear that traditional IT monitoring and management approaches, designed after all for on-premises data centers, are falling short in ...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...