Welcome!

Adobe Flex Authors: Matthew Lobas, PR.com Newswire, Shelly Palmer, Kevin Benedict

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.

@ThingsExpo Stories
In addition to all the benefits, IoT is also bringing new kind of customer experience challenges - cars that unlock themselves, thermostats turning houses into saunas and baby video monitors broadcasting over the internet. This list can only increase because while IoT services should be intuitive and simple to use, the delivery ecosystem is a myriad of potential problems as IoT explodes complexity. So finding a performance issue is like finding the proverbial needle in the haystack.
Machine Learning helps make complex systems more efficient. By applying advanced Machine Learning techniques such as Cognitive Fingerprinting, wind project operators can utilize these tools to learn from collected data, detect regular patterns, and optimize their own operations. In his session at 18th Cloud Expo, Stuart Gillen, Director of Business Development at SparkCognition, discussed how research has demonstrated the value of Machine Learning in delivering next generation analytics to imp...
Large scale deployments present unique planning challenges, system commissioning hurdles between IT and OT and demand careful system hand-off orchestration. In his session at @ThingsExpo, Jeff Smith, Senior Director and a founding member of Incenergy, will discuss some of the key tactics to ensure delivery success based on his experience of the last two years deploying Industrial IoT systems across four continents.
The 19th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Digital Transformation, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportuni...
The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform. In his session at @ThingsExpo, Craig Sproule, CEO of Metavine, demonstrated how to move beyond today's coding paradigm and shared the must-have mindsets for removing complexity from the develo...
Basho Technologies has announced the latest release of Basho Riak TS, version 1.3. Riak TS is an enterprise-grade NoSQL database optimized for Internet of Things (IoT). The open source version enables developers to download the software for free and use it in production as well as make contributions to the code and develop applications around Riak TS. Enhancements to Riak TS make it quick, easy and cost-effective to spin up an instance to test new ideas and build IoT applications. In addition to...
Internet of @ThingsExpo, taking place November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with the 19th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world and ThingsExpo Silicon Valley Call for Papers is now open.
IoT is rapidly changing the way enterprises are using data to improve business decision-making. In order to derive business value, organizations must unlock insights from the data gathered and then act on these. In their session at @ThingsExpo, Eric Hoffman, Vice President at EastBanc Technologies, and Peter Shashkin, Head of Development Department at EastBanc Technologies, discussed how one organization leveraged IoT, cloud technology and data analysis to improve customer experiences and effi...
"We've discovered that after shows 80% if leads that people get, 80% of the conversations end up on the show floor, meaning people forget about it, people forget who they talk to, people forget that there are actual business opportunities to be had here so we try to help out and keep the conversations going," explained Jeff Mesnik, Founder and President of ContentMX, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
With 15% of enterprises adopting a hybrid IT strategy, you need to set a plan to integrate hybrid cloud throughout your infrastructure. In his session at 18th Cloud Expo, Steven Dreher, Director of Solutions Architecture at Green House Data, discussed how to plan for shifting resource requirements, overcome challenges, and implement hybrid IT alongside your existing data center assets. Highlights included anticipating workload, cost and resource calculations, integrating services on both sides...
Manufacturers are embracing the Industrial Internet the same way consumers are leveraging Fitbits – to improve overall health and wellness. Both can provide consistent measurement, visibility, and suggest performance improvements customized to help reach goals. Fitbit users can view real-time data and make adjustments to increase their activity. In his session at @ThingsExpo, Mark Bernardo Professional Services Leader, Americas, at GE Digital, discussed how leveraging the Industrial Internet a...
Big Data engines are powering a lot of service businesses right now. Data is collected from users from wearable technologies, web behaviors, purchase behavior as well as several arbitrary data points we’d never think of. The demand for faster and bigger engines to crunch and serve up the data to services is growing exponentially. You see a LOT of correlation between “Cloud” and “Big Data” but on Big Data and “Hybrid,” where hybrid hosting is the sanest approach to the Big Data Infrastructure pro...
"My role is working with customers, helping them go through this digital transformation. I spend a lot of time talking to banks, big industries, manufacturers working through how they are integrating and transforming their IT platforms and moving them forward," explained William Morrish, General Manager Product Sales at Interoute, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
A critical component of any IoT project is what to do with all the data being generated. This data needs to be captured, processed, structured, and stored in a way to facilitate different kinds of queries. Traditional data warehouse and analytical systems are mature technologies that can be used to handle certain kinds of queries, but they are not always well suited to many problems, particularly when there is a need for real-time insights.
The best-practices for building IoT applications with Go Code that attendees can use to build their own IoT applications. In his session at @ThingsExpo, Indraneel Mitra, Senior Solutions Architect & Technology Evangelist at Cognizant, provided valuable information and resources for both novice and experienced developers on how to get started with IoT and Golang in a day. He also provided information on how to use Intel Arduino Kit, Go Robotics API and AWS IoT stack to build an application tha...
IoT generates lots of temporal data. But how do you unlock its value? You need to discover patterns that are repeatable in vast quantities of data, understand their meaning, and implement scalable monitoring across multiple data streams in order to monetize the discoveries and insights. Motif discovery and deep learning platforms are emerging to visualize sensor data, to search for patterns and to build application that can monitor real time streams efficiently. In his session at @ThingsExpo, ...
You think you know what’s in your data. But do you? Most organizations are now aware of the business intelligence represented by their data. Data science stands to take this to a level you never thought of – literally. The techniques of data science, when used with the capabilities of Big Data technologies, can make connections you had not yet imagined, helping you discover new insights and ask new questions of your data. In his session at @ThingsExpo, Sarbjit Sarkaria, data science team lead ...
Extracting business value from Internet of Things (IoT) data doesn’t happen overnight. There are several requirements that must be satisfied, including IoT device enablement, data analysis, real-time detection of complex events and automated orchestration of actions. Unfortunately, too many companies fall short in achieving their business goals by implementing incomplete solutions or not focusing on tangible use cases. In his general session at @ThingsExpo, Dave McCarthy, Director of Products...
Amazon has gradually rolled out parts of its IoT offerings in the last year, but these are just the tip of the iceberg. In addition to optimizing their back-end AWS offerings, Amazon is laying the ground work to be a major force in IoT – especially in the connected home and office. Amazon is extending its reach by building on its dominant Cloud IoT platform, its Dash Button strategy, recently announced Replenishment Services, the Echo/Alexa voice recognition control platform, the 6-7 strategic...
WebRTC is bringing significant change to the communications landscape that will bridge the worlds of web and telephony, making the Internet the new standard for communications. Cloud9 took the road less traveled and used WebRTC to create a downloadable enterprise-grade communications platform that is changing the communication dynamic in the financial sector. In his session at @ThingsExpo, Leo Papadopoulos, CTO of Cloud9, discussed the importance of WebRTC and how it enables companies to focus...